From 083718b9b3b445d7717bf7d25698991fe23e5ad1 Mon Sep 17 00:00:00 2001 From: Tobias Quathamer Date: Sat, 25 Feb 2012 18:04:33 +0100 Subject: [PATCH] Imported Upstream version 2.17 --- AUTHORS | 79 + BUGS | 48 + COPYING | 467 + ChangeLog | 5957 +++ ChangeLog.0 | 67 + INSTALL | 188 + Makeconfig.in | 136 + Makefile.bsd | 14 + Makefile.inc.bsd | 22 + NEWS | 461 + PACKAGING | 149 + README | 139 + SECURITY | 90 + THANKS | 80 + TODO | 90 + YEAR2000 | 36 + adventure/Makefile.bsd | 19 + adventure/Makefrag | 40 + adventure/adventure.6 | 55 + adventure/crc.c | 136 + adventure/done.c | 171 + adventure/extern.h | 130 + adventure/glorkz | 1815 + adventure/hdr.h | 159 + adventure/init.c | 301 + adventure/io.c | 590 + adventure/main.c | 765 + adventure/save.c | 192 + adventure/setup.c | 129 + adventure/subr.c | 1055 + adventure/vocab.c | 225 + adventure/wizard.c | 160 + arithmetic/Makefile.bsd | 8 + arithmetic/Makefrag | 37 + arithmetic/arithmetic.6 | 106 + arithmetic/arithmetic.c | 393 + atc/BUGS | 4 + atc/Makefile.bsd | 25 + atc/Makefrag | 53 + atc/atc.6.in | 501 + atc/def.h | 85 + atc/extern.c | 78 + atc/extern.h | 138 + atc/games/Atlantis | 31 + atc/games/Game_List | 15 + atc/games/Killer | 21 + atc/games/Makefrag | 40 + atc/games/OHare | 23 + atc/games/Tic-Tac-Toe | 25 + atc/games/airports | 30 + atc/games/box | 45 + atc/games/crosshatch | 39 + atc/games/crossover | 14 + atc/games/default | 21 + atc/games/easy | 15 + atc/games/game_2 | 22 + atc/games/game_3 | 17 + atc/games/game_4 | 37 + atc/games/novice | 15 + atc/games/two-corners | 21 + atc/grammar.y | 400 + atc/graphics.c | 441 + atc/include.h | 71 + atc/input.c | 675 + atc/lex.l | 75 + atc/list.c | 120 + atc/log.c | 294 + atc/main.c | 317 + atc/pathnames.h.in | 37 + atc/struct.h | 111 + atc/tunable.c | 59 + atc/tunable.h | 46 + atc/update.c | 419 + backgammon/Makefile.bsd | 6 + backgammon/Makefile.inc.bsd | 12 + backgammon/Makefrag | 31 + backgammon/backgammon/Makefile.bsd | 8 + backgammon/backgammon/Makefrag | 38 + backgammon/backgammon/backgammon.6.in | 181 + backgammon/backgammon/backlocal.h | 48 + backgammon/backgammon/extra.c | 254 + backgammon/backgammon/main.c | 533 + backgammon/backgammon/move.c | 567 + backgammon/backgammon/text.c | 135 + backgammon/backgammon/version.c | 44 + backgammon/common_source/Makefile.bsd | 12 + backgammon/common_source/Makefrag | 36 + backgammon/common_source/allow.c | 113 + backgammon/common_source/back.h | 185 + backgammon/common_source/board.c | 182 + backgammon/common_source/check.c | 158 + backgammon/common_source/fancy.c | 737 + backgammon/common_source/init.c | 100 + backgammon/common_source/odds.c | 118 + backgammon/common_source/one.c | 175 + backgammon/common_source/save.c | 182 + backgammon/common_source/subs.c | 507 + backgammon/common_source/table.c | 306 + backgammon/teachgammon/Makefile.bsd | 9 + backgammon/teachgammon/Makefrag | 38 + backgammon/teachgammon/data.c | 342 + backgammon/teachgammon/teach.c | 158 + backgammon/teachgammon/ttext1.c | 188 + backgammon/teachgammon/ttext2.c | 196 + backgammon/teachgammon/tutor.c | 156 + backgammon/teachgammon/tutor.h | 68 + banner/Makefile.bsd | 7 + banner/Makefrag | 36 + banner/banner.6 | 66 + banner/banner.c | 1169 + battlestar/Makefile.bsd | 15 + battlestar/Makefrag | 38 + battlestar/battlestar.6 | 174 + battlestar/battlestar.c | 106 + battlestar/command1.c | 269 + battlestar/command2.c | 349 + battlestar/command3.c | 317 + battlestar/command4.c | 417 + battlestar/command5.c | 376 + battlestar/command6.c | 270 + battlestar/command7.c | 263 + battlestar/cypher.c | 560 + battlestar/dayfile.c | 1483 + battlestar/dayobjs.c | 141 + battlestar/extern.h | 387 + battlestar/fly.c | 299 + battlestar/getcom.c | 123 + battlestar/globals.c | 276 + battlestar/init.c | 145 + battlestar/misc.c | 67 + battlestar/nightfile.c | 1457 + battlestar/nightobjs.c | 103 + battlestar/parse.c | 187 + battlestar/pathnames.h.in | 34 + battlestar/room.c | 240 + battlestar/save.c | 199 + battlestar/words.c | 216 + bcd/Makefile.bsd | 10 + bcd/Makefrag | 36 + bcd/bcd.6 | 85 + bcd/bcd.c | 224 + boggle/Makefile.bsd | 39 + boggle/Makefrag | 31 + boggle/README | 60 + boggle/boggle/Makefile.bsd | 18 + boggle/boggle/Makefrag | 41 + boggle/boggle/bog.c | 715 + boggle/boggle/bog.h.in | 83 + boggle/boggle/boggle.6 | 122 + boggle/boggle/extern.h | 71 + boggle/boggle/help.c | 108 + boggle/boggle/helpfile | 87 + boggle/boggle/mach.c | 682 + boggle/boggle/prtable.c | 130 + boggle/boggle/timer.c | 121 + boggle/boggle/word.c | 220 + boggle/mkdict/Makefile.bsd | 9 + boggle/mkdict/Makefrag | 44 + boggle/mkdict/mkdict.c | 128 + boggle/mkindex/Makefile.bsd | 9 + boggle/mkindex/Makefrag | 39 + boggle/mkindex/mkindex.c | 135 + bsd-games.lsm | 21 + caesar/Makefile.bsd | 11 + caesar/Makefrag | 39 + caesar/caesar.6 | 72 + caesar/caesar.c | 161 + caesar/rot13.in | 37 + canfield/Makefile.bsd | 6 + canfield/Makefrag | 31 + canfield/canfield/Makefile.bsd | 13 + canfield/canfield/Makefrag | 37 + canfield/canfield/canfield.6.in | 122 + canfield/canfield/canfield.c | 1822 + canfield/canfield/pathnames.h.in | 35 + canfield/cfscores/Makefile.bsd | 11 + canfield/cfscores/Makefrag | 37 + canfield/cfscores/cfscores.c | 158 + configure | 821 + countmail/Makefile.bsd | 7 + countmail/Makefrag | 36 + countmail/countmail | 163 + countmail/countmail.6 | 61 + cribbage/Makefile.bsd | 19 + cribbage/Makefrag | 38 + cribbage/cards.c | 153 + cribbage/crib.c | 658 + cribbage/cribbage.6.in | 185 + cribbage/cribbage.h | 112 + cribbage/cribbage.n | 226 + cribbage/cribcur.h | 55 + cribbage/deck.h | 83 + cribbage/extern.c | 71 + cribbage/instr.c | 98 + cribbage/io.c | 604 + cribbage/pathnames.h.in | 36 + cribbage/score.c | 374 + cribbage/support.c | 361 + dab/Makefile.bsd | 12 + dab/Makefrag | 36 + dab/algor.cc | 314 + dab/algor.h | 86 + dab/board.cc | 260 + dab/board.h | 92 + dab/box.cc | 157 + dab/box.h | 100 + dab/dab.6 | 110 + dab/defs.h | 51 + dab/gamescreen.cc | 50 + dab/gamescreen.h | 79 + dab/human.cc | 151 + dab/human.h | 59 + dab/main.cc | 196 + dab/player.cc | 98 + dab/player.h | 76 + dab/random.cc | 86 + dab/random.h | 73 + dab/test.cc | 57 + dab/ttyscrn.cc | 235 + dab/ttyscrn.h | 81 + dm/Makefile.bsd | 17 + dm/Makefrag | 38 + dm/dm.8.in | 106 + dm/dm.c | 334 + dm/dm.conf.5.in | 114 + dm/pathnames.h.in | 38 + dm/utmpentry.c | 297 + dm/utmpentry.h | 50 + exec.libs | 57 + exec.objs | 129 + factor/Makefile.bsd | 22 + factor/Makefrag | 39 + factor/factor.6 | 81 + factor/factor.c | 359 + fish/Makefile.bsd | 14 + fish/Makefrag | 37 + fish/fish.6 | 87 + fish/fish.c | 494 + fish/fish.instr | 29 + fish/pathnames.h.in | 35 + fortune/Makefile.bsd | 6 + fortune/Makefrag | 31 + fortune/Notes | 178 + fortune/README | 41 + fortune/datfiles/Makefile.bsd | 88 + fortune/datfiles/Makefrag | 69 + fortune/datfiles/farber | 1855 + fortune/datfiles/fortunes | 16163 +++++++ fortune/datfiles/fortunes-o.fake | 2 + fortune/datfiles/fortunes-o.real | 1730 + fortune/datfiles/fortunes-o.sp.ok | 299 + fortune/datfiles/fortunes.sp.ok | 1975 + fortune/datfiles/fortunes2 | 55537 ++++++++++++++++++++++++ fortune/datfiles/fortunes2-o.fake | 2 + fortune/datfiles/fortunes2-o.real | 13829 ++++++ fortune/datfiles/limerick | 160 + fortune/datfiles/limerick-o.fake | 2 + fortune/datfiles/limerick-o.real | 6173 +++ fortune/datfiles/netbsd | 546 + fortune/datfiles/netbsd-o.fake | 2 + fortune/datfiles/netbsd-o.real | 53 + fortune/datfiles/startrek | 757 + fortune/datfiles/startrek.sp.ok | 86 + fortune/datfiles/unamerican-o.fake | 2 + fortune/datfiles/unamerican-o.real | 385 + fortune/datfiles/zippy | 1363 + fortune/datfiles/zippy.sp.ok | 210 + fortune/fortune/Makefile.bsd | 9 + fortune/fortune/Makefrag | 38 + fortune/fortune/fortune.6.in | 182 + fortune/fortune/fortune.c | 1419 + fortune/fortune/pathnames.h.in | 34 + fortune/strfile/Makefile.bsd | 7 + fortune/strfile/Makefrag | 35 + fortune/strfile/strfile.8 | 143 + fortune/strfile/strfile.c | 510 + fortune/strfile/strfile.h | 54 + fortune/tools/Do_spell | 11 + fortune/tools/Do_troff | 11 + fortune/tools/Troff.mac | 28 + fortune/tools/Troff.sed | 13 + fortune/tools/do_sort | 12 + fortune/unstr/Makefile.bsd | 9 + fortune/unstr/Makefrag | 36 + fortune/unstr/unstr.c | 151 + gomoku/Makefile.bsd | 11 + gomoku/Makefrag | 36 + gomoku/bdinit.c | 251 + gomoku/bdisp.c | 288 + gomoku/gomoku.6 | 95 + gomoku/gomoku.h | 302 + gomoku/main.c | 550 + gomoku/makemove.c | 307 + gomoku/pickmove.c | 1508 + gomoku/stoc.c | 113 + hack/COPYRIGHT | 33 + hack/COPYRIGHT-JF | 28 + hack/Makefile.bsd | 54 + hack/Makefrag | 62 + hack/Makequest | 198 + hack/OWNER | 2 + hack/Original_READ_ME | 63 + hack/READ_ME | 94 + hack/alloc.c | 117 + hack/config.h | 205 + hack/data | 232 + hack/date.h | 64 + hack/def.edog.h | 76 + hack/def.eshk.h | 88 + hack/def.flag.h | 105 + hack/def.func_tab.h | 79 + hack/def.gen.h | 77 + hack/def.gold.h | 74 + hack/def.mkroom.h | 89 + hack/def.monst.h | 122 + hack/def.obj.h | 111 + hack/def.objclass.h | 123 + hack/def.objects.h | 351 + hack/def.permonst.h | 90 + hack/def.rm.h | 115 + hack/def.trap.h | 89 + hack/def.wseg.h | 76 + hack/extern.h | 668 + hack/hack.6.in | 209 + hack/hack.Decl.c | 110 + hack/hack.apply.c | 537 + hack/hack.bones.c | 176 + hack/hack.c | 975 + hack/hack.cmd.c | 382 + hack/hack.do.c | 586 + hack/hack.do_name.c | 385 + hack/hack.do_wear.c | 452 + hack/hack.dog.c | 525 + hack/hack.eat.c | 559 + hack/hack.end.c | 790 + hack/hack.engrave.c | 403 + hack/hack.fight.c | 468 + hack/hack.fix | 115 + hack/hack.h | 249 + hack/hack.invent.c | 1042 + hack/hack.ioctl.c | 112 + hack/hack.lev.c | 349 + hack/hack.main.c | 587 + hack/hack.makemon.c | 280 + hack/hack.mfndpos.h | 75 + hack/hack.mhitu.c | 455 + hack/hack.mklev.c | 851 + hack/hack.mkmaze.c | 217 + hack/hack.mkobj.c | 227 + hack/hack.mkshop.c | 368 + hack/hack.mon.c | 1039 + hack/hack.monst.c | 144 + hack/hack.o_init.c | 247 + hack/hack.objnam.c | 643 + hack/hack.options.c | 276 + hack/hack.pager.c | 494 + hack/hack.potion.c | 466 + hack/hack.pri.c | 805 + hack/hack.read.c | 647 + hack/hack.rip.c | 134 + hack/hack.rumors.c | 150 + hack/hack.save.c | 314 + hack/hack.search.c | 216 + hack/hack.sh | 77 + hack/hack.shk.c | 1168 + hack/hack.shknam.c | 230 + hack/hack.steal.c | 284 + hack/hack.termcap.c | 355 + hack/hack.timeout.c | 134 + hack/hack.topl.c | 306 + hack/hack.track.c | 113 + hack/hack.trap.c | 553 + hack/hack.tty.c | 387 + hack/hack.u_init.c | 447 + hack/hack.unix.c | 533 + hack/hack.vault.c | 377 + hack/hack.version.c | 84 + hack/hack.wield.c | 173 + hack/hack.wizard.c | 280 + hack/hack.worm.c | 292 + hack/hack.worn.c | 160 + hack/hack.zap.c | 761 + hack/help | 132 + hack/hh | 55 + hack/makedefs.c | 338 + hack/pathnames.h.in | 37 + hack/rnd.c | 105 + hack/rumors | 505 + hangman/Makefile.bsd | 14 + hangman/Makefrag | 36 + hangman/endgame.c | 80 + hangman/extern.c | 78 + hangman/getguess.c | 110 + hangman/getword.c | 78 + hangman/hangman.6.in | 65 + hangman/hangman.h | 94 + hangman/main.c | 101 + hangman/pathnames.h.in | 34 + hangman/playgame.c | 64 + hangman/prdata.c | 62 + hangman/prman.c | 59 + hangman/prword.c | 53 + hangman/setup.c | 77 + hide-game.in | 33 + hunt/Makeconfig | 64 + hunt/Makefile.bsd | 5 + hunt/Makefile.inc.bsd | 96 + hunt/Makefrag | 31 + hunt/README | 175 + hunt/hunt/Makefile.bsd | 14 + hunt/hunt/Makefrag | 40 + hunt/hunt/connect.c | 73 + hunt/hunt/hunt.6.in | 413 + hunt/hunt/hunt.c | 1142 + hunt/hunt/otto.c | 628 + hunt/hunt/playit.c | 663 + hunt/huntd/Makefile.bsd | 8 + hunt/huntd/Makefrag | 38 + hunt/huntd/answer.c | 429 + hunt/huntd/bsd.h | 40 + hunt/huntd/ctl.c | 85 + hunt/huntd/ctl_transact.c | 132 + hunt/huntd/draw.c | 406 + hunt/huntd/driver.c | 987 + hunt/huntd/execute.c | 607 + hunt/huntd/expl.c | 258 + hunt/huntd/extern.c | 91 + hunt/huntd/faketalk.c | 252 + hunt/huntd/get_names.c | 166 + hunt/huntd/hunt.h | 484 + hunt/huntd/huntd.6.in | 124 + hunt/huntd/makemaze.c | 233 + hunt/huntd/pathname.c | 66 + hunt/huntd/shots.c | 1169 + hunt/huntd/talk_ctl.h | 106 + hunt/huntd/terminal.c | 156 + include/signal.h | 47 + include/stdio.h | 39 + include/stdlib.h | 43 + include/string.h | 39 + include/sys/cdefs.h | 42 + include/sys/endian.h | 120 + include/sys/poll.h | 38 + include/sys/ttydefaults.h | 46 + include/termios.h | 36 + install-man.in | 92 + install-score.in | 45 + lib/Makefrag | 33 + lib/fgetln.c | 66 + lib/getloadavg.c | 55 + lib/getprogname.c | 40 + lib/strlcpy.c | 70 + mille/Makefile.bsd | 13 + mille/Makefrag | 36 + mille/comp.c | 485 + mille/end.c | 151 + mille/extern.c | 175 + mille/init.c | 257 + mille/mille.6 | 388 + mille/mille.c | 164 + mille/mille.h | 274 + mille/misc.c | 260 + mille/move.c | 579 + mille/print.c | 180 + mille/roll.c | 61 + mille/save.c | 173 + mille/table.c | 72 + mille/types.c | 82 + mille/varpush.c | 110 + mkdep | 47 + monop/Makefile.bsd | 27 + monop/Makefrag | 41 + monop/brd.dat | 76 + monop/cards.c | 241 + monop/cards.inp | 122 + monop/deck.h | 48 + monop/execute.c | 272 + monop/getinp.c | 125 + monop/houses.c | 286 + monop/initdeck.c | 276 + monop/jail.c | 140 + monop/malloc.c | 493 + monop/misc.c | 291 + monop/mon.dat | 42 + monop/monop.6.in | 183 + monop/monop.c | 201 + monop/monop.def | 118 + monop/monop.ext | 57 + monop/monop.h | 207 + monop/morg.c | 239 + monop/pathnames.h.in | 34 + monop/print.c | 202 + monop/prop.c | 228 + monop/prop.dat | 56 + monop/rent.c | 96 + monop/roll.c | 80 + monop/spec.c | 99 + monop/trade.c | 328 + morse/Makefile.bsd | 10 + morse/Makefrag | 36 + morse/morse.c | 266 + number/Makefile.bsd | 7 + number/Makefrag | 37 + number/number.6 | 59 + number/number.c | 299 + phantasia/COPYRIGHT | 26 + phantasia/Makefile.bsd | 54 + phantasia/Makefrag | 51 + phantasia/OWNER | 6 + phantasia/README | 84 + phantasia/fight.c | 1392 + phantasia/gamesupport.c | 551 + phantasia/include.h | 22 + phantasia/interplayer.c | 889 + phantasia/io.c | 246 + phantasia/macros.h | 20 + phantasia/main.c | 1036 + phantasia/map.c | 162 + phantasia/misc.c | 1073 + phantasia/monsters.asc | 100 + phantasia/pathnames.h.in | 42 + phantasia/phantasia.6 | 1197 + phantasia/phantdefs.h | 150 + phantasia/phantglobs.c | 118 + phantasia/phantglobs.h | 130 + phantasia/phantstruct.h | 130 + phantasia/setup.c | 262 + pig/Makefile.bsd | 7 + pig/Makefrag | 36 + pig/pig.6 | 46 + pig/pig.c | 142 + pom/Makefile.bsd | 9 + pom/Makefrag | 36 + pom/pom.6 | 71 + pom/pom.c | 285 + ppt/Makefile.bsd | 10 + ppt/Makefrag | 36 + ppt/ppt.c | 180 + primes/Makefile.bsd | 10 + primes/Makefrag | 37 + primes/pattern.c | 443 + primes/pr_tbl.c | 549 + primes/primes.6 | 89 + primes/primes.c | 340 + primes/primes.h | 50 + quiz/Makefile.bsd | 19 + quiz/Makefrag | 37 + quiz/datfiles/Makefrag | 39 + quiz/datfiles/africa | 43 + quiz/datfiles/america | 27 + quiz/datfiles/areas | 124 + quiz/datfiles/arith | 45 + quiz/datfiles/asia | 41 + quiz/datfiles/babies | 21 + quiz/datfiles/bard | 228 + quiz/datfiles/chinese | 12 + quiz/datfiles/collectives | 105 + quiz/datfiles/ed | 84 + quiz/datfiles/elements | 103 + quiz/datfiles/europe | 44 + quiz/datfiles/flowers | 45 + quiz/datfiles/greek | 7 + quiz/datfiles/inca | 12 + quiz/datfiles/index.in | 32 + quiz/datfiles/latin | 157 + quiz/datfiles/locomotive | 40 + quiz/datfiles/midearth | 10 + quiz/datfiles/morse | 26 + quiz/datfiles/mult | 99 + quiz/datfiles/murders | 25 + quiz/datfiles/poetry | 184 + quiz/datfiles/posneg | 50 + quiz/datfiles/pres | 83 + quiz/datfiles/province | 13 + quiz/datfiles/seq-easy | 14 + quiz/datfiles/seq-hard | 15 + quiz/datfiles/sexes | 26 + quiz/datfiles/sov | 42 + quiz/datfiles/spell | 2 + quiz/datfiles/state | 50 + quiz/datfiles/trek | 19 + quiz/datfiles/ucc | 127 + quiz/pathnames.h.in | 35 + quiz/quiz.6.in | 119 + quiz/quiz.c | 388 + quiz/quiz.h | 59 + quiz/rxp.c | 317 + rain/Makefile.bsd | 9 + rain/Makefrag | 36 + rain/rain.6 | 54 + rain/rain.c | 158 + random/Makefile.bsd | 7 + random/Makefrag | 36 + random/random.6 | 67 + random/random.c | 158 + robots/Makefile.bsd | 14 + robots/Makefrag | 38 + robots/auto.c | 386 + robots/extern.c | 82 + robots/flush_in.c | 51 + robots/init_field.c | 131 + robots/main.c | 232 + robots/make_level.c | 94 + robots/move.c | 319 + robots/move_robs.c | 154 + robots/pathnames.h.in | 34 + robots/play_level.c | 118 + robots/query.c | 64 + robots/rnd_pos.c | 70 + robots/robots.6.in | 155 + robots/robots.h | 146 + robots/score.c | 239 + sail/Makefile.bsd | 14 + sail/Makefrag | 38 + sail/assorted.c | 287 + sail/display.h | 50 + sail/dr_1.c | 478 + sail/dr_2.c | 280 + sail/dr_3.c | 353 + sail/dr_4.c | 69 + sail/dr_5.c | 93 + sail/dr_main.c | 115 + sail/driver.h | 34 + sail/extern.h | 413 + sail/game.c | 90 + sail/globals.c | 565 + sail/lo_main.c | 96 + sail/machdep.h | 50 + sail/main.c | 131 + sail/misc.c | 244 + sail/parties.c | 77 + sail/pathnames.h.in | 36 + sail/pl_1.c | 142 + sail/pl_2.c | 160 + sail/pl_3.c | 279 + sail/pl_4.c | 136 + sail/pl_5.c | 259 + sail/pl_6.c | 205 + sail/pl_7.c | 524 + sail/pl_main.c | 254 + sail/player.h | 105 + sail/restart.h | 39 + sail/sail.6 | 975 + sail/sync.c | 499 + sail/version.c | 41 + snake/Makefile.bsd | 6 + snake/Makefrag | 31 + snake/snake/Makefile.bsd | 13 + snake/snake/Makefrag | 38 + snake/snake/pathnames.h.in | 35 + snake/snake/snake.6.in | 127 + snake/snake/snake.c | 1006 + snake/snscore/Makefile.bsd | 11 + snake/snscore/Makefrag | 37 + snake/snscore/snscore.c | 130 + substfiles | 52 + substfiles2 | 51 + substscr | 99 + tests/battlestar.err6 | 1 + tests/battlestar.in1 | 2 + tests/battlestar.in10 | 16 + tests/battlestar.in11 | 16 + tests/battlestar.in12 | 16 + tests/battlestar.in13 | 16 + tests/battlestar.in14 | 2 + tests/battlestar.in16 | 2 + tests/battlestar.in17 | 2 + tests/battlestar.in18 | 2 + tests/battlestar.in19 | 2 + tests/battlestar.in2 | 2 + tests/battlestar.in20 | 2 + tests/battlestar.in21 | 2 + tests/battlestar.in22 | 4 + tests/battlestar.in23 | 3 + tests/battlestar.in24 | 4 + tests/battlestar.in25 | 5 + tests/battlestar.in26 | 2 + tests/battlestar.in27 | 2 + tests/battlestar.in28 | 2 + tests/battlestar.in29 | 2 + tests/battlestar.in3 | 2 + tests/battlestar.in30 | 2 + tests/battlestar.in31 | 2 + tests/battlestar.in32 | 2 + tests/battlestar.in33 | 2 + tests/battlestar.in34 | 2 + tests/battlestar.in35 | 2 + tests/battlestar.in36 | 2 + tests/battlestar.in37 | 2 + tests/battlestar.in38 | 2 + tests/battlestar.in39 | 5 + tests/battlestar.in4 | 7 + tests/battlestar.in40 | 4 + tests/battlestar.in41 | 2 + tests/battlestar.in42 | 2 + tests/battlestar.in43 | 2 + tests/battlestar.in5 | 4 + tests/battlestar.in6 | 3 + tests/battlestar.in8 | 5 + tests/battlestar.in9 | 16 + tests/battlestar.out1 | 16 + tests/battlestar.out10 | 98 + tests/battlestar.out11 | 98 + tests/battlestar.out12 | 99 + tests/battlestar.out13 | 99 + tests/battlestar.out14 | 16 + tests/battlestar.out15 | 15 + tests/battlestar.out16 | 16 + tests/battlestar.out17 | 16 + tests/battlestar.out18 | 16 + tests/battlestar.out19 | 16 + tests/battlestar.out2 | 16 + tests/battlestar.out20 | 16 + tests/battlestar.out21 | 85 + tests/battlestar.out22 | 28 + tests/battlestar.out23 | 24 + tests/battlestar.out24 | 30 + tests/battlestar.out25 | 34 + tests/battlestar.out26 | 17 + tests/battlestar.out27 | 16 + tests/battlestar.out28 | 17 + tests/battlestar.out29 | 17 + tests/battlestar.out3 | 17 + tests/battlestar.out30 | 17 + tests/battlestar.out31 | 16 + tests/battlestar.out32 | 16 + tests/battlestar.out33 | 16 + tests/battlestar.out34 | 16 + tests/battlestar.out35 | 17 + tests/battlestar.out36 | 16 + tests/battlestar.out37 | 16 + tests/battlestar.out38 | 17 + tests/battlestar.out39 | 33 + tests/battlestar.out4 | 52 + tests/battlestar.out40 | 31 + tests/battlestar.out41 | 16 + tests/battlestar.out42 | 16 + tests/battlestar.out43 | 16 + tests/battlestar.out5 | 37 + tests/battlestar.out6 | 17 + tests/battlestar.out8 | 34 + tests/battlestar.out9 | 97 + tests/battlestar.test | 258 + tests/bcd.foo | 15 + tests/bcd.foobar | 15 + tests/bcd.fooxbar | 30 + tests/bcd.test | 64 + tests/caesar.197816in | 1 + tests/caesar.197816out | 1 + tests/caesar.constin | 100 + tests/caesar.constout | 100 + tests/caesar.test | 49 + tests/common | 55 + tests/factor.123456 | 2 + tests/factor.123456789 | 1 + tests/factor.2147483647111311 | 1 + tests/factor.6172538568 | 1 + tests/factor.8675309 | 1 + tests/factor.987654321 | 1 + tests/factor.987654321987654 | 1 + tests/factor.987654321987654321987 | 1 + tests/factor.99999999999991 | 1 + tests/factor.test | 89 + tests/morse.SOS | 5 + tests/morse.foo | 5 + tests/morse.sos | 1 + tests/morse.test | 69 + tests/morse.testsent | 17 + tests/morse.testsentd | 1 + tests/number.-0.1 | 3 + tests/number.123456 | 2 + tests/number.987654321 | 3 + tests/number.test | 49 + tests/pig.test | 49 + tests/pig.test1 | 1 + tests/pig.test2 | 1 + tests/pig.test3 | 1 + tests/pom.1998fm1 | 1 + tests/pom.1998fm2 | 1 + tests/pom.1998fq1 | 1 + tests/pom.1998fq2 | 1 + tests/pom.1998lq1 | 1 + tests/pom.1998lq2 | 1 + tests/pom.1998nm1 | 1 + tests/pom.1998nm2 | 1 + tests/pom.2003fm1 | 1 + tests/pom.2003fm2 | 1 + tests/pom.2003fq1 | 1 + tests/pom.2003fq2 | 1 + tests/pom.2003lq1 | 1 + tests/pom.2003lq2 | 1 + tests/pom.2003nm1 | 1 + tests/pom.2003nm2 | 1 + tests/pom.2003ph1 | 1 + tests/pom.2003ph2 | 1 + tests/pom.2003ph3 | 1 + tests/pom.2003ph4 | 1 + tests/pom.2003ph5 | 1 + tests/pom.2003ph6 | 1 + tests/pom.2003ph7 | 1 + tests/pom.2003ph8 | 1 + tests/pom.test | 170 + tests/ppt.Foobarnl | 10 + tests/ppt.foobar | 9 + tests/ppt.test | 49 + tests/primes.100 | 25 + tests/primes.1e6 | 24 + tests/primes.1e9 | 16 + tests/primes.test | 49 + tetris/Makefile.bsd | 12 + tetris/Makefrag | 40 + tetris/input.c | 161 + tetris/input.h | 39 + tetris/pathnames.h.in | 37 + tetris/scores.c | 466 + tetris/scores.h | 52 + tetris/screen.c | 506 + tetris/screen.h | 54 + tetris/shapes.c | 109 + tetris/tetris.6.in | 157 + tetris/tetris.c | 337 + tetris/tetris.h | 174 + trek/DOC/read_me.nr | 252 + trek/DOC/things | 10 + trek/DOC/trekmanual.nr | 896 + trek/Makefile.bsd | 23 + trek/Makefrag | 37 + trek/USD.doc/Makefile.bsd | 11 + trek/USD.doc/spell.ok | 72 + trek/USD.doc/trek.me | 965 + trek/abandon.c | 168 + trek/attack.c | 194 + trek/autover.c | 82 + trek/capture.c | 136 + trek/cgetc.c | 48 + trek/check_out.c | 75 + trek/checkcond.c | 106 + trek/compkl.c | 120 + trek/computer.c | 355 + trek/damage.c | 97 + trek/damaged.c | 71 + trek/dcrept.c | 106 + trek/destruct.c | 124 + trek/dock.c | 158 + trek/dumpgame.c | 177 + trek/dumpme.c | 93 + trek/dumpssradio.c | 90 + trek/events.c | 474 + trek/externs.c | 117 + trek/getcodi.c | 73 + trek/getpar.c | 313 + trek/getpar.h | 53 + trek/help.c | 172 + trek/impulse.c | 91 + trek/initquad.c | 158 + trek/kill.c | 235 + trek/klmove.c | 187 + trek/lose.c | 92 + trek/lrscan.c | 114 + trek/main.c | 253 + trek/move.c | 235 + trek/nova.c | 146 + trek/out.c | 62 + trek/phaser.c | 385 + trek/play.c | 115 + trek/ram.c | 107 + trek/ranf.c | 63 + trek/rest.c | 87 + trek/schedule.c | 182 + trek/score.c | 107 + trek/setup.c | 312 + trek/setwarp.c | 75 + trek/shield.c | 150 + trek/snova.c | 164 + trek/srscan.c | 193 + trek/systemname.c | 70 + trek/torped.c | 262 + trek/trek.6.in | 139 + trek/trek.h | 525 + trek/visual.c | 109 + trek/warp.c | 204 + trek/win.c | 94 + wargames/Makefile.bsd | 7 + wargames/Makefrag | 36 + wargames/wargames | 52 + wargames/wargames.6 | 49 + worm/Makefile.bsd | 10 + worm/Makefrag | 36 + worm/worm.6 | 62 + worm/worm.c | 370 + worms/Makefile.bsd | 10 + worms/Makefrag | 36 + worms/worms.6 | 66 + worms/worms.c | 355 + wtf/Makefile.bsd | 7 + wtf/Makefrag | 38 + wtf/acronyms | 252 + wtf/acronyms.comp | 319 + wtf/wtf.6.in | 69 + wtf/wtf.in | 66 + wump/Makefile.bsd | 14 + wump/Makefrag | 37 + wump/pathnames.h.in | 35 + wump/wump.6 | 110 + wump/wump.c | 873 + wump/wump.info | 41 + 906 files changed, 248641 insertions(+) create mode 100644 AUTHORS create mode 100644 BUGS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 ChangeLog.0 create mode 100644 INSTALL create mode 100644 Makeconfig.in create mode 100644 Makefile.bsd create mode 100644 Makefile.inc.bsd create mode 100644 NEWS create mode 100644 PACKAGING create mode 100644 README create mode 100644 SECURITY create mode 100644 THANKS create mode 100644 TODO create mode 100644 YEAR2000 create mode 100644 adventure/Makefile.bsd create mode 100644 adventure/Makefrag create mode 100644 adventure/adventure.6 create mode 100644 adventure/crc.c create mode 100644 adventure/done.c create mode 100644 adventure/extern.h create mode 100644 adventure/glorkz create mode 100644 adventure/hdr.h create mode 100644 adventure/init.c create mode 100644 adventure/io.c create mode 100644 adventure/main.c create mode 100644 adventure/save.c create mode 100644 adventure/setup.c create mode 100644 adventure/subr.c create mode 100644 adventure/vocab.c create mode 100644 adventure/wizard.c create mode 100644 arithmetic/Makefile.bsd create mode 100644 arithmetic/Makefrag create mode 100644 arithmetic/arithmetic.6 create mode 100644 arithmetic/arithmetic.c create mode 100644 atc/BUGS create mode 100644 atc/Makefile.bsd create mode 100644 atc/Makefrag create mode 100644 atc/atc.6.in create mode 100644 atc/def.h create mode 100644 atc/extern.c create mode 100644 atc/extern.h create mode 100644 atc/games/Atlantis create mode 100644 atc/games/Game_List create mode 100644 atc/games/Killer create mode 100644 atc/games/Makefrag create mode 100644 atc/games/OHare create mode 100644 atc/games/Tic-Tac-Toe create mode 100644 atc/games/airports create mode 100644 atc/games/box create mode 100644 atc/games/crosshatch create mode 100644 atc/games/crossover create mode 100644 atc/games/default create mode 100644 atc/games/easy create mode 100644 atc/games/game_2 create mode 100644 atc/games/game_3 create mode 100644 atc/games/game_4 create mode 100644 atc/games/novice create mode 100644 atc/games/two-corners create mode 100644 atc/grammar.y create mode 100644 atc/graphics.c create mode 100644 atc/include.h create mode 100644 atc/input.c create mode 100644 atc/lex.l create mode 100644 atc/list.c create mode 100644 atc/log.c create mode 100644 atc/main.c create mode 100644 atc/pathnames.h.in create mode 100644 atc/struct.h create mode 100644 atc/tunable.c create mode 100644 atc/tunable.h create mode 100644 atc/update.c create mode 100644 backgammon/Makefile.bsd create mode 100644 backgammon/Makefile.inc.bsd create mode 100644 backgammon/Makefrag create mode 100644 backgammon/backgammon/Makefile.bsd create mode 100644 backgammon/backgammon/Makefrag create mode 100644 backgammon/backgammon/backgammon.6.in create mode 100644 backgammon/backgammon/backlocal.h create mode 100644 backgammon/backgammon/extra.c create mode 100644 backgammon/backgammon/main.c create mode 100644 backgammon/backgammon/move.c create mode 100644 backgammon/backgammon/text.c create mode 100644 backgammon/backgammon/version.c create mode 100644 backgammon/common_source/Makefile.bsd create mode 100644 backgammon/common_source/Makefrag create mode 100644 backgammon/common_source/allow.c create mode 100644 backgammon/common_source/back.h create mode 100644 backgammon/common_source/board.c create mode 100644 backgammon/common_source/check.c create mode 100644 backgammon/common_source/fancy.c create mode 100644 backgammon/common_source/init.c create mode 100644 backgammon/common_source/odds.c create mode 100644 backgammon/common_source/one.c create mode 100644 backgammon/common_source/save.c create mode 100644 backgammon/common_source/subs.c create mode 100644 backgammon/common_source/table.c create mode 100644 backgammon/teachgammon/Makefile.bsd create mode 100644 backgammon/teachgammon/Makefrag create mode 100644 backgammon/teachgammon/data.c create mode 100644 backgammon/teachgammon/teach.c create mode 100644 backgammon/teachgammon/ttext1.c create mode 100644 backgammon/teachgammon/ttext2.c create mode 100644 backgammon/teachgammon/tutor.c create mode 100644 backgammon/teachgammon/tutor.h create mode 100644 banner/Makefile.bsd create mode 100644 banner/Makefrag create mode 100644 banner/banner.6 create mode 100644 banner/banner.c create mode 100644 battlestar/Makefile.bsd create mode 100644 battlestar/Makefrag create mode 100644 battlestar/battlestar.6 create mode 100644 battlestar/battlestar.c create mode 100644 battlestar/command1.c create mode 100644 battlestar/command2.c create mode 100644 battlestar/command3.c create mode 100644 battlestar/command4.c create mode 100644 battlestar/command5.c create mode 100644 battlestar/command6.c create mode 100644 battlestar/command7.c create mode 100644 battlestar/cypher.c create mode 100644 battlestar/dayfile.c create mode 100644 battlestar/dayobjs.c create mode 100644 battlestar/extern.h create mode 100644 battlestar/fly.c create mode 100644 battlestar/getcom.c create mode 100644 battlestar/globals.c create mode 100644 battlestar/init.c create mode 100644 battlestar/misc.c create mode 100644 battlestar/nightfile.c create mode 100644 battlestar/nightobjs.c create mode 100644 battlestar/parse.c create mode 100644 battlestar/pathnames.h.in create mode 100644 battlestar/room.c create mode 100644 battlestar/save.c create mode 100644 battlestar/words.c create mode 100644 bcd/Makefile.bsd create mode 100644 bcd/Makefrag create mode 100644 bcd/bcd.6 create mode 100644 bcd/bcd.c create mode 100644 boggle/Makefile.bsd create mode 100644 boggle/Makefrag create mode 100644 boggle/README create mode 100644 boggle/boggle/Makefile.bsd create mode 100644 boggle/boggle/Makefrag create mode 100644 boggle/boggle/bog.c create mode 100644 boggle/boggle/bog.h.in create mode 100644 boggle/boggle/boggle.6 create mode 100644 boggle/boggle/extern.h create mode 100644 boggle/boggle/help.c create mode 100644 boggle/boggle/helpfile create mode 100644 boggle/boggle/mach.c create mode 100644 boggle/boggle/prtable.c create mode 100644 boggle/boggle/timer.c create mode 100644 boggle/boggle/word.c create mode 100644 boggle/mkdict/Makefile.bsd create mode 100644 boggle/mkdict/Makefrag create mode 100644 boggle/mkdict/mkdict.c create mode 100644 boggle/mkindex/Makefile.bsd create mode 100644 boggle/mkindex/Makefrag create mode 100644 boggle/mkindex/mkindex.c create mode 100644 bsd-games.lsm create mode 100644 caesar/Makefile.bsd create mode 100644 caesar/Makefrag create mode 100644 caesar/caesar.6 create mode 100644 caesar/caesar.c create mode 100755 caesar/rot13.in create mode 100644 canfield/Makefile.bsd create mode 100644 canfield/Makefrag create mode 100644 canfield/canfield/Makefile.bsd create mode 100644 canfield/canfield/Makefrag create mode 100644 canfield/canfield/canfield.6.in create mode 100644 canfield/canfield/canfield.c create mode 100644 canfield/canfield/pathnames.h.in create mode 100644 canfield/cfscores/Makefile.bsd create mode 100644 canfield/cfscores/Makefrag create mode 100644 canfield/cfscores/cfscores.c create mode 100755 configure create mode 100644 countmail/Makefile.bsd create mode 100644 countmail/Makefrag create mode 100644 countmail/countmail create mode 100644 countmail/countmail.6 create mode 100644 cribbage/Makefile.bsd create mode 100644 cribbage/Makefrag create mode 100644 cribbage/cards.c create mode 100644 cribbage/crib.c create mode 100644 cribbage/cribbage.6.in create mode 100644 cribbage/cribbage.h create mode 100644 cribbage/cribbage.n create mode 100644 cribbage/cribcur.h create mode 100644 cribbage/deck.h create mode 100644 cribbage/extern.c create mode 100644 cribbage/instr.c create mode 100644 cribbage/io.c create mode 100644 cribbage/pathnames.h.in create mode 100644 cribbage/score.c create mode 100644 cribbage/support.c create mode 100644 dab/Makefile.bsd create mode 100644 dab/Makefrag create mode 100644 dab/algor.cc create mode 100644 dab/algor.h create mode 100644 dab/board.cc create mode 100644 dab/board.h create mode 100644 dab/box.cc create mode 100644 dab/box.h create mode 100644 dab/dab.6 create mode 100644 dab/defs.h create mode 100644 dab/gamescreen.cc create mode 100644 dab/gamescreen.h create mode 100644 dab/human.cc create mode 100644 dab/human.h create mode 100644 dab/main.cc create mode 100644 dab/player.cc create mode 100644 dab/player.h create mode 100644 dab/random.cc create mode 100644 dab/random.h create mode 100644 dab/test.cc create mode 100644 dab/ttyscrn.cc create mode 100644 dab/ttyscrn.h create mode 100644 dm/Makefile.bsd create mode 100644 dm/Makefrag create mode 100644 dm/dm.8.in create mode 100644 dm/dm.c create mode 100644 dm/dm.conf.5.in create mode 100644 dm/pathnames.h.in create mode 100644 dm/utmpentry.c create mode 100644 dm/utmpentry.h create mode 100644 exec.libs create mode 100644 exec.objs create mode 100644 factor/Makefile.bsd create mode 100644 factor/Makefrag create mode 100644 factor/factor.6 create mode 100644 factor/factor.c create mode 100644 fish/Makefile.bsd create mode 100644 fish/Makefrag create mode 100644 fish/fish.6 create mode 100644 fish/fish.c create mode 100644 fish/fish.instr create mode 100644 fish/pathnames.h.in create mode 100644 fortune/Makefile.bsd create mode 100644 fortune/Makefrag create mode 100644 fortune/Notes create mode 100644 fortune/README create mode 100644 fortune/datfiles/Makefile.bsd create mode 100644 fortune/datfiles/Makefrag create mode 100644 fortune/datfiles/farber create mode 100644 fortune/datfiles/fortunes create mode 100644 fortune/datfiles/fortunes-o.fake create mode 100644 fortune/datfiles/fortunes-o.real create mode 100644 fortune/datfiles/fortunes-o.sp.ok create mode 100644 fortune/datfiles/fortunes.sp.ok create mode 100644 fortune/datfiles/fortunes2 create mode 100644 fortune/datfiles/fortunes2-o.fake create mode 100644 fortune/datfiles/fortunes2-o.real create mode 100644 fortune/datfiles/limerick create mode 100644 fortune/datfiles/limerick-o.fake create mode 100644 fortune/datfiles/limerick-o.real create mode 100644 fortune/datfiles/netbsd create mode 100644 fortune/datfiles/netbsd-o.fake create mode 100644 fortune/datfiles/netbsd-o.real create mode 100644 fortune/datfiles/startrek create mode 100644 fortune/datfiles/startrek.sp.ok create mode 100644 fortune/datfiles/unamerican-o.fake create mode 100644 fortune/datfiles/unamerican-o.real create mode 100644 fortune/datfiles/zippy create mode 100644 fortune/datfiles/zippy.sp.ok create mode 100644 fortune/fortune/Makefile.bsd create mode 100644 fortune/fortune/Makefrag create mode 100644 fortune/fortune/fortune.6.in create mode 100644 fortune/fortune/fortune.c create mode 100644 fortune/fortune/pathnames.h.in create mode 100644 fortune/strfile/Makefile.bsd create mode 100644 fortune/strfile/Makefrag create mode 100644 fortune/strfile/strfile.8 create mode 100644 fortune/strfile/strfile.c create mode 100644 fortune/strfile/strfile.h create mode 100644 fortune/tools/Do_spell create mode 100644 fortune/tools/Do_troff create mode 100644 fortune/tools/Troff.mac create mode 100644 fortune/tools/Troff.sed create mode 100644 fortune/tools/do_sort create mode 100644 fortune/unstr/Makefile.bsd create mode 100644 fortune/unstr/Makefrag create mode 100644 fortune/unstr/unstr.c create mode 100644 gomoku/Makefile.bsd create mode 100644 gomoku/Makefrag create mode 100644 gomoku/bdinit.c create mode 100644 gomoku/bdisp.c create mode 100644 gomoku/gomoku.6 create mode 100644 gomoku/gomoku.h create mode 100644 gomoku/main.c create mode 100644 gomoku/makemove.c create mode 100644 gomoku/pickmove.c create mode 100644 gomoku/stoc.c create mode 100644 hack/COPYRIGHT create mode 100644 hack/COPYRIGHT-JF create mode 100644 hack/Makefile.bsd create mode 100644 hack/Makefrag create mode 100644 hack/Makequest create mode 100644 hack/OWNER create mode 100644 hack/Original_READ_ME create mode 100644 hack/READ_ME create mode 100644 hack/alloc.c create mode 100644 hack/config.h create mode 100644 hack/data create mode 100644 hack/date.h create mode 100644 hack/def.edog.h create mode 100644 hack/def.eshk.h create mode 100644 hack/def.flag.h create mode 100644 hack/def.func_tab.h create mode 100644 hack/def.gen.h create mode 100644 hack/def.gold.h create mode 100644 hack/def.mkroom.h create mode 100644 hack/def.monst.h create mode 100644 hack/def.obj.h create mode 100644 hack/def.objclass.h create mode 100644 hack/def.objects.h create mode 100644 hack/def.permonst.h create mode 100644 hack/def.rm.h create mode 100644 hack/def.trap.h create mode 100644 hack/def.wseg.h create mode 100644 hack/extern.h create mode 100644 hack/hack.6.in create mode 100644 hack/hack.Decl.c create mode 100644 hack/hack.apply.c create mode 100644 hack/hack.bones.c create mode 100644 hack/hack.c create mode 100644 hack/hack.cmd.c create mode 100644 hack/hack.do.c create mode 100644 hack/hack.do_name.c create mode 100644 hack/hack.do_wear.c create mode 100644 hack/hack.dog.c create mode 100644 hack/hack.eat.c create mode 100644 hack/hack.end.c create mode 100644 hack/hack.engrave.c create mode 100644 hack/hack.fight.c create mode 100644 hack/hack.fix create mode 100644 hack/hack.h create mode 100644 hack/hack.invent.c create mode 100644 hack/hack.ioctl.c create mode 100644 hack/hack.lev.c create mode 100644 hack/hack.main.c create mode 100644 hack/hack.makemon.c create mode 100644 hack/hack.mfndpos.h create mode 100644 hack/hack.mhitu.c create mode 100644 hack/hack.mklev.c create mode 100644 hack/hack.mkmaze.c create mode 100644 hack/hack.mkobj.c create mode 100644 hack/hack.mkshop.c create mode 100644 hack/hack.mon.c create mode 100644 hack/hack.monst.c create mode 100644 hack/hack.o_init.c create mode 100644 hack/hack.objnam.c create mode 100644 hack/hack.options.c create mode 100644 hack/hack.pager.c create mode 100644 hack/hack.potion.c create mode 100644 hack/hack.pri.c create mode 100644 hack/hack.read.c create mode 100644 hack/hack.rip.c create mode 100644 hack/hack.rumors.c create mode 100644 hack/hack.save.c create mode 100644 hack/hack.search.c create mode 100644 hack/hack.sh create mode 100644 hack/hack.shk.c create mode 100644 hack/hack.shknam.c create mode 100644 hack/hack.steal.c create mode 100644 hack/hack.termcap.c create mode 100644 hack/hack.timeout.c create mode 100644 hack/hack.topl.c create mode 100644 hack/hack.track.c create mode 100644 hack/hack.trap.c create mode 100644 hack/hack.tty.c create mode 100644 hack/hack.u_init.c create mode 100644 hack/hack.unix.c create mode 100644 hack/hack.vault.c create mode 100644 hack/hack.version.c create mode 100644 hack/hack.wield.c create mode 100644 hack/hack.wizard.c create mode 100644 hack/hack.worm.c create mode 100644 hack/hack.worn.c create mode 100644 hack/hack.zap.c create mode 100644 hack/help create mode 100644 hack/hh create mode 100644 hack/makedefs.c create mode 100644 hack/pathnames.h.in create mode 100644 hack/rnd.c create mode 100644 hack/rumors create mode 100644 hangman/Makefile.bsd create mode 100644 hangman/Makefrag create mode 100644 hangman/endgame.c create mode 100644 hangman/extern.c create mode 100644 hangman/getguess.c create mode 100644 hangman/getword.c create mode 100644 hangman/hangman.6.in create mode 100644 hangman/hangman.h create mode 100644 hangman/main.c create mode 100644 hangman/pathnames.h.in create mode 100644 hangman/playgame.c create mode 100644 hangman/prdata.c create mode 100644 hangman/prman.c create mode 100644 hangman/prword.c create mode 100644 hangman/setup.c create mode 100755 hide-game.in create mode 100644 hunt/Makeconfig create mode 100644 hunt/Makefile.bsd create mode 100644 hunt/Makefile.inc.bsd create mode 100644 hunt/Makefrag create mode 100644 hunt/README create mode 100644 hunt/hunt/Makefile.bsd create mode 100644 hunt/hunt/Makefrag create mode 100644 hunt/hunt/connect.c create mode 100644 hunt/hunt/hunt.6.in create mode 100644 hunt/hunt/hunt.c create mode 100644 hunt/hunt/otto.c create mode 100644 hunt/hunt/playit.c create mode 100644 hunt/huntd/Makefile.bsd create mode 100644 hunt/huntd/Makefrag create mode 100644 hunt/huntd/answer.c create mode 100644 hunt/huntd/bsd.h create mode 100644 hunt/huntd/ctl.c create mode 100644 hunt/huntd/ctl_transact.c create mode 100644 hunt/huntd/draw.c create mode 100644 hunt/huntd/driver.c create mode 100644 hunt/huntd/execute.c create mode 100644 hunt/huntd/expl.c create mode 100644 hunt/huntd/extern.c create mode 100644 hunt/huntd/faketalk.c create mode 100644 hunt/huntd/get_names.c create mode 100644 hunt/huntd/hunt.h create mode 100644 hunt/huntd/huntd.6.in create mode 100644 hunt/huntd/makemaze.c create mode 100644 hunt/huntd/pathname.c create mode 100644 hunt/huntd/shots.c create mode 100644 hunt/huntd/talk_ctl.h create mode 100644 hunt/huntd/terminal.c create mode 100644 include/signal.h create mode 100644 include/stdio.h create mode 100644 include/stdlib.h create mode 100644 include/string.h create mode 100644 include/sys/cdefs.h create mode 100644 include/sys/endian.h create mode 100644 include/sys/poll.h create mode 100644 include/sys/ttydefaults.h create mode 100644 include/termios.h create mode 100755 install-man.in create mode 100755 install-score.in create mode 100644 lib/Makefrag create mode 100644 lib/fgetln.c create mode 100644 lib/getloadavg.c create mode 100644 lib/getprogname.c create mode 100644 lib/strlcpy.c create mode 100644 mille/Makefile.bsd create mode 100644 mille/Makefrag create mode 100644 mille/comp.c create mode 100644 mille/end.c create mode 100644 mille/extern.c create mode 100644 mille/init.c create mode 100644 mille/mille.6 create mode 100644 mille/mille.c create mode 100644 mille/mille.h create mode 100644 mille/misc.c create mode 100644 mille/move.c create mode 100644 mille/print.c create mode 100644 mille/roll.c create mode 100644 mille/save.c create mode 100644 mille/table.c create mode 100644 mille/types.c create mode 100644 mille/varpush.c create mode 100755 mkdep create mode 100644 monop/Makefile.bsd create mode 100644 monop/Makefrag create mode 100644 monop/brd.dat create mode 100644 monop/cards.c create mode 100644 monop/cards.inp create mode 100644 monop/deck.h create mode 100644 monop/execute.c create mode 100644 monop/getinp.c create mode 100644 monop/houses.c create mode 100644 monop/initdeck.c create mode 100644 monop/jail.c create mode 100644 monop/malloc.c create mode 100644 monop/misc.c create mode 100644 monop/mon.dat create mode 100644 monop/monop.6.in create mode 100644 monop/monop.c create mode 100644 monop/monop.def create mode 100644 monop/monop.ext create mode 100644 monop/monop.h create mode 100644 monop/morg.c create mode 100644 monop/pathnames.h.in create mode 100644 monop/print.c create mode 100644 monop/prop.c create mode 100644 monop/prop.dat create mode 100644 monop/rent.c create mode 100644 monop/roll.c create mode 100644 monop/spec.c create mode 100644 monop/trade.c create mode 100644 morse/Makefile.bsd create mode 100644 morse/Makefrag create mode 100644 morse/morse.c create mode 100644 number/Makefile.bsd create mode 100644 number/Makefrag create mode 100644 number/number.6 create mode 100644 number/number.c create mode 100644 phantasia/COPYRIGHT create mode 100644 phantasia/Makefile.bsd create mode 100644 phantasia/Makefrag create mode 100644 phantasia/OWNER create mode 100644 phantasia/README create mode 100644 phantasia/fight.c create mode 100644 phantasia/gamesupport.c create mode 100644 phantasia/include.h create mode 100644 phantasia/interplayer.c create mode 100644 phantasia/io.c create mode 100644 phantasia/macros.h create mode 100644 phantasia/main.c create mode 100644 phantasia/map.c create mode 100644 phantasia/misc.c create mode 100644 phantasia/monsters.asc create mode 100644 phantasia/pathnames.h.in create mode 100644 phantasia/phantasia.6 create mode 100644 phantasia/phantdefs.h create mode 100644 phantasia/phantglobs.c create mode 100644 phantasia/phantglobs.h create mode 100644 phantasia/phantstruct.h create mode 100644 phantasia/setup.c create mode 100644 pig/Makefile.bsd create mode 100644 pig/Makefrag create mode 100644 pig/pig.6 create mode 100644 pig/pig.c create mode 100644 pom/Makefile.bsd create mode 100644 pom/Makefrag create mode 100644 pom/pom.6 create mode 100644 pom/pom.c create mode 100644 ppt/Makefile.bsd create mode 100644 ppt/Makefrag create mode 100644 ppt/ppt.c create mode 100644 primes/Makefile.bsd create mode 100644 primes/Makefrag create mode 100644 primes/pattern.c create mode 100644 primes/pr_tbl.c create mode 100644 primes/primes.6 create mode 100644 primes/primes.c create mode 100644 primes/primes.h create mode 100644 quiz/Makefile.bsd create mode 100644 quiz/Makefrag create mode 100644 quiz/datfiles/Makefrag create mode 100644 quiz/datfiles/africa create mode 100644 quiz/datfiles/america create mode 100644 quiz/datfiles/areas create mode 100644 quiz/datfiles/arith create mode 100644 quiz/datfiles/asia create mode 100644 quiz/datfiles/babies create mode 100644 quiz/datfiles/bard create mode 100644 quiz/datfiles/chinese create mode 100644 quiz/datfiles/collectives create mode 100644 quiz/datfiles/ed create mode 100644 quiz/datfiles/elements create mode 100644 quiz/datfiles/europe create mode 100644 quiz/datfiles/flowers create mode 100644 quiz/datfiles/greek create mode 100644 quiz/datfiles/inca create mode 100644 quiz/datfiles/index.in create mode 100644 quiz/datfiles/latin create mode 100644 quiz/datfiles/locomotive create mode 100644 quiz/datfiles/midearth create mode 100644 quiz/datfiles/morse create mode 100644 quiz/datfiles/mult create mode 100644 quiz/datfiles/murders create mode 100644 quiz/datfiles/poetry create mode 100644 quiz/datfiles/posneg create mode 100644 quiz/datfiles/pres create mode 100644 quiz/datfiles/province create mode 100644 quiz/datfiles/seq-easy create mode 100644 quiz/datfiles/seq-hard create mode 100644 quiz/datfiles/sexes create mode 100644 quiz/datfiles/sov create mode 100644 quiz/datfiles/spell create mode 100644 quiz/datfiles/state create mode 100644 quiz/datfiles/trek create mode 100644 quiz/datfiles/ucc create mode 100644 quiz/pathnames.h.in create mode 100644 quiz/quiz.6.in create mode 100644 quiz/quiz.c create mode 100644 quiz/quiz.h create mode 100644 quiz/rxp.c create mode 100644 rain/Makefile.bsd create mode 100644 rain/Makefrag create mode 100644 rain/rain.6 create mode 100644 rain/rain.c create mode 100644 random/Makefile.bsd create mode 100644 random/Makefrag create mode 100644 random/random.6 create mode 100644 random/random.c create mode 100644 robots/Makefile.bsd create mode 100644 robots/Makefrag create mode 100644 robots/auto.c create mode 100644 robots/extern.c create mode 100644 robots/flush_in.c create mode 100644 robots/init_field.c create mode 100644 robots/main.c create mode 100644 robots/make_level.c create mode 100644 robots/move.c create mode 100644 robots/move_robs.c create mode 100644 robots/pathnames.h.in create mode 100644 robots/play_level.c create mode 100644 robots/query.c create mode 100644 robots/rnd_pos.c create mode 100644 robots/robots.6.in create mode 100644 robots/robots.h create mode 100644 robots/score.c create mode 100644 sail/Makefile.bsd create mode 100644 sail/Makefrag create mode 100644 sail/assorted.c create mode 100644 sail/display.h create mode 100644 sail/dr_1.c create mode 100644 sail/dr_2.c create mode 100644 sail/dr_3.c create mode 100644 sail/dr_4.c create mode 100644 sail/dr_5.c create mode 100644 sail/dr_main.c create mode 100644 sail/driver.h create mode 100644 sail/extern.h create mode 100644 sail/game.c create mode 100644 sail/globals.c create mode 100644 sail/lo_main.c create mode 100644 sail/machdep.h create mode 100644 sail/main.c create mode 100644 sail/misc.c create mode 100644 sail/parties.c create mode 100644 sail/pathnames.h.in create mode 100644 sail/pl_1.c create mode 100644 sail/pl_2.c create mode 100644 sail/pl_3.c create mode 100644 sail/pl_4.c create mode 100644 sail/pl_5.c create mode 100644 sail/pl_6.c create mode 100644 sail/pl_7.c create mode 100644 sail/pl_main.c create mode 100644 sail/player.h create mode 100644 sail/restart.h create mode 100644 sail/sail.6 create mode 100644 sail/sync.c create mode 100644 sail/version.c create mode 100644 snake/Makefile.bsd create mode 100644 snake/Makefrag create mode 100644 snake/snake/Makefile.bsd create mode 100644 snake/snake/Makefrag create mode 100644 snake/snake/pathnames.h.in create mode 100644 snake/snake/snake.6.in create mode 100644 snake/snake/snake.c create mode 100644 snake/snscore/Makefile.bsd create mode 100644 snake/snscore/Makefrag create mode 100644 snake/snscore/snscore.c create mode 100644 substfiles create mode 100644 substfiles2 create mode 100755 substscr create mode 100644 tests/battlestar.err6 create mode 100644 tests/battlestar.in1 create mode 100644 tests/battlestar.in10 create mode 100644 tests/battlestar.in11 create mode 100644 tests/battlestar.in12 create mode 100644 tests/battlestar.in13 create mode 100644 tests/battlestar.in14 create mode 100644 tests/battlestar.in16 create mode 100644 tests/battlestar.in17 create mode 100644 tests/battlestar.in18 create mode 100644 tests/battlestar.in19 create mode 100644 tests/battlestar.in2 create mode 100644 tests/battlestar.in20 create mode 100644 tests/battlestar.in21 create mode 100644 tests/battlestar.in22 create mode 100644 tests/battlestar.in23 create mode 100644 tests/battlestar.in24 create mode 100644 tests/battlestar.in25 create mode 100644 tests/battlestar.in26 create mode 100644 tests/battlestar.in27 create mode 100644 tests/battlestar.in28 create mode 100644 tests/battlestar.in29 create mode 100644 tests/battlestar.in3 create mode 100644 tests/battlestar.in30 create mode 100644 tests/battlestar.in31 create mode 100644 tests/battlestar.in32 create mode 100644 tests/battlestar.in33 create mode 100644 tests/battlestar.in34 create mode 100644 tests/battlestar.in35 create mode 100644 tests/battlestar.in36 create mode 100644 tests/battlestar.in37 create mode 100644 tests/battlestar.in38 create mode 100644 tests/battlestar.in39 create mode 100644 tests/battlestar.in4 create mode 100644 tests/battlestar.in40 create mode 100644 tests/battlestar.in41 create mode 100644 tests/battlestar.in42 create mode 100644 tests/battlestar.in43 create mode 100644 tests/battlestar.in5 create mode 100644 tests/battlestar.in6 create mode 100644 tests/battlestar.in8 create mode 100644 tests/battlestar.in9 create mode 100644 tests/battlestar.out1 create mode 100644 tests/battlestar.out10 create mode 100644 tests/battlestar.out11 create mode 100644 tests/battlestar.out12 create mode 100644 tests/battlestar.out13 create mode 100644 tests/battlestar.out14 create mode 100644 tests/battlestar.out15 create mode 100644 tests/battlestar.out16 create mode 100644 tests/battlestar.out17 create mode 100644 tests/battlestar.out18 create mode 100644 tests/battlestar.out19 create mode 100644 tests/battlestar.out2 create mode 100644 tests/battlestar.out20 create mode 100644 tests/battlestar.out21 create mode 100644 tests/battlestar.out22 create mode 100644 tests/battlestar.out23 create mode 100644 tests/battlestar.out24 create mode 100644 tests/battlestar.out25 create mode 100644 tests/battlestar.out26 create mode 100644 tests/battlestar.out27 create mode 100644 tests/battlestar.out28 create mode 100644 tests/battlestar.out29 create mode 100644 tests/battlestar.out3 create mode 100644 tests/battlestar.out30 create mode 100644 tests/battlestar.out31 create mode 100644 tests/battlestar.out32 create mode 100644 tests/battlestar.out33 create mode 100644 tests/battlestar.out34 create mode 100644 tests/battlestar.out35 create mode 100644 tests/battlestar.out36 create mode 100644 tests/battlestar.out37 create mode 100644 tests/battlestar.out38 create mode 100644 tests/battlestar.out39 create mode 100644 tests/battlestar.out4 create mode 100644 tests/battlestar.out40 create mode 100644 tests/battlestar.out41 create mode 100644 tests/battlestar.out42 create mode 100644 tests/battlestar.out43 create mode 100644 tests/battlestar.out5 create mode 100644 tests/battlestar.out6 create mode 100644 tests/battlestar.out8 create mode 100644 tests/battlestar.out9 create mode 100755 tests/battlestar.test create mode 100644 tests/bcd.foo create mode 100644 tests/bcd.foobar create mode 100644 tests/bcd.fooxbar create mode 100755 tests/bcd.test create mode 100644 tests/caesar.197816in create mode 100644 tests/caesar.197816out create mode 100644 tests/caesar.constin create mode 100644 tests/caesar.constout create mode 100755 tests/caesar.test create mode 100644 tests/common create mode 100644 tests/factor.123456 create mode 100644 tests/factor.123456789 create mode 100644 tests/factor.2147483647111311 create mode 100644 tests/factor.6172538568 create mode 100644 tests/factor.8675309 create mode 100644 tests/factor.987654321 create mode 100644 tests/factor.987654321987654 create mode 100644 tests/factor.987654321987654321987 create mode 100644 tests/factor.99999999999991 create mode 100755 tests/factor.test create mode 100644 tests/morse.SOS create mode 100644 tests/morse.foo create mode 100644 tests/morse.sos create mode 100755 tests/morse.test create mode 100644 tests/morse.testsent create mode 100644 tests/morse.testsentd create mode 100644 tests/number.-0.1 create mode 100644 tests/number.123456 create mode 100644 tests/number.987654321 create mode 100755 tests/number.test create mode 100755 tests/pig.test create mode 100644 tests/pig.test1 create mode 100644 tests/pig.test2 create mode 100644 tests/pig.test3 create mode 100644 tests/pom.1998fm1 create mode 100644 tests/pom.1998fm2 create mode 100644 tests/pom.1998fq1 create mode 100644 tests/pom.1998fq2 create mode 100644 tests/pom.1998lq1 create mode 100644 tests/pom.1998lq2 create mode 100644 tests/pom.1998nm1 create mode 100644 tests/pom.1998nm2 create mode 100644 tests/pom.2003fm1 create mode 100644 tests/pom.2003fm2 create mode 100644 tests/pom.2003fq1 create mode 100644 tests/pom.2003fq2 create mode 100644 tests/pom.2003lq1 create mode 100644 tests/pom.2003lq2 create mode 100644 tests/pom.2003nm1 create mode 100644 tests/pom.2003nm2 create mode 100644 tests/pom.2003ph1 create mode 100644 tests/pom.2003ph2 create mode 100644 tests/pom.2003ph3 create mode 100644 tests/pom.2003ph4 create mode 100644 tests/pom.2003ph5 create mode 100644 tests/pom.2003ph6 create mode 100644 tests/pom.2003ph7 create mode 100644 tests/pom.2003ph8 create mode 100755 tests/pom.test create mode 100644 tests/ppt.Foobarnl create mode 100644 tests/ppt.foobar create mode 100755 tests/ppt.test create mode 100644 tests/primes.100 create mode 100644 tests/primes.1e6 create mode 100644 tests/primes.1e9 create mode 100755 tests/primes.test create mode 100644 tetris/Makefile.bsd create mode 100644 tetris/Makefrag create mode 100644 tetris/input.c create mode 100644 tetris/input.h create mode 100644 tetris/pathnames.h.in create mode 100644 tetris/scores.c create mode 100644 tetris/scores.h create mode 100644 tetris/screen.c create mode 100644 tetris/screen.h create mode 100644 tetris/shapes.c create mode 100644 tetris/tetris.6.in create mode 100644 tetris/tetris.c create mode 100644 tetris/tetris.h create mode 100644 trek/DOC/read_me.nr create mode 100644 trek/DOC/things create mode 100644 trek/DOC/trekmanual.nr create mode 100644 trek/Makefile.bsd create mode 100644 trek/Makefrag create mode 100644 trek/USD.doc/Makefile.bsd create mode 100644 trek/USD.doc/spell.ok create mode 100644 trek/USD.doc/trek.me create mode 100644 trek/abandon.c create mode 100644 trek/attack.c create mode 100644 trek/autover.c create mode 100644 trek/capture.c create mode 100644 trek/cgetc.c create mode 100644 trek/check_out.c create mode 100644 trek/checkcond.c create mode 100644 trek/compkl.c create mode 100644 trek/computer.c create mode 100644 trek/damage.c create mode 100644 trek/damaged.c create mode 100644 trek/dcrept.c create mode 100644 trek/destruct.c create mode 100644 trek/dock.c create mode 100644 trek/dumpgame.c create mode 100644 trek/dumpme.c create mode 100644 trek/dumpssradio.c create mode 100644 trek/events.c create mode 100644 trek/externs.c create mode 100644 trek/getcodi.c create mode 100644 trek/getpar.c create mode 100644 trek/getpar.h create mode 100644 trek/help.c create mode 100644 trek/impulse.c create mode 100644 trek/initquad.c create mode 100644 trek/kill.c create mode 100644 trek/klmove.c create mode 100644 trek/lose.c create mode 100644 trek/lrscan.c create mode 100644 trek/main.c create mode 100644 trek/move.c create mode 100644 trek/nova.c create mode 100644 trek/out.c create mode 100644 trek/phaser.c create mode 100644 trek/play.c create mode 100644 trek/ram.c create mode 100644 trek/ranf.c create mode 100644 trek/rest.c create mode 100644 trek/schedule.c create mode 100644 trek/score.c create mode 100644 trek/setup.c create mode 100644 trek/setwarp.c create mode 100644 trek/shield.c create mode 100644 trek/snova.c create mode 100644 trek/srscan.c create mode 100644 trek/systemname.c create mode 100644 trek/torped.c create mode 100644 trek/trek.6.in create mode 100644 trek/trek.h create mode 100644 trek/visual.c create mode 100644 trek/warp.c create mode 100644 trek/win.c create mode 100644 wargames/Makefile.bsd create mode 100644 wargames/Makefrag create mode 100755 wargames/wargames create mode 100644 wargames/wargames.6 create mode 100644 worm/Makefile.bsd create mode 100644 worm/Makefrag create mode 100644 worm/worm.6 create mode 100644 worm/worm.c create mode 100644 worms/Makefile.bsd create mode 100644 worms/Makefrag create mode 100644 worms/worms.6 create mode 100644 worms/worms.c create mode 100644 wtf/Makefile.bsd create mode 100644 wtf/Makefrag create mode 100644 wtf/acronyms create mode 100644 wtf/acronyms.comp create mode 100644 wtf/wtf.6.in create mode 100755 wtf/wtf.in create mode 100644 wump/Makefile.bsd create mode 100644 wump/Makefrag create mode 100644 wump/pathnames.h.in create mode 100644 wump/wump.6 create mode 100644 wump/wump.c create mode 100644 wump/wump.info diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..4dc12b4 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,79 @@ +Authors of bsd-games and bsd-games-non-free +=========================================== + +The bsd-games package was originally created by Curt Olson + and Andy Tefft . The games +themselves were written by many contributers to *BSD over the past +twenty years or so. Maintenance of the package was passed to me in +1997; I divided it into bsd-games and bsd-games-non-free according to +the established (DFSG/OSD) definition, following the division used for +the Debian package of 1.3. Much of the packaging has been written or +extensively modified by myself. Joey Hess +wrote the manpages for wargames and paranoia. + +Based on the source and manpages, here are the details of the people +who originally wrote the games over more than 20 years. Many of the +email addresses below are probably no longer valid. Please send any +further information you have to help improve this list. + +adventure: Will Crowther, Don Woods; C port by Jim Gilloghy +arithmetic: Eamonn McManus +atc: Ed James +backgammon: Alan Char +banner: Mark Horton +battlestar: David Riggle , with acknowledgements to + Chris Guthrie , Peter Da Silva, + Kevin Brown, Edward Wang , + Ken Arnold & Company +bcd: Steve Hayman +boggle: Barry Brachman +caesar: Rick Adams, Stan King, John Eldridge, based on algorithm + suggested by Bob Morris +canfield: Steve Levine; further random hacking by Steve Feldman, + Kirk McKusick, Mikey Olson, Eric Allman +countmail: Charles M. Hannum +cribbage: Earl T. Cohen, Ken Arnold +dm: (unknown) +factor: Landon Curt Noll +fish: Muffy Barkocy +fortune: Ken Arnold (fortunes from many sources) +gomoku: Ralph Campbell (with acknowledgement to Peter Langston) +hack: Originally Jay Fenlason, with help from Kenny + Woodland, Mike Thome and Jon Payne; this version + almost entirely rewritten by Andries Brouwer . +hangman: Ken Arnold +hunt: Conrad Huang , + Greg Couch +mille: Ken Arnold +monop: Ken Arnold +morse: (unknown) +number: (unknown) +phantasia: Edward Estes , with thanks to + Chris Robertson +pig: (unknown) +pom: Keith E. Brandt +ppt: (unknown) +primes: Landon Curt Noll +quiz: Jim R. Oldroyd +rain: Eric P. Scott +random: Guy Harris +robots: Ken Arnold, Christos Zoulas +rogue: Timothy Stoehr, Michael C. Toy, Kenneth C. R. C. Arnold, + Glenn Wichman +sail: Dave Riggle , + Ed Wang ; Craig Leres, + Chris Guthrie +snake: (unknown) +tetris: Nancy L. Tinkham, Darren F. Provine, Chris Torek +trek: Eric Allman +wargames: (unknown) +worm: Michael Toy +worms: Eric P. Scott +wtf: Allen Briggs +wump: Dave Taylor + + + +Local Variables: +mode: text +End: diff --git a/BUGS b/BUGS new file mode 100644 index 0000000..0c2e6c7 --- /dev/null +++ b/BUGS @@ -0,0 +1,48 @@ +Known bugs in bsd-games and bsd-games-non-free +============================================== + +I know of the following bugs in bsd-games and bsd-games-non-free; +there is no need to report them if you come across them, but fixes are +welcome. + +General +======= + +Some games may not handle signals (especially resizing) properly. +Handling signals properly means in a way conforming to ISO C and +POSIX.1: no async-unsafe functions may be used in a signal handler if +the signal could have interrupted an async-unsafe function, and any +variable of static storage duration assigned to must be of type +volatile sig_atomic_t. (See adventure for an example of proper +handling.) + +Some games may not check for errors when they should, or may return +inappropriate exit statuses. + +Some games may have arbitrary limits that they should not have. + +Specific games +============== + +Under some circumstances, hunt fails to start the hunt daemon if one +is not already running. In general, hunt needs thorough testing by +someone willing to investigate and fix bugs; at present hunt should be +considered unsupported and probably broken. OpenBSD has a +substantially improved version that should be imported/merged. + +Saving in monop is completely broken. Since it assumes it can save by +writing out the whole data space from 0 to sbrk(0) and read it in to +restore, it may not be easy to fix. See NetBSD PR bin/8247. + +Gomoku can use 16 megabytes or more of memory. (This is reported (not +by me) as NetBSD PR 3126.) + + +Joseph S. Myers +jsm@polyomino.org.uk + + + +Local Variables: +mode: text +End: diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..8e108fa --- /dev/null +++ b/COPYING @@ -0,0 +1,467 @@ +I believe that the following copyrights and licence terms apply to the +games distributed in bsd-games and bsd-games-non-free. (The copyright +years given below are those that appear on any of the files so +licensed.) + +Most games are under the standard BSD terms: + + Copyright (c) 1980, 1982, 1983, 1985-1994 + The Regents of the University of California. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +The files "caesar/rot13.in" and "wargames/wargames" have a similar +licence but with an additional advertising clause: + + Copyright (c) 1985, 1992, 1993 + The Regents of the University of California. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +The game "hunt" has a similar licence, mentioning the University of +California, San Francisco: + + Copyright (c) 1983-2003, Regents of the University of California. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + Neither the name of the University of California, San Francisco nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +These terms also apply to "hunt/Makeconfig", which is derived from the +hunt "Makefile.inc" distributed by NetBSD. + +The files "backgammon/backgammon/backlocal.h", "countmail/countmail", +"dm/utmpentry.c", "dm/utmpentry.h", "hack/extern.h", "robots/auto.c", +"sail/display.h", "sail/restart.h" and the game "dab" have a similar +licence, but copyright is held by the NetBSD Foundation: + + Copyright (c) 1997, 1998, 1999, 2001, 2002, 2003 The NetBSD Foundation, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the NetBSD + Foundation, Inc. and its contributors. + 4. Neither the name of The NetBSD Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +In the case of "dab/dab.6", the copyright is held by Thomas Klausner: + + Copyright (c) 2003 Thomas Klausner. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +In the case of "adventure/extern.h" the copyright is held by Christos +Zoulas: + + Copyright (c) 1997 Christos Zoulas. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Christos Zoulas. + 4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +In the case of "countmail/countmail.6" the copyright is held by +Matthew R. Green: + + Copyright (c) 1997 Matthew R. Green + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +In the case of "wargames/wargames.6", the copyright is held by Joey +Hess: + + Copyright (c) 1998 Joey Hess + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +In the case of "lib/strlcpy.c", the copyright is held by Todd +C. Miller: + + Copyright (c) 1998 Todd C. Miller + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The game "atc" bears additional notices in the name of Ed James: + + Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + + Copy permission is hereby granted provided that this notice is + retained on all partial or complete copies. + + For more info on this and all of my stuff, mail edjames@berkeley.edu. + +The game "boggle" used to bear a copyright notice in the name of Barry +Brachman, but he confirmed that he had assigned his copyright to the +University of California and the continued inclusion of the old +copyright notice was an omission on their part. + +The game "phantasia" is not copyright (except for +"phantasia/pathnames.h.in" to which the BSD copyright and licence +apply); the notice in "phantasia/COPYRIGHT" applies to it. + +The game "wtf" is also not copyright, and bears the notice + + Public domain + +The game "rogue" (in bsd-games-non-free) bears the standard BSD +notices, and then the following: + + This source herein may be modified and/or distributed by anybody who + so desires, with the following restrictions: + 1.) No portion of this notice shall be removed. + 2.) Credit shall not be taken for the creation of this source. + 3.) This code is not to be traded, sold, or used for personal + gain or profit. + +The game "hack" has the following notices: + + Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + Amsterdam + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Stichting Centrum voor Wiskunde en + Informatica, nor the names of its contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Copyright (c) 1982 Jay Fenlason + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"hack/pathnames.h" bears a BSD copyright notice and licence; +"hack/hack.tty.c" bears one in addition to that in those listed above; +"hack/extern.h" bears the notice in the name of The NetBSD Foundation +listed above. + +Auxiliary and data files, distributed with the games in NetBSD, but +not bearing copyright notices, probably fall under the terms of the +UCB or NetBSD copyrights and licences. The file "fortune/Notes" +contains a warning in regard to the fortune databases. + +Some files, beyond those present in NetBSD, have been added to the +Linux bsd-games collection. The following terms apply to the files in +the "include" and "lib" directories (relevant to binary distributions +insofar as they get compiled into the games; note that the include +files are probably irrelevant for this purpose as it is unlikely they +are significant enough to make any binary a derived work). + + Copyright (c) 1997-2005 Joseph Samuel Myers. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +The above terms also apply to the scripts, makefile fragments and +documentation added to the Linux bsd-games collection which are not +significantly derived from bsd-games 1.3 by Curt Olson and Andy Tefft; +this is all of them except for the files mentioned below to which the +similar terms given below are expected to apply. This includes the +testsuite scripts; the testsuite input and output for caesar +("tests/caesar.constin" and "tests/caesar.constout") are from the US +Constitution, so not copyright; I believe the other testsuite expected +outputs are too trivial, or translations of inputs too trivial, to +qualify for copyright; but if not, then the terms given above apply +(and, of course, running the test command gives an identical output +file to which you could apply your own copyright). + +The files "bsd-games.lsm", "ChangeLog.0", "THANKS", "INSTALL" and +"README" are still significantly derived from files in the original +bsd-games package for Linux by Curt Olson and Andy Tefft. It is +expected that the following terms will apply to these files, and to +the compilation copyright on the package as a whole; ***this has yet +to be confirmed with Andy Tefft***: + + Copyright (c) 1993 Curt Olson, Andy Tefft. + Copyright (c) 1997-2005 Joseph Samuel Myers. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + + +Local Variables: +mode: text +End: diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..47084ee --- /dev/null +++ b/ChangeLog @@ -0,0 +1,5957 @@ +2005-02-18 Joseph S. Myers + + * Version 2.17. + + * NEWS, bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2005-02-16 Joseph S. Myers + + * atc/input.c, backgammon/backgammon/main.c, + backgammon/teachgammon/teach.c, cribbage/instr.c, fish/fish.c, + phantasia/gamesupport.c, phantasia/interplayer.c, phantasia/io.c, + phantasia/misc.c, phantasia/phantstruct.h, rogue/machdep.c, + rogue/rogue.h, trek/getpar.h, trek/trek.h, wump/wump.c: Update + from NetBSD CVS. + +2005-02-14 Joseph S. Myers + + * hack/hack.termcap.c: Remove "static" from some variables. Fix + from Andreas Jochens in Debian bug 284750. + * exec.objs: Include lib/strlcpy.o for atc and sail. + * atc/input.c, backgammon/backgammon/main.c, + backgammon/teachgammon/teach.c, cribbage/instr.c, fish/fish.c, + phantasia/misc.c, rogue/machdep.c, wump/wump.c: Cast last argument + of execl to char *. + * rogue/rogue.h: Avoid arrays of incomplete types. + * trek/trek.h: Likewise. Don't declare Skitab and Lentab here. + * trek/getpar.h: Declare Skitab and Lentab here. + * phantasia/phantstruct.h: Define phbool. + * phantasia/gamesupport.c, phantasia/interplayer.c, + phantasia/io.c, phantasia/misc.c: Use phbool where necessary. + + * .cvsignore, adventure/.cvsignore, arithmetic/.cvsignore, + atc/.cvsignore, backgammon/backgammon/.cvsignore, + backgammon/common_source/.cvsignore, + backgammon/teachgammon/.cvsignore, banner/.cvsignore, + battlestar/.cvsignore, bcd/.cvsignore, boggle/boggle/.cvsignore, + boggle/mkdict/.cvsignore, boggle/mkindex/.cvsignore, + caesar/.cvsignore, canfield/canfield/.cvsignore, + canfield/cfscores/.cvsignore, cribbage/.cvsignore, dab/.cvsignore, + dm/.cvsignore, factor/.cvsignore, fish/.cvsignore, + fortune/datfiles/.cvsignore, fortune/fortune/.cvsignore, + fortune/strfile/.cvsignore, fortune/unstr/.cvsignore, + gomoku/.cvsignore, hack/.cvsignore, hangman/.cvsignore, + hunt/hunt/.cvsignore, hunt/huntd/.cvsignore, include/.cvsignore, + lib/.cvsignore, mille/.cvsignore, monop/.cvsignore, + morse/.cvsignore, number/.cvsignore, phantasia/.cvsignore, + pig/.cvsignore, pom/.cvsignore, ppt/.cvsignore, primes/.cvsignore, + quiz/.cvsignore, quiz/datfiles/.cvsignore, rain/.cvsignore, + random/.cvsignore, robots/.cvsignore, rogue/.cvsignore, + sail/.cvsignore, snake/snake/.cvsignore, snake/snscore/.cvsignore, + tetris/.cvsignore, trek/.cvsignore, worm/.cvsignore, + worms/.cvsignore, wtf/.cvsignore, wump/.cvsignore: Remove as no + longer needed after move to Subversion. + +2005-01-30 Joseph S. Myers + + * fortune/datfiles/fortunes2: Update from NetBSD CVS. + +2005-01-30 Joseph S. Myers + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + * COPYING: Update copyright dates. + +2004-12-23 Joseph S. Myers + + * monop/malloc.c, phantasia/main.c, phantasia/setup.c: Update from + NetBSD CVS. + +2004-12-07 Joseph S. Myers + + * arithmetic/arithmetic.c, battlestar/getcom.c, + boggle/boggle/bog.c, boggle/boggle/mach.c, + canfield/canfield/canfield.c, cribbage/io.c, dm/dm.c, + fortune/fortune/fortune.c, gomoku/stoc.c, hack/hack.u_init.c, + hangman/getword.c, hunt/hunt/hunt.c, hunt/hunt/otto.c, + hunt/huntd/answer.c, mille/move.c, monop/getinp.c, monop/misc.c, + number/number.c, pig/pig.c, robots/main.c, sail/dr_1.c, + sail/misc.c, sail/pl_4.c, sail/pl_5.c, worms/Makefile.bsd, + wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2004-10-31 Joseph S. Myers + + * lib/fgetln.c: Handle case of line just fitting in buffer + correctly. + +2004-10-23 Joseph S. Myers + + * dm/utmpentry.c: Update from NetBSD CVS. + +2004-09-15 Joseph S. Myers + + * fortune/fortune/fortune.6.in, fortune/strfile/strfile.8, + worms/worms.c: Update from NetBSD CVS. + +2004-09-08 Joseph S. Myers + + * atc/log.c, sail/dr_1.c, sail/sync.c: Update from NetBSD CVS. + +2004-09-04 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2004-09-02 Joseph S. Myers + + * robots/auto.c, robots/move.c: Update from NetBSD CVS. + +2004-08-23 Joseph S. Myers + + * fortune/datfiles/fortunes: Update from NetBSD CVS. + +2004-07-16 Joseph S. Myers + + * wtf/acronyms.comp: Update from NetBSD CVS. + +2004-07-05 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2004-06-07 Joseph S. Myers + + * wtf/acronyms.comp: Update from NetBSD CVS. + +2004-06-02 Joseph S. Myers + + * hack/hack.6.in: Update from NetBSD CVS. + +2004-05-24 Joseph S. Myers + + * fortune/datfiles/fortunes: Update from NetBSD CVS. + +2004-05-20 Joseph S. Myers + + * wtf/acronyms.comp: Update from NetBSD CVS. + +2004-05-02 Joseph S. Myers + + * rain/rain.c: Update from NetBSD CVS. + * exec.objs: Update. + +2004-04-30 Joseph S. Myers + + * wtf/acronyms.comp: Update from NetBSD CVS. + +2004-04-24 Joseph S. Myers + + * backgammon/common_source/fancy.c, fortune/datfiles/farber: + Update from NetBSD CVS. + +2004-04-12 Joseph S. Myers + + * phantasia/fight.c, phantasia/gamesupport.c, + phantasia/interplayer.c, phantasia/io.c, phantasia/main.c, + phantasia/misc.c: Update from NetBSD CVS. + +2004-04-08 Joseph S. Myers + + * mille/move.c, phantasia/fight.c, phantasia/gamesupport.c, + phantasia/include.h, phantasia/interplayer.c, phantasia/io.c, + phantasia/main.c, phantasia/misc.c, phantasia/phantstruct.h, + phantasia/setup.c, worms/worms.c, wtf/acronyms, wtf/acronyms.comp: + Update from NetBSD CVS. + +2004-03-29 Joseph S. Myers + + * fortune/datfiles/fortunes2, fortune/datfiles/fortunes2-o.real, + hack/data, hack/rumors: Update from NetBSD CVS. + +2004-03-27 Joseph S. Myers + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2004-03-12 Joseph S. Myers + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2004-03-05 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2004-03-04 Joseph S. Myers + + * wtf/acronyms.comp: Update from NetBSD CVS. + +2004-02-28 Joseph S. Myers + + * fortune/datfiles/fortunes2: Update from NetBSD CVS. + +2004-02-18 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2004-02-14 Joseph S. Myers + + * fortune/datfiles/fortunes, fortune/datfiles/fortunes.sp.ok, + rogue/USD.doc/rogue.me: Update from NetBSD CVS. + * NEWS: Fix typo. + * ChangeLog: Mark properly for 2.16 release. + +2004-02-13 Joseph S. Myers + + * Version 2.16. + + * NEWS, bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * morse/morse.c: Update from NetBSD CVS. + + * morse/morse.c: Encode and decode more characters. Don't put + commas after every character. Don't encode whitespace as "...". + Don't fail decoding across a 1024-byte boundary. Mark end of + message appropriately. From OpenBSD but with punctuation taken + from ITU-T Recommendation F.1 (03/98). + * tests/morse.testsent, tests/morse.testsentd: New tests. + * tests/morse.SOS, tests/morse.foo, tests/morse.sos: Update. + * tests/morse.test: Update. + +2004-02-11 Joseph S. Myers + + * tests/pom.2003fm1, tests/pom.2003fm2, tests/pom.2003fq1, + tests/pom.2003fq2, tests/pom.2003lq1, tests/pom.2003lq2, + tests/pom.2003nm1, tests/pom.2003nm2, tests/pom.2003ph1, + tests/pom.2003ph2, tests/pom.2003ph3, tests/pom.2003ph4, + tests/pom.2003ph5, tests/pom.2003ph6, tests/pom.2003ph7, + tests/pom.2003ph8: New tests. + * tests/pom.test: Update. + +2004-02-10 Joseph S. Myers + + * primes/primes.6: Update from NetBSD CVS. + +2004-02-09 Joseph S. Myers + + * configure: Ask for a documentation directory if building trek or + rogue. + * Makeconfig.in (DOCDIR): Define. + * substfiles2: Add trek/trek.6. + * trek/trek.6: Rename to trek/trek.6.in. + * trek/trek.6.in: Mark documentation directory for substitution. + * rogue/Makefrag, trek/Makefrag: Install USD documents. + * INSTALL, PACKAGING, README: Update. + +2004-02-08 Joseph S. Myers + + * backgammon/backgammon/main.c, backgammon/teachgammon/teach.c, + cribbage/cribbage.h, dm/dm.c, fortune/unstr/unstr.c, + hunt/hunt/hunt.c, hunt/hunt/otto.c, hunt/huntd/faketalk.c, + hunt/huntd/hunt.h, phantasia/Makefile.bsd, rain/rain.c, + worms/worms.c: Update from NetBSD CVS. + + * rain/rain.c, worms/worms.c: Hide the cursor with curs_set(0). + From OpenBSD. + + * tests/factor.8675309, tests/factor.6172538568: New tests (from + NetBSD src/regress). + * tests/factor.test: Update. + + * boggle/README.linux, dm/README.linux, fortune/README.linux, + hunt/README.linux, trek/README.linux: Remove. + * README: Move information from those files to here. + * INSTALL: Update. + * COPYING: Update. + + * factor/Makefile.bsd, factor/factor.6, factor/factor.c, + primes/Makefile.bsd, primes/primes.6: Update from NetBSD CVS. + + * TODO: Update. + + * substscr: Explicitly set execute permissions from those of + source file. + + * primes/primes.6: Separate manpage from that of factor. + * primes/Makefrag: Update. + * factor/factor.6: Change to be a manpage for factor only. + + * factor/factor.c: Only use Pollard p-1 if remaining factor isn't + prime. Correct comment. Increase base if p-1 algorithm reaches + 1. + * tests/factor.2147483647111311, tests/factor.99999999999991: New + tests. + * tests/factor.test: Update. + Bugs reported by David A Bagley . + + * countmail/countmail.6, phantasia/fight.c, phantasia/io.c, + sail/extern.h, sail/misc.c, snake/snake/snake.c: Update from + NetBSD CVS. + +2004-01-27 Joseph S. Myers + + * dab/.cvsignore: New file. + + * Makeconfig.in: Add STRLCPY_DEFS and GETPROGNAME_DEFS. + * arithmetic/Makefrag, fortune/fortune/Makefrag, rogue/Makefrag: + Use them. + + * dm/utmpentry.c, dm/utmpentry.h: New from NetBSD CVS of + usr.bin/who. + * COPYING: Update. + * dm/dm.c: Follow NetBSD in use of this utmp handling. + * dm/Makefrag: Update. + * exec.objs: Update. + + * lib/getprogname.c: New file. + * include/stdlib.h: Update. + * configure: Check for getprogname. + * arithmetic/arithmetic.c, fortune/fortune/fortune.c: Follow + NetBSD in use of getprogname(). + * exec.objs: Update. + + * adventure/extern.h, adventure/main.c, arithmetic/arithmetic.c, + atc/extern.h, atc/input.c, backgammon/backgammon/backlocal.h, + backgammon/backgammon/move.c, backgammon/common_source/back.h, + backgammon/teachgammon/tutor.h, banner/banner.c, + battlestar/battlestar.c, battlestar/extern.h, battlestar/fly.c, + battlestar/init.c, battlestar/parse.c, bcd/bcd.c, + boggle/boggle/bog.c, boggle/boggle/extern.h, boggle/boggle/mach.c, + boggle/boggle/prtable.c, boggle/boggle/timer.c, caesar/caesar.c, + canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/crib.c, cribbage/cribbage.h, dm/dm.c, fish/fish.c, + fortune/fortune/fortune.c, fortune/unstr/unstr.c, gomoku/gomoku.h, + gomoku/main.c, gomoku/pickmove.c, hack/def.func_tab.h, + hack/extern.h, hack/hack.apply.c, hack/hack.do.c, hack/hack.h, + hack/hack.invent.c, hack/hack.main.c, hack/hack.shk.c, + hack/hack.vault.c, hack/hack.zap.c, hangman/hangman.h, + hunt/hunt/hunt.c, hunt/hunt/otto.c, hunt/hunt/playit.c, + hunt/huntd/driver.c, hunt/huntd/execute.c, hunt/huntd/expl.c, + hunt/huntd/faketalk.c, hunt/huntd/hunt.h, hunt/huntd/makemaze.c, + hunt/huntd/shots.c, hunt/huntd/talk_ctl.h, mille/mille.h, + mille/table.c, mille/varpush.c, monop/cards.c, monop/execute.c, + monop/getinp.c, monop/houses.c, monop/malloc.c, monop/monop.c, + monop/monop.def, monop/monop.ext, monop/monop.h, monop/morg.c, + monop/print.c, monop/prop.c, monop/trade.c, morse/morse.c, + number/number.c, pig/pig.c, pom/pom.c, ppt/ppt.c, primes/primes.c, + quiz/quiz.c, quiz/quiz.h, quiz/rxp.c, rain/rain.c, + random/random.c, robots/auto.c, robots/main.c, robots/robots.h, + robots/score.c, rogue/main.c, rogue/rogue.h, sail/extern.h, + sail/pl_1.c, sail/sync.c, snake/snake/snake.c, + snake/snscore/snscore.c, tetris/input.h, tetris/scores.c, + tetris/scores.h, tetris/screen.c, tetris/screen.h, + tetris/tetris.c, tetris/tetris.h, trek/compkl.c, trek/computer.c, + trek/dumpgame.c, trek/getpar.c, trek/getpar.h, trek/main.c, + trek/torped.c, trek/trek.h, worm/worm.c, worms/worms.c, + wump/wump.c: Update from NetBSD CVS. + + * adventure/extern.h, adventure/main.c, arithmetic/arithmetic.c, + atc/extern.h, atc/input.c, backgammon/backgammon/backlocal.h, + backgammon/backgammon/move.c, backgammon/common_source/back.h, + backgammon/teachgammon/tutor.h, banner/banner.c, + battlestar/battlestar.c, battlestar/extern.h, battlestar/fly.c, + battlestar/init.c, battlestar/parse.c, bcd/bcd.c, + boggle/boggle/bog.c, boggle/boggle/extern.h, boggle/boggle/mach.c, + boggle/boggle/prtable.c, boggle/boggle/timer.c, caesar/caesar.c, + canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/crib.c, cribbage/cribbage.h, dm/dm.c, fish/fish.c, + fortune/fortune/fortune.c, fortune/unstr/unstr.c, gomoku/gomoku.h, + gomoku/main.c, hack/def.func_tab.h, hack/extern.h, + hack/hack.apply.c, hack/hack.do.c, hack/hack.h, + hack/hack.invent.c, hack/hack.main.c, hack/hack.shk.c, + hack/hack.vault.c, hack/hack.zap.c, hangman/hangman.h, + hunt/hunt/hunt.c, hunt/hunt/otto.c, hunt/hunt/playit.c, + hunt/huntd/driver.c, hunt/huntd/execute.c, hunt/huntd/expl.c, + hunt/huntd/faketalk.c, hunt/huntd/hunt.h, hunt/huntd/makemaze.c, + hunt/huntd/shots.c, hunt/huntd/talk_ctl.h, mille/mille.h, + mille/table.c, mille/varpush.c, monop/cards.c, monop/execute.c, + monop/getinp.c, monop/houses.c, monop/monop.c, monop/monop.def, + monop/monop.ext, monop/monop.h, monop/morg.c, monop/print.c, + monop/prop.c, monop/trade.c, monop/malloc.c, morse/morse.c, + number/number.c, pig/pig.c, pom/pom.c, ppt/ppt.c, primes/primes.c, + quiz/quiz.c, quiz/quiz.h, quiz/rxp.c, rain/rain.c, + random/random.c, robots/auto.c, robots/main.c, robots/robots.h, + robots/score.c, rogue/main.c, rogue/rogue.h, snake/snake/snake.c, + snake/snscore/snscore.c, tetris/input.h, tetris/scores.c, + tetris/scores.h, tetris/screen.c, tetris/screen.h, + tetris/tetris.c, tetris/tetris.h, trek/compkl.c, trek/computer.c, + trek/dumpgame.c, trek/getpar.c, trek/getpar.h, trek/main.c, + trek/torped.c, trek/trek.h, worm/worm.c, worms/worms.c, + wump/wump.c: Remove uses of __P. + + * THANKS: Mention David A Bagley. + + * sail/pl_1.c (child): Use int for wait status. + + * gomoku/gomoku.h, robots/robots.h, sail/extern.h, sail/misc.c, + sail/sync.c: Adjust system header includes. + + * fortune/fortune/fortune.6.in: Update substitution for path to + fortunes directory. + + * cribbage/crib.c, cribbage/cribbage.h, cribbage/io.c, + dab/Makefile.bsd, monop/misc.c, monop/monop.def, monop/monop.ext: + Update from NetBSD CVS. + +2004-01-26 Joseph S. Myers + + * sail/main.c: Reorder includes to match NetBSD. + + * cribbage/cribbage.h, cribbage/crib.c, cribbage/io.c: Rename + receive_int to receive_intr. + + * hack/hack.pri.c: Fix typo in merge from NetBSD. + + * configure: Consistently use balanced parentheses in case + statements. + +2004-01-25 Joseph S. Myers + + * monop/misc.c, monop/monop.def, monop/monop.ext: Rename yn to + yncoms. + + * cribbage/cribbage.h, cribbage/crib.c, cribbage/io.c: Rename rint + to receive_int. + + * fortune/fortune/fortune.c: Add test for __CYGWIN__. + * configure: Test for sig_t. + * include/signal.h: Use it. + Cygwin issues reported by David A Bagley . + +2004-01-16 Joseph S. Myers + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2004-01-14 Joseph S. Myers + + * wtf/acronyms, wtf/acronyms.comp: Update from NetBSD CVS. + +2004-01-04 Joseph S. Myers + + * COPYING: Note that TODO no longer contains anything from the + original bsd-games 1.3. + + * phantasia/phantasia.6, wtf/acronyms, wtf/acronyms.comp: Update + from NetBSD CVS. + +2004-01-02 Joseph S. Myers + + * atc/atc.6.in, backgammon/backgammon/main.c, + backgammon/teachgammon/data.c, caesar/caesar.c, + fortune/datfiles/fortunes, fortune/datfiles/fortunes2, + fortune/fortune/fortune.c, hack/hack.options.c, phantasia/main.c, + phantasia/misc.c, rogue/Makefile.bsd, rogue/rogue.h, + wargames/wargames.6, worm/worm.6, wtf/acronyms: Update from NetBSD + CVS. + * dab: New directory from NetBSD CVS. + * COPYING, INSTALL, README, bsd-games.lsm, Makeconfig.in, + configure, exec.libs, exec.objs: Update. + * dab/Makefrag: New file. + +2003-12-18 Joseph S. Myers + + * Version 2.15. + + * NEWS, bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * README: Update. + +2003-12-17 Joseph S. Myers + + * backgammon/backgammon/main.c (main): Only score as a Gammon or a + Backgammon if the opponent hasn't removed any pieces, not if the + opponent has removed pieces but has had a piece knocked back to + the bar afterwards. Fixes Debian bug 185101 from Konstantin + Seiler . + + * fortune/fortune/fortune.c (fortlen): Return proper fortune + length for fortune files without STR_RANDOM or STR_ORDERED rather + than comparing it to SLEN. Bug reported by Simon Williams + . + + * fortune/fortune/fortune.c (init_prob): Show residual probability + rather than non-residual in "No place to put residual probability" + error message. Distribute residual probability correctly rather + than all to one file. Patch from Mike Castle + . + + * configure, Makeconfig.in, fortune/fortune/pathnames.h.in, + fortune/datfiles/Makefrag: Make fortune directory configurable; + default to NetBSD default. + + * rogue/Makefrag: Don't use -fwritable-strings. + * rogue/rogue.h (struct id): Add const. + * TODO: Update. + + * backgammon/teachgammon/data.c: Make tutorial text match actual + moves. From FreeBSD via OpenBSD. Fixes Debian bug 212478 from + Jim W. Jaszewski . + + * adventure/glorkz: Fix capitalisation of compass directions. + + * phantasia/main.c (cleanup): Only close files that have been + opened successfully. + * phantasic/misc.c (error): Give error text rather than errno + number. + Patch from Joey Hess for Debian bug 187251 from + Mikael Hedin . + + * wtf/acronyms: Add two acronyms suggested by Pavel Machek + . + + * wargames/wargames.6: Fix typo. Patch from Joey Hess + . + + * hack/hack.options.c (parseoptions): Refer to 'O' rather than 'o' + as command to set options. Bug reported by Christian Garbs + in Debian bug 191452. + + * caesar/caesar.c (main): Make dot and winnerdot of type double. + Patch from Jan Vornberger in Debian bug 197816. + * tests/caesar.197816in, tests/caesar.197816out: New tests. + * tests/caesar.test: Update. + + * worm/worm.6: Score is in upper right corner, not upper left + corner. Patch from Robert Hunter in + Debian bug 209034. + + * atc/atc.6.in: Document that pressing return allows you to "fast + forward" the game clock. Patch from Peter Maydell + in Debian bug 216980. + + * PACKAGING: Remove some old version references. + + * INSTALL: Simplify and remove some obsolete information. + + * adventure/Makefile.bsd, adventure/adventure.6, adventure/crc.c, + adventure/done.c, adventure/hdr.h, adventure/init.c, + adventure/io.c, adventure/main.c, adventure/save.c, + adventure/setup.c, adventure/subr.c, adventure/vocab.c, + adventure/wizard.c, arithmetic/arithmetic.6, + arithmetic/arithmetic.c, atc/Makefile.bsd, atc/atc.6.in, + atc/def.h, atc/extern.c, atc/extern.h, atc/grammar.y, + atc/graphics.c, atc/include.h, atc/input.c, atc/lex.l, atc/list.c, + atc/log.c, atc/main.c, atc/pathnames.h.in, atc/struct.h, + atc/tunable.c, atc/tunable.h, atc/update.c, + backgammon/backgammon/backgammon.6.in, + backgammon/backgammon/extra.c, backgammon/backgammon/main.c, + backgammon/backgammon/move.c, backgammon/backgammon/text.c, + backgammon/backgammon/version.c, backgammon/common_source/allow.c, + backgammon/common_source/back.h, backgammon/common_source/board.c, + backgammon/common_source/check.c, + backgammon/common_source/fancy.c, backgammon/common_source/init.c, + backgammon/common_source/odds.c, backgammon/common_source/one.c, + backgammon/common_source/save.c, backgammon/common_source/subs.c, + backgammon/common_source/table.c, backgammon/teachgammon/data.c, + backgammon/teachgammon/teach.c, backgammon/teachgammon/ttext1.c, + backgammon/teachgammon/ttext2.c, backgammon/teachgammon/tutor.c, + backgammon/teachgammon/tutor.h, banner/banner.6, banner/banner.c, + battlestar/battlestar.6, battlestar/battlestar.c, + battlestar/command1.c, battlestar/command2.c, + battlestar/command3.c, battlestar/command4.c, + battlestar/command5.c, battlestar/command6.c, + battlestar/command7.c, battlestar/cypher.c, battlestar/dayfile.c, + battlestar/dayobjs.c, battlestar/extern.h, battlestar/fly.c, + battlestar/getcom.c, battlestar/globals.c, battlestar/init.c, + battlestar/misc.c, battlestar/nightfile.c, battlestar/nightobjs.c, + battlestar/parse.c, battlestar/pathnames.h.in, battlestar/room.c, + battlestar/save.c, battlestar/words.c, bcd/bcd.6, bcd/bcd.c, + boggle/Makefile.bsd, boggle/boggle/bog.c, boggle/boggle/bog.h.in, + boggle/boggle/boggle.6, boggle/boggle/extern.h, + boggle/boggle/help.c, boggle/boggle/mach.c, + boggle/boggle/prtable.c, boggle/boggle/timer.c, + boggle/boggle/word.c, boggle/mkdict/mkdict.c, + boggle/mkindex/mkindex.c, caesar/caesar.6, caesar/caesar.c, + canfield/canfield/canfield.6.in, canfield/canfield/canfield.c, + canfield/canfield/pathnames.h.in, canfield/cfscores/cfscores.c, + countmail/countmail.6, cribbage/cards.c, cribbage/crib.c, + cribbage/cribbage.6.in, cribbage/cribbage.h, cribbage/cribcur.h, + cribbage/deck.h, cribbage/extern.c, cribbage/instr.c, + cribbage/io.c, cribbage/pathnames.h.in, cribbage/score.c, + cribbage/support.c, dm/dm.8.in, dm/dm.c, dm/dm.conf.5.in, + dm/pathnames.h.in, factor/factor.6, factor/factor.c, fish/fish.6, + fish/fish.c, fish/pathnames.h.in, fortune/datfiles/Makefile.bsd, + fortune/datfiles/farber, fortune/datfiles/fortunes, + fortune/datfiles/fortunes-o.real, fortune/datfiles/fortunes2, + fortune/datfiles/fortunes2-o.real, fortune/datfiles/limerick, + fortune/datfiles/limerick-o.real, fortune/datfiles/netbsd, + fortune/datfiles/netbsd-o.real, fortune/datfiles/startrek, + fortune/datfiles/startrek.sp.ok, fortune/datfiles/zippy, + fortune/datfiles/zippy.sp.ok, fortune/fortune/fortune.6.in, + fortune/fortune/fortune.c, fortune/fortune/pathnames.h.in, + fortune/strfile/strfile.8, fortune/strfile/strfile.c, + fortune/strfile/strfile.h, fortune/unstr/unstr.c, gomoku/bdinit.c, + gomoku/bdisp.c, gomoku/gomoku.6, gomoku/gomoku.h, gomoku/main.c, + gomoku/makemove.c, gomoku/pickmove.c, gomoku/stoc.c, + hack/COPYRIGHT, hack/COPYRIGHT-JF, hack/Makefile.bsd, + hack/alloc.c, hack/config.h, hack/date.h, hack/def.edog.h, + hack/def.eshk.h, hack/def.flag.h, hack/def.func_tab.h, + hack/def.gen.h, hack/def.gold.h, hack/def.mkroom.h, + hack/def.monst.h, hack/def.obj.h, hack/def.objclass.h, + hack/def.objects.h, hack/def.permonst.h, hack/def.rm.h, + hack/def.trap.h, hack/def.wseg.h, hack/hack.6.in, + hack/hack.Decl.c, hack/hack.apply.c, hack/hack.bones.c, + hack/hack.c, hack/hack.cmd.c, hack/hack.do.c, hack/hack.do_name.c, + hack/hack.do_wear.c, hack/hack.dog.c, hack/hack.eat.c, + hack/hack.end.c, hack/hack.engrave.c, hack/hack.fight.c, + hack/hack.h, hack/hack.invent.c, hack/hack.ioctl.c, + hack/hack.lev.c, hack/hack.main.c, hack/hack.makemon.c, + hack/hack.mfndpos.h, hack/hack.mhitu.c, hack/hack.mklev.c, + hack/hack.mkmaze.c, hack/hack.mkobj.c, hack/hack.mkshop.c, + hack/hack.mon.c, hack/hack.monst.c, hack/hack.o_init.c, + hack/hack.objnam.c, hack/hack.options.c, hack/hack.pager.c, + hack/hack.potion.c, hack/hack.pri.c, hack/hack.read.c, + hack/hack.rip.c, hack/hack.rumors.c, hack/hack.save.c, + hack/hack.search.c, hack/hack.sh, hack/hack.shk.c, + hack/hack.shknam.c, hack/hack.steal.c, hack/hack.termcap.c, + hack/hack.timeout.c, hack/hack.topl.c, hack/hack.track.c, + hack/hack.trap.c, hack/hack.tty.c, hack/hack.u_init.c, + hack/hack.unix.c, hack/hack.vault.c, hack/hack.version.c, + hack/hack.wield.c, hack/hack.wizard.c, hack/hack.worm.c, + hack/hack.worn.c, hack/hack.zap.c, hack/makedefs.c, + hack/pathnames.h.in, hack/rnd.c, hangman/endgame.c, + hangman/extern.c, hangman/getguess.c, hangman/getword.c, + hangman/hangman.6.in, hangman/hangman.h, hangman/main.c, + hangman/pathnames.h.in, hangman/playgame.c, hangman/prdata.c, + hangman/prman.c, hangman/prword.c, hangman/setup.c, + hunt/Makefile.inc.bsd, hunt/hunt/connect.c, hunt/hunt/hunt.6.in, + hunt/hunt/hunt.c, hunt/hunt/otto.c, hunt/hunt/playit.c, + hunt/huntd/answer.c, hunt/huntd/bsd.h, hunt/huntd/ctl.c, + hunt/huntd/ctl_transact.c, hunt/huntd/draw.c, hunt/huntd/driver.c, + hunt/huntd/execute.c, hunt/huntd/expl.c, hunt/huntd/extern.c, + hunt/huntd/faketalk.c, hunt/huntd/get_names.c, hunt/huntd/hunt.h, + hunt/huntd/huntd.6.in, hunt/huntd/makemaze.c, + hunt/huntd/pathname.c, hunt/huntd/shots.c, hunt/huntd/talk_ctl.h, + hunt/huntd/terminal.c, mille/comp.c, mille/end.c, mille/extern.c, + mille/init.c, mille/mille.6, mille/mille.c, mille/mille.h, + mille/misc.c, mille/move.c, mille/print.c, mille/roll.c, + mille/save.c, mille/table.c, mille/types.c, mille/varpush.c, + monop/Makefile.bsd, monop/brd.dat, monop/cards.c, monop/deck.h, + monop/execute.c, monop/getinp.c, monop/houses.c, monop/initdeck.c, + monop/jail.c, monop/malloc.c, monop/misc.c, monop/mon.dat, + monop/monop.6.in, monop/monop.c, monop/monop.def, monop/monop.ext, + monop/monop.h, monop/morg.c, monop/pathnames.h.in, monop/print.c, + monop/prop.c, monop/prop.dat, monop/rent.c, monop/roll.c, + monop/spec.c, monop/trade.c, morse/morse.c, number/number.6, + number/number.c, phantasia/Makefile.bsd, phantasia/main.c, + phantasia/misc.c, phantasia/pathnames.h.in, phantasia/phantasia.6, + phantasia/phantglobs.h, phantasia/setup.c, pig/pig.6, pig/pig.c, + pom/pom.6, pom/pom.c, ppt/ppt.c, primes/pattern.c, + primes/pr_tbl.c, primes/primes.c, primes/primes.h, + quiz/pathnames.h.in, quiz/quiz.6.in, quiz/quiz.c, quiz/quiz.h, + quiz/rxp.c, rain/rain.6, rain/rain.c, random/random.6, + random/random.c, robots/extern.c, robots/flush_in.c, + robots/init_field.c, robots/main.c, robots/make_level.c, + robots/move.c, robots/move_robs.c, robots/pathnames.h.in, + robots/play_level.c, robots/query.c, robots/rnd_pos.c, + robots/robots.6.in, robots/robots.h, robots/score.c, + rogue/USD.doc/Makefile.bsd, rogue/USD.doc/rogue.me, rogue/hit.c, + rogue/init.c, rogue/inventory.c, rogue/level.c, rogue/machdep.c, + rogue/main.c, rogue/message.c, rogue/monster.c, rogue/move.c, + rogue/object.c, rogue/pack.c, rogue/pathnames.h.in, rogue/play.c, + rogue/random.c, rogue/ring.c, rogue/rogue.6.in, rogue/rogue.h, + rogue/room.c, rogue/save.c, rogue/score.c, rogue/spec_hit.c, + rogue/throw.c, rogue/trap.c, rogue/use.c, rogue/zap.c, + sail/assorted.c, sail/dr_1.c, sail/dr_2.c, sail/dr_3.c, + sail/dr_4.c, sail/dr_5.c, sail/dr_main.c, sail/driver.h, + sail/extern.h, sail/game.c, sail/globals.c, sail/lo_main.c, + sail/machdep.h, sail/main.c, sail/misc.c, sail/parties.c, + sail/pathnames.h.in, sail/pl_1.c, sail/pl_2.c, sail/pl_3.c, + sail/pl_4.c, sail/pl_5.c, sail/pl_6.c, sail/pl_7.c, + sail/pl_main.c, sail/player.h, sail/sail.6, sail/sync.c, + sail/version.c, snake/snake/pathnames.h.in, + snake/snake/snake.6.in, snake/snake/snake.c, + snake/snscore/snscore.c, tetris/input.c, tetris/input.h, + tetris/pathnames.h.in, tetris/scores.c, tetris/scores.h, + tetris/screen.c, tetris/screen.h, tetris/shapes.c, + tetris/tetris.6.in, tetris/tetris.c, tetris/tetris.h, + trek/USD.doc/Makefile.bsd, trek/USD.doc/trek.me, trek/abandon.c, + trek/attack.c, trek/autover.c, trek/capture.c, trek/cgetc.c, + trek/check_out.c, trek/checkcond.c, trek/compkl.c, + trek/computer.c, trek/damage.c, trek/damaged.c, trek/dcrept.c, + trek/destruct.c, trek/dock.c, trek/dumpgame.c, trek/dumpme.c, + trek/dumpssradio.c, trek/events.c, trek/externs.c, trek/getcodi.c, + trek/getpar.c, trek/getpar.h, trek/help.c, trek/impulse.c, + trek/initquad.c, trek/kill.c, trek/klmove.c, trek/lose.c, + trek/lrscan.c, trek/main.c, trek/move.c, trek/nova.c, trek/out.c, + trek/phaser.c, trek/play.c, trek/ram.c, trek/ranf.c, trek/rest.c, + trek/schedule.c, trek/score.c, trek/setup.c, trek/setwarp.c, + trek/shield.c, trek/snova.c, trek/srscan.c, trek/systemname.c, + trek/torped.c, trek/trek.6, trek/trek.h, trek/visual.c, + trek/warp.c, trek/win.c, worm/worm.6, worm/worm.c, worms/worms.6, + worms/worms.c, wtf/wtf.in, wtf/wtf.6.in, wump/pathnames.h.in, + wump/wump.6, wump/wump.c: Update from NetBSD CVS. + * wtf/acronyms: Update from NetBSD CVS. + * wtf/acronyms.comp: New file from NetBSD CVS. + * wtf/Makefrag: Update. + * COPYING: Update. + * INSTALL: Note that glibc 2.3 now required at least for hunt (for + ). + +2003-11-08 Joseph S. Myers + + * THANKS: Update Malcolm Parsons's email address. + +2003-04-01 Joseph S. Myers + + * Version 2.14. + + * configure: Fix bug in OpenSSL support. + + * NEWS, bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * configure, Makeconfig.in, exec.libs: Support OpenSSL for factor. + * INSTALL: Update. + * tests/factor.987654321987654, + tests/factor.987654321987654321987: New files. + * tests/factor.test: Update. + +2003-03-29 Joseph S. Myers + + * hack/COPYRIGHT, hack/COPYRIGHT-JF, hack/alloc.c, hack/config.h, + hack/date.h, hack/def.edog.h, hack/def.eshk.h, hack/def.flag.h, + hack/def.func_tab.h, hack/def.gen.h, hack/def.gold.h, + hack/def.mkroom.h, hack/def.monst.h, hack/def.obj.h, + hack/def.objclass.h, hack/def.objects.h, hack/def.permonst.h, + hack/def.rm.h, hack/def.trap.h, hack/def.wseg.h, hack/hack.6.in, + hack/hack.Decl.c, hack/hack.apply.c, hack/hack.bones.c, + hack/hack.c, hack/hack.cmd.c, hack/hack.do.c, hack/hack.do_name.c, + hack/hack.do_wear.c, hack/hack.dog.c, hack/hack.eat.c, + hack/hack.end.c, hack/hack.engrave.c, hack/hack.fight.c, + hack/hack.h, hack/hack.invent.c, hack/hack.ioctl.c, + hack/hack.lev.c, hack/hack.main.c, hack/hack.makemon.c, + hack/hack.mfndpos.h, hack/hack.mhitu.c, hack/hack.mklev.c, + hack/hack.mkmaze.c, hack/hack.mkobj.c, hack/hack.mkshop.c, + hack/hack.mon.c, hack/hack.monst.c, hack/hack.o_init.c, + hack/hack.objnam.c, hack/hack.options.c, hack/hack.pager.c, + hack/hack.potion.c, hack/hack.pri.c, hack/hack.read.c, + hack/hack.rip.c, hack/hack.rumors.c, hack/hack.save.c, + hack/hack.search.c, hack/hack.sh, hack/hack.shk.c, + hack/hack.shknam.c, hack/hack.steal.c, hack/hack.termcap.c, + hack/hack.timeout.c, hack/hack.topl.c, hack/hack.track.c, + hack/hack.trap.c, hack/hack.tty.c, hack/hack.u_init.c, + hack/hack.unix.c, hack/hack.vault.c, hack/hack.version.c, + hack/hack.wield.c, hack/hack.wizard.c, hack/hack.worm.c, + hack/hack.worn.c, hack/hack.zap.c, hack/makedefs.c, hack/rnd.c: + Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason + and CWI . Via + OpenBSD. + * COPYING, README, README.non-free, bsd-games.lsm, + bsd-games-non-free.lsm: Update. + + * quiz/datfiles/europe: Yugoslavia has changed its name to Serbia + and Montenegro. + + * quiz/datfiles/europe: The Hague is not the capital of the + Netherlands. Reported by Hugo van Galen (in the + Netherlands) and Florian Boehl . + +2003-03-28 Joseph S. Myers + + * Makefile.bsd, Makefile.inc.bsd, adventure/Makefile.bsd, + arithmetic/arithmetic.6, arithmetic/arithmetic.c, atc/atc.6.in, + backgammon/backgammon/backgammon.6.in, + backgammon/common_source/Makefile.bsd, + backgammon/teachgammon/Makefile.bsd, banner/banner.6, + battlestar/battlestar.6, bcd/bcd.6, boggle/Makefile.bsd, + boggle/boggle/boggle.6, boggle/boggle/timer.c, + boggle/mkdict/Makefile.bsd, boggle/mkindex/Makefile.bsd, + caesar/caesar.6, canfield/canfield/canfield.6.in, + canfield/cfscores/Makefile.bsd, countmail/countmail, + countmail/countmail.6, cribbage/cribbage.6.in, + cribbage/cribbage.h, cribbage/extern.c, cribbage/io.c, + cribbage/score.c, cribbage/support.c, dm/Makefile.bsd, dm/dm.8.in, + dm/dm.c, dm/dm.conf.5.in, factor/Makefile.bsd, factor/factor.6, + factor/factor.c, fortune/datfiles/Makefile.bsd, + fortune/datfiles/fortunes, fortune/datfiles/fortunes2, + fortune/datfiles/fortunes2-o.real, fortune/datfiles/limerick, + fortune/datfiles/netbsd, fortune/fortune/fortune.6.in, + fortune/fortune/fortune.c, fortune/strfile/strfile.8, + fortune/unstr/Makefile.bsd, gomoku/gomoku.6, hack/Makefile.bsd, + hack/extern.h, hack/hack.6.in, hack/hack.main.c, + hack/hack.mkshop.c, hack/hack.pri.c, hack/hack.topl.c, + hack/hack.tty.c, hack/help, hangman/hangman.6.in, + hunt/Makefile.inc.bsd, hunt/hunt/hunt.6.in, hunt/hunt/hunt.c, + hunt/hunt/playit.c, hunt/huntd/answer.c, hunt/huntd/bsd.h, + hunt/huntd/ctl_transact.c, hunt/huntd/driver.c, + hunt/huntd/extern.c, hunt/huntd/faketalk.c, hunt/huntd/hunt.h, + hunt/huntd/huntd.6.in, hunt/huntd/terminal.c, mille/mille.6, + mille/misc.c, monop/Makefile.bsd, monop/cards.c, monop/getinp.c, + monop/monop.6.in, monop/roll.c, morse/Makefile.bsd, + phantasia/Makefile.bsd, phantasia/misc.c, phantasia/phantasia.6, + pom/pom.6, ppt/Makefile.bsd, ppt/ppt.c, primes/Makefile.bsd, + quiz/datfiles/posneg, quiz/quiz.6.in, quiz/rxp.c, rain/rain.6, + random/random.6, robots/auto.c, robots/init_field.c, + robots/move.c, robots/robots.6.in, robots/robots.h, + rogue/Makefile.bsd, rogue/USD.doc/Makefile.bsd, rogue/hit.c, + rogue/inventory.c, rogue/level.c, rogue/message.c, + rogue/rogue.6.in, rogue/rogue.h, rogue/save.c, rogue/score.c, + sail/sail.6, snake/snake/snake.6.in, snake/snscore/Makefile.bsd, + tetris/input.c, tetris/scores.c, tetris/screen.c, tetris/shapes.c, + tetris/tetris.6.in, tetris/tetris.c, trek/USD.doc/Makefile.bsd, + trek/damage.c, trek/getpar.c, trek/trek.6.in, wargames/wargames.6, + worm/worm.6, worms/worms.6, wtf/acronyms, wtf/wtf.in, + wtf/wtf.6.in: Update from NetBSD CVS. + * include/sys/poll.h: New file. + * lib/strlcpy.c: New file. + * configure: Test for strlcpy. + * include/string.h: New file. + * exec.objs: Use it for rogue. + * trek/trek.6.in: Rename to trek.6. + * substfiles2: Update. + * COPYING: Update. + * INSTALL: No longer suggest not using groff's macros. + * PACKAGING: Update. + * SECURITY: Update. + +2002-06-18 Joseph S. Myers + + * BUGS, ChangeLog, INSTALL, README, README.non-free, SECURITY, + TODO, bsd-games-non-free.lsm, bsd-games.lsm, dm/README.linux, + hunt/README.linux, trek/README.linux: Consistently use + jsm@polyomino.org.uk as email address. + +2002-01-26 Joseph S. Myers + + * hangman/extern.c, hangman/getword.c, hangman/hangman.6.in, + hangman/hangman.h, hangman/main.c: Update from NetBSD CVS. + +2002-01-20 Joseph S. Myers + + * README: Note this collection supports GNU Hurd as well as Linux. + * COPYING: Update. + +2002-01-19 Joseph S. Myers + + * phantasia/fight.c (encounter): Make firsthit and flockcnt + volatile. + + * backgammon/common_source/Makefile.bsd, + backgammon/teachgammon/Makefile.bsd, boggle/mkdict/Makefile.bsd, + boggle/mkindex/Makefile.bsd, canfield/cfscores/Makefile.bsd, + fortune/datfiles/netbsd, fortune/fortune/fortune.c, + fortune/unstr/Makefile.bsd, morse/Makefile.bsd, number/number.6, + phantasia/Makefile.bsd, ppt/Makefile.bsd, primes/Makefile.bsd, + snake/snscore/Makefile.bsd, wtf/acronyms: Update from NetBSD CVS. + + * hangman/main.c: Include . + + * hangman/extern.c, hangman/getword.c, hangman/hangman.6.in, + hangman/hangman.h, hangman/main.c: Allow minimum word length to be + set on the command line. Patch from Joey Hess . + * COPYING: Update. + +2001-12-29 Joseph S. Myers + + * phantasia/Makefrag (phantasia_install): Use $(INSTALL_PREFIX) + when copying score files. Patch from Joey Hess + . + * AUTHORS, THANKS: Update email address for Joey Hess. Patch from + Joey Hess . + +2001-12-08 Joseph S. Myers + + * battlestar/fly.c, cribbage/crib.c, fortune/datfiles/fortunes2, + fortune/datfiles/fortunes2-o.real, hangman/setup.c, mille/mille.c, + phantasia/Makefile.bsd, phantasia/main.c, robots/main.c, + rogue/init.c, sail/pl_7.c, worm/worm.c, wtf/acronyms: Update from + NetBSD CVS. + +2001-11-18 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + + * battlestar/com1.c: Rename to battlestar/command1.c. + * battlestar/com2.c: Rename to battlestar/command2.c. + * battlestar/com3.c: Rename to battlestar/command3.c. + * battlestar/com4.c: Rename to battlestar/command4.c. + * battlestar/com5.c: Rename to battlestar/command5.c. + * battlestar/com6.c: Rename to battlestar/command6.c. + * battlestar/com7.c: Rename to battlestar/command7.c. + From NetBSD CVS. + * exec.objs: Update. + * battlestar/Makefile.bsd, battlestar/command1.c, + battlestar/command2.c, battlestar/command3.c, + battlestar/command4.c, battlestar/command5.c, + battlestar/command6.c, battlestar/command7.c, + fortune/datfiles/Makefile.bsd, fortune/datfiles/limerick, + fortune/fortune/fortune.c, hack/hack.termcap.c, tetris/screen.c: + Update from NetBSD CVS. + * fortune/datfiles/farber: New file. From NetBSD CVS. + * fortune/datfiles/Makefrag: Update. + + * tetris/screen.c (scr_set): Set VMIN and VTIME. + +2001-10-06 Joseph S. Myers + + * backgammon/backgammon/main.c, hack/hack.fix, monop/monop.c, + phantasia/phantdefs.h, sail/pl_7.c, wargames/wargames: Update from + NetBSD CVS. + + * hunt/hunt/hunt.6.in: Correct slime costs. Bug reported by + Britton Leo Kerin . + +2001-09-02 Joseph S. Myers + + * adventure/setup.c, atc/include.h, boggle/mkdict/mkdict.c, + fortune/datfiles/fortunes, fortune/datfiles/fortunes-o.real, + monop/execute.c, sail/main.c, snake/snake/snake.c, worm/worm.6, + worm/worm.c, wump/wump.c, wtf/acronyms: Update from NetBSD CVS. + +2001-08-30 Joseph S. Myers + + * Version 2.13. + + * COPYING, NEWS, TODO, bsd-games-non-free.lsm, bsd-games.lsm: + Update. + * phantasia/Makefrag: Update copyright dates. + + * hunt/hunt/hunt.c, hunt/huntd/get_names.c: Define MAXHOSTNAMELEN + if not already defined. May fix Hurd compilation (original patch + from Igor Khavkine ). + + * snake/snake/snake.c (main): Control -d by #ifdef DEBUG; adjust + usage message accordingly. Bug reported by Malcolm Parsons + . + + * mille/save.c (save): Handle '\r' the same as '\n'. Bug reported + by Nicolas Lichtmaier . + + * snake/snake/snake.c (post): Always lseek back to the beginning + of the file. Patch from Malcolm Parsons + . + + * wump/wump.c (gcd): New function. + (cave_init): Ensure that gcd of (delta + 1) and room_num is 1. + Based on bug report and patch by . + + * worm/worm.c: Keep track of visible worm length. + (newpos): If nowhere is available for the new prize, have the + player win rather than hanging. Bug reported by Malcolm Parsons + . + + * phantasia/Makefrag: Use a stamp file for generating score files. + * phantasia/.cvsignore: Update. + +2001-08-29 Joseph S. Myers + + * worm/worm.c (main): Check for too small a screen size. + (newpos): Fix off-by-one error preventing the prize from being + placed on the top line. + (process): Position score appropriately for different width + screens. + + * worm/worm.c: Whitespace tweak. + + * worm/worm.c, worm/worm.6: Remove documented bug with long worm + lengths, and improve handling of non-standard screen sizes. From + OpenBSD. + + * wargames/wargames: Allow - in game names. Bug reported by Guus + Sliepen . + + * wtf/acronyms: Add AIUI. Suggestion from Adam Olsen + . + + * phantasia/Makefrag: Fix typo. + + * arithmetic/arithmetic.6, atc/atc.6.in, atc/list.c, + backgammon/backgammon/backgammon.6, + backgammon/teachgammon/teach.c, battlestar/battlestar.6, + battlestar/com2.c, battlestar/parse.c, bcd/bcd.6, + boggle/boggle/boggle.6, canfield/canfield/canfield.6.in, + cribbage/cribbage.6.in, factor/factor.6, fish/fish.6, + fortune/datfiles/fortunes, fortune/datfiles/fortunes2, + fortune/datfiles/fortunes2-o.real, fortune/datfiles/netbsd, + fortune/datfiles/startrek, fortune/fortune/fortune.6.in, + fortune/fortune/fortune.c, fortune/strfile/strfile.c, hack/date.h, + hack/def.func_tab.h, hack/def.monst.h, hack/def.objclass.h, + hack/def.objects.h, hack/def.permonst.h, hack/extern.h, + hack/hack.6.in, hack/hack.Decl.c, hack/hack.apply.c, + hack/hack.bones.c, hack/hack.c, hack/hack.cmd.c, hack/hack.do.c, + hack/hack.do_name.c, hack/hack.dog.c, hack/hack.eat.c, + hack/hack.end.c, hack/hack.engrave.c, hack/hack.fight.c, + hack/hack.h, hack/hack.invent.c, hack/hack.lev.c, + hack/hack.main.c, hack/hack.makemon.c, hack/hack.mhitu.c, + hack/hack.mklev.c, hack/hack.mkmaze.c, hack/hack.mkobj.c, + hack/hack.mkshop.c, hack/hack.mon.c, hack/hack.monst.c, + hack/hack.o_init.c, hack/hack.objnam.c, hack/hack.pager.c, + hack/hack.potion.c, hack/hack.pri.c, hack/hack.read.c, + hack/hack.rip.c, hack/hack.save.c, hack/hack.shk.c, + hack/hack.shknam.c, hack/hack.timeout.c, hack/hack.topl.c, + hack/hack.trap.c, hack/hack.tty.c, hack/hack.u_init.c, + hack/hack.unix.c, hack/hack.vault.c, hack/hack.wield.c , + hack/hack.wizard.c, hack/hack.zap.c, hack/makedefs.c, + hunt/hunt/hunt.6.in, hunt/huntd/ctl_transact.c, + hunt/huntd/huntd.6.in, mille/mille.c, monop/Makefile.bsd, + monop/initdeck.c, monop/monop.6.in, phantasia/Makefile.bsd, + phantasia/phantasia.6, phantasia/setup.c, pom/pom.6, + quiz/datfiles/collectives, quiz/datfiles/flowers, quiz/quiz.6.in, + rain/rain.6, robots/robots.6.in, rogue/USD.doc/rogue.me, + rogue/score.c, sail/sail.6, snake/snake/snake.6.in, + tetris/tetris.6.in, trek/DOC/read_me.nr, trek/DOC/trekmanual.nr, + trek/events.c, trek/main.c, trek/trek.6.in, trek/warp.c, + worms/worms.6, wtf/wtf.6.in: Update from NetBSD CVS. + * wtf/acronyms: Update from NetBSD CVS. + * phantasia/Makefrag: Update to build generated files in source + directory rather than on install. + * phantasia/.cvsignore: Update. + * atc/include.h, hunt/huntd/driver.c, monop/execute.c: Include + . + * sail/misc.c: Include . + +2001-08-02 Joseph S. Myers + + * README, PACKAGING: Warn about inclusion of cryptographic + software. + +2001-03-24 Joseph S. Myers + + * hack/hack.cmd.c: Whitespace adjustments for NetBSD alignment. + + * arithmetic/arithmetic.c, banner/banner.6, + fortune/datfiles/fortunes, fortune/datfiles/fortunes2-o.real, + fortune/fortune/fortune.c, wtf/acronyms: Update from NetBSD CVS + (but don't apply __progname changes). + +2001-03-19 Joseph S. Myers + + * bsd-games.lsm (Primary-site), bsd-games-non-free.lsm + (Primary-site): Change metalab.unc.edu to ibiblio.org. + +2001-03-03 Joseph S. Myers + + * install-man.in, install-score.in: Use POSIX "chown user:group" + instead of GNU "chown user.group". + +2001-02-08 Joseph S. Myers + + * rogue/USD.doc/rogue.me: Fix typo (s/scroll/potion/). Reported + by Lidovski Vladimir . + +2001-02-07 Joseph S. Myers + + * adventure/hdr.h, adventure/init.c, arithmetic/arithmetic.c, + atc/atc.6.in, atc/extern.h, atc/input.c, atc/log.c, atc/main.c, + atc/update.c, backgammon/Makefile.bsd, + backgammon/Makefile.inc.bsd, backgammon/teachgammon/teach.c, + boggle/Makefile.bsd, boggle/boggle/help.c, boggle/boggle/mach.c, + boggle/boggle/timer.c, boggle/boggle/word.c, cribbage/crib.c, + dm/dm.c, fortune/Makefile.bsd, fortune/datfiles/Makefile.bsd, + fortune/datfiles/fortunes, fortune/datfiles/fortunes-o.real, + fortune/datfiles/fortunes-o.sp.ok, fortune/datfiles/fortunes2, + fortune/datfiles/netbsd, fortune/fortune/fortune.c, patching file + fortune/strfile/strfile.8, gomoku/bdisp.c, hack/config.h, + hack/def.monst.h, hack/def.rm.h, hack/extern.h, hack/hack.6.in, + hack/hack.cmd.c, hack/hack.h, hack/hack.options.c, + hack/hack.read.c, hack/hack.tty.c, hack/hack.unix.c, + hunt/hunt/hunt.c, hunt/hunt/otto.c, hunt/huntd/driver.c, + hunt/huntd/faketalk.c, hunt/huntd/get_names.c, monop/misc.c, + monop/monop.6.in, monop/prop.c, phantasia/phantglobs.h, + primes/pr_tbl.c, primes/primes.c, quiz/datfiles/midearth, + quiz/datfiles/pres, robots/main.c, robots/move_robs.c, + robots/play_level.c, rogue/rogue.h, sail/assorted.c, + sail/display.h, sail/dr_1.c, sail/dr_2.c, sail/dr_3.c, + sail/dr_4.c, sail/dr_5.c, sail/dr_main.c, sail/driver.h, + sail/extern.h, sail/game.c, sail/globals.c, sail/lo_main.c, + sail/main.c, sail/misc.c, sail/parties.c, sail/pl_1.c, + sail/pl_2.c, sail/pl_3.c, sail/pl_4.c, sail/pl_5.c, sail/pl_6.c, + sail/pl_7.c, sail/pl_main.c, sail/player.h, sail/restart.h, + sail/sync.c, trek/externs.c, trek/lose.c, trek/play.c, trek/win.c, + wtf/wtf.in: Update from NetBSD CVS. + * sail/main.c: Include . + * COPYING: Update. + + * wtf/acronyms: Update from NetBSD CVS. + +2001-01-11 Joseph S. Myers + + * mkdep: Update to work with current CVS GCC. + * COPYING: Update copyright dates. + +2000-12-20 Joseph S. Myers + + * rain/rain.c (main): If delay is zero, do tcdrain(STDOUT_FILENO) + at the end of each iteration to avoid buffered output preventing + Ctrl-C from working within a reasonable time. + +2000-10-17 Joseph S. Myers + + * cribbage/cribbage.h: Mark msg() and addmsg() with printf format + attributes. + * hack/extern.h: Make vpline() with printf format attribute. + + * monop/misc.c (next_play): Fix undefined order of side effects. + * monop/prop.c (bid): Likewise. + +2000-09-25 Joseph S. Myers + + * Version 2.12. + + * NEWS, bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * battlestar/com2.c, battlestar/com4.c, battlestar/com5.c, + battlestar/cypher.c, battlestar/extern.h, battlestar/globals.c, + battlestar/words.c: Update from NetBSD CVS after merge. + + * battlestar/extern.h: Add AUXVERB. + * battlestar/words.c (wlist): Use AUXVERB for "climb", "move" and + "make". + * battlestar/cypher.c (cypher): Object to words in the place for a + verb that aren't a VERB or KNIFE. Allow for AUXVERBs. + * battlestar/com2.c (put), battlestar/com4.c (take): When creating + new verbs from "put on", "put down" and "take off", make their + type be VERB. + Partly from Paul Janzen . + * tests/battlestar.out3: Update. + * tests/battlestar.in42, tests/battlestar.out42, + tests/battlestar.in43, tests/battlestar.out43: New tests. + * tests/battlestar.test: Update. + + * battlestar/extern.h: Add flags OBJ_PERSON and OBJ_NONOBJ. + * battlestar/globals.c (objflags): Use them. + + * battlestar/extern.h: Define new macros for handling "a" versus + "an" and "is" versus "are" wording issues. + * battlestar/globals.c (objflags): Add OBJ_AN flags; reformat. + From OpenBSD. + * battlestar/com2.c (wearit, murder), battlestar/com4.c (take, + eat): Use these macros. + * tests/battlestar.in41, tests/battlestar.out41: New test. + * tests/battlestar.test: Update. + + * battlestar/cypher.c (cypher): Remove excess blank lines. From + OpenBSD. + + * battlestar/com5.c (love): Fix loving already loved goddess; + avoid fallthrough after loving goddess; give error on "love + amulet". From OpenBSD. + * tests/battlestar.in40, tests/battlestar.out40: New test. + * tests/battlestar.test: Update. + + * atc/atc.6.in, hack/Makefile.bsd: Update from NetBSD CVS. + * battlestar/battlestar.c, battlestar/com1.c, battlestar/com2.c, + battlestar/com3.c, battlestar/com4.c, battlestar/com5.c, + battlestar/com6.c, battlestar/com7.c, battlestar/cypher.c, + battlestar/dayfile.c, battlestar/extern.h, battlestar/fly.c, + battlestar/getcom.c, battlestar/globals.c, battlestar/nightfile.c, + battlestar/parse.c, battlestar/room.c, battlestar/words.c: Update + from NetBSD CVS after merge. + + * battlestar/com3.c (jump): Use defined constant FINAL instead of + hardcoded number 275. From OpenBSD. + + * battlestar/com2.c (murder): Fix logic of use of n and wordnumber + when using laser. From OpenBSD. + * tests/battlestar.in39, tests/battlestar.out39: New test. + * tests/battlestar.test: Update. + +2000-09-24 Joseph S. Myers + + * NEWS, TODO: Update. + + * COPYING, INSTALL, NEWS, PACKAGING, README, SECURITY: Don't use + ASCII backquotes and neutral apostrophes as matched quotes. + + * battlestar/getcom.c (getcom): If a line of standard input goes + beyond our buffer, discard extra characters rather than reading + them as our next command. From OpenBSD. + + * battlestar/cypher.c (cypher): Improve messages when WEIGHT or + CUMBER are zero. + + * battlestar/com2.c (ravage), battlestar/com3.c (bury), + battlestar/com5.c (kiss, love, give), battlestar/com6.c (ride): + Add explicit no-ops to empty loops following the NetBSD style + guide. + + * battlestar/extern.h, battlestar/parse.c, battlestar/globals.c: + Make hash table static in parse.c. + + * battlestar/cypher.c (cypher): For INVEN, give more sensible + messages when WEIGHT or CUMBER are zero. + +2000-09-23 Joseph S. Myers + + * battlestar/globals.c (objdes, objsht): Use NULL instead of 0; + from OpenBSD. Also add or adjust comments. + + * battlestar/com2.c (murder), battlestar/com3.c (shoot), + battlestar/com4.c (take): Correct "dont" to "don't". From + OpenBSD. + * tests/battlestar.out28: Update. + + * battlestar/parse.c: Make local functions static. + * battlestar/extern.h: Remove declarations of functions now static + in parse.c. + + * battlestar/com4.c (eat): Check first for having the object to be + eaten, then for needing a knife, then for being stuffed. Also + give a better message for things it doesn't make sense to eat. + From OpenBSD. + * tests/battlestar.in38, tests/battlestar.out38: New test. + * tests/battlestar.test: Update. + + * battlestar/fly.c: Remove abs() macro; make local variables and + functions static. + * battlestar/extern.h: Remove declarations of functions now static + in fly.c + + * battlestar/com1.c (news): Don't let CUMBER go negative. + * battlestar/cypher.c (cypher): For INVEN, show -1% if CUMBER is + zero. + + * battlestar/com4.c (drop): Disambiguate BODY; handle "kick + door". From OpenBSD. + * tests/battlestar.in32, tests/battlestar.out32, + tests/battlestar.in33, tests/battlestar.out33, + tests/battlestar.in34, tests/battlestar.out34, + tests/battlestar.in35, tests/battlestar.out35, + tests/battlestar.in36, tests/battlestar.out36, + tests/battlestar.in37, tests/battlestar.out37: New tests. + * tests/battlestar.test: Update. + +2000-09-22 Joseph S. Myers + + * battlestar/com5.c (love): Allow for bathing goddess; better + message when the lover is not present or for certain choices of + lover. From OpenBSD. + + * battlestar/com2.c (ravage): Allow for the bathing goddess. From + OpenBSD. + + * battlestar/extern.h: Add OBJ_PLURAL, objflags and + is_plural_object. + * battlestar/globals.c: Add objflags. + * battlestar/com2.c (wearit), battlestar/com3.c (shoot), + battlestar/com4.c (take, eat): Use is_plural_object rather than + looking for a final 's'. + * tests/battlestar.in31, tests/battlestar.out31: New test. + * tests/battlestar.test: Update. + + * battlestar/com4.c (drop): When kicking, check for objects being + worn or not present. From OpenBSD. + * tests/battlestar.in29, tests/battlestar.out29, + tests/battlestar.in30, tests/battlestar.out30: New tests. + * tests/battlestar.test: Update. + + * battlestar/com4.c (take): Check for the object not being present + before checking for it being too heavy or bulky. + * tests/battlestar.in28, tests/battlestar.out28: New test. + * tests/battlestar.test: Update. + +2000-09-21 Joseph S. Myers + + * battlestar/cypher.c (cypher): Give appropriate messages for + verbs applied to "all" where nothing relevant is present. From + OpenBSD. + * tests/battlestar.in27, tests/battlestar.out27: New test. + * tests/battlestar.test: Update. + + * battlestar/com2.c (wearit, use, murder), battlestar/com3.c + (shoot), battlestar/com4.c (take, throw, drop, eat), + battlestar/com6.c (dooropen), battlestar/cypher.c (cypher), + battlestar/parse.c (parse): Move all discarding of adjectives to + parse(). From Paul Janzen . Fixes + crash on "carry old all", shown up by fuzz testing. + * tests/battlestar.in26, tests/battlestar.out26: New test. + * tests/battlestar.test: Update. + + * battlestar/com2.c (murder): Give error rather than crashing on + "kill all". From OpenBSD. + * tests/battlestar.in25, tests/battlestar.out25: New test. + * tests/battlestar.test: Update. + + * battlestar/extern.h: Define and use WORDLEN. From OpenBSD. + * battlestar/globals.c: Also use WORDLEN. From OpenBSD. + * battlestar/battlestar.c (main): Use NWORD rather than 20 (from + OpenBSD). Avoid off-by-one error by using NWORD - 1. + * battlestar/cypher.c (cypher): Increment wordnumber after INVEN. + * battlestar/getcom.c (getword): Avoid overflowing elements of the + words array. From OpenBSD. + * battlestar/words.c (wlist): Parse "," as AND. From OpenBSD. + * battlestar/parse.c (parse): Trim AND AND. When an OBJECT AND + EVERYTHING or NOUNS AND EVERYTHING sequence occurs, move the + EVERYTHING to the beginning. Trim EVERYTHING AND EVERYTHING. + From OpenBSD. Also disable parsing of "," as AND if followed by a + verb. + * tests/battlestar.in21, tests/battlestar.out21, + tests/battlestar.in22, tests/battlestar.out22, + tests/battlestar.in23, tests/battlestar.out23, + tests/battlestar.in24, tests/battlestar.out24: New tests. + * tests/battlestar.test: Update. + + * battlestar/com2.c (wearit): Don't attempt to wear anything with + no short description. + * tests/battlestar.in20, tests/battlestar.out20: New tests. + * tests/battlestar.test: Update. + + * battlestar/com2.c (wearit): Partly from OpenBSD: don't try to + wear anything that isn't OBJECT or NOUNS, and don't try to wear + DOOR. Fixes with a different patch a bug report from Peter + Maydell . + * tests/battlestar.in16, tests/battlestar.out16, + tests/battlestar.in17, tests/battlestar.out17, + tests/battlestar.in18, tests/battlestar.out18, + tests/battlestar.in19, tests/battlestar.out19: New tests. + * tests/battlestar.test: Update. + + * battlestar/com2.c (murder): From OpenBSD: shoot with laser if no + hand-to-hand weapon available. + +2000-09-20 Joseph S. Myers + + * battlestar/getcom.c (getcom): die() on EOF; based on OpenBSD. + * tests/battlestar.out15: New test. + * tests/battlestar.test: Update. + + * battlestar/com6.c (open_score_file): If BATTLESTAR_QUIET is set + in the environment, don't give a warning. + * tests/battlestar.test: Set BATTLESTAR_QUIET so tests can be done + as a user without write access to the log file. + + * battlestar/com5.c (kiss): From OpenBSD, "take" the bathing + goddess if required; give a better message when trying to kiss a + person who is not present. + * tests/battlestar.in14, tests/battlestar.out14: New tests. + * tests/battlestar.test: Update. + +2000-09-17 Joseph S. Myers + + * battlestar/dayfile.c (dayfile), battlestar/nightfile.c + (nightfile): Add missing initialisers and comments giving room + numbers. + + * wtf/acronyms: Update from NetBSD CVS. + + * battlestar/com1.c, battlestar/com2.c, battlestar/com4.c, + battlestar/com5.c, battlestar/com6.c, battlestar/com7.c, + battlestar/getcom.c: Clean up formatting; partly from OpenBSD. + + * tests/battlestar.in9, tests/battlestar.out9, + tests/battlestar.in10, tests/battlestar.out10, + tests/battlestar.in11, tests/battlestar.out11, + tests/battlestar.in12, tests/battlestar.out12, + tests/battlestar.in13, tests/battlestar.out13: New tests. + * tests/battlestar.test: Update. + + * battlestar/com6.c (dooropen): New function, from OpenBSD. + * battlestar/cypher.c (cypher): Support new verbs OPEN, VERBOSE + and BRIEF, from OpenBSD. + * battlestar/extern.h: Add new verbs OPEN, VERBOSE and BRIEF, new + variable verbose, and new function dooropen(), from OpenBSD. + * battlestar/globals.c (verbose): New variable, from OpenBSD. + * battlestar/room.c (writedes): If verbose, always give long + description; from OpenBSD. + * battlestar/words.c (wlist): Add synonyms "papaya" and "coconut" + and verbs "open", "unlock", "verbose" and "brief", from OpenBSD. + +2000-09-10 Joseph S. Myers + + * battlestar/com2.c, battlestar/com3.c, battlestar/com4.c, + battlestar/com5.c, battlestar/com6.c, battlestar/com7.c, + battlestar/cypher.c, battlestar/dayfile.c, battlestar/nightfile.c, + battlestar/room.c, battlestar/words.c: Update from NetBSD CVS + after merge. + +2000-09-09 Joseph S. Myers + + * battlestar/room.c (writedes): Process '=' in descriptions as + meaning a literal '-'; from OpenBSD. + * battlestar/dayfile.c (dayfile), battlestar/nightfile.c + (nightfile): Spelling, punctuation and line length adjustments + from OpenBSD. + * tests/battlestar.out4, tests/battlestar.out5, + tests/battlestar.out8: Update for changes in line length. + + * battlestar/com2.c (murder): Give an appropriate message for + trying to kill non-OBJECT things (from OpenBSD); fixes "kill door" + segfault. + * battlestar/com3.c (shoot), battlestar/com4.c (take), + battlestar/com5.c (kiss), battlestar/com6.c (ride), + battlestar/com7.c (fight), battlestar/cypher.c (save): Wording, + spelling, punctuation and line length adjustments from OpenBSD. + * tests/battlestar.out5, tests/battlestar.out6: Update for changed + wording. + * tests/battlestar.in8, tests/battlestar.out8: New tests. + * tests/battlestar.test: Update. + + * battlestar/words.c: Make spacing nicer and add missing + initialisers. + + * NEWS, TODO: Update. + + * battlestar/battlestar.6, battlestar/battlestar.c, + battlestar/com1.c, battlestar/com5.c, battlestar/cypher.c, + battlestar/dayfile.c, battlestar/extern.h, battlestar/globals.c, + battlestar/init.c, battlestar/nightfile.c, battlestar/room.c: + Update from NetBSD CVS after merge. + +2000-09-08 Joseph S. Myers + + * battlestar/battlestar.6: Don't refer to ~. Suggested by Hubert + Feyrer. + + * battlestar/extern.h, battlestar/globals.c, battlestar/init.c: + Don't restrict length of username, use a string from strdup + instead. Make functions and arrays only used in init.c static. + +2000-09-07 Joseph S. Myers + + * battlestar/extern.h: Put prototypes in alphabetical order. + + * fortune/datfiles/Makefile.bsd: Really update from NetBSD CVS. + + * battlestar/battlestar.6: Improvements from OpenBSD. + * battlestar/extern.h: Define ROOMDESC. + * battlestar/room.c (writedes): Use it. + * battlestar/battlestar.c: From OpenBSD, make clearer and don't + increase beenthere[position] beyond ROOMDESC. + * battlestar/com1.c (news), battlestar/com5.c (kiss), + battlestar/cypher.c (cypher), battlestar/dayfile.c (dayfile), + battlestar/globals.c (objdes, objsht), nightfile.c (nightfile): + Spelling and punctuation corrections or adjustments from OpenBSD. + + * tests/battlestar.test: Test for wizard or anti-wizard users. + +2000-09-06 Joseph S. Myers + + * tests/battlestar.in5, tests/battlestar.out5, + tests/battlestar.in6, tests/battlestar.out6, + tests/battlestar.err6: New files. + * tests/battlestar.test: Update. + + * tests/battlestar.test, tests/battlestar.in1, + tests/battlestar.out1, tests/battlestar.in2, + tests/battlestar.out2, tests/battlestar.in3, + tests/battlestar.out3, tests/battlestar.in4, + tests/battlestar.out4: New files. + + * lib/.cvsignore: New file. + * morse/.cvsignore: Add morse. + +2000-08-22 Joseph S. Myers + + * hunt/hunt/.cvsignore, hunt/huntd/.cvsignore, mille/.cvsignore, + monop/.cvsignore, morse/.cvsignore, number/.cvsignore, + phantasia/.cvsignore, pig/.cvsignore, pom/.cvsignore, + ppt/.cvsignore, primes/.cvsignore, quiz/.cvsignore, + quiz/datfiles/.cvsignore, rain/.cvsignore, random/.cvsignore, + robots/.cvsignore, rogue/.cvsignore, sail/.cvsignore, + snake/snake/.cvsignore, snake/snscore/.cvsignore, + tetris/.cvsignore, trek/.cvsignore, worm/.cvsignore, + worms/.cvsignore, wtf/.cvsignore, wump/.cvsignore: New files. + +2000-08-19 Joseph S. Myers + + * fortune/datfiles/.cvsignore, fortune/fortune/.cvsignore, + fortune/strfile/.cvsignore, fortune/unstr/.cvsignore, + gomoku/.cvsignore, hack/.cvsignore, hangman/.cvsignore: New files. + +2000-08-18 Joseph S. Myers + + * caesar/.cvsignore, canfield/canfield/.cvsignore, + canfield/cfscores/.cvsignore, cribbage/.cvsignore, dm/.cvsignore, + factor/.cvsignore, fish/.cvsignore: New files. + + * fortune/datfiles/Makefile.bsd, fortune/datfiles/fortunes, + fortune/datfiles/netbsd, fortune/datfiles/netbsd-o.fake, + fortune/datfiles/netbsd-o.real, wtf/acronyms: Update from NetBSD + CVS. + +2000-08-05 Joseph S. Myers + + * .cvsignore, include/.cvsignore, adventure/.cvsignore, + arithmetic/.cvsignore, atc/.cvsignore, + backgammon/backgammon/.cvsignore, + backgammon/common_source/.cvsignore, + backgammon/teachgammon/.cvsignore, banner/.cvsignore, + battlestar/.cvsignore, bcd/.cvsignore, boggle/boggle/.cvsignore, + boggle/mkdict/.cvsignore, boggle/mkindex/.cvsignore: New files. + + * wtf/acronyms: Update from NetBSD CVS. + +2000-08-04 Joseph S. Myers + + * include/signal.h, include/stdio.h, include/stdlib.h, + include/termios.h, include/sys/cdefs.h, include/sys/ttydefaults.h: + Use #pragma GCC system_header to allow #include_next with + -pedantic. + +2000-08-03 Joseph S. Myers + + * atc/input.c, atc/log.c, atc/update.c, hack/config.h, + hack/def.monst.h, hack/def.rm.h, hack/hack.cmd.c, hack/hack.h, + robots/move_robs.c, robots/play_level.c: Comment out text after + #endif. + * bcd/bcd.c: Use unsigned char and casts to avoid -pedantic + warnings. + * pom/pom.c: Likewise. + * fortune/unstr/unstr.c, hack/makedefs.c: Include . + * lib/fgetln.c: Include . + + * adventure/setup.c, battlestar/com1.c, battlestar/com7.c, + battlestar/cypher.c, battlestar/extern.h, boggle/mkdict/mkdict.c, + boggle/mkindex/mkindex.c, fortune/datfiles/netbsd, + fortune/strfile/strfile.c, hack/makedefs.c, monop/initdeck.c: + Update from NetBSD CVS. + +2000-08-02 Joseph S. Myers + + * sail/extern.h (abs): Don't define; breaks with glibc 2.2. + +2000-07-22 Joseph S. Myers + + * hack/hack.tty.c, monop/getinp.c, rogue/message.c, trek/phaser.c: + Update from NetBSD CVS. + +2000-07-06 Joseph S. Myers + + * adventure/done.c, adventure/main.c, adventure/subr.c, bcd/bcd.c, + canfield/cfscores/cfscores.c, countmail/countmail.6, + fortune/datfiles/fortunes, fortune/datfiles/fortunes2, + fortune/datfiles/netbsd, gomoku/stoc.c, hack/hack.h, + hunt/huntd/get_names.c, morse/morse.c, phantasia/Makefile.bsd, + ppt/ppt.c, rogue/init.c, sail/Makefile.bsd, sail/lo_main.c, + sail/pl_1.c, sail/pl_7.c, trek/computer.c, trek/destruct.c, + trek/getpar.c, trek/setup.c, trek/torped.c: Update from NetBSD + CVS. + +2000-05-28 Joseph S. Myers + + * adventure/Makefile.bsd, adventure/main.c, + arithmetic/arithmetic.c, atc/main.c, backgammon/backgammon/main.c, + backgammon/teachgammon/teach.c, battlestar/battlestar.c, + bcd/bcd.c, boggle/boggle/bog.c, caesar/caesar.c, caesar/rot13.in, + canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/crib.c, fish/fish.c, fortune/datfiles/netbsd, + gomoku/main.c, hack/hack.termcap.c, hangman/main.c, mille/mille.c, + mille/misc.c, mille/print.c, monop/cards.inp, monop/monop.c, + morse/morse.c, phantasia/Makefile.bsd, phantasia/fight.c, + phantasia/misc.c, ppt/ppt.c, quiz/quiz.c, robots/main.c, + robots/score.c, snake/snake/snake.c, snake/snscore/snscore.c, + tetris/screen.c, tetris/screen.h, trek/main.c, worm/worm.c, + wump/wump.c: Update from NetBSD CVS. + +2000-05-27 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2000-05-06 Joseph S. Myers + + * bsd-games now under CVS version control. At present there is no + anoncvs access, so this isn't particularly relevant to anyone else + yet. The CVS tree up to now has been generated with scripts based + on RCS to include all past releases and betas from 1.3 onwards, + and those snapshots of the bsd-games source tree from in between + releases that I have, with checkin dates set to the dates of the + ChangeLogs in the respective releases and snapshots. Tags used + are BSD_GAMES_DATE_yyyy_mm_dd for dated snapshots; BSD_GAMES_v_v + for versioned bsd-games releases; BSD_GAMES_NON_FREE_v_v for + bsd-games-non-free releases; and BSD_GAMES_VERSION_v_v for the + union of corresponding bsd-games and bsd-games-non-free releases, + and for bsd-games releases before the split, but this tag was not + applied where no bsd-games-non-free release corresponded to a + particular bsd-games release. + +2000-04-26 Joseph S. Myers + + * bsd-games.lsm, bsd-games-non-free.lsm: Update to LSM format + version 4. + +2000-04-19 Joseph S. Myers + + * Version 2.11. + + * NEWS: Update. + * bsd-games.lsm: Update. + * bsd-games-non-free.lsm: Update. + + * hack/date.h, hack/def.monst.h, hack/def.objclass.h, + hack/def.objects.h, hack/def.permonst.h, hack/extern.h, + hack/hack.Decl.c, hack/hack.cmd.c, hack/hack.dog.c, + hack/hack.eat.c, hack/hack.end.c, hack/hack.engrave.c, + hack/hack.fight.c, hack/hack.h, hack/hack.invent.c, + hack/hack.lev.c, hack/hack.main.c, hack/hack.makemon.c, + hack/hack.mhitu.c, hack/hack.mklev.c, hack/hack.mkmaze.c, + hack/hack.mkobj.c, hack/hack.mkshop.c, hack/hack.mon.c, + hack/hack.monst.c, hack/hack.o_init.c, hack/hack.objnam.c, + hack/hack.pager.c, hack/hack.pri.c, hack/hack.read.c, + hack/hack.rip.c, hack/hack.save.c, hack/hack.shk.c, + hack/hack.termcap.c, hack/hack.timeout.c, hack/hack.topl.c, + hack/hack.tty.c, hack/hack.u_init.c, hack/hack.unix.c, + hack/hack.vault.c, hack/hack.wield.c, hack/hack.wizard.c, + hack/hack.zap.c: Use const and fix compiler warnings. + +2000-04-18 Joseph S. Myers + + * hack/*: New, from NetBSD CVS. + * hack/Makefile: Rename to Makefile.bsd. + * AUTHORS, COPYING, INSTALL, README, README.non-free, SECURITY, + TODO: Update. + * NEWS: Update. + * bsd-games-non-free.lsm: Update. + * hack/pathnames.h: Rename to pathnames.h.in for substitutions. + * hack/hack.6: Rename to hack.6.in for substitutions. + * configure, substfiles, substfiles2, Makeconfig.in: Update. + * exec.libs, exec.objs: Update. + * hack/Makefrag: New file. + * hack/hack.main.c: Check for fds 0, 1, 2 being closed; use + setregid() for gid revokes. + * hack/hack.bones.c, hack/hack.do.c, hacl/hack.main.c, + hack/hack.pager.c, hack/hack.save.c, hack/hack.unix.c, + hack/makedefs.c: Use symbolic constants. + * hack/makedefs.c: Check for write errors on output; use const and + fix compiler warnings. + * hack/def.func_tab.h, hack/def.objclass.h, hack/def.permonst.h, + hack/extern.h, hack/hack.Decl.c, hack/hack.apply.c, hack/hack.c, + hack/hack.cmd.c, hack/hack.do_name.c, hack/hack.end.c, + hack/hack.invent.c, hack/hack.h, hack/hack.main.c, + hack/hack.mon.c, hack/hack.objnam.c, hack.pager.c, hack.potion.c, + hack/hack.shknam.c, hack.trap.c, hack.zap.c: Use const and fix + compiler warnings. + +2000-04-15 Joseph S. Myers + + * arithmetic/arithmetic.c, boggle/mkdict/Makefile.bsd, + boggle/mkindex/Makefile.bsd, fortune/datfiles/fortunes, + fortune/datfiles/fortunes2, fortune/fortune/fortune.c, + fortune/strfile/Makefile.bsd, hunt/Makefile.inc.bsd, + hunt/hunt/hunt.c, hunt/huntd/driver.c, phantasia/fight.c, + robots/score.c: Update from NetBSD CVS. + +2000-04-14 Joseph S. Myers + + * COPYING: Fix spelling error. + +2000-04-09 Joseph S. Myers + + * quiz/datfiles/asia: Corrections from Robert Vollmert + . + +2000-04-05 Joseph S. Myers + + * countmail/countmail.6: Fix grammar (bug reported by Thomas + Bushnell BSG ). + +2000-03-29 Joseph S. Myers + + * boggle/boggle/prtable.c, fish/fish.c, fortune/datfiles/fortunes, + fortune/datfiles/fortunes2, fortune/datfiles/fortunes2-o.real, + fortune/datfiles/netbsd, gomoku/makemove.c, hunt/hunt/hunt.c, + rogue/CHANGES, trek/trek.6.in: Update from NetBSD CVS. + +2000-02-28 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2000-02-12 Joseph S. Myers + + * Version 2.10. + + * fortune/fortune/fortune.c: Include . + * fortune/unstr/unstr.c: Likewise. + * fortune/strfile/strfile.c: Include . + * monop/initdeck.c: Likewise. Remove unnecessary casts. + + * NEWS: Update. + * bsd-games.lsm: Update. + + * fortune/datfiles/netbsd, sail/Makefile.bsd: Update from NetBSD + CVS. + + * COPYING: Add 2000 to copyright years. + + * wtf/acronyms: Update from NetBSD CVS. + +2000-02-09 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + + * THANKS: Update. + * INSTALL: Update. + + * Essentially all relevant changes now merged back into NetBSD + (except for hunt). + * TODO: Update. + * NEWS: Update. + + * sail/Makefile.bsd, sail/dr_main.c, sail/extern.h, + sail/globals.c, sail/main.c, sail/misc.c, sail/pathnames.h.in, + sail/pl_7.c, sail/pl_main.c, sail/sync.c: Update from NetBSD CVS + after further merge. + + * fortune/datfiles/Makefile.bsd, wargames/Makefile.bsd: Update + from NetBSD CVS. + * fortune/datfiles/netbsd: New, from NetBSD. + +2000-02-01 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2000-01-24 Joseph S. Myers + + * snake/snscore/snscore.c, tetris/scores.c, tetris/tetris.c, + wargames/Makefile.bsd, wargames/wargames.6: Update from NetBSD CVS + after further merge. + + * boggle/Makefile.bsd, fortune/Makefile.bsd, + fortune/datfiles/Makefile.bsd, hunt/hunt/hunt.c, + hunt/huntd/hunt.h, phantasia/Makefile.bsd: Update from NetBSD CVS. + +2000-01-20 Joseph S. Myers + + * robots/main.c, robots/score.c: Update from NetBSD CVS after + further merge. + +2000-01-19 Joseph S. Myers + + * fortune/strfile/strfile.c, random/random.c: Update from NetBSD + CVS after further merge. + +2000-01-17 Joseph S. Myers + + * random/random.c: Define MAXRANDOM rather than using RAND_MAX. + +2000-01-13 Joseph S. Myers + + * adventure/io.c, adventure/vocab.c, battlestar/save.c, + caesar/caesar.c, monop/monop.c, worm/worm.c: Update from NetBSD + CVS after further merge. + +2000-01-08 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +2000-01-02 Joseph S. Myers + + * tetris/screen.h, tetris/tetris.c, tetris/tetris.h: Update from + NetBSD CVS after further merge. + +1999-12-31 Joseph S. Myers + + * fortune/strfile/strfile.c, fortune/strfile/strfile.h, + monop/cards.c, monop/initdeck.c: Update from NetBSD CVS. + +1999-12-28 Joseph S. Myers + + * sail/extern.h, sail/globals.c, sail/pl_7.c, sail/player.h: + Update from NetBSD CVS after further merge. + +1999-12-16 Joseph S. Myers + + * ppt/ppt.c, quiz/quiz.c: Update from NetBSD CVS (more changes + merged into NetBSD). + + * quiz/quiz.c (show_index): Refer error message to the pager + actually used. + + * fortune/strfile/strfile.c: Use err(1, NULL) for out-of-memory + error. + + * boggle/mkindex/mkindex.c, fortune/datfiles/fortunes, + fortune/strfile/strfile.c, wargames/wargames, wtf/wtf.in: Update + from NetBSD CVS. + +1999-12-07 Joseph S. Myers + + * adventure/io.c, adventure/vocab.c, battlestar/save.c, + caesar/caesar.c, monop/cards.c, monop/initdeck.c, monop/monop.c, + monop/prop.c, snake/snscore/snscore.c, worm/worm.c: Use err(1, + NULL) or warn(NULL) for `out of memory' messages. + + * fortune/strfile/strfile.c: Remove obsolete NO_VOID conditional, + and casts in ALLOC macro. + +1999-12-06 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +1999-11-29 Joseph S. Myers + + * ChangeLog: Use consistent form of my name and email address. + +1999-11-15 Joseph S. Myers + + * countmail/countmail: Don't describe messages as new when they + may not be (bug report and suggested fix from Malcolm Parsons + ). + + * configure: Ask for permissions on variable data that should not + be world readable (bug report from ). + * install-score.in: Use this. + * phantasia/Makefrag: Use this. + * SECURITY: Update. + + * tetris/tetris.c: Include ; use errx() for error messages; + change usage message to refer to tetris-bsd (bug report from + Malcolm Parson ). + + * tetris/scores.c (printem): Fix formatting of high score tables + with multiple columns (bug report and suggested fix from Malcolm + Parsons ). + + * robots/main.c (main): Fix spelling error in unknown option + message (bug report and suggested fix by Malcolm Parsons + ). + +1999-11-12 Joseph S. Myers + + * Version 2.9. + + * bsd-games.lsm: Update. + + * NEWS: Update. + +1999-11-11 Joseph S. Myers + + * boggle/mkindex/mkindex.c (main): Add index entries for letters + not found in the dictionary (problem reported by Mike Castle + ). + + * robots/main.c (main): Reinitialise Num_games to 1 after looping + through Num_games games, so if you ask for another game then you + still get this prompt next time. Bug report and suggested fix + from Malcolm Parsons . + + * robots/score.c (score): Fix reporting of auto-bot scores, bug + report and suggested fix from Malcolm Parsons + . + + * cribbage/instr.c, fortune/fortune/fortune.c, + snake/snake/snake.6.in, snake/snake/snake.c, worm/worm.6, + worm/worm.c: Update from NetBSD CVS. + +1999-11-05 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +1999-10-28 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + + * random/random.c: Use RAND_MAX rather than LONG_MAX (patch from + William Brioschi). + + * tests/rot13.*: Removed; test not meaningful since it uses the + installed caesar (which may not be present) rather than the + just-built one. Bug reported by Roman Hodek + . + +1999-10-21 Joseph S. Myers + + * backgammon/common_source/back.h, + backgammon/common_source/subs.c, robots/main.c, tetris/screen.c, + tetris/screen.h: Update from NetBSD CVS. + +1999-10-11 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + +1999-10-01 Joseph S. Myers + + * cribbage/cribbage.6.in, mille/move.c: Update from NetBSD CVS + after further merge. + +1999-09-30 Joseph S. Myers + + * atc/def.h, cribbage/cards.c, cribbage/cribbage.h, cribbage/io.c, + mille/comp.c, mille/init.c, mille/mille.h, mille/move.c, + mille/types.h, monop/misc.c, monop/monop.h, monop/trade.c, + phantasia/phantdefs.h, robots/robots.h, sail/dr_1.c, sail/dr_2.c, + sail/dr_3.c, sail/extern.h: Update from NetBSD CVS after further + merge. + + * cribbage/cribbage.6.in (FILES): Tweak. + +1999-09-27 Joseph S. Myers + + * quiz/datfiles/europe (Monaco): Change capital to Monaco, bug + reported by . + +1999-09-26 Joseph S. Myers + + * Version 2.8. + + * include/tzfile.h: Remove (no longer used). + + * fortune/datfiles/Makefrag: Use $(SHAREDIR) not $(LIBDIR). + + * NEWS: Update. + + * bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * */Makefrag, */*/Makefrag: Add copyright notices and licence + terms. + * hangman/Makefrag: Remove reference to $(hangman_WORDS). + * COPYING: Tweak. + * NEWS: Add release dates. + +1999-09-23 Joseph S. Myers + + * dm/dm.c, fish/fish.c, fortune/fortune/fortune.c: Update from + NetBSD CVS after further merge. + + * fortune/datfiles/Makefile.bsd: Update from NetBSD CVS. + +1999-09-19 Joseph S. Myers + + * boggle/boggle/bog.c, boggle/mkdict/mkdict.c, cribbage/extern.c, + dm/dm.c, phantasia/setup.c: Update from NetBSD CVS after further + merge. + +1999-09-18 Joseph S. Myers + + * boggle/mkdict/mkdict.c, boggle/mkindex/mkindex.c: Update from + NetBSD CVS after further merge. + + * battlestar/com1.c, battlestar/com4.c: Tweak for NetBSD + alignment. + + * battlestar/com1.c, battlestar/com4.c, boggle/boggle/bog.c, + cribbage/io.c, fortune/fortune/fortune.c, + fortune/strfile/strfile.c, fortune/unstr/unstr.c, + gomoku/pickmove.c, mille/comp.c, phantasia/interplayer.c, + pig/pig.c, robots/extern.c, robots/robots.h, robots/score.c, + rogue/save.c, tetris/scores.c, trek/main.c: Update from NetBSD CVS + after further merge. + + * battlestar/battlestar.c, battlestar/cypher.c, + battlestar/dayobjs.c, battlestar/init.c, battlestar/nightobjs.c: + Update from NetBSD CVS after further merge. + + * backgammon/backgammon/main.c, boggle/boggle/bog.c, + hangman/extern.c, hangman/hangman.6.in, hangman/hangman.h, + hangman/main.c, hangman/setup.c, quiz/quiz.c, sail/game.c, + tetris/scores.c, trek/externs.c, trek/trek.h: Update from NetBSD + CVS after further merge. + +1999-09-17 Joseph S. Myers + + * wtf/acronyms: Update from NetBSD CVS. + + * NEWS: Update. + + * hangman/extern.c, hangman/hangman.h, hangman/main.c, + hangman/setup.c: Make dictionary path selectable at run time. + * hangman/hangman.6.in: Document this. + * NEWS, TODO, INSTALL, PACKAGING: Update. + +1999-09-16 Joseph S. Myers + + * hangman/words: Remove. The copyright status was not clear; + assertions in the LSM entry that it is free from copyright seem to + be contradicted by inspection of the READMEs. (See + ftp://ftp.cs.unc.edu/pub/users/faith/linux/utils/ .) + * hangman/Makefrag: No longer install words file. + * configure: Update accordingly. + * boggle/mkdict/Makefrag: Update accordingly. + * Makeconfig.in: Update accordingly. + * NEWS: Update. + * INSTALL: Update. + * PACKAGING: Update. + + * configure: Fix bugs in earlier changes. + + * sail/game.c (maxturns): Tweak following comments from Hubert + Feyrer. + + * boggle/boggle/bog.c (checkdict): Tweak following comments from + Hubert Feyrer. + + * trek/trek.h: Modify form of structure/variable declarations + (following comments from Hubert Feyrer). + + * battlestar/battlestar.c (main): Give a sensible error message in + the default (should't happen) case. + +1999-09-15 Joseph S. Myers + + * COPYING: Update. + + * substfiles: Move manpages and some other non-headers into + substfiles2 (new file). + * quiz/datfiles/Makefrag (quiz_datfiles_all): Depend on + quiz/datfiles/index. + * configure: Only generate rules for files in substfiles2, don't + actually build them at configure time. + * TODO: Update. + + * configure: Allow for comments in exec.objs, exec.libs and + substfiles. + * exec.objs, exec.libs, substfiles: Add explanatory comments, + copyright notices and licence terms. + + * substscr: New file to handle substitution logic. Also generate + subst.rules makefile for redoing the substitutions if required. + * configure: Use it to do substitutions. Handle subst.rules. + + * fortune/unstr/unstr.c: Don't include at all. + * gomoku/pickmove.c: Likewise, unconditionally include + rather than . + + * fortune/fortune/fortune.c: Use macro NAMLEN rather than + strlen(dirent->d_name). + +1999-09-14 Joseph S. Myers + + * gomoku/main.c: Tweak for NetBSD alignment. + + * battlestar/com6.c, battlestar/extern.h, battlestar/globals.c, + pom/pom.6, pom/pom.c, snake/snake/Makefile.bsd, + snake/snake/snake.6.in, snake/snake/snake.c: Update from NetBSD + CVS after further merge. + + * fortune/fortune/fortune.c: Adjust (unsigned long) casts to use + (u_int32_t) and (u_int64_t) as appropriate. + + * TODO: Update. + + * phantasia/setup.c: Add checks for write errors. + + * fortune/fortune/fortune.6.in, fortune/fortune/pathnames.h.in: + Fix references to @usrlibdir@. + + * quiz/datfiles/pres: Update to OpenBSD version (minor + corrections, and includes vice-presidents). + * quiz/datfiles/index.in: Update. + +1999-09-13 Joseph S. Myers + + * battlestar/com6.c, battlestar/extern.h, battlestar/init.c, + cribbage/instr.c, gomoku/gomoku.h, gomoku/main.c, + phantasia/main.c, rogue/Makefile.bsd, rogue/machdep.c, + rogue/rogue.h, rogue/save.c: Update from NetBSD CVS after further + merge. + + * fortune/datfiles/Makefile.bsd, fortune/datfiles/limerick, + fortune/datfiles/limerick-o.fake, + fortune/datfiles/limerick-o.real, fortune/datfiles/limerick.fake, + fortune/datfiles/limerick.real, + fortune/datfiles/unamerican-o.fake, + fortune/datfiles/unamerican-o.real, + fortune/datfiles/unamerican.fake, + fortune/datfiles/unamerican.real: Update from NetBSD CVS + (offensive fortunes renamed to ...-o). + * fortune/datfiles/Makefrag: Update. + + * tests/*: Add testsuite. + * configure: Update. + * bcd/Makefrag, caesar/Makefrag, factor/Makefrag, morse/Makefrag, + number/Makefrag, pig/Makefrag, pom/Makefrag, ppt/Makefrag, + primes/Makefrag, wargames/Makefrag: Remove old test fragments. + * COPYING: Update. + * INSTALL: Update. + * NEWS: Update. + + * lib/fgetln.c, lib/getloadavg.c: Add copyright notice and licence + terms. + * include/signal.h, include/stdio.h, include/stdlib.h, + include/termios.h, include/tzfile.h, include/sys/cdefs.h, + include/sys/endian.h, include/sys/ttydefaults.h: Likewise. + * hide-game.in, install-man.in, install-score.in, mkdep: Likewise. + * configure, Makeconfig.in: Likewise. + * COPYING: Update. + +1999-09-12 Joseph S. Myers + + * wargames/wargames.6: Add copyright notice and licence terms; + convert to use tmac.doc. + * COPYING: Update. + + * snake/snake/snake.6.in: Fix substitution. + + * snake/snake/snake.c: #ifdef keypad functionality so snake can be + built/tested on systems without it. + + * AUTHORS: Fix entries for rogue and worm. + + * canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/crib.c, fish/fish.c, gomoku/main.c, hangman/main.c, + mille/mille.c, monop/monop.c, morse/morse.c, ppt/ppt.c, + quiz/quiz.c, robots/main.c, robots/robots.h, robots/score.c, + rogue/init.c, rogue/machdep.c, rogue/rogue.h, rogue/score.c, + snake/snake/snake.c, snake/snscore/snscore.c, tetris/scores.c, + tetris/tetris.c, tetris/tetris.h, trek/main.c, worm/worm.c, + wump/wump.c: Update from NetBSD CVS after merge of most security + changes. + +1999-09-11 Joseph S. Myers + + * wtf/acronyms: Updatef from NetBSD-current. + + * COPYING: New file. + * NEWS: Update. + * README: Update. + +1999-09-10 Joseph S. Myers + + * wump/wump.c: Update from NetBSD CVS. + + * rogue/curses.c: Remove. + * rogue/machdep.c, rogue/rogue.h: Remove traces of CURSES. + + * THANKS: Update. + * NEWS: Update. + + * gomoku/main.c (main): Comment tweak. + + * rogue/init.c: Add blank line. + + * robots/main.c (main): Restore errno before printing error + message. + + * robots/query.c: NetBSD alignment tweak. + + * atc/graphics.c, boggle/mkdict/mkdict.c, + boggle/mkindex/mkindex.c, cribbage/cribbage.h, + fortune/strfile/strfile.c, monop/initdeck.c: Update from NetBSD + CVS after further merge. + +1999-09-09 Joseph S. Myers + + * monop/initdeck.c (main): Whitespace tweaks. + + * backgammon/backgammon/main.c, boggle/boggle/extern.h, + canfield/canfield/canfield.c, fortune/fortune/fortune.c, + fortune/strfile/strfile.c, gomoku/pickmove.c, hangman/setup.c, + mille/save.c, monop/cards.c, monop/initdeck.c, monop/monop.c, + monop/monop.h, monop/prop.c, rogue/init.c, sail/sync.c, + snake/snscore/snscore.c, worm/worm.c, wump/wump.c: Update from + NetBSD CVS after merge of malloc checks and includes. + + * fortune/strfile/strfile.8: Update from NetBSD CVS. + + * mille/save.c: Move include up. + + * backgammon/backgammon/main.c: Move include up. Use + NULL as argument of time() instead of 0. + + * backgammon/common_source/subs.c, battlestar/com6.c, + battlestar/fly.c, boggle/boggle/bog.c, boggle/boggle/extern.h, + boggle/boggle/mach.c, boggle/boggle/prtable.c, + boggle/boggle/word.c, caesar/caesar.c, + canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/cards.c, cribbage/crib.c, cribbage/cribbage.h, + cribbage/io.c, cribbage/score.c, cribbage/support.c, + factor/factor.c, fish/fish.c, fortune/fortune/fortune.c, + fortune/strfile/strfile.c, fortune/unstr/unstr.c, gomoku/bdisp.c, + gomoku/gomoku.h, gomoku/main.c, gomoku/makemove.c, + gomoku/pickmove.c, gomoku/stoc.c, hangman/extern.c, + hangman/getword.c, hangman/hangman.h, hangman/main.c, + hangman/setup.c, mille/comp.c, mille/extern.c, mille/mille.c, + mille/mille.h, mille/move.c, mille/print.c, mille/save.c, + monop/cards.c, monop/execute.c, monop/getinp.c, monop/houses.c, + monop/initdeck.c, monop/misc.c, monop/monop.c, monop/monop.def, + monop/monop.ext, monop/monop.h, monop/morg.c, monop/print.c, + monop/spec.c, monop/trade.c, morse/morse.c, number/number.c, + phantasia/fight.c, phantasia/gamesupport.c, + phantasia/interplayer.c, phantasia/io.c, phantasia/main.c, + phantasia/misc.c, phantasia/phantglobs.c, phantasia/phantglobs.h, + phantasia/phantstruct.h, phantasia/setup.c, primes/pattern.c, + primes/pr_tbl.c, primes/primes.c, quiz/quiz.c, quiz/quiz.h, + quiz/rxp.c, random/random.c, robots/auto.c, robots/extern.c, + robots/init_field.c, robots/main.c, robots/move.c, robots/query.c, + robots/robots.h, robots/score.c, rogue/init.c, rogue/rogue.h, + sail/assorted.c, sail/dr_1.c, sail/dr_2.c, sail/driver.h, + sail/extern.h, sail/globals.c, sail/lo_main.c, sail/pl_1.c, + sail/pl_3.c, sail/pl_4.c, sail/pl_7.c, sail/sync.c, + snake/snake/snake.c, snake/snscore/snscore.c, tetris/scores.c, + tetris/screen.c, tetris/shapes.c, tetris/tetris.c, + tetris/tetris.h, trek/abandon.c, trek/capture.c, trek/cgetc.c, + trek/computer.c, trek/dcrept.c, trek/destruct.c, trek/dock.c, + trek/dumpgame.c, trek/getpar.h, trek/help.c, trek/impulse.c, + trek/lrscan.c, trek/phaser.c, trek/play.c, trek/rest.c, + trek/setwarp.c, trek/torped.c, trek/trek.h, trek/visual.c, + worm/worm.c: Update from NetBSD CVS after initial merge of const, + attribute and symbolic constant changes. + +1999-09-08 Joseph S. Myers + + * README: Update. + + * NEWS: Update. + +1999-08-29 Joseph S. Myers + + * INSTALL: Update. + +1999-08-22 Joseph S. Myers + + * README: Update. + * NEWS: Update. + * TODO: Update. + + * include/sys/endian.h: Add the 16-bit functions in case they get + used in the games later. Still does not include the little-endian + functions until some game starts using data in little-endian + format. + + * AUTHORS: Update. + * BUGS: Update. + +1999-08-21 Joseph S. Myers + + * include/sys/endian.h: New file (compatibility with changes in + NetBSD). + * fortune/fortune/fortune.c, fortune/strfile/strfile.8, + fortune/strfile/strfile.c, fortune/strfile/strfile.h, + fortune/fortune/unstr.c: Update from NetBSD anoncvs. + * fortune/datfiles/Makefrag: fortune data is now arch-independent. + * phantasia/Makefile.bsd, phantasia/main.c: Update from NetBSD + anoncvs. + * monop/cards.c, monop/deck.h, monop/execute.c, monop/getinp.c, + monop/houses.c, monop/initdeck.c, monop/jail.c, monop/misc.c, + monop/monop.c, monop/monop.def, monop/monop.h, monop/morg.c, + monop/print.c, monop/prop.c, monop/rent.c, monop/roll.c, + monop/spec.c, monop/trade.c: Update from NetBSD anoncvs. + * configure, Makeconfig.in: monop data is now arch-independent. + * NEWS: Update. + + * NEWS: Update. + +1999-08-18 Joseph S. Myers + + * fish/fish.6: Update from NetBSD anoncvs. + +1999-08-17 Joseph S. Myers + + * NEWS: Update. + + * snake/snake/snake.c: Move to use curses. Other minor fixes. + * snake/snake/move.c, snake/snake/snake.h: Remove (incorporated in + snake.c). + * snake/snake/snake.6.in: Update. + * exec.objs: Update. + * TODO: Update. + + * snake/snake/snake.c, snake/snake/move.c: Minor fixes from + OpenBSD. + +1999-08-16 Joseph S. Myers + + * backgammon/backgammon/main.c, backgammon/teachgammon/teach.c, + fortune/datfiles/fortunes2, snake/snake/move.c, + snake/snake/snake.h, tetris/screen.c: Update from NetBSD anoncvs. + +1999-08-14 Joseph S. Myers + + * AUTHORS: Update. + * NEWS: Update. + + * wtf/wtf.in: Update from NetBSD anoncvs. + + * wtf/acronyms: Update from NetBSD-current. + +1999-08-11 Joseph S. Myers + + * worm/worm.c: Update from NetBSD anoncvs. + +1999-08-09 Joseph S. Myers + + * sail/sync.c: Tweak for NetBSD alignment. + + * monop/monop.def: Tweak for NetBSD alignment. + + * rain/rain.c, worm/worm.c: Update from NetBSD anoncvs. + +1999-08-06 Joseph S. Myers + + * fortunes/datfiles/Makefile.bsd, + fortune/datfiles/unamerican.fake, + fortune/datfiles/unamerican.real, rain/Makefile.bsd, rain/rain.6, + rain/rain.c, worms/worms.6, worms/worms.c: Update from NetBSD + anoncvs. + * fortune/datfiles/Makefrag: Update. + +1999-07-29 Joseph S. Myers + + * adventure/hdr.h, adventure/init.c, atc/graphics.c, + backgammon/backgammon/main.c, backgammon/common_source/save.c, + battlestar/battlestar.6, battlestar/battlestar.c, + battlestar/cypher.c, battlestar/extern.h, battlestar/init.c, + battlestar/save.c, bcd/bcd.6, bcd/bcd.c, worm/worm.c, wtf/wtf.in: + Update from NetBSD anoncvs. + +1999-07-28 Joseph S. Myers + + * atc/grammar.y, backgammon/common_source/back.h, + backgammon/common_source/fancy.c, backgammon/common_source/subs.c: + Update from NetBSD anoncvs of yesterday. + +1999-07-27 Joseph S. Myers + + * TODO, SECURITY, PACKAGING: Add note on security hardening. + + * phantasia/phantglobs.h: Mark `catchalarm' as noreturn. + * sail/extern.h: Mark `play' as noreturn. + * snake/snake/snake.h: Mark `mainloop' as noreturn. + * tetris/screen.c: Mark `stopset' as noreturn. + * trek/trek.h: Mark `lose', `myreset', `play' and `win' as + noreturn. + + * bcd/bcd.6: Fix mdoc usage in references. + + * adventure/hdr.h, adventure/init.c: Fix use of linker commons. + * battlestar/extern.h, battlestar/globals.c: Likewise. + * backgammon/common_source/fancy.c: Likewise. + * sail/extern.h, sail/globals.c, sail/player.h, sail/pl_7.c: + Likewise. + * snake/snake/snake.h, snake/snake/snake.c: Likewise. + * tetris/screen.h, tetris/screen.c, tetris/tetris.h, + tetris/tetris.c: Likewise. + * trek/trek.h, trek/externs.c: Likewise. + * TODO: Update. + + * backgammon/common_source/save.c (save): Fix other case of + executable save files. + + * atc/graphics.c (getAChar): Be yet more paranoid about EINTR. + + * atc/input.c (delayb, benum): Revert old unsigned char change + (NetBSD now casts the subscripts to int). + + * configure: Check for fgetln and getloadavg in case they are + added to glibc in future. + * include/stdio.h: Update. + * include/stdlib.h: Update. + * lib/fgetln.c: Update. + * lib/getloadavg.c: Update. + * Makeconfig.in: Add GETLOADAVG_DEFS and FGETLN_DEFS. + * battlestar/Makefrag, dm/Makefrag, quiz/Makefrag: Use them. + +1999-07-26 Joseph S. Myers + + * battlestar/battlestar.6: Fix mdoc usage (use .Op Ar saved-file + instead of .Op saved-file). + + * wtf/wtf.in, wtf/wtf.6.in: Update from NetBSD anoncvs. + +1999-07-25 Joseph S. Myers + + * atc/grammer.y, atc/graphics.c, atc/input.c, atc/log.c, + atc/main.c, atc/update.c, backgammon/teachgammon/ttext1.c: Update + from NetBSD anoncvs. + +1999-07-24 Joseph S. Myers + + * atc/main.c: Change to use getopt. + + * substfiles: Fix error. + * backgammon/common_source/init.c: Whitespace alignment with + NetBSD. + +1999-07-23 Joseph S. Myers + + * Makefile.bsd, atc/grammar.y, backgammon/backgammon/main.c, + backgammon/teachgammon/teach.c, banner/banner.c, + battlestar/battlestar.c, battlestar/com6.c, battlestar/extern.h, + bcd/bcd.c, boggle/boggle/bog.c, caesar/caesar.c, trek/computer.c, + trek/externs.c, trek/getpar.c, trek/getpar.h, trek/help.c, + trek/kill.c, trek/lose.c, trek/out.c, trek/phaser.c, trek/play.c, + trek/setup.c, trek/shield.c, trek/srscan.c, trek/systemname.c, + trek/trek.h, trek/win.c: Update from NetBSD-current of 1999-07-23. + * wtf/wtf.6.in, wtf/wtf.in: New game. + * wtf/Makefrag: New file. + * configure, substfiles, Makeconfig.in: Update. + * wtf/acronyms: Acronym collection from NetBSD. + * README, bsd-games.lsm, NEWS: Update. + +1999-07-18 Joseph S. Myers + + * atc/grammar.y (wdef): Check sp->width instead of sp->height. + + * INSTALL, TODO: Update for egcs/gcc terminology change. + + * adventure/save.c, arithmetic/arithmetic.c, atc/Makefile.bsd, + atc/atc.6.in, atc/extern.h, atc/input.c, atc/log.c, atc/main.c, + atc/struct.h: Update from NetBSD-current of 1999-07-18. + + * battlestar/save.c, battlestar/extern.h, battlestar/init.c, + battlestar/cypher.c: Change saving interface again; new function + save_file_name() determines the name under which to save. + + * battlestar/com6.c, battlestar/extern.h: Don't include + in com6.c, include it instead of in extern.h. + +1999-07-16 Joseph S. Myers + + * adventure/hdr.h, adventure/main.c, adventure/save.c, + adventure/setup.c, adventure/wizard.c, + backgammon/backgammon/main.c, battlestar/com1.c, + battlestar/com2.c, battlestar/com5.c, battlestar/dayfile.c, + battlestar/globals.c, battlestar/nightfile.c, boggle/boggle/bog.c, + dm/dm.c, fish/fish.c, wump/wump.c: Update from NetBSD-current of + 1999-07-16 (more of my changes merged back in). + +1999-07-15 Joseph S. Myers + + * adventure/save.c (restore): Check for errors writing the save + file. + +1999-07-14 Joseph S. Myers + + * boggle/boggle/bog.c (checkdict): Use SEEK_SET with dictseek(). + + * atc/atc.6.in: New atc.6 from NetBSD-current of 1999-06-28, + parametrised. + * substfiles: Include atc/atc.6. + +1999-06-30 Joseph S. Myers + + * battlestar/fly.c, fish/fish.c, hunt/hunt/otto.c, + robots/Makefile.bsd, robots/auto.c, robots/extern.c, + robots/main.c, robots/make_level.c, robots/move.c, + robots/move_robs.c, robots/robots.6, robots/robots.h, + robots/score.c, rogue/Makefile.bsd, sail/player.h, trek/trek.6.in: + Update from NetBSD-current of 1999-05-18. + * exec.objs: Update. + * INSTALL, NEWS: Note score file format change. + * robots/auto.c, robots/robots.h, robots/extern.c, robots/score.c: + Fix new warnings. + * backgammon/common_source/back.h: Mark `norec' and `errexit' as + `noreturn'. + * hangman/hangman.h: Mark `die' as `noreturn'. + * hunt/huntd/hunt.h: Mark `bad_con', `bad_ver', `sigterm' and + `sigemt' as `noreturn'. + * phantasia/setup.c: Mark `Error' as `noreturn'. + * pom/pom.c: Mark `badformat' as `noreturn'. + * random/random.c: Mark `usage' as `noreturn'. + * rogue/rogue.h: Mark `killed_by' and `win' as `noreturn'. + +1999-04-10 Joseph S. Myers + + * BUGS: Update. + +1999-04-04 Joseph S. Myers + + * Version 2.7. + + * bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * mille/mille.c, mille/misc.c, mille/move.c, mille/save.c: Update + from NetBSD-current of 1999-04-02. + +1999-03-28 Joseph S. Myers + + * INSTALL: Update. + + * NEWS: Update. + + * mille/print.c (prscore): Mark parameter `for_real' possibly + unused. + + * atc/input.c: Mark unused parameters (detected by current egcs + snapshots but not by egcs 1.1) as such. + + * tetris/scores.c: Use error reporting functions. + + * hunt/huntd/driver.c (init): Fork and exit to ensure that + setsid() will work. + +1999-03-27 Joseph S. Myers + + * backgammon/backgammon/main.c (main): Fix scoring if you bear off + all your men and your opponent has borne off at least one man but + has a man in your inner board or on the bar (thanks to Stuart + Lamble ). + * THANKS: Update. + + * arithmetic/arithmetic.6, backgammon/common_source/Makefile.bsd, + battlestar/cypher.c, canfield/canfield/canfield.6.in, + countmail/countmail.6, dm/dm.conf.5.in, fortune/strfile/strfile.8, + gomoku/gomoku.6, random/random.6, tetris/tetris.c, worms/worms.6: + Update from NetBSD-current of 1999-03-26. + +1999-02-20 Joseph S. Myers + + * adventure/crc.c, adventure/hdr.h, adventure/init.c, + adventure/io.c, adventure/main.c, adventure/setup.c, + adventure/wizard.c, atc/Makefile.bsd, + backgammon/backgammon/main.c, backgammon/backgammon/text.c, + backgammon/backgammon/version.c, + backgammon/common_source/Makefile.bsd, + backgammon/common_source/back.h, backgammon/common_source/board.c, + backgammon/common_source/fancy.c, backgammon/common_source/init.c, + backgammon/common_source/save.c, backgammon/common_source/subs.c, + backgammon/common_source/table.c, + backgammon/teachgammon/Makefile.bsd, + backgammon/teachgammon/data.c, backgammon/teachgammon/teach.c, + backgammon/teachgammon/ttext1.c, backgammon/teachgammon/ttext2.c, + backgammon/teachgammon/tutor.c, backgammon/teachgammon/tutor.h, + battlestar/com1.c, battlestar/com4.c, battlestar/com6.c, + battlestar/dayobjs.c, battlestar/extern.h, battlestar/getcom.c, + battlestar/globals.c, battlestar/init.c, battlestar/misc.c, + battlestar/nightobjs.c, battlestar/parse.c, battlestar/room.c, + boggle/Makefile.bsd, boggle/boggle/Makefile.bsd, + boggle/mkdict/Makefile.bsd, boggle/mkindex/Makefile.bsd, + canfield/cfscores/Makefile.bsd, countmail/Makefile.bsd, + cribbage/Makefile.bsd, fish/Makefile.bsd, + fortune/datfiles/Makefile.bsd, fortune/unstr/Makefile.bsd, + monop/Makefile.bsd, morse/Makefile.bsd, ppt/Makefile.bsd, + primes/Makefile.bsd, quiz/Makefile.bsd, sail/assorted.c, + sail/dr_1.c, sail/dr_2.c, sail/dr_3.c, sail/dr_4.c, sail/dr_5.c, + sail/extern.h, sail/parties.c, sail/pl_1.c, sail/pl_3.c, + sail/pl_4.c, sail/pl_5.c, sail/pl_6.c, sail/pl_7.c, + sail/pl_main.c, sail/sync.c, snake/snscore/Makefile.bsd, + tetris/tetris.c, wargames/Makefile.bsd, wump/Makefile.bsd, + wump/wump.c: Update from NetBSD-current of 1999-02-19. + * backgammon/teachgammon/ttext1.c: Add more use of const. + +1999-01-21 Joseph S. Myers + + * fortune/fortune/fortune.c: Use strlen(d_name) rather than + incorrect #define d_namlen d_reclen. Should be conditionalised in + some way. + +1999-01-12 Joseph S. Myers + + * bcd/bcd.6: Include references to the relevant standards. + +1999-01-10 Joseph S. Myers + + * worms/worms.c (main): Use leaveok(). + + * rain/rain.c (main): Use leaveok(). + +1999-01-09 Joseph S. Myers + + * adventure/hdr.h: Add comment saying where to find original + source. + + * adventure/hdr.h, adventure/main.c, adventure/save.c, + adventure/wizard.c: Change saved to saveday where appropriate. + This shouldn't actually change the behaviour of the program, + except perhaps when saving a game fails, but makes things a lot + clearer. + + * pom/pom.c: Update from the 3rd edition of the reference book. + Make date calculation work before the epoch. Fix bug in + waxing/waning display near full moon. Use a sensible input date + format. (Based on Paul Janzen's work in OpenBSD.) + * pom/pom.6: Update. + +1999-01-08 Joseph S. Myers + + * battlestar/cypher.c (cypher): Add FALLTHROUGH comment as per + NetBSD policy. + + * backgammon/backgammon/main.c: Remove unused junk to limit number + of users (performed by dm); use \a instead of \007. + + * adventure/init.c, arithmetic/arithmetic.c, atc/grammar.y, + atc/graphics.c, atc/log.c, atc/main.c, atc/update.c, + backgammon/backgammon/main.c, backgammon/common_source/subs.c, + teachgammon/teach.c, battlestar/com6.c, battlestar/fly.c, + boggle/boggle/mach.c, canfield/canfield/canfield.c, cribbage/io.c, + cribbage/score.c, dm/dm.c, fortune/fortune/fortune.c, + fortune/unstr/unstr.c, gomoku/main.c, gomoku/pickmove.c, + hangman/main.c, hunt/hunt/hunt.c, hunt/hunt/otto.c, + hunt/huntd/faketalk.c, mille/mille.c, monop/monop.c, + phantasia/io.c, robots/main.c, rogue/init.c, sail/main.c, + sail/pl_1.c, sail/pl_7.c, snake/snake/snake.c, tetris/tetris.c, + trek/abandon.c, trek/capture.c, trek/cgetc.c, trek/computer.c, + trek/dcrept.c, trek/destruct.c, trek/dock.c, trek/dumpgame.c, + trek/help.c, trek/impulse.c, trek/lrscan.c, trek/phaser.c, + trek/play.c, trek/rest.c, trek/setwarp.c, trek/torped.c, + trek/visual.c, worm/worm.c: Change `unused' parameters to + `__unused__'. + + * bcd/bcd.6: Update from NetBSD-current of 1999-01-07. + * phantasia/oldplayer.h: Remove (removed in NetBSD-current on + response to my PR bin/6700, and unused since phantasia/convert.c + was removed some time ago). + * tetris/input.c, tetris/input.h, tetris/screen.c, + tetris/tetris.6.in, tetris/tetris.c, tetris/tetris.h: Update from + NetBSD-current of 1999-01-07 (adds piece preview option). + +1999-01-07 Joseph S. Myers + + * fortune/strfile/strfile.c (main): Flush output file and check + for write errors before closing it and exiting the program. + + * include/sys/cdefs.h: Use __unused__ in attribute, for cleanness + and NetBSD alignment. + +1999-01-01 Joseph S. Myers + + * fortune/strfile/strfile.c: Remove unused ALWAYS macro. + + * adventure/setup.c, boggle/mkdict/mkdict.c, + boggle/mkindex/mkindex.c, monop/initdeck.c: Flush stdout or output + file and check for errors on writing before terminating. + +1998-12-28 Joseph S. Myers + + * pig/pig.6: Include utility name with .Nm where needed. + + * TODO: Update. + + * atc/extern.h: Whitespace adjustment for NetBSD alignment. + + * battlestar/com1.c, battlestar/com2.c, battlestar/com5.c, + battlestar/dayfile.c, battlestar/globals.c, + battlestar/nightfile.c: Spelling and punctuation corrections from + OpenBSD. + +1998-12-23 Joseph S. Myers + + * worms/worms.c, worms/worms.6: Convert to use curses; add delay + option from OpenBSD; change to use functions; fix signal + handling. + * TODO: Update. + + * rain/rain.c, rain/rain.6: Convert to use curses; add delay + option from OpenBSD; fix signal handling. + * TODO: Update. + +1998-12-20 Joseph S. Myers + + * install-man.in: Use `ln -sf' rather than `ln -s'. How come this + never got noticed before? + + * Version 2.6. + + * configure: Really fix quiz/datfiles/index generation. + + * NEWS: Update. + * bsd-games.lsm: Update. + * bsd-games-non-free.lsm: Update. + +1998-12-18 Joseph S. Myers + + * ppt/ppt.c: Print a space between command line arguments (bugfix + from OpenBSD). + +1998-12-14 Joseph S. Myers + + * configure (warning_flags): Add -Wwrite-strings to defaults. + * TODO: Update. + * NEWS: Update. + + * sail/assorted.c, sail/dr_1.c, sail/dr_2.c, sail/driver.h, + sail/extern.h, sail/globals.c, sail/lo_main.c, sail/pl_3.c, + sail/pl_4.c, sail/pl_7.c: Use const where appropriate. + + * tetris/scores.c, tetris/screen.c, tetris/shapes.c, + tetris/tetris.c, tetris/tetris.h: Use const where appropriate. + + * snake/snake/move.c, snake/snake/snake.c, snake/snake/snake.h, + snake/snscore/snscore.c: Use const where appropriate. + +1998-12-12 Joseph S. Myers + + * sail/assorted.c, sail/dr_1.c, sail/dr_2.c, sail/dr_3.c, + sail/dr_4.c, sail/dr_5.c, sail/extern.h, sail/parties.c, + sail/pl_1.c, sail/pl_3.c, sail/pl_4.c, sail/pl_5.c, sail/pl_6.c, + sail/pl_7.c, sail/pl_main.c, sail/sync.c: Split Write() into two + separate functions for string and numeric arguments. + + * robots/extern.c, robots/init_field.c, robots/main.c, + robots/move.c, robots/query.c, robots/robots.h, robots/score.c: + Use const where appropriate. + + * quiz/quiz.c, quiz/quiz.h, quiz/rxp.c: Use const where + appropriate. + + * phantasia/gamesupport.c, phantasia/interplayer.c, + phantasia/io.c, phantasia/main.c, phantasia/misc.c, + phantasia/phantglobs.c, phantasia/phantglobs.h, + phantasia/phantstruct.h, phantasia/setup.c: Use const where + appropriate. + +1998-12-11 Joseph S. Myers + + * NEWS: Update. + + * monop/cards.c, monop/execute.c, monop/getinp.c, + monop/initdeck.c, monop/misc.c, monop/monop.def, monop/monop.ext, + monop/monop.h, monop/morg.c, monop/print.c, monop/spec.c, + monop/trade.c: Use const where appropriate. + + * trek/computer.c, trek/externs.c, trek/getpar.h, trek/getpar.c, + trek/help.c, trek/kill.c, trek/lose.c, trek/out.c, trek/phaser.c, + trek/play.c, trek/setup.c, trek/shield.c, trek/srscan.c, + trek/systemname.c, trek/trek.h, trek/win.c: Use const where + appropriate. + + * TODO: Update. + + * fortune/fortune/fortune.c: Use const where appropriate. + + * rain/rain.c: Use const where appropriate. + + * number/number.c: Use const where appropriate. + +1998-12-10 Joseph S. Myers + + * morse/morse.c: Use const where appropriate. + + * worm/worm.c: Use const where appropriate. + + * worms/worms.c: Include instead of providiing + prototypes for termcap functions; use const where appropriate; + tputs fixes. + + * wump/wump.c (instructions): Use const where appropriate. + + * phantasia/fight.c, phantasia/gamesupport.c, + phantasia/interplayer.c, phantasia/main.c, phantasia/misc.c: Use + symbolic argument with fseek. + + * sail/sync.c: Use symbolic argument with fseek. + + * monop/initdeck.c: Use symbolic argument with fseek. + + * monop/cards.c (get_card): Use symbolic argument with fseek. + + * hangman/getword.c (getword): Use symbolic argument with fseek. + + * fortune/fortune/fortune.c, fortune/strfile/strfile.c, + fortune/unstr/unstr.c: Use symbolic argument with fseek. + + * boggle/boggle/bog.c: Use symbolic argument with dictseek (which + gets passed to fseek). + + * BUGS: Update. + + * rogue/save.c (save_into_file): Check for allocation failure. + + * rogue/init.c: Check for allocation failure. + + * snake/snscore/snscore.c (main): Check for allocation failure. + + * worm/worm.c: Check for allocation failure. + + * monop/prop.c (add_list): Check for allocation failure. + + * monop/monop.c (getplayers): Check for allocation failure. + + * monop/initdeck.c (main): Check for allocation failure; use + symbolic argument for fseek; exit with error status if opening + output file fails. + + * monop/cards.c (set_up): Check for allocation failure. + * monop/monop.h: Include . + +1998-12-08 Joseph S. Myers + + * adventure/wizard.c (ciao): Avoid buffer overrun when reading + save file name. + + * morse/morse.c, phantasia/Makefile.bsd, quiz/Makefile.bsd, + rogue/hit.c, rogue/init.c, rogue/inventory.c, rogue/level.c, + rogue/machdep.c, rogue/message.c, rogue/monster.c, rogue/move.c, + rogue/object.c, rogue/pack.c, rogue/play.c, rogue/ring.c, + rogue/rogue.h, rogue/room.c, rogue/save.c, rogue/score.c, + rogue/throw.c, rogue/trap.c, rogue/use.c, rogue/zap.c, + wump/Makefile.bsd: Update from NetBSD-current of 1998-12-07. + +1998-12-07 Joseph S. Myers + + * atc/Makefile.bsd, atc/extern.c, atc/extern.h, atc/graphics.c, + atc/input.c, atc/log.c, atc/main.c, atc/update.c, + backgammon/backgammon/main.c, backgammon/common_source/subs.c, + backgammon/teachgammon/teach.c, bcd/bcd.6, boggle/Makefile.bsd, + boggle/boggle/Makefile.bsd, cribbage/Makefile.bsd, + fish/Makefile.bsd, fortune/datfiles/Makefile.bsd, + fortune/datfiles/fortunes, fortune/datfiles/fortunes.sp.ok, + monop/Makefile.bsd: Update from NetBSD-current of 1998-12-07. + + * exec.objs: Remove references to lib/select.o. + * lib/select.c: Remove. + + * hunt/huntd/driver.c (main): Initialise linger when required to + avoid need for select() wrapper. + + * hunt/huntd/ctl_transact.c (ctl_transact): Reinitialise wait to + avoid need for select() wrapper. + + * hunt/hunt/hunt.c (list_drivers): Reinitialise wait in each + cycle, so as not to need select() wrapper. + + * README: Update. + + * TODO: Update. + + * tetris/tetris.c (main): Die if fds 0, 1, 2 aren't already open. + + * snake/snake/snake.c (main): Die if score file gets fd < 3. + + * sail/main.c (main): Die if fds 0, 1, 2 aren't already open. + + * sail/sync.c: Size sync_lock and sync_file according to the + length required for the name formatted. + + * rogue/init.c (init): Die if fds 0, 1, 2 aren't already open. + + * robots/main.c (main): Die if the score file gets fd < 3. + + * phantasia/main.c (initialstate): Die if the first file opened + gets fd < 3. + + * cribbage/crib.c (main): Die if the score file gets fd < 3. + + * canfield/canfield/canfield.c (initall): Die if the score file + gets fd < 3. + + * battlestar/com6.c (open_score_file): Die if the score file gets + fd < 3. + + * atc/log.c (open_score_file): Die if the score file gets fd < 3. + +1998-12-06 Joseph S. Myers + + * TODO: Update. + + * sail/pl_main.c (initialize): Use snprintf, not sprintf. This + fixes a possible buffer overrun; it comes from RedHat and the + LSAP, though neither ever bothered to send it to me. + + * configure: Don't put `#!/bin/sh' and an `autogenerated' comment + in quiz/datfiles/index. + +1998-09-24 Joseph S. Myers + + * Version 2.5. + + * bsd-games.lsm, bsd-games-non-free.lsm: Update. + + * Paul Janzen has checked with the original author, and it turns + out the the BSD licence applies to boggle and obsoletes the old + one, so boggle can go in the main bsd-games package. + * boggle/README: Update accordingly. + * boggle/README.linux, boggle/Makefrag: Update accordingly. No + longer need to include uuencoded patch. + * boggle/boggle/helpfile: Update accordingly. + * INSTALL: Update accordingly. + * NEWS: Update accordingly. + * PACKAGING: Update accordingly. + * README, README.non-free: Update accordingly. + * bsd-games.lsm, bsd-games-non-free.lsm: Update accordingly. + + * TODO: Update accordingly. + * THANKS: Update accordingly. + +1998-09-23 Joseph S. Myers + + * NEWS: Update. + + * trek/main.c: Make Mother uid_t. + + * hunt/hunt/hunt.c: Don't declare errno. + + * hunt/huntd/hunt.h: Don't declare errno - include + instead. + + * factor/Makefrag: Define _GNU_SOURCE, for isblank(). + * number/Makefrag, primes/Makefrag: Likewise. + + * With glibc 2.1, various headers can be included with an + __need_foo preprocessor define to make them only define some + particular symbols; this interacts badly with multiple inclusion + protection on the header wrappers in bsd-games. Therefore, we + must not protect wrapper headers against multiple inclusion, but + instead make sure they are safe to be included multiple times and + only protect local bits that need it. + * include/signal.h: Don't protect against multiple inclusion - + only protect the sig_t definition that needs it. + * include/stdlib.h: Don't protect against multiple inclusion. + * include/stdio.h: Don't protect against multiple inclusion. + * include/termios.h: Don't protect against multiple inclusion. + * include/sys/cdefs.h: Don't protect against multiple inclusion. + * include/sys/ttydefaults.h: Don't protect against multiple + inclusion. + + * dm/dm.c: Don't include - it isn't needed, and doesn't + exist with some glibc versions. + + * INSTALL: Minor changes. + +1998-09-15 Joseph S. Myers + + * atc/Makefile.bsd, atc/extern.h, atc/input.c, atc/main.c, + backgammon/backgammon/backgammon.6.in, + backgammon/common_source/back.h, backgammon/common_source/fancy.c, + backgammon/common_source/save.c, backgammon/common_source/subs.c, + backgammon/teachgammon/tutor.h, banner/banner.c, + battlestar/extern.h, battlestar/save.c, boggle/boggle/extern.h, + caesar/caesar.c, canfield/canfield/canfield.c, + cribbage/cribbage.h, dm/dm.c, factor/factor.c, fish/fish.c, + fortune/datfiles/fortunes, fortune/fortune/fortune.c, + fortune/strfile/strfile.c, gomoku/gomoku.h, hunt/hunt/hunt.c, + hunt/huntd/hunt.h, mille/mille.h, number/number.c, pig/pig.c, + primes/primes.c, quiz/quiz.c, robots/robots.h, rogue/rogue.h, + sail/extern.h, snake/snake/snake.h, tetris/tetris.c, + tetris/tetris.h, worm/worm.c, worms/worms.c, wump/wump.c: Update + from NetBSD-current of 1998-09-14. + + * atc/games/ATC_Scores, sail/:file, sail/:scene, sail/:ship, + sail/:specs, trek/board.x: Removed (unused, and removed in + NetBSD-current of 1998-09-14 in response to PR bin/6083). + +1998-09-14 Joseph S. Myers + + * adventure/done.c, adventure/extern.h, adventure/io.c, + adventure/main.c, adventure/setup.c, adventure/subr.c, + adventure/vocab.c, arithmetic/arithmetic.c: Update from + NetBSD-current of 1998-09-14. + + * mille/move.c: Remove unused Movenames[] array. + + * mille/comp.c, mille/mille.h, mille/extern.c, mille/move.c, + mille/save.c, mille/print.c: Use const where appropriate. + + * robots/robots.h: #undef S_BONUS before defining. + + * mille/mille.h: #undef S_* constants before defining. + + * atc/def.h: #undef S_* constants before defining. + + * hunt/hunt/connect.c, hunt/huntd/hunt.h, hunt/hunt/main.c, + hunt/hunt/playit.c, hunt/huntd/answer.c, hunt/huntd/draw.c, + hunt/huntd/faketalk.c, hunt/huntd/get_names.c, + hunt/huntd/pathname.c, hunt/huntd/terminal.c, hunt/huntd/driver.c: + Use const where appropriate. + + * hangman/extern.c, hangman/hangman.h, hangman/setup.c: Use const + where appropriate. + +1998-09-13 Joseph S. Myers + + * gomoku/bdisp.c, gomoku/gomoku.h, gomoku/main.c, + gomoku/makemove.c, gomoku/pickmove.c, gomoku/stoc.c: Use const + where appropriate. + + * configure: Generate GNUmakefile, not Makefile - the makefile and + makefile fragments are thoroughly dependent on GNU Make. + + * backgammon/common_source/back.h: No longer any need to define + OXTABS. + * snake/snake/move.c: No longer any need to define CTRL or OXTABS. + * tetris/screen.c: No longer any need to define OXTABS. + * mille/misc.c: No longer any need to define CTRL. + * snake/snake/snake.c: No longer any need to define CTRL. + + * include/sys/ttydefaults.h: Define OXTABS if not already defined. + * include/termios.h: New file, also include . + + * THANKS: Update. + + * adventure/crc.c: Mark crctab[] const. + + * adventure/vocab.c (vocab): Use errx() for error messages. + + * adventure/main.c (main): Use bug(22) rather than printing "Error + 22". + + * adventure/io.c (rdesc): Use errx() for error messages. + + * monop/Makefile.bsd: Update from NetBSD-current of 1998-09-13. + + * adventure/crc.c, adventure/extern.h, adventure/io.c, + adventure/save.c, adventure/vocab.c: Update from NetBSD-current of + 1998-09-13 (const changes merged into NetBSD). + +1998-09-12 Joseph S. Myers + + * All games now updated from NetBSD-current of 1998-09-12. + + * adventure/extern.h, adventure/main.c, atc/def.h, atc/update.c, + backgammon/common_source/subs.c, battlestar/battlestar.6, + bcd/bcd.6, boggle/mkindex/mkindex.c, canfield/canfield/canfield.c, + hangman/hangman.h, hangman/main.c, hunt/huntd/hunt.h, + monop/execute.c, monop/monop.c, pom/pom.c, rogue/monster.c, + rogue/object.c, rogue/pack.c, rogue/room.c, sail/dr_2.c, + sail/sync.c, snake/snscore/snscore.c, trek/dumpgame.c, + trek/warp.c: Update from NetBSD-current of 1998-09-12. + +1998-09-11 Joseph S. Myers + + * BUGS: Update. + + * SECURITY: Update. + + * INSTALL: Update. + + * NEWS: Update. + + * TODO: Update. + +1998-09-10 Joseph S. Myers + + * adventure/io.c (pspeak): Give "Out of memory!" error on + allocation failure rather than bug(108). + +1998-09-07 Joseph S. Myers + + * boggle/README.linux, boggle/Makefrag: Update. + +1998-09-06 Joseph S. Myers + + * */Makefrag: Further changes for the new build system. + +1998-09-05 Joseph S. Myers + + * New configuration/build system, based on a single makefile that + includes makefile fragments that together describe all the + dependencies (using GNU make's automatic dependency generation). + See `Recursive Make Considered Harmful' by Peter Miller + + for a discussion of the advantages of this over recursive make. + * configure, install-score.in, Makeconfig.in: Changes for the new + system. + * Makefile: Removed. + * mkdep, exec.libs, exec.objs: New files. + * */Makefile, */*/Makefile: Renamed to Makefrag and changed for + the new system. + * hunt/Makeconfig: Adapted to the new system. + * backgammon/README.linux: Removed. + * TODO: Update. + * PACKAGING: Update. + * INSTALL: Update. + * fortune/fortune/pathnames.in: Remove TEST support. + * fortune/README.linux: Update. + + * Version 2.4. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * TODO: Update. + + * INSTALL: Update. + + * BUGS: Update. + +1998-09-04 Joseph S. Myers + + * backgammon/teachgammon/Makefile (COBJS): No need to include + odds.o. + + * TODO: Update. + + * NEWS: Update. + + * THANKS: Update. + + * dm/dm.c: Allow time-based games play to be turned off from 11pm + to midnight; remove spurious terminal full stop from err() string + (patch from Paul Janzen ). + +1998-09-02 Joseph S. Myers + + * NEWS: Update. + + * lib/fgetln.c (fgetln): Check for allocation failure. + + * hunt/huntd/shots.c (chkslime): Check for allocation failure. + + * hunt/huntd/expl.c (showexpl): Check for allocation failure. + + * hunt/hunt/hunt.c: Check for allocation failure. + + * gomoku/pickmove.c: Check for allocation failure. + * BUGS: Update about gomoku defect. + + * INSTALL: Update egcs 1.1 references. + + * battlestar/dayobjs.c (dayobjs): Add missing initialiser at end. + * battlestar/nightbojs.c (nightobjs): Likewise. + +1998-09-01 Joseph S. Myers + + * backgammon/common_source/fancy.c (getcaps): Check for allocation + failure. + + * atc/graphics.c (loser): Check for p being NULL, which it could + be if we tun out of memory. + + * atc/update.c: Allow for newplane() to return NULL if out of + memory. + + * adventure/vocab.c (vocab): Check for memory allocation failure. + + * adventure/io.c (rtrav): Check for memory allocation failure. + + * NEWS: Update. + + * rogue/save.c (save_into_file): Avoid buffer overrun. + + * rogue/Makefile (object.o): Build object.o with + -fwritable-strings - the other files don't need it. Also don't + build curses.c. + + * TODO: Update. + + * rogue/rogue.h: Undefine CURSES after including . + + * rogue/rogue.h, rogue/hit.c, rogue/message.c, rogue/init.c, + rogue/machdep.c, rogue/save.c, rogue/inventory.c, rogue/object.c, + rogue/level.c, rogue/monster.c, rogue/pack.c, rogue/play.c, + rogue/ring.c, rogue/room.c, rogue/score.c, rogue/throw.c, + rogue/trap.c, rogue/use.c, rogue/zap.c, rogue/move.c: Use const + where appropriate. + + * fish/fish.c: Use const where appropriate. + + * phantasia/io.c (getanswer): Mark loop, oldx, oldy volatile. + +1998-08-31 Joseph S. Myers + + * adventure/setup.c (main): String passed to err() shouldn't have + full stop at its end. + + * factor/factor.c, primes/pr_tbl.c, primes/primes.c, + primes/pattern.c: Use const where appropriate. + + * dm/dm.c: Use const where appropriate. + + * cribbage/cribbage.h, cribbage/cards.c, cribbage/instr.c, + cribbage/io.c, cribbage/score.c, cribbage/support.c: Use const + where appropriate. + +1998-08-30 Joseph S. Myers + + * NEWS: Update. + + * All games now updated from NetBSD-current of 1998-08-30. + + * adventure/extern.h, adventure/hdr.h, adventure/init.c, + adventure/io.c, backgammon/backgammon/main.c, + backgammon/common_source/save.c, backgammon/teachgammon/teach.c, + battlestar/com5.c, boggle/boggle/bog.c, + canfield/canfield/canfield.c, canfield/cfscores/cfscores.c, + cribbage/crib.c, cribbage/score.c, fortune/fortune/fortune.c, + hunt/hunt/hunt.c, monop/cards.c, monop/morg.c, phantasia/fight.c, + phantasia/main.c, phantasia/misc.c, sail/dr_1.c, sail/pl_3.c, + sail/pl_7.c, sail/sync.c, trek/kill.c, trek/move.c, trek/nova.c, + trek/shield.c, wump/wump.c: Update from NetBSD-current of + 1998-08-30. + + * dm/dm.c (main): Do unsetenv("TZ") to prevent people cheating on + the times they can play. + + * atc/main.c (main): Remove comment on ICRNL change. + * atc/input.c: Remove CRTOKEN stuff (conditional on SYSV) - no + need for it with ICRNL. + +1998-08-29 Joseph S. Myers + + * battlestar/com5.c (give): Add explanatory comment. + +1998-08-28 Joseph S. Myers + + * battlestar/com5.c (give): Proper fix this time: reset wordnumber + before doing an error return. + + * atc/graphics.c (getAChar): Check against EOF, not -1; + clearerr(stdin) while the error occurs since the error indicator + may have been set; initialise errno to avoid problems with a real + EOF and errno left as EINTR. + + * boggle/boggle/bog.c (compar): Use const more. + + * INSTALL: Update. + + * boggle/boggle/bog.c (main): Change linux/PURE variants to + NEW_STYLE define. + * boggle/boggle/Makefile: NEW_STYLE is default. + * boggle/Makefile (linux-patch): Change construction of Linux + patch. + * boggle/README.linux: Adjust accordingly. + * INSTALL: Likewise. + + * sail/extern.h, sail/dr_1.c, sail/dr_2.c, sail/dr_3.c: Rename + strend() to str_end(), isolated() to is_isolated(), toughmelee() + to is_toughmelee(). + + * phantasia/phantdefs.h: #undef S_* constants before definition. + + * monop/monop.h, monop/misc.c, monop/trade.c: Rename isnot_monop() + to is_not_monop(). + + * mille/mille.h, mille/comp.c, mille/init.c, mille/move.c, + mille/types.c: Rename issafety to is_safety, isrepair to + is_repair. + +1998-08-27 Joseph S. Myers + + * hunt/huntd/hunt.h, hunt/huntd/draw.c, hunt/huntd/shots.c: Rename + isplayer to is_player. + + * gomoku/gomoku.h, gomoku/main.c: Rename log() to glog(). + + * cribbage/cards.c, cribbage/cribbage.h, cribbage/io.c: Rename + isone() to is_one(). + + * backgammon/common_source/fancy.c, + backgammon/common_source/back.h: Remove tos(). + + * boggle/boggle/help.c (help): Make change to use redrawwin() + conditional on NCURSES_VERSION. + + * configure: Suggest mode 2770 for sail directory, better than + 0770. + + * NEWS: Update. + + * PACKAGING: Add new Warnings section. + + * battlestar/extern.h, battlestar/com6.c, battlestar/init.c: + Change uname[] to username[]. + + * backgammon/teachgammon/tutor.h: Mark leave() and tutor() + noreturn. + + * TODO: Update. + + * BUGS: Update. + +1998-08-26 Joseph S. Myers + + * adventure/vocab.c (vocab): Exit with status 1 on error. + + * adventure/main.c (main): Exit with status 1 on error. + + * adventure/io.c (rdesc): Exit with status 1 on error. + + * adventure/hdr.h (FLUSHLINE): Handle EOF. + + * adventure/io.c: Handle EOF. + + * adventure/wizard.c (ciao): Handle EOF. + + * adventure/setup.c: Don't put \n in error strings (err and errx + add it). + + * backgammon/backgammon/main.c: Change condition on ospeed being + declared to #ifndef NCURSES_VERSION. + * backgammon/teachgammon/teach.c: Likewise. + * snake/snake/move.c: Likewise. + * snake/snake/snake.h: Likewise. + * tetris/screen.c: Likewise. + + * backgammon/backgammon/text.c (text): Switch order of char and + const. + + * battlestar/cypher.c (cypher): In take all, handle BATHGOD and + NORMGOD properly. + + * rogue/machdep.c (md_slurp): Use POSIX version unconditionally. + + * hunt/huntd/driver.c (init): Use setsid() to become session + leader. + + * canfield/canfield/canfield.c: Use const where appropriate. + + * canfield/cfscores/cfscores.c: Use const where appropriate. + + * caesar/caesar.c: Use const where appropriate. + + * rogue/rogue.h: Condition some prototypes on #ifdef CURSES. + +1998-08-25 Joseph S. Myers + + * atc/graphics.c (getAChar): Just use SYSV version always rather + than conditioning on SYSV || __linux__; the efficiency loss on + systems where getchar() retries is insignificant. + + * adventure/extern.h, adventure/init.c, adventure/main.c, + adventure/subr.c, adventure/vocab.c, adventure/wizard.c: Update + from NetBSD-current of 1998-08-25. + + * boggle/README.linux: Rebuild. + + * configure: Suggest sail directory should not be world + accessible. + + * sail/sync.c: Use egid when checking for file existence, so that + the sail directory can be mode 770. + + * boggle/boggle/extern.h, boggle/boggle/word.c, + boggle/boggle/prtable.c, boggle/boggle/mach.c, + boggle/boggle/bog.c: Use const where appropriate. + +1998-08-24 Joseph S. Myers + + * arithmetic/arithmetic.c: Use const where appropriate. + + * include/sys/cdefs.h: Use const in __RCSID and __COPYRIGHT. + + * bcd/bcd.c: Use const where appropriate. + + * mille/save.c (rest_f): Use O_RDONLY in open(). + + * adventure/subr.c, adventure/extern.h: Make checkhints(), + closing() and caveclose() return void. + + * adventure/subr.c, adventure/extern.h: Make bug() return void. + + * adventure/subr.c, adventure/extern.h: badmove()'s return value + is never used, so make it void. + + * adventure/extern.h: twrite() returns void, and is conditioned on + #ifdef DEBUG. + + * adventure/io.c, adventure/extern.h: Remove unused function + confirm(). + + * adventure/done.c, adventure/extern.h, adventure/main.c: die() + can only return 2000, so make it void. + + * battlestar/com2.c, battlestar/com3.c, battlestar/cypher.c: + Update from NetBSD-current of 1998-08-24. + + * battlestar/init.c (getutmp): Use strncpy(). + + * battlestar/extern.h, battlestar/globals.c, battlestar/words.c, + battlestar/dayobjs.c, battlestar/nightobjs.c, battlestar/misc.c, + battlestar/init.c, battlestar/com4.c, battlestar/parse.c, + battlestar/save.c, battlestar/getcom.c, battlestar/com1.c, + battlestar/com6.c, battlestar/room.c: Use const where appropriate. + + * banner/banner.c: Use const where appropriate. + + * adventure/io.c: Make tape, iotape const. + + * backgammon/teachgammon/Makefile: Add dependency on tutor.h. + + * backgammon/backgammon/main.c, backgammon/backgammon/text.c, + backgammon/backgammon/version.c: Use const where appropriate. + + * backgammon/common_source/save.c: Use , not extern int + errno. + + * backgammon/teachgammon/tutor.c, backgammon/teachgammon/tutor.h, + backgammon/teachgammon/data.c, backgammon/teachgammon/teach.c, + backgammon/teachgammon/ttext1.c, backgammon/teachgammon/ttext2.c: + Use const where appropriate. + + * backgammon/backgammon/backgammon.6.in, + backgammon/common_source/save.c: Remove nonsense about executing + save files; open them without execute permission. + + * backgammon/common_source/save.c: Use symbolic constants in + open() and for errno. + + * backgammon/common_source/fancy.c, + backgammon/common_source/back.h, backgammon/common_source/save.c, + backgammon/common_source/subs.c, backgammon/common_source/init.c, + backgammon/common_source/table.c, + backgammon/common_source/board.c: Use const where appropriate. + + * backgammon/common_source/subs.c, + backgammon/common_source/back.h: Remove strset() (not used). + +1998-08-23 Joseph S. Myers + + * TODO: Update. + + * atc/input.c, atc/extern.h, atc/graphics.c, atc/update.c, + atc/main.c, atc/extern.c, atc/log.c: Use const where appropriate. + + * adventure/hdr.h, adventure/init.c: Make delhit volatile + sig_atomic_t; only assign to it. + + * adventure/crc.c, adventure/extern.h, adventure/io.c, + adventure/save.c, adventure/vocab.c: Use const where appropriate. + + * adventure/vocab.c, adventure/extern.h: Make copystr(), weq() and + length() into macros that use standard C library functions. + + * adventure/wizard.c, adventure/extern.h, adventure/main.c: Remove + unused arg of ciao(). + + * adventure/wizard.c, adventure/extern.h, adventure/init.c, + adventure/main.c: Remove unused arg of Start(). + + * adventure/subr.c, adventure/extern.h, adventure/main.c: Remove + unused arg of dark(). + + * adventure/subr.c, adventure/extern.h, adventure/main.c: Remove + unused arg of liq(). + + * adventure/init.c, adventure/extern.h, adventure/main.c: Remove + unused arg of init(). + +1998-08-21 Joseph S. Myers + + * sail/extern.h, sail/main.c, sail/dr_main.c: Remove handling of + being setuid - nowadays games only run setgid. + + * rogue/machdep.c (md_shell): Remove unnecessary setuid(). + + * fish/fish.c (instructions): Remove setuid() and setgid() in + child, no longer necessary. + + * INSTALL: Add note about the desirability of using tmac.doc from + NetBSD. + + * worm/worm.6: Revert unnecessary changes. + + * hangman/hangman.6.in: Revert unnecessary changes. + + * dm/dm.8.in: Revert unnecessary changes. + + * bcd/bcd.6: Revert unnecessary changes. + + * backgammon/backgammon/backgammon.6.in: Revert some unnecessary + changes. + +1998-08-20 Joseph S. Myers + + * hunt/hunt/hunt.c: Include for MAXHOSTNAMELEN. + + * snake/snake/move.c, snake/snake/snake.h, snake/snake/snake.c: + Rename raw() to my_raw() (from Joey Hess ). + + * robots/robots.h: Include (from Joey Hess + ). + +1998-08-19 Joseph S. Myers + + * number/number.c (convert): Decrement len when there's a minus + sign. + + * Version 2.3. + + * sail/Makefile (install): Use install prefix. + + * NEWS: Update. + + * All games now updated from NetBSD-current of 1998-08-19. + + * tetris/tetris.c: Update from NetBSD-current of 1998-08-19. + + * tetris/screen.c: Update from NetBSD-current of 1998-08-19. + + * TODO: Update. + + * NEWS: Update. + + * bsd-games.lsm: Update. + + * AUTHORS (countmail): Restore. + + * README: Update. + + * countmail/*: Restore, updated from NetBSD-current of 1998-08-19 + (which has a licence for it). + + * atc/input.c: Update from NetBSD-current of 1998-08-19. + + * adventure/Makefile.bsd: Update from NetBSD-current of + 1998-08-19. + + * SECURITY: Update. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * boggle/README.linux: Regenerate. + + * NEWS: Update. + + * sail/sync.c: Restore privileges when appropriate. + + * sail/misc.c (logger): Restore privileges for file open. + + * sail/main.c (main): Initialise gid and egid; drop egid leaving + saved gid. + + * sail/extern.h: Add gid and egid. + + * sail/Makefile (install): Install sail directory. + + * sail/sync.c: Use defines from pathnames.h. + + * sail/pathnames.h.in: Put definitions here. + + * Makeconfig.in: Add appropriate macros. + + * configure: Configure a directory for sail temporary files. + + * sail/*: Revert previous changes. Sail needs to keep privileges + for sync file handling. + + * atc/log.c (log_score): Fix truncate logic. + + * configure: Remove some of the less useful warning flags just + added. + + * wump/wump.c (int_compare): Use const. + + * robots/score.c (cmp_sc): Use const. + + * fortune/strfile/strfile.c (cmp_str): Use const. + + * boggle/boggle/bog.c (compar): Use const. + + * atc/log.c (compar): Use const. + + * configure: Add more warning flags to the default. + +1998-08-18 Joseph S. Myers + + * INSTALL: Minor changes. + + * wump/wump.c: Mark usage() noreturn. + + * worms/worms.c: Mark nomem() and onsig() noreturn. + + * worm/worm.c: Mark leave() and crash() noreturn. + + * tetris/tetris.c: Mark usage() and onintr() noreturn. + + * tetris/tetris.h: Mark stop() noreturn. + + * snake/snake/snake.h: Mark done() and stop() noreturn. + + * sail/extern.h: Mark leave() and choke() noreturn. + + * TODO: Update. + + * rogue/rogue.h: Mark clean_up(), error_save(), md_exit(), + put_scores() and sf_error() noreturn. + + * robots/robots.h: Mark quit() noreturn. + + * gomoku/gomoku.h: Mark quit(), quitsig() and panic() noreturn. + + * quiz/quiz.c: Mark usage() noreturn. + + * primes/primes.c: Mark usage() noreturn. + + * pig/pig.c: Mark usage() noreturn. + + * number/number.c: Mark usage() noreturn; remove spurious toobig() + prototype (no such function defined or used). + + * mille/mille.h: Mark die() noreturn. + +1998-08-17 Joseph S. Myers + + * hunt/huntd/hunt.h: Mark cleanup() noreturn. + + * hunt/hunt/hunt.c: Mark leave() noreturn. + + * fortune/strfile/strfile.c: Mark usage() noreturn. + + * fortune/fortune/fortune.c: Mark usage() noreturn. + + * fish/fish.c: Mark usage() noreturn; actually use it. + + * cribbage/cribbage.h: Mark rint() noreturn. + + * factor/factor.c: Mark usage() noreturn. + + * dm/dm.c: Mark play() noreturn. + + * canfield/canfield/canfield.c: Mark cleanup() noreturn. + + * caesar/caesar.c: Mark printit() noreturn. + + * boggle/boggle/extern.h: Mark usage() noreturn. + * boggle/README.linux: Rebuild. + + * battlestar/extern.h: Mark die(), diesig() and live() noreturn. + + * backgammon/common_source/back.h: Mark getout() noreturn. + + * atc/extern.h: Make loser() and log_score_quit() noreturn. + + * arithmetic/arithmetic.c: Mark intr() and usage() noreturn. + + * adventure/extern.h: Mark done() noreturn. + + * adventure/subr.c (bug): Use exit status 1 for a fatal error. + + * snake/snake/snake.c (post): Use SEEK_SET rather than 0 in + lseek(). + + * robots/score.c (score): Use SEEK_SET rather than 0 in lseek(). + + * fortune/fortune/fortune.c (get_fort): Use SEEK_SET rather than 0 + in lseek(). + + * canfield/cfscores/cfscores.c (printuser): Use SEEK_SET rather + than 0 in lseek(). + + * canfield/canfield/canfield.c (suspend): Use SEEK_SET rather than + 0 in lseek(). + (cleanup): Same. + + * SECURITY: Clarify. + +1998-08-15 Joseph S. Myers + + * Version 2.2. + + * robots/score.c (score): Check for score file not having been + successfully opened. + + * README: Update. + + * INSTALL: Update. + + * configure: Fix typo. + + * atc/log.c (log_score): Use it, avoiding possible buffer overrun. + + * atc/struct.h (SCORE_SCANF_FMT): Define to be format for scnaf + from score file, with appropriate max field widths. + + * configure: Update. + + * bsd-games.lsm: Update. + + * TODO: Update. + + * AUTHORS (countmail): Remove. + + * NEWS: Update. + + * README: Update. + + * countmail/*: Remove. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * PACKAGING: Update. + + * BUGS: Update. + + * NEWS: Update. + + * TODO: Update. + + * SECURITY: New file, describing security issues, taken from + INSTALL. + * INSTALL: Update. + + * wump/wump.c (main): Revoke setgid privileges. + + * worms/worms.c (main): Revoke setgid privileges. + + * worm/worm.c (main): Revoke setgid privileges. + + * trek/main.c (main): Revoke setgid privileges. + + * tetris/tetris.c, tetris/score.c: Only have privileged egid when + needed. + + * tetris/tetris.h: New variables gid, egid. + + * snake/snscore/snscore.c (main): Revoke setgid privileges. + + * snake/snake/snake.c: Open score files as early as possible, then + drop setgid privileges. + + * sail/misc.c (open_log): New function: opens log file. + * sail/extern.h: Declare this. + * sail/misc.c (logger): Use already open log file. + * sail/main.c: Open log file, then drop privileges. + + * rogue/init.c, rogue/machdep.c, rogue/score.c: Only have + privileged egid when needed. + + * rogue/init.c: New variables gid, egid; initialise them. + * rogue/rogue.h: Declare them; include and + . + + * robots/main.c (main), robots/extern.h, robots/score.c (score): + Open score file at start, then drop privileges (from OpenBSD). + + * cribbage/crib.c (main): Set close-on-exec flag on log file. + + * random/random.c (main): Revoke setgid privileges. + + * rain/rain.c (main): Revoke setgid privileges. + + * quiz/quiz.c (main): Revoke setgid privileges. + + * primes/primes.c (main): Revoke setgid privileges. + + * ppt/ppt.c (main): Revoke setgid privileges. + + * pom/pom.c (main): Revoke setgid privileges. + + * pig/pig.c (main): Revoke setgid privileges. + + * number/number.c (main): Revoke setgid privileges. + + * morse/morse.c (main): Revoke setgid privileges. + + * monop/monop.c (main): Revoke setgid privileges. + + * mille/mille.c (main): Revoke setgid privileges. + + * hunt/hunt/hunt.c (main): Revoke setgid privileges. + + * hangman/main.c (main): Revoke setgid privileges. + + * gomoku/main.c (main): Revoke setgid privileges. + + * fortune/fortune/fortune.c (main): Revoke setgid privileges. + + * fish/fish.c (main): Revoke setgid privileges. + + * factor/factor.c (main): Revoke setgid privileges. + + * cribbage/crib.c (main): Open log file then drop privileges as + soon as possible. + + * canfield/canfield/canfield.c (initall): Use SEEK_SET instead of + 0 as argument of lseek(). + + * canfield/cfscores/cfscores.c (main): Revoke setgid privileges. + + * canfield/canfield/canfield.c (initall): Revoke setgid privileges + after opening the score file. + +1998-08-13 Joseph S. Myers + + * boggle/README.linux: Rebuild. + + * caesar/caesar.c (main): Revoke setgid privileges. + + * boggle/boggle/bog.c (main): Revoke setgid privileges. + + * bcd/bcd.c (main): Revoke setgid privileges. + + * battlestar/com6.c (open_score_file), battlestar/extern.h: New + function. + * battlestar/com6.c (post): Use already opened score file. + * battlestar/battlestar.c (main): Open score file then revoke + setgid privileges. + + * atc/input.c (gettoken): Remove unnecessary setuid() call. + +1998-08-11 Joseph S. Myers + + * AUTHORS (paranoia): Removed entry. + + * bsd-games-non-free.lsm: Update. + + * INSTALL: Update. + + * atc/log.c (open_score_file): Set close-on-exec flag. + + * TODO: Update. + + * PACKAGING: Update. + + * Credits: Split into AUTHORS and THANKS; update. + + * BUGS: Update. + +1998-08-09 Joseph S. Myers + + * battlestar/extern.h, battlestar/save.c, battlestar/init.c, + battlestar/cypher.c, battlestar/battlestar.c: New interface for + saving, passes length and does dynamic allocation rather than + using fixed length buffers. + * battlerstar/Makefile: Include fgetln. + + * banner/banner.c (main): Revoke setgid privileges. + + * backgammon/backgammon/main.c (main): Revoke setgid privileges. + + * atc/log.c: Cast getuid() return value to int for %d format. + + * atc/log.c (open_score_file), atc/extern.h: New function. + * atc/log.c (log_score): Use already opened score file. Truncate + the score file to the length written. + * atc/main.c (main): Open the score file and then revoke setgid + privileges. + + * arithmetic/arithmetic.c (main): Revoke setgid privileges. + + * adventure/main.c (main): Revoke setgid privileges. + + * snake/snscore/snscore.c (main): Take no arguments. + + * hangman/extern.h, hangman/main.c (main): Take no arguments. + + * canfield/canfield/canfield.c (main): Take no arguments. + +1998-08-07 Joseph S. Myers + + * README.non-free: Update. + + * README: Update. + + * paranoia/*: Remove. + + * NEWS: Update. + + * INSTALL: Update. + +1998-08-06 Joseph S. Myers + + * configure: Add facility to specify a list of games not to build. + + * TODO: Update. + + * README: Update. + + * PACKAGING: Update. + + * Credits: Update. + +1998-07-29 Joseph S. Myers + + * NEWS: Update. + + * INSTALL: Update. + + * PACKAGING: New file - information for those packaging bsd-games + for a Linux distribution. + +1998-07-28 Joseph S. Myers + + * TODO: Update. + + * substfiles: Include hide-game (no need to special case it). + * configure, Makefile: Don't special case hide-game. + + * hide-game.in: No longer needs #!/bin/sh, since added by + configure. + * install-score.in: Likewise. + * install-man.in: Likewise. + * caesar/rot13.in: Likewise. + + * configure (substitute): Put comments at the top of generated + files saying they are automatically generated. + +1998-07-27 Joseph S. Myers + + * All games (expect paranoia) now updated from NetBSD-current of + 1998-07-27 (some of the Linux changes merged back to NetBSD). + + * snake/snscore/snscore.c: Update from NetBSD-current of + 1998-07-27. + + * sail/dr_2.c, sail/extern.h: Update from NetBSD-current of + 1998-07-27. + + * rogue/init.c, rogue/machdep.c, rogue/monster.c, rogue/rogue.h: + Update from NetBSD-current of 1998-07-27. + + * robots/move.c: Update from NetBSD-current of 1998-07-27. + + * pom/pom.c: Update from NetBSD-current of 1998-07-27. + + * phantasia/phantglobs.c, phantasia/phantglobs.h: Update from + NetBSD-current of 1998-07-27. + + * mille/mille.h, mille/misc.c: Update from NetBSD-current of + 1998-07-27. + + * battlestar/dayfile.c, battlestar/nightfile.c: Update from + NetBSD-current of 1998-07-27 (changes merged - this changes rcsids + only). + + * atc/atc.6, atc/log.c: Update from NetBSD-current of 1998-07-27. + + * adventure/wizard.c: Update from NetBSD-current of 1998-07-27. + + * configure: Allow defaults to be taken from a config.params file, + which can specify non-interactive operation. + +1998-07-25 Joseph S. Myers + + * configure: Make a /bin/sh script; use printf instead of echo -n + so that a POSIX.2 shell suffices. + + * INSTALL: Update. + + * TODO: Update. + +1998-07-22 Joseph S. Myers + + * NEWS: Update. + + * rogue/machdep.c (md_gseed): Use time, not pid, as seed, so you + don't get the same game each time if you boot the system up to + play rogue (patch from Bill Lash ). + * rogue/monster.c (mv_mons): If a dragon kills a monster on + level_monsters, mv_mons can move things in the free_list, so don't + move monsters not on level_monsters (patch from Bill Lash + ). + + * All games (except paranoia) now updated from NetBSD-current of + 1998-07-11. + + * worms/worms.6: Update from NetBSD-current of 1998-07-11. + + * sail/*: Update from NetBSD-current of 1998-07-11. + + * pom/*: Update from NetBSD-current of 1998-07-11. + + * hunt/*/*: Update from NetBSD-current of 1998-07-11. + + * dm/*: Update from NetBSD-current of 1998-07-11. + +1998-07-21 Joseph S. Myers + + * countmail/countmail.6: Update from NetBSD-current of 1998-07-11. + + * boggle/*/Makefile.bsd: Update from NetBSD-current of 1998-07-11. + + * battlestar/extern.h: Update from NetBSD-current of 1998-07-11. + + * backgammon/backgammon/main.c: Update from NetBSD-current of + 1998-07-11. + + * atc/*: Update from NetBSD-current of 1998-07-11. + * atc/Makefile: Use grammar.h instead of y.tab.h. + + * arithmetic/arithmetic.6: Update from NetBSD-current of + 1998-07-11. + + * quiz/datfiles/europe: Fix typo (patch from G. Branden Robinson + ). + + * TODO: Update. + + * BUGS: Update. + + * README.non-free: Update. + + * YEAR2000: Minor changes. + + * README: Update. + + * INSTALL: Update. + + * Credits: Minor changes. + +1998-07-20 Joseph S. Myers + + * YEAR2000: New file, year 2000 statement for bsd-games. + + * adventure/wizard.c (datime): Handle leap years correctly + according to the Gregorian calendar (could be perceived as fixing + a year 2000 problem, but it was broken wrt leap years anyway). + + * pom/pom.c (main): Add 1900 to year as argument of isleap() + (fixes year 2000 problem). + +1998-07-03 Joseph S. Myers + + * Credits: Add introductory paragraph. + +1998-04-11 Joseph S. Myers + + * Makefile: Add some standard GNU makefile targets. + +1998-04-07 Joseph S. Myers + + * configure: Update message before selecting pager. + + * wump/wump.c (instructions): Use POSIX.2 pager behaviour. + + * quiz/quiz.c (show_index): Use POSIX.2 pager behaviour. + + * fish/fish.c (instructions): Use POSIX.2 pager behaviour. + +1998-04-06 Joseph S. Myers + + * cribbage/instr.c (instructions): Use POSIX.2 pager behaviour. + +1998-04-04 Joseph S. Myers + + * BUGS: Update. + + * INSTALL: Update for changed paths. + + * configure: Change default paths to FHS ones; change some + comments and messages. + + * bsd-games.lsm (Primary-site): Make sunsite, since tsx-11 is + somewhat unreliable and laggardly about installing new releases. + +1998-03-29 Joseph S. Myers + + * Version 2.1. + + * TODO: Update. + + * README: Update. + + * INSTALL: Update. + + * Credits: Update. + +1998-03-28 Joseph S. Myers + + * boggle/README.linux: Rebuild. + + * bsd-games.lsm, bsd-games-non-free.lsm, NEWS: Update. + + * configure: Don't ask about libc version or BSD signal defines. + + * Makeconfig.in (BSD_SIGNAL_DEFS): Removed. + + * */Makefile, */*/Makefile, hunt/Makeconfig: Don't use + $(BSD_SIGNAL_DEFS). + + * include/signal.h: Define __USE_BSD_SIGNAL if libc5, so that the + Makefiles don't need to. + + * lib/fgetln.c: New file, implementation of fgetln() (from + quiz/quiz.c). + * include/stdio.h: New file, wrap and declare fgetln(). + * quiz/quiz.c: Don't include implementation of fgetln(). + +1998-03-27 Joseph S. Myers + + * dm/dm.c (load): Use getloadavg(). + * dm/Makefile: Use getloadavg() from lib/getloadavg.c. + + * lib/getloadavg.c: New file, implementation of getloadavg(). + * include/stdlib.h: New file, wrap and declare + getloadavg(). + + * wump/wump.c (move_to, shoot): Add explicit braces to avoid + ambiguous else. + + * trek/shield.c (shield): Add explicit braces to avoid ambiguous + else. + + * trek/nova.c (nova): Add explicit braces to avoid ambiguous else. + + * trek/move.c (move): Add explicit braces to avoid ambiguous else. + + * trek/kill.c (killb): Add explicit braces to avoid ambiguous + else. + + * sail/sync.c (sync_update): Add explicit braces to avoid + ambiguous else. + + * sail/sync.c (Sync): Don't declare errno. + + * sail/dr_1.c (compcombat, next): Add explicit braces to avoid + ambiguous else. + + * sail/pl_7.c (newturn): Add explicit braces to avoid ambiguous + else. + + * sail/pl_3.c (acceptcombat): Add explicit braces to avoid + ambiguous else. + + * phantasia/misc.c (tradingpost): Add explicit braces to avoid + ambiguous else. + + * phantasia/fight.c (playerhits, awardtreasure): Add explicit + braces to avoid ambiguous else. + + * phantasia/main.c (main): Add explicit braces to avoid ambiguous + else. + + * fortune/fortune/fortune.6: Rename to fortune.6.in. + * fortune/fortune/fortune.6.in: Parametrise. + * substfiles: Include fortune/fortune/fortune.6. + + * monop/morg.c (set_mlist): Add explicit braces to avoid ambiguous + else. + + * monop/cards.c (get_card): Add explicit braces to avoid ambiguous + else. + + * hunt/hunt/hunt.c (list_drivers): Add explicit int in declaration + of `initial'. + (env_init): Add explicit braces to avoid ambiguous else. + + * fortune/fortune/fortune.c (display, form_file_list): Add + explicit braces to avoid ambiguous else. + (init_prob): Add braces to make if/else binding agree with the + indentation. + + * cribbage/score.c (scorehand): Add explicit braces to avoid + ambiguous else. + + * cribbage/crib.c (peg): Add explicit braces to avoid ambiguous + else. + + * boggle/boggle/bog.c (main): Add explicit braces to avoid + ambiguous else. + + * battlestar/com5.c (love): Add explicit braces to avoid ambiguous + else. + + * atc/input.c (delayb, benum): Change char to unsigned char for + subscript. + + * Credits: Update. + + * paranoia/paranoia.6: New manpage, from Joey Hess. + * paranoia/Makefile: Install it. + + * wargames/wargames.6: New manpage, from Joey Hess + . + * wargames/Makefile: Install it. + + * hunt/Makefile.inc.bsd, hunt/hunt/Makefile.bsd, hunt/huntd/bsd.h, + hunt/huntd/hunt.h, hunt/huntd/huntd.6.in, hunt/huntd/talk_ctl.h: + Update from NetBSD-current of 1998-03-21. + + * fortune/*: Update from NetBSD-current of 1998-03-21. + * fortune/fortune/Makefile: Use -DHAVE_REGCOMP. + + * Makefile.inc.bsd, adventure/init.c, atc/Makefile.bsd, + backgammon/Makefile.inc.bsd, battlestar/Makefile.bsd, + battlestar/extern.h, boggle/*/Makefile.bsd, caesar/caesar.6, + canfield/*/Makefile.bsd, cribbage/Makefile.bsd, dm/Makefile.bsd, + dm/dm.c, factor/Makefile.bsd, fish/fish.c, rain/Makefile.bsd, + robots/Makefile.bsd, rogue/Makefile.bsd, sail/Makefile.bsd, + snake/*/Makefile.bsd, tetris/Makefile.bsd, worm/Makefile.bsd, + worms/Makefile.bsd, gomoku/Makefile.bsd, gomoku/main.c, + hangman/Makefile.bsd, mille/Makefile.bsd, phantasia/Makefile.bsd, + phantasia/setup.c, quiz/datfiles/pres: Update from NetBSD-current + of 1998-03-21. + +1998-03-26 Joseph S. Myers + + * monop/monop.c (main): Use SIGINT instead of 2 in signal. + + * backgammon/teachgammon/teach.c (main): Use SIGINT instead of 2 + in signal. + + * backgammon/backgammon/main.c (main): Use SIGINT instead of 2 in + signal, and 14 instead of SIGALRM. + + * BUGS: New file, lists known bugs. + * INSTALL, README, TODO: Update. + + * trek/dumpgame.c (restartgame): Use O_RDONLY instead of 0 in + open. + + * monop/execute.c (rest_f): Use O_RDONLY instead of 0 in open. + + * fortune/fortune/fortune.c (add_file, all_forts, open_dat, + get_pos, get_tbl): Use O_RDONLY instead of 0 in open. + + * canfield/cfscores/cfscores.c (main): Use O_RDONLY instead of 0 + in open. + + * canfield/canfield/canfield.c (initall): Use O_RDWR instead of 2 + in open. + + * quiz/datfiles/europe: Added more new countries. + +1998-03-25 Joseph S. Myers + + * quiz/datfiles/europe: Update for political changes of the 1990s + (needs more work). + + * Credits: Update. + * INSTALL, README: Update (need libc 5.4.5 or later if using + libc5). + +1998-01-02 Joseph S. Myers + + * battlestar/battlestar.c, battlestar/init.c, battlestar/save.c, + battlestar/extern.h, battlestar/cypher.c, + battlestar/battlerstar.6: Let save file name vary. + +1997-12-30 Joseph S. Myers + + * battlestar/com5.c (give): The value 0 used in NetBSD is as good + as any for initialising last1 and last2, so use it; check for it + in last1 at the appropriate place and give an error if so. + + * battlestar/com3.c (shoot): Correct initialiser for firstnumber + is always wordnumber. + +1997-12-29 Joseph S. Myers + + * mille/mille.h, mille/varpush.c: Make previous change conditional + on defined(__linux__) && !defined(__GLIBC__), since the X/Open + spec says you should use int but libc5 (only) uses size_t. + + * boggle/boggle/help.c (help): Use redrawwin(stdscr) at the end, + to get proper redrawing with ncurses. + * boggle/README.linux: Rebuild. + + * Makeconfig.in (DEFS_TO_PASS, DEFS_TO_PASS_STRIP): New variables, + definitions of installation variables to pass to sub-makes. + * Makefile (install, install-strip): Use these. + * configure (strip_install): Remove configuration option. + * INSTALL: Update. + * backgammon/Makefile, boggle/Makefile, canfield/Makefile, + fortune/Makefile, hunt/Makefile, snake/Makefile: Pass DEFS_TO_PASS + in install. + +1997-12-26 Joseph S. Myers + + * mille/mille.h: prscore's argument is bool, not int (from Joey + Hess). + +1997-12-25 Joseph S. Myers + + * Version 2.0. + + * INSTALL: Add name and email address to bottom. + + * Credits: Update. + +Sun Dec 21 11:59:34 1997 Joseph S. Myers + + * configure: Don't ask for file for backgammon rules. + + * TODO: Update. + + * Makefile (install): Don't create $(SOCKETDIR), which is no + longer defined. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * README: Update. + + * configure: Don't configure bsd_lib or bsd_includes. + * Makeconfig.in: Delete BSD_LIB, BSD_INCS, BSD_DEFS. + + * configure (warning_flags): Default to -Wall -W + -Wstrict-prototypes -Wmissing-prototypes. + +Sat Dec 20 11:25:48 1997 Joseph S. Myers + + * All games (except paranoia) now updated to NetBSD-current of + 1997-12-12. + + * wump/wump.c: Include . + + * wump/*: Update from NetBSD-current of 1997-12-12. + * wump/Makefile: Use -I../include; don't define path; don't use + libbsd or ncurses. + * substfiles: Include wump/pathnames.h. + + * worms/worms.c (onsig): Mark unused parameter. + + * worms/*: Update from NetBSD-current of 1997-12-12. + * worms/Makefile: Use -I../include; use BSD signal defines only. + + * worm/worm.c: Mark unused parameters. + + * worm/worm.6: Fix. + + * worm/*: Update from NetBSD-current of 1997-12-12. + * worm/Makefile: Use -I../include; use BSD signal defines only. + + * trek/warp.c (dowarp): Mark parameter as int. + + * trek/abandon.c, trek/capture.c, trek/computer.c, trek/dcrept.c, + trek/destruct.c, trek/dock.c, trek/dumpgame.c, trek/help.c, + trek/impulse.c, trek/lrscan.c, trek/phaser.c, trek/play.c, + trek/rest.c, trek/setwarp.c, trek/torped.c, trek/visual.c, + trek/cgetc.c: Mark unused parameters. + + * trek/*: Update from NetBSD-current of 1997-12-12. + * trek/Makefile: Use -I../include; don't use libbsd. + + * tetris/tetris.c: Mark unused parameter. + + * tetris/scores.c: Fix warnings. + + * tetris/screen.c, tetris/screen.h: Make put return int. + + * tetris/screen.c: Don't declare ospeed. + + * tetris/*: Update from NetBSD-current of 1997-12-12. + * tetris/Makefile: Use -I../include; don't define paths; use BSD + signal defines only. + * substfiles: Include tetris/pathnames.h. + + * snake/snake/snake.c, snake/snscore/snscore.c: Mark unused + parameters. + + * snake/snake/snake.h, snake/snake/move.c: Make outch return int. + + * snake/snake/snake.h, snake/snake/move.c: Don't declare ospeed. + + * snake/*: Update from NetBSD-current of 1997-12-12. + * snake/snake/Makefile, snake/snscore/Makefile: Use + -I../../include; don't define paths; use BSD signal defines only. + * substfiles: Include snake/snake/pathnames.h. + + * sail/pl_main.c, sail/pl_7.c, sail/player.h: Move screen + initialisation into initscreen(); no longer do echo() in + SCREENTEST(). + + * sail/sync.c: Include and ; mark int + parameter. + + * sail/misc.c: Include , for flock(). + + * sail/game.c: Fix pointer/integer comparison warning. + + * sail/dr_2.c: Mark int parameters as such. + + * sail/player.h (SCREENTEST): Compare initscr() against NULL, not + ERR. + + * sail/main.c, sail/pl_1.c, sail/pl_7.c: Mark unused parameters. + + * sail/dr_2.c, sail/extern.h: Rename move to sail_move. + + * sail/*: Update from NetBSD-current of 1997-12-12. + * sail/Makefile: Use -I../include; don't define paths; use BSD + signal defines only. + * substfiles: Include sail/pathnames.h + + * rogue/save.c: Fix signed/unsigned warnings. + + * rogue/monster.c, rogue/object.c, rogue/pack.c, rogue/room.c: + Mark int parameters as such. + + * rogue/init.c: Mark unused parameters. + + * rogue/*: Update from NetBSD-current of 1997-12-12. + * rogue/Makefile: Use -I../include; don't define path; use BSD + signal defines only. + * substfiles: Include rogue/pathnames.h. + + * robots/move.c (get_move): Always initialise lastmove, to shut up + gcc. + + * robots/main.c: Remove unused function __cputchar; mark unused + parameter. + + * robots/move.c (get_move): Restore declaration of lastmove. + + * robots/*: Update from NetBSD-current of 1997-12-12. + * robots/Makefile: Use -I../include; don't define path; use BSD + signal defines only. + * substfiles: Include robots/pathnames.h. + + * Credits: List original authors. + + * bsd-games.lsm: Update. + + * NEWS: Update. + + * INSTALL: Update. + + * README.non-free: Update. + + * README: Update. + + * countmail/*: New game, from NetBSD-current of 1997-12-12. + + * configure (install_script): New variable, avoid warnings about + stripping scripts. + * Makeconfig.in (INSTALL_SCRIPT): Define. + * caesar/Makefile, wargames/Makefile: Use $(INSTALL_SCRIPT). + +Fri Dec 19 14:37:56 1997 Joseph S. Myers + + * TODO: Update. + + * hunt/*: New port, replacing the old one, based on NetBSD-current + of 1997-12-12. + * substfiles: Update accordingly. + * configure, Makeconfig.in: No longer need to configure directory + for sockets. + + * random/*: Update from NetBSD-current of 1997-12-12. + * random/Makefile: Use -I../include. + + * rain/rain.c: Make fputchar return int, since this is what tputs + expects. Also mark unused parameters. + + * rain/*: Update from NetBSD-current of 1997-12-12. + * rain/Makefile: Use -I../include; don't use libbsd. + * substfiles: Don't include rain/rain.6. + + * quiz/quiz.c (appdstr): Change NULL to '\0' to fix warning. + + * quiz/*: Update from NetBSD-current of 1997-12-12. + * quiz/Makefile: Use -I../include; don't define paths. + * substfiles: Include quiz/pathnames.h.in. + + * primes/*: Update from NetBSD-current of 1997-12-12. + * primes/Makefile: Use -I../include. + + * include/sys/ttydefaults.h: New file, wrap so + that individual games need not know that it is in glibc but not + libc5. + * hangman/getguess.c: Restore to NetBSD version since these + conditionals are no longer needed. + + * lib/select.c: New file, emulate BSD select for games that need + it (I think only hunt), so that libbsd will not be needed at all + and games will work fine with libc6. + +Thu Dec 18 13:24:54 1997 Joseph S. Myers + + * ppt/*: Update from NetBSD-current of 1997-12-12. + * ppt/Makefile: Use -I../include. + + * pom/pom.c: Mark unused parameters. + + * pom/*: Update from NetBSD-current of 1997-12-12. + * pom/Makefile: Use -I../include; don't use libbsd. + * include/tzfile.h: New file. + + * pig/pig.c (main): Fix signed/unsigned warning. + + * pig/*: Update from NetBSD-current of 1997-12-12. + * pig/Makefile: Use -I../include. + + * phantasia/setup.c: Include ; fix warnings; add + prototypes and function return types. + + * phantasia/interplayer.c (dotampered): Avoid signed/unsigned + warning. + + * phantasia/io.c (catchalarm): Mark unused parameter. + + * phantasia/*: Update from NetBSD-current of 1997-12-12. + * phantasia/Makefile: Don't define paths; use BSD signal defines + only. + * substfiles: Include phantasia/pathnames.h. + + * paranoia/paranoia.c: Include headers, add prototypes and + function return types; changes to avoid warnings. + + * number/*: Update from NetBSD-current of 1997-12-12. + * number/Makefile: Use -I../include. + + * morse/*: Update from NetBSD-current of 1997-12-12. + * morse/Makefile: Use -I../include. + + * monop/cards.c: Avoid signed/unsigned warning. + + * monop/monop.c (do_quit): Mark unused parameter. + + * monop/*: Update from NetBSD-current of 1997-12-12. + * monop/Makefile: Use -I../include; don't define path; use BSD + signal defines only. + * substfiles: Include monop/pathnames.h. + + * NEWS: Update; fix typo. + + * mille/save.c: Include . + + * mille/mille.h, varpush.c: Use size_t for last argument of last + argument of varpush. + + * mille/comp.c (calcmove): Avoid signed/unsigned warning. + + * mille/mille.c (rub): Mark unused parameter. + + * mille/*: Update from NetBSD-current of 1997-12-12. + * mille/Makefile: Use -I../include; don't use libbsd. + * substfiles: Don't include mille/mille.6, it's no longer needed. + + * hangman/setup.c: Include . + + * hangman/main.c: Mark unused parameters. + + * hangman/*: Update from NetBSD-current of 1997-12-12. + * hangman/Makefile: Use -I../include; don't define path; don't use + libbsd. + * substfiles: Include hangman/pathnames.h. + +Wed Dec 17 16:14:21 1997 Joseph S. Myers + + * gomoku/pickmove.c: Fix signed/unsigned warnings; mark unused + parameter. + + * gomoku/main.c: Include ; mark unused parameter. + + * gomoku/*: Update from NetBSD-current of 1997-12-12. + * gomoku/Makefile: Use -I../include; use BSD signal defines only. + + * fortune/strfile/strfile.c, fortune/fortune/fortune.c, + fortune/unstr/unstr.c: Changes to avoid warnings. + + * fortune/*: Update from NetBSD-current of 1997-12-12. + * fortune/fortune/Makefile, fortune/strfile/Makefile, + fortune/unstr/Makefile: Use -I../../include; don't use libbsd; + don't define paths. + * substfiles: Include fortune/fortune/pathnames.h. + + * fish/*: Update from NetBSD-current of 1997-12-12. + * fish/Makefile: Use -I../include. + * substfiles: Include fish/pathnames.h. + + * primes/pr_tbl.c: Use __RCSID. + + * factor/*: Update from NetBSD_current of 1997-12-12. + * factor/Makefile: Use -I../include. + + * Makeconfig.in: Remove dm variables. + + * dm/dm.c: Mark unused parameter. + + * dm/pathnames.h.in: Undefine _PATH_LOG before defining it. + + * dm/dm.8.in: Fix. + + * dm/*: Update from NetBSD-current of 1997-12-12. + * dm/Makefile: Use -I../include; don't define paths. + * substfiles: Include dm/pathnames.h. + +Tue Dec 16 10:35:32 1997 Joseph S. Myers + + * cribbage/io.c, cribbage/score.c: Avoid signed/unsigned warning; + mark unused parameters. + + * cribbage/*: Update from NetBSD-current of 1997-12-12. + * cribbage/Makefile: Use -I../include; don't use libbsd or define + paths. + * substfiles: Include cribbage/pathnames.h. + + * canfield/canfield/canfield.c: Include ; mark unused + parameters. + + * canfield/*: Update from NetBSD-current of 1997-12-12. + * canfield/canfield/Makefile, canfield/cfscores/Makefile: Use + -I../../include. + * substfiles: Include canfield/canfield/pathnames.h. + * canfield/canfield/Makefile, canfield/cfscores/Makefile: Don't + define _PATH_SCORE; don't use libbsd. + + * caesar/*: Update from NetBSD-current of 1997-12-12. + * caesar/Makefile: Use -I../include. + * caesar/rot13.in: Use "$@" instead of $*. + + * boggle/boggle/mach.c: Mark unused parameters. + + * boggle/boggle/bog.c: Changes to avoid warnings. + + * boggle/mkindex/mkindex.c (main): Make it take no arguments, + since they are unused. + + * boggle/mkdict/mkdict.c: Include ; other changes to avoid + warnings. + + * boggle/*: Update from NetBSD-current of 1997-12-12. + * boggle/boggle/Makefile, boggle/mkdict/Makefile, + boggle/mkindex/Makefile: Use -I../../include. + * substfiles: Include boggle/boggle/bog.h. + * boggle/boggle/Makefile: Don't define paths. + * boggle/Makefile, boggle/README.linux: Update for change to bog.h.in. + + * bcd/bcd.6: Fix. + + * bcd/*: Update from NetBSD-current of 1997-12-12. + * bcd/Makefile: Use -I../include. + + * battlestar/battlestar.6: Fix typo. + + * battlestar/com6.c, battlestar/fly.c: Mark unused parameters. + + * battlestar/*: Update from NetBSD-current of 1997-12-12. + * battlestar/Makefile: Use -I../include, and BSD signal defines + only. + * substfiles: Include battlestar/pathnames.h. + * battlestar/Makefile: Don't define _PATH_SCORE. + +Mon Dec 15 10:07:10 1997 Joseph S. Myers + + * banner/Makefile: Use -I../include. + + * banner/*: Update from NetBSD-current of 1997-12-12. + + * TODO: Update. + + * backgammon/common_source/subs.c (getarg): Check that an argument + is given to -s. + + * backgammon/common_source/subs.c, backgammon/backgammon/main.c, + backgammon/teachgammon/teach.c: Mark unused parameters. + + * backgammon/common_source/subs.c (addbuf): Make addbuf return an + int, since this is what tputs expects. + * backgammon/common_source/back.h: Likewise. + + * backgammon/teachgammon/teach.c: Don't declare ospeed. + + * backgammon/backgammon/main.c: Don't declare ospeed; include + . + + * backgammon/backgammon/Makefile, + backgammon/common_source/Makefile, + backgammon/teachgammon/Makefile: Use -I../../include. + + * Makeconfig.in (BACKGAMMON_RULES): Remove. + + * backgammon/*: Update from NetBSD-current of 1997-12-12; make + changes for no longer having simple game. + + * atc/pathnames.h: Remove. + * atc/pathnames.h.in: New file, from NetBSD-current and + parametrised. + * substfiles: Substitute in this file. + * atc/Makefile: Don't define _PATH_GAMES and _PATH_SCORE any more. + + * substfiles: New file - list of files created by substitution. + * configure, Makefile: Use this list. + + * atc/log.c (log_score): Use nodename, not sysname. + + * atc/grammar.y, atc/graphics.c, atc/log.c, atc/main.c, + atc/update.c: Mark unused parameters and add parameter types. + + * atc/Makefile: Use -I../include and -DYY_NO_UNPUT. + + * atc/*: Update from NetBSD-current of 1997-12-12. + + * adventure/setup.c: Use __RCSID and __COPYRIGHT. + + * include/sys/cdefs.h: Mark rcsid and copyright unused, so -Dlint + is not needed when using warnings. + + * arithmetic/arithmetic.c (intr): Mark `dummy' unused. + + * arithmetic/Makefile: Use -I../include. + + * arithmetic/*: Update from NetBSD-current of 1997-12-12. + + * adventure/init.c, adventure/subr.c, adventure/wizard.c: Add + argument types and mark unused arguments as + __attribute__((unused)). + + * adventure/crc.c: Make step unsigned int. + + * adventure/setup.c: Add prototype; include . + * adventure/extern.h: Remove prototypes for setup.c. + + * adventure/Makefile: Use -I../include. + + * adventure/*: Update from NetBSD-current of 1997-12-12. + + * include/signal.h: New file, wrapper to typedef sig_t without + needing for libc5. + + * include/sys/cdefs.h: New file, wrapper to define __RCSID and + __COPYRIGHT. + + * Makefile.bsd, Makefile.inc.bsd: Update from NetBSD-current of + 1997-12-12. + +Wed Sep 24 13:44:06 1997 Joseph S. Myers + + * caesar/caesar.c: Include and ; add + prototypes and function return types; remove old declarations. + + * boggle/boggle/mach.c (winch_catcher): Don't ioctl(TIOCGWINSZ). + + * boggle/boggle/bog.c: Add prototypes. + + * boggle/mkdict/mkdict.c: Add prototypes. + * boggle/mkindex/mkindex.c: Add prototypes; include . + + * boggle/README.linux: Update. + + * INSTALL: Update. + * README: Update. + * README.non-free: Update. + * TODO: Update. + * bsd-games-non-free.lsm: Update. + * Makeconfig.in: Update. + + * configure: Use boggle instead of bog; don't substitute in + bog.6.in. + * Makefile: Don't remove bog/bog.6. + + * boggle/boggle/extern.h: Include (for time_t). + + * boggle/boggle/Makefile: Use BSD signal defines only. + + * boggle/*: From NetBSD-current; merge in Linux changes from bog. + + * atc/log.c, atc/update.c: Consistently use strchr and strrchr. + * atc/include.h [SYSV]: Remove #defines of index and rindex. + + * bcd/bcd.c (printcard): Remove declaration of index(); use + strchr(); make p unsigned char. + + * bcd/bcd.c: Include . + + * bcd/bcd.c: Add prototypes and function return types. + +Sat Sep 13 21:08:53 1997 Joseph S. Myers + + * configure: Fix spelling errors; some cleanup. + +Tue Sep 2 17:28:22 1997 Joseph S. Myers + + * configure: Use empty man8dir if not building in dm or fortune. + +Sun Aug 24 10:33:08 1997 Joseph S. Myers + + * adventure/*: Update from NetBSD-current of 1997-08-24. + * adventure/Makefile: Add dependency on extern.h. + * adventure/Makefile: Add definitions of __RCSID and __COPYRIGHT. + + * fortune/*: Update from NetBSD-current of 1997-08-24. + + * battlestar/fly.c: Include . + + * battlestar/fly.c (visual): Remove declaration of moveenemy(). + + * battlestar/save.c (restore): Remove declaration of getenv(). + (save): Likewise. + + * battlestar/getcom.c: Include "extern.h" for prototypes. + + * battlestar/init.c: Include . + + * battlestar/init.c (initialize): Remove declaration of die(). + + * battlestar/com6.c (post): Remove declaration of ctime(). + + * battlestar/com1.c: Include (for sleep). + * battlestar/com1.c (convert): Make i and j unsigned to avoid + warnings for comparison with unsigned. + * battlestar/com4.c (throw): Make n unsigned for the save reason. + + * battlestar/extern.h, battlestar/parse.c, battlestar/room.c, + battlestar/save.c: Add prototypes and function return types. + +Sat Aug 23 21:17:20 1997 Joseph S. Myers + + * battlestar/battlestar.c, battlestar/com1.c, battlestar/com2.c, + battlestar/com3.c, battlestar/com4.c, battlestar/com5.c, + battlestar/com6.c, battlestar/com7.c, battlestar/cypher.c, + battlestar/extern.h, battlestar/fly.c, battlestar/getcom.c, + battlestar/init.c, battlestar/misc.c: Add prototypes and function + return types. + + * battlestar/extern.h: Don't conditionalise inclusion of + . + +Mon Aug 18 09:14:17 1997 Joseph S. Myers + + * banner/banner.c: Add prototype for main(). + + * backgammon/common_source/Makefile, + backgammon/backgammon/Makefile, backgammon/teachgammon/Makefile: + Use BSD signal defines only. + + * atc/include.h: Include (for umask). + + * atc/Makefile: Use BSD signal defines only. + + * adventure/Makefile: Don't use BSD includes, defines or library + (works with SYSV signal semantics as well). + + * configure: Ask for libc version; configure defines for BSD + signal semantics (-D__USE_BSD_SIGNAL, etc.). + * Makeconfig.in (BSD_SIGNAL_DEFS): New variable. + + * backgammon/common_source/Makefile (clean): Remove sbackgammon. + + * backgammon/common_source/fancy.c: Include . + + * backgammon/common_source/subs.c: Include . + + * backgammon/common_source/save.c: Include . + + * backgammon/common_source/fancy.c: Include . + + * backgammon/common_source/allow.c, + backgammon/common_source/back.h, backgammon/common_source/board.c, + backgammon/common_source/check.c, + backgammon/common_source/fancy.c, backgammon/common_source/odds.c, + backgammon/common_source/one.c, backgammon/common_source/save.c, + backgammon/common_source/subs.c, backgammon/common_source/table.c: + Add prototypes and function return types. + +Sun Aug 10 10:06:10 1997 Joseph S. Myers + + * atc/main.c (main): Include program name in `Unknown option' + error message. + + * atc/include.h: Include . + + * atc/extern.h, atc/graphics.c, atc/input.c, atc/list.c, + atc/log.c, atc/main.c, atc/update.c: Add prototypes and function + return types. + +Sat Aug 9 16:36:17 1997 Joseph S. Myers + + * atc/extern.h, atc/grammar.y, atc/graphics.c, atc/input/c, + atc/update.c: Add prototypes and function return types. + +Thu Aug 7 12:01:56 1997 Joseph S. Myers + + * atc/include.h: Make inclusion of unconditional; + remove unused defines of bcopy and bzero under SYSV. + + * configure: Escape ` and ' when asking for .so or symlinks. + + * configure, Makeconfig.in, atc/Makefile: Configure yacc and lex + programs using configure script. + + * configure: Add note about placing of sockets. + + * dm/README.linux: New file, mentions -DLOG. + + * configure, Makeconfig.in, dm/Makefile: Configure log file for dm. + +Sun Jul 27 12:45:18 1997 Joseph S. Myers + + * arithmetic/arithmetic.c: Include and ; add + function return types and prototypes; remove previous function + declarations. + +Sat Jul 26 20:17:49 1997 Joseph S. Myers + + * adventure/crc.c: Add prototypes. + + * adventure/setup.c (main): Add casts so as not to print a long + with an int format. + + * adventure/io.c, adventure/setup.c: Add prototypes and function + return types. + +Fri Jul 25 12:48:04 1997 Joseph S. Myers + + * adventure/wizard.c: Include ; remove declaration of + localtime(). + + * adventure/setup.c: Include . + + * adventure/subr.c, adventure/wizard.c: Add some prototypes. + + * adventure/save.c: Include . + + * adventure/crc.c, adventure/io.c, adventure/save.c, + adventure/vocab.c, adventure/wizard.c: Add function return types. + + * adventure/hdr.h: More prototypes. + + * adventure/wizard.c (ran): Remove declaration of rand(). + + * adventure/hdr.h, adventure/init.c, adventure/wizard.c: Change + macro DECR and all uses so as not to need -traditional-cpp + * adventure/Makefile: Don't use -traditional-cpp. + +Thu Jul 24 19:30:35 1997 Joseph S. Myers + + * adventure/init.c: Include and ; remove + declaration of time(). + + * adventure/init.c: Add argument to trapdel(); add prototype for + linkdata(). + + * adventure/main.c (main): Remove declaration of trapdel(). + + * adventure/main.c: Add prototype for main(). + + * adventure/hdr.h, adventure/main.c, adventure/save.c, + adventure/vocab.c: Change link to adv_link. + + * adventure/main.c: Include . + + * adventure/io.c: Include . + + * adventure/wizard.c: Include and . + + * adventure/vocab.c: Include and . + + * adventure/subr.c: Include and . + + * adventure/done.c: Include and . + + * adventure/done.c, adventure/init.c, adventure/io.c, + adventure/save.c, adventure/subr.c, adventure/vocab.c, + adventure/wizard.c: Add function return types. + + * adventure/hdr.h: Add prototypes; remove declaration of malloc(). + +Sat Jul 19 20:51:49 1997 Joseph S. Myers + + * configure: Set empty man5dir if not building in dm. + +Thu Jul 17 16:41:29 1997 Joseph S. Myers + + * Version 1.5. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + +Wed Jul 16 12:50:00 1997 Joseph S. Myers + + * bsd-games.lsm: Update. + + * NEWS: Update. + + * Makefile (install): Create MAN5DIR. + + * NEWS: Update. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + +Tue Jul 15 15:57:06 1997 Joseph S. Myers + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * TODO: Update. + + * README.non-free: Update. + + * README: Update. + + * INSTALL: Update. + + * rogue/machdep.c (md_slurp): Use tcflush() under Linux. + + * rogue/Makefile (DEFS): Add UNIX_SYSV to get included in + machdep.c. + + * rogue/*: Added from NetBSD-current. + * rogue/Makefile: Renamed to Makefile.bsd. + * rogue/USD.doc/Makefile: Renamed to Makefile.bsd. + * rogue/Makefile: New file. + * rogue/rogue.6: Rename to rogue.6.in. + * rogue/rogue.6.in: Parametrise. + * configure: Ask for rogue scorefile; substitute in this file. + * Makefile: Remove rogue.6 in distclean. + * Makeconfig.in: Include ROGUE_SCOREFILE. + * rogue/pathnames.h: The path for the score file is in the + Makefile. + +Mon Jul 14 11:46:56 1997 Joseph S. Myers + + * quiz/Makefile (clean): Add target. + + * random/*: Added from NetBSD-current. + * random/Makefile: Renamed to Makefile.bsd. + * random/Makefile: New file. + + * quiz/quiz.c (fgetln): Add implementation since Linux libc lacks + fgetln. + + * quiz/*: Added from NetBSD-current. + * quiz/Makefile: Renamed to Makefile.bsd. + * quiz/Makefile: New file. + * quiz/datfiles/index: Rename to index.in. + * quiz/datfiles/index.in: Parametrise. + * quiz/quiz.6: Rename to quiz.6.in. + * quiz/quiz.6.in: Parametrise. + * configure: Ask for quiz directory; substitute in these files. + * Makeconfig.in (QUIZ_DIR): Add for quiz directory. + * Makefile: Remove index and quiz.6 in distclean. + * quiz/pathnames.h: Paths are defined in the Makefile. + + * pig/*: Added from NetBSD-current. + * pig/Makefile: Renamed to Makefile.bsd. + * pig/Makefile: New file. + + * phantasia/main.c (playinit): Add ICRNL to terminal modes if + using ncurses. + + * phantasia/Makefile (install): Bug-fix. + + * configure: Configure directory for phantasia. + * Makeconfig.in: Include PHANTASIA_DIR. + * phantasia/pathnames.h: Paths are defined in Makefile. + * phantasia/Makefile: Supply motd to setup. + +Sun Jul 13 18:28:52 1997 Joseph S. Myers + + * phantasia/*: Added from NetBSD-current. + * phantasia/Makefile: Renamed to Makefile.bsd. + * phantasia/Makefile: New file. + + * dm/dm.c (load): Add Linux-specific way of getting load average. + + * dm/dm.8: Rename to dm.8.in. + * dm/dm.conf.5: Rename to dm.conf.5.in. + * dm/dm.8.in, dm/dm.conf.5.in: Parametrise. + * configure: Substitute in these files. + * Makefile: Remove dm.8 and dm.conf.5 in distclean. + + * configure: Do additional configuration for dm. + * Makeconfig.in: Include these variables. + * install-man.in: Allow manual section 5. + + * dm/*: Added from NetBSD-current. + * dm/Makefile: Renamed to Makefile.bsd. + * dm/Makefile: New file. + + * TODO: Update. + + * All games, except bog, hunt, and paranoia, now updated from + NetBSD-current of 1997-07-12. + + * cribbage/*: Update from NetBSD-current of 1997-07-12. + +Fri Jul 11 19:09:24 1997 Joseph S. Myers + + * bog/README.linux: Comply with licence conditions by including + patch from original bog. + * bog/Makefile (linux-patch): Create or update this patch. + + * banner/*: Added from NetBSD-current. + * banner/Makefile: Renamed to Makefile.bsd. + * banner/Makefile: New file. + + * atc/graphics.c (getAChar): Use SYSV method instead of BSD one + under Linux; change conditional on inclusion of to allow + for this. + +Thu Jun 12 20:32:57 1997 Joseph S. Myers + + * adventure/*: Added from NetBSD-current. + * adventure/Makefile: Renamed to Makefile.bsd. + * adventure/Makefile: New file. + +Wed Jun 11 12:09:38 1997 Joseph S. Myers + + * Now builds with glibc without needing stray headers. + + * snake/snake/snake.c: Define MIN instead of including + . + + * pom/pom.c: With glibc, define isleap instead of including + . + + * mille/Makefile: Remove dependency on unctrl.h. + + * configure: Choose default for BSD-compat includes based on + whether /usr/include/bsd exists. + +Tue Jun 10 17:40:44 1997 Joseph S. Myers + + * All games, with same exceptions as below, now updated from + NetBSD-current of 1997-06-07. + + * cribbage/*, hangman/*, mille/*, robots/*, tetris/*: Update from + NetBSD-current of 1997-06-07. + +Fri Jun 6 22:19:38 1997 Joseph S. Myers + + * README: Update. + + * *.orig, */*.orig, */*/*.orig: Rename to *.bsd instead to avoid + conflicts with patch backups. + +Thu May 22 00:03:59 1997 Joseph S. Myers + + * TODO: Update. + + * README.non-free: Update. + + * README: Update. + +Wed May 21 00:08:36 1997 Joseph S. Myers + + * TODO: Update. + + * README: Update. + + * INSTALL: Update. + + * Now builds with glibc. + + * bog/mach.c (flushin): Use the flushinp() version. + + * cribbage/extern.c: Change `bool' to `BOOLEAN'. + + * atc/Makefile: Use -lfl instead of -ll. + +Tue May 20 00:26:52 1997 Joseph S. Myers + + * All games, with same exceptions as below, now updated from + NetBSD-current of 1997-05-17. + + * backgammon/backgammon/Makefile.orig, + backgammon/teachgammon/Makefile.orig, factor/Makefile.orig, + fortune/Makefile.orig, fortune/datfiles/Makefile.orig, + fortune/strfile/Makefile.orig, wargames/Makefile.orig: Update from + NetBSD-current of 1997-05-17. + +Mon May 19 00:50:37 1997 Joseph S. Myers + + * All games, except bog, hunt and paranoia, now updated from + NetBSD-current of 1997-04-26. + + * wump/*: Update from NetBSD-current of 1997-04-26. + + * worms/Makefile (DEFS): Remove -DUSG which is no longer needed. + + * worms/*: Update from NetBSD-current of 1997-04-26. + + * worm/worm.c (process): Move the move to highlight head of worm + here from main(). + + * worm/*: Update from NetBSD-current of 1997-04-26. + + * wargames/*: Update from NetBSD-current of 1997-04-26. + +Sun May 18 01:29:05 1997 Joseph S. Myers + + * trek/README.linux: New file, mentions trek manual. + + * trek/*: Update from NetBSD-current of 1997-04-26. + + * tetris/screen.c (OXTABS): Define to XTABS. + + * tetris/*: Update from NetBSD-current of 1997-04-26. + +Sat May 17 12:24:07 1997 Joseph S. Myers + + * snake/snake/snake.c: Define CTRL. + + * snake/snake/move.c: Include ; condition use of VDSUSP + on its being defined; define CTRL; define OXTABS. + + * snake/*: Update from NetBSD-current of 1997-04-26. + + * sail/pl_7.c: Don't include . + + * sail/Makefile: Change dependency on externs.h to extern.h. + + * sail/*: Update from NetBSD-current of 1997-04-26. + +Thu May 15 15:09:59 1997 Joseph S. Myers + + * robots/move.c: Don't include ; define CTRL. + + * robots/*: Update from NetBSD-current of 1997-04-26. + + * hangman/getguess.c: Fix sense of glibc test for + . + + * rain/rain.6: Rename to rain.6.in. + * rain/rain.6.in: Parametrise. + * configure: Substitute in this file. + * Makefile: Remove rain/rain.6 in distclean. + + * rain/Makefile (DEFS): Remove -DUSG, as it's no longer needed. + + * rain/*: Update from NetBSD-current of 1997-04-26. + +Wed May 14 23:27:32 1997 Joseph S. Myers + + * primes/*: Update from NetBSD-current of 1997-04-26. + + * ppt/*: Update from NetBSD-current of 1997-04-26. + + * pom/*: Update from NetBSD-current of 1997-04-26. + + * number/*: Update from NetBSD-current of 1997-04-26. + + * morse/*: Update from NetBSD-current of 1997-04-26. + + * monop/*: Update from NetBSD-current of 1997-04-26. + +Mon May 12 02:08:53 1997 Joseph S. Myers + + * mille/misc.c (CTRL): Define. + + * mille/*: Update from NetBSD-current of 1997-04-26. + +Wed May 7 00:15:09 1997 Joseph S. Myers + + * Version 1.4. + + * Makefile, caesar/Makefile: Disable test in caesar (as it depends + on rot13ed fortunes). + + * NEWS: Update. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * hangman/getguess.c (readch): Change curx to _curx, cury to _cury + if using ncurses. + + * hangman/getguess.c: Don't include ; define + CTRL. + + * hangman/*: Update from NetBSD-current of 1997-04-26. + + * fortune/README.linux: Update. + + * fortune/datfiles/Makefile: Update for more fortune collections. + + * configure: Ask whether to install offensive fortunes. + * Makeconfig.in: Provide FORTUNE_TYPE. + + * fortune/*: Update from NetBSD-current of 1997-04-26. + +Tue May 6 00:53:04 1997 Joseph S. Myers + + * fish/*: Update from NetBSD-current of 1997-04-26. + + * Version 1.3.4beta. + + * NEWS: Update. + + * bsd-games-non-free.lsm: Update. + + * bsd-games.lsm: Update. + + * README: Update. + + * configure, tetris/Makefile: Consistently use tetris-bsd for + files associated with tetris. + + * INSTALL: Update. + + * factor/*: Update from NetBSD-current of 1997-04-26. + + * cribbage/*: Update from NetBSD-current of 1997-04-26. + +Mon May 5 02:23:05 1997 Joseph S. Myers + + * canfield/*: Update from NetBSD-current of 1997-04-26. + + * caesar/caesar.6: Mention rot13. + + * caesar/Makefile: Install rot13 and manpage link. + + * caesar/rot13.sh: Rename to rot13.in. + * caesar/rot13.in: Parametrise to use full path of caesar. + * configure: Substitute in this file. + * Makefile: Remove rot13 in distclean. + + * caesar/*: Update from NetBSD-current of 1997-04-26. + + * bcd/*: Update from NetBSD-current of 1997-04-26. + + * battlestar/com6.c (post): Change to use time() in line with + comments. + + * battlestar/Makefile: Change dependency on externs.h to extern.h. + + * battlestar/*: Update from NetBSD-current of 1997-04-26. + + * backgammon/common_source/Makefile: Quote value of RULES; only + define when building sbackgammon. + + * backgammon/backgammon/Makefile, backgammon/teachgammon/Makefile: + Don't include RULES in DEFS. + + * backgammon/Makefile: Don't include ../Makeconfig. + + * backgammon/common_source/back.h (OXTABS): Define to XTABS if not + defined (from glibc headers). + + * backgammon/*: Update from NetBSD-current of 1997-04-26. + +Sun May 4 01:55:22 1997 Joseph S. Myers + + * backgammon/common_source/subs.c: Initialise `buffnum' to -1, to + prevent a spurious NUL. + * backgammon/common_source/fancy.c: Mark `buffnum' as `extern'. + +Sat May 3 00:27:49 1997 Joseph S. Myers + + * Version 1.3.3beta. + + * NEWS: Update. + * bsd-games.lsm: Update. + * bsd-games-non-free.lsm: Update. + + * sail/player.h (SCREENTEST): Do echo(), since ncurses turns off + echo in initscr but we want it on for initial questions. + + * backgammon/teachgammon/ttext1.c: Remove \032 from `hello'. + + * backgammon/teachgammon/ttext2.c: Make list `char *list[]'. + + * configure: Default list of directories should only include those + with a Makefile. + + * README.non-free: Update. + + * README: Update. + + * INSTALL: Update. + + * Version 1.3.2beta. + + * NEWS: Update. + + * TODO: Update. + + * Makefile.orig, Makefile.inc.orig: Update from NetBSD-current of + 1997-04-26. + + * Makefile (distclean): Remove install-score. + +Fri May 2 13:23:28 1997 Joseph S. Myers + + * atc/*: Update from NetBSD-current of 1997-04-26. + + * arithmetic/*: Update from NetBSD-current of 1997-04-26. + + * worm/worm.c (main): Place cursor on head of worm. + + * snake/snake/snake.c (mainloop): Place cursor on you, not one + cell to the left and above. + + * backgammon/common_source/init.c, + backgammon/common_source/back.h: Initialise args to start with + '-'. + + * bsd-games-non-free.lsm: New file - LSM entry for + bsd-games-non-free. + + * bsd-games.lsm: Update. + + * INSTALL: Update. + + * README.linux: Rename to README. + * README: Update. + + * README.non-free: New file - README for non-free distribution. + + * fortune/README.linux: Update. + + * bog/README.linux: Update. + +Thu May 1 00:45:58 1997 Joseph S. Myers + + * atc/Makefile, battlestar/Makefile, canfield/canfield/Makefile, + cribbage/Makefile, robots/Makefile, sail/Makefile, + snake/snake/Makefile, tetris/Makefile: Use INSTALL_SCORE_FILE. + + * tetris/Makefile (install): Use INSTALL_SCORE_GAME. + + * configure, Makeconfig.in: Update for this. + + * install-score.in: New file - install a score file. + + * TODO: Update. + + * INSTALL: Update. + + * README.linux: Update. + + * arithmetic/README.linux, atc/README.linux, + battlestar/README.linux, bcd/README.linux, caesar/README.linux, + canfield/README.linux, cribbage/README.linux, factor/README.linux, + fish/README.linux, hangman/README.linux, mille/README.linux, + monop/README.linux, morse/README.linux, number/README.linux, + paranoia/README.linux, pom/README.linux, ppt/README.linux, + primes/README.linux, rain/README.linux, robots/README.linux, + sail/README.linux, snake/README.linux, trek/README.linux, + wargames/README.linux, worm/README.linux, worms/README.linux, + wump/README.linux: Remove. + + * fortune/fortune/Makefile: Remove unused definition. + + * configure, Makeconfig.in, atc/Makefile, backgammon/Makefile, + backgammon/backgammon/Makefile, backgammon/common_source/Makefile, + backgammon/teachgammon/Makefile, battlestar/Makefile, + bog/Makefile, bog/bog.6.in, canfield/Makefile, + canfield/canfield/Makefile, canfield/cfscores/Makefile, + canfield/canfield/canfield.6.in, cribbage/Makefile, + cribbage/cribbage.6.in, fish/Makefile, hangman/Makefile, + hangman/hangman.6.in, monop/Makefile, monop/monop.6.in, + robots/Makefile, robots/robots.6.in, sail/Makefile, + snake/Makefile, snake/snake/Makefile, snake/snake/snake.6.in, + snake/snscore/Makefile, tetris/Makefile, tetris/tetris.6.in, + wump/Makefile: Configure paths for data files for individual games + with configure script. + + * configure: Find default list of games to build from what + directories are present. + + * Version 1.3.1beta privately distributed for comments. + + * NEWS: New file - summary of changes. + + * TODO: Update. + + * README.linux: Update. + + * INSTALL: Update. + + * tetris/Makefile: Install manual page as tetris-bsd.6. + + * bsd-games.lsm: Update. + +Wed Apr 30 00:45:55 1997 Joseph S. Myers + + * INSTALL: Update. + + * TODO: Update. + + * bsd-games.lsm: Update. + + * wump/Makefile (install): Use INSTALL_PREFIX. + + * canfield/canfield/Makefile (install): Use INSTALL_PREFIX. + + * Makefile (install): Fix typo. + + * rain/Makefile: Add target `all'; fix dependencies. + + * ppt/Makefile: Add target `all'. + + * pom/Makefile: Add target `all'. + + * paranoia/Makefile: Add target `all'. + + * number/Makefile: Add target `all'. + + * morse/Makefile: Add target `all'. + + * fish/Makefile: Add target `all'. + + * factor/Makefile: Add target `all'. + + * caesar/Makefile: Add target `all'. + + * bcd/Makefile: Add target `all'. + + * arithmetic/Makefile: Add target `all'. + + * snake/snake/snake.h: Use instead of . + +Tue Apr 29 10:37:00 1997 Joseph S. Myers + + * Makefile (distclean): Delete all substituted-in manpages. + + * fortune/fortune/Makefile, fortune/datfiles/Makefile: Fortunes go + under $(LIBDIR), not $(SHAREDIR). + + * TODO: Update. + + * Credits: Update. + + * Debian patch (1.3-7), and David Frey's ports, now integrated + into the source, at least where I thought the fixes were correct + and needed. + + * gomoku/pickmove.c: Include instead of + (from David Frey's port). + + * gomoku/gomoku.h: Include (from David Frey's port). + + * gomoku/Makefile: Rename to Makefile.orig + * gomoku/Makefile: New from port by David Frey; rewrite to use + config information; fix dependencies. + + * configure: Add gomoku to list of directories to build in. + + * gomoku/*: Added from NetBSD-current, for adding port from David + Frey. + + * tetris/tetris.6: Rename to tetris.6.in. + * tetris/tetris.6.in: Parametrise. + * configure: Substitute in this file. + + * tetris/pathnames.h: Path to score file is defined in the + Makefile. + + * tetris/Makefile: Rename to Makefile.orig. + * tetris/Makefile: New from port by David Frey; rewrite to use + config information; fix dependencies. + + * configure: Add tetris to list of directories to build in. + + * tetris/*: Added from FreeBSD-current (as a basis to include port + from David Frey ). + +Mon Apr 28 12:22:57 1997 Joseph S. Myers + + * wump/README.linux: Update. + + * wump/Makefile: Rewrite to use config information; fix + dependencies. + + * worms/worms.c (main): Include (from Debian). + + * worms/worms.6: Change -length to -l, -number to -n (from + Debian). + + * worms/README.linux: Update. + + * worms/Makefile: Rewrite to use config information; fix + dependencies. + + * worm/worm.c: Include (from Debian); don't define + baudrate(). + + * worm/README.linux: Update. + + * worm/Makefile: Rewrite to use config information; fix + dependencies. + + * wargames/README.linux: Update. + + * wargames/Makefile: Rewrite to use config information. + + * wargames/wargames.sh: Remove. + * wargames/wargames: Change `tput cl' to `tput clear'. + + * trek/trek.6: Rename to trek.6.in. + * trek/trek.6.in: Parametrise. + * configure: Substitute in this file. + + * trek/README.linux: Update. + + * trek/Makefile: Rewrite to use config information; fix + dependencies. + + * snake/snscore/snscore.c (main): Initialise noplayers; check for + empty scorefile (from Debian). + + * snake/snscore/snscore.c (MAXPLAYERS): Increase to 65534 (from + Debian). + + * snake/snake/snake.6: Rename to snake.6.in. + * snake/snake/snake.6.in: Parametrise. + * configure: Substitute in this file. + + * snake/snscore/Makefile: Rewrite to use config information; fix + dependencies. + + * snake/snake/Makefile: Rewrite to use config information; fix + dependencies. + + * snake/README.linux: Update. + + * snake/Makefile: Rewrite to use config information; use `set -e' + in compound commands. + +Sun Apr 27 00:02:40 1997 Joseph S. Myers + + * sail/pl_7.c (susp): Don't call tstp (from Debian). + + * sail/player.h: Mark `version' as `extern'. + + * sail/externs.h: Mark variables as `extern'. + + * sail/driver.h: Mark `dtab' as `extern'. + + * sail/player.h: Change to . + + * sail/externs.h: Don't include . + + * sail/Makefile: Rewrite to use config information; fix + dependencies. + + * robots/init_field.c (init_field), robots/move.c (get_move): + Don't call flushok. + + * robots/main.c (quit): Condition out bit using CE (from Debian). + + * robots/robots.h, robots/move.c: Use character constants as + argument to CTRL macro. + + * robots/robots.6: Rename to robots.6.in. + * robots/robots.6.in: Parametrise. + * configure: Substitute in this file. + + * robots/Makefile: Rewrite to use config information; fix + dependencies. + + * rain/Makefile: Rewrite to use config information; fix + dependencies. + + * rain/rain.c: Include (from Debian). + + * factor/Makefile: Build pr_tbl.o in current directory, not in + primes directort. + + * primes/README.linux: Update. + + * primes/Makefile: Rewrite to use config information; fix + dependencies. + + * ppt/README.linux: Update. + + * ppt/Makefile: Rewrite to use config information; fix + dependencies. + + * battlestar/Makefile (install): Add use of $(HIDE_GAME). + + * pom/pom.c (main): Return 0. + + * pom/README.linux: Update. + + * pom/pom.c: Define isleap only if not defined; condition + definition of PI on PI rather than linux not being defined; + improve value of PI. + + * pom/Makefile: Rewrite to use config information; fix + dependencies. + + * paranoia/paranoia.c (page40): Remove backslash from invalid "\`" + escape sequence. + + * paranoia/README.linux: Update. + + * paranoia/Makefile: Rewrite to use config information; fix + dependencies. + + * hide-game.in: Use installation prefix. + + * number/README.linux: Update. + + * number/Makefile: Rewrite to use config information; fix + dependencies. + + * morse/README.linux: Update. + + * morse/Makefile: Rewrite to use config information; fix + dependencies. + + * monop/README.linux: Update. + + * monop/Makefile: Rewrite to use config information; fix + dependencies. + + * hangman/Makefile, hunt/Makefile, mille/Makefile: Add use of + $(HIDE_GAME). + + * monop/monop.6: Rename to monop.6.in. + * monop/monop.6.in: Parametrise. + * configure: Substitute in this file. + +Sat Apr 26 19:10:52 1997 Joseph S. Myers + + * mille/README.linux: Update. + + * mille/init.c (newscore): Add force_counter hack from Debian to + fix problem with ncurses's addch not returning ERR at EOL. + + * mille/unctrl.h: Do nothing if NCURSES_VERSION is defined. + + * mille/Makefile: Rewrite to use config information; fix + dependencies. + + * mille/mille.6: Rename to mille.6.in. + * mille/mille.6.in: Parametrise + * configure: Substitute in this file. + + * hunt/README.linux: Update. + + * hunt/Makefile: Rewrite to use config information. + + * hunt/otto.c (SCREEN): Define appropriately for ncurses, + conditional on NCURSES_VERSION (from Debian). + + * hunt/pathname.c: Change socket directory to _PATH_SOCKETS (to be + defined in the Makefile). + + * hunt/driver.c (init): Conditionally use /var/tmp instead of + /usr/tmp. + + * hunt/faketalk.c (faketalk): Fix typo (`stmp' for `smtp'). + + * hunt/hunt.6: Rename to hunt.6.in. + * hunt/huntd.6: Rename to huntd.6.in. + * hunt/hunt.6.in: Parametrise. + * hunt/huntd.6.in: Parametrise. + * configure: Substitute in these files. + + * hangman/README.linux: Update. + + * hangman/hangman.6: Rename to hangman.6.in. + * hangman/hangman.6.in: Parametrise. + * configure: Substitute in this file. + + * hangman/clean.pl, hangman/util, hangman/util.cc: Remove. + + * hangman/Makefile: Rewrite to use config information; fix + dependencies. + +Thu Apr 24 00:02:10 1997 Joseph S. Myers + + * fortune/fortune/Makefile: Don't keep rebuilding fortune.test. + + * fortune/Makefile: Remove fortunes symlink in clean. + + * fortune/unstr/unstr.c: Don't typedef off_t. + + * fortune/fortune/fortune.c: Conditionally define d_namlen to + d_reclen. + + * fortune/strfile/strfile.c: Don't typedef off_t, or undefine + MAXPATHLEN. + + * fortune/unstr/Makefile: Rewrite to use config information. + + * fortune/strfile/Makefile: Rewrite to use config information. + + * fortune/fortune/Makefile: Rewrite to use config information; fix + dependencies. + + * fortune/datfiles/Makefile: Rewrite to use config information. + + * fortune/Makefile: Rewrite. + + * fish/README.linux: Update. + + * fish/fish.c (nrandom): Condition out declaration of random() + (from Debian). + + * fish/Makefile: Rewrite to use config information; fix + dependencies. + + * factor/README.linux: Update. + + * factor/Makefile: Rewrite to use config information; fix + dependencies. + +Wed Apr 23 00:03:24 1997 Joseph S. Myers + + * cribbage/cribbage.6: Rename to cribbage.6.in. + * cribbage/cribbage.6.in: Parametrise; add mention of score file + and instructions file. + * configure: Substitute in this file. + + * cribbage/README.linux: Update. + + * cribbage/crib.c, cribbage/extern.c, cribbage/io.c, + cribbage/support.c: Change conditional inclusion of ncurses.h or + curses.h to unconditional inclusion of curses.h (ncurses provides + curses.h in the appropriate directory, used with -I if needed, but + ncurses.h is non-standard). + + * cribbage/instr.c (instructions): Change `pstat' to an int; use + WEXITSTATUS macro (from Debian). + + * cribbage/extern.c: Change `bool' to `BOOLEAN' (from Debian). + + * cribbage/Makefile: Rewrite to use config information; fix + dependencies. + + * canfield/cfscores/Makefile: Don't use unnecessary libraries. + + * canfield/Makefile, canfield/canfield/Makefile, + canfield/cfscores/Makefile: Fix quoting of SCOREFILE. + + * canfield/README.linux: Update. + + * canfield/canfield/canfield.6: Rename to canfield.6.in. + * canfield/canfield/canfield.6.in: Parametrise. + * configure: Substitute in canfield/canfield/canfield.6.in. + + * canfield/cfscores/Makefile: Rewrite to use config information. + + * canfield/canfield/Makefile: Rewrite to use config information. + + * canfield/Makefile: Rewrite to use config information; use `set + -e' in compound commands. + +Tue Apr 22 00:08:42 1997 Joseph S. Myers + + * caesar/README.linux: Update. + + * caesar/Makefile: Rewrite to use config information; fix + dependencies. + + * bog/README.linux: Update. + + * bog/Makefile: Rewrite to use config information; fix + dependencies. + + * bog/bog.man: Rename to bog.6.in. + * bog/bog.6.in: Include parametrised file locations. + * configure: Substitute in this file. + + * arithmetic/Makefile, atc/Makefile, + backgammon/backgammon/Makefile, backgammon/teachgammon/Makefile, + bcd/Makefile: Use $(HIDE_GAME). + + * hide-game.in: Use `set -e'. + + * configure: Ask for permissions on dm (not included yet, but + supported for when it is ported). + * Makeconfig.in (INSTALL_DM): Provide macro for this. + + * arithmetic/Makefile, atc/Makefile, + backgammon/backgammon/Makefile, backgammon/common_source/Makefile, + backgammon/teachgammon/Makefile, battlestar/Makefile, + bcd/Makefile: Use LDFLAGS in link. + + * bcd/README.linux: Update. + + * bcd/Makefile: Rewrite to use config information; fix + dependencies. + + * install-man.in: Set owner/group/permissions on .so pages. + + * battlestar/fly.c (visual): Check return of initscr() against + NULL rather than ERR to eliminate warning (although initscr() + should exit in event of error). Also comment out call to + savetty(). + * battlestar/fly.c (endfly): Add call to setvbuf() to restore line + buffering on stdout, since ncurses changes buffering but doesn't + restore it. + + * battlestar/save.c: Do exit(1) on failed restore; close file at + the end of restore() and save(). + + * battlestar/externs.h: Conditionally include and + . + + * battlestar/dayfile.c (dayfile): Spelling corrections. + * battlestar/nightfile.c (nightfile): Spelling corrections. + + * battlestar/cypher.c (cypher): Fix many tests on *objsht[n] that + should be on objsht[n]; initialise `wordtype' correctly in TAKE + when doing a `take all'. + + * battlestar/com5.c (give): Initialise `last1' and `last2' to + avoid a segfault if you start the game with `give'. + + * battlestar/com3.c (shoot): Initialise `firstnumber' to avoid + segfault from `shoot all' without a laser. + + * battlestar/com2.c (use): Set notes[CANTSEE] to 0 when moving + into the light. + + * battlestar/battlestar.c: Change exit() to exit(1) in default + case that shouldn't occur. + + * battlestar/externs.h: Mark as `extern' variables initialised + somewhere. + + * battlestar/fly.c: Change to . + + * battlestar/README.linux: Update. + + * battlestar/Makefile: Rewrite to use config information; fix + dependencies. + +Mon Apr 21 22:19:28 1997 Joseph S. Myers + + * configure: New variable `chown_vardata' to set owner/group on + variable data only if appropriate. + * Makeconfig.in: Use this variable. + +Sat Apr 19 20:06:08 1997 Joseph S. Myers + + * backgammon/Makefile: Add missing semi-colon, and `cd ..'s. + + * backgammon/common_source/subs.c (getarg): Check s[0] for being + NULL (from Debian). + + * backgammon/backgammon/main.c, backgammon/backgammon/move.c, + backgammon/backgammon/text.c, backgammon/commmon_source/back.h, + backgammon/common_source/board.c, backgammon/teachgammon/teach.c, + backgammon/teachgammon/ttext1.c, backgammon/teachgammon/ttext2.c: + Change `raw' to `bg_raw', and `remove' to `removetxt' (from + Debian). + + * backgammon/teachgammon/teach.c: Mark variables as `extern'. + + * backgammon/teachgammon/teach.c: Change `ospeed' to `short'. + + * backgammon/backgammon/main.c: Mark `instr' and `message' as + `extern'. Also change `ospeed' from `char' to `short' (from + Debian). + + * backgammon/common_source/back.h: Mark as `extern' variables + initialised in init.c. + + * backgammon/common_source/back.h, + backgammon/common_source/init.c: Don't condition on linux for + including or , since redundant with + -I/usr/include/bsd. + + * backgammon/README.linux: Update. + + * atc/Makefile, backgammon/backgammon/Makefile, + backgammon/teachgammon/Makefile: Consistently use $(INCS) in + compilation rules. + + * backgammon/common_source/Makefile: Rewrite to use config + information; fix dependencies. + + * backgammon/backgammon/backgammon.6.in: Include teachgammon in + manpage (from Debian). + * backgammon/teachgammon/Makefile: Install .so link or symlink to + backgammon manpage. + +Fri Apr 18 11:02:30 1997 Joseph S. Myers + + * install-man.in: New file to handle all the manpage installation + complexities. + * configure, Makeconfig.in, arithmetic/Makefile, atc/Makefile, + backgammon/backgammon/Makefile: Use this new script. + + * backgammon/backgammon/Makefile, backgammon/teachgammon/Makefile: + Rewrite to use config information; fix dependencies. + + * backgammon/backgammon/backgammon.6: Rename to backgammon.6.in. + * backgammon/backgammon/backgammon.6.in: Parametrise reference to + teachgammon. + * configure: Substitute in backgammon/backgammon/backgammon.6.in. + + * backgammon/Makefile: Rewrite to use config information. + + * atc/README.linux: Update. + + * atc/main.c (main): Add CRMOD to terminal flags, since ncurses + 1.9.9g (3.4) and 4.0 disable CR-NL translation. + +Thu Apr 17 12:31:00 1997 Joseph S. Myers + + * atc/Makefile: Rewrite to use config information; fix + dependencies; fix libraries and installation of games (from + Debian). + + * atc/include.h: Remove conditional inclusion of , + as it's redundant with -I/usr/include/bsd. + + * atc/def.h: Change #ifndef linux to #ifndef PI for definition of + PI (from Debian). Also improve accuracy of value. + + * arithmetic/arithmetic.c: include ; remove declaration of + time(). + + * Makeconfig.in (CC): Add new macro. + + * arithmetic/Makefile: Rewrite to use config information; fix + dependencies. + * arithmetic/README.linux: Update. + + * Makeconfig.in (BUILDDIRS): Add new macro. + * configure: Always substitute for sbindir, socketdir and + usrbindir, even if not building relevant programs (so that we can + always create them). + * Makefile: Essentially complete rewrite to use configuration + information; allow installation prefix and use install -d instead + of mkdir -p as per Debian patch. Also use set -e in all compound + commands. + + * Makeconfig.in (INSTALL_SCORE_FILE2, INSTALL_SCORE_FILE3): Fix + commands for installing score files. + + * configure, Makeconfig.in: Add configuration of socketdir, for + hunt to place its Unix domain sockets in. + +Wed Apr 16 21:31:18 1997 Joseph S. Myers + + * BSD-games.src.lsm: Remove. + * bsd-games.lsm: New file - new-style LSM entry. + + * configure, Makeconfig.in, hide-game.in: New files - beginnings + of a configuration system. + + * CHANGELOG: Rename to ChangeLog.0. + * ChangeLog: New file. + + * BSD-games.bin.lsm: Remove. + + * New maintainer. + +See ChangeLog.0 for earlier changes. diff --git a/ChangeLog.0 b/ChangeLog.0 new file mode 100644 index 0000000..b5b2f4b --- /dev/null +++ b/ChangeLog.0 @@ -0,0 +1,67 @@ +10/24/93 -replace previous words file with the words file provided by + Rik Faith, faith@cs.unc.edu. This package can be found at + ftp.cs.unc.edu in /pub/faith/linux/utils/linux.words.2.tar.gz + +9/30/93 - changed 'mkdir' to 'mkdir -p' in the top level Makefile so + intermediate directories will be created if they don't exist. + +9/25/93 - Top level Makefile now creates the directories DESTDIR, MANDIR, + and LIBDIR if they do not exist before trying to install the + individual programs. + +9/25/93 - Fixed makefiles to inherit defines from upper level makefiles. + Also fixed hard coded pathnames in .h files to be taken from the + makefiles. + +9/23/93 - [bog] Modified the end of game behavior to be more intuitive. + Original behavior can be set by defining PURE in CFLAGS. + +9/23/93 - [bog] Fixed a bug in bog which caused a crash at the end of + displaying the help. + "extern char *version" -> "extern char version[]" + Aren't these two equivalent??? I guess not :) Thanks Andrew + Kuchling for spotting this one. + +8/25/93 - Version 1.2 Released + +============================================================================== + +8/25/93 - Added paranoia + +8/25/93 - Added hunt + +8/23/93 - Added sail + +8/23/93 - Added pom + +8/23/93 - Added bog + +8/22/93 - Added factor + +8/22/93 - Added primes + +8/21/93 - Added trek + +8/21/93 - Added monop + +8/19/93 - Version 1.1 Semi-released + +============================================================================== + +8/19/93 - Added wargames + +8/19/93 - [robots] Fixed robots screen restore bug. + +8/19/93 - Added snake + +8/19/93 - Added caesar + +8/19/93 - Added cribbage + +8/18/93 - Found a man page for number + +8/17/93 - Version 1.0 Released. + +============================================================================== + + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..e09961b --- /dev/null +++ b/INSTALL @@ -0,0 +1,188 @@ +Installation instructions +========================= + +Packaging +========= + +If packaging bsd-games or bsd-games-non-free for a Linux distribution, +please read the PACKAGING file for further information after this one. +Others who wish to install it under a packaging system, or rebuild it +automatically and without interactive configuration, may also find +this file useful. + +Non-free games +============== + +These installation instructions apply to both bsd-games and +bsd-games-non-free. bsd-games-non-free contains rogue, which it seems +cannot be sold for profit, and hack, for which porting but not +gameplay changes may be made: the rest of the games are under the +standard BSD distribution conditions, or very similar ones (phantasia +is public domain, i.e. not copyrighted). As of version 2.2 and later, +the bsd-games-non-free package unpacks conventionally into a directory +of its own. It can be built separately from bsd-games, or in the same +source directory: to do the latter, move those files and directories +that are in bsd-games-non-free but not bsd-games into the +bsd-games-VERSION directory before building. + +Prerequisites +============= + +You need the following to build this distribution: + +* GCC (the C and C++ compilers only - other languages not needed; C++ + only needed for dab). + +* glibc 2.3 or later. Older versions will not work (at least for + hunt) since they lack the header. + +* ncurses; other curses / termcap implementations might work, but are + unsupported. + +* lex and yacc; by default this package will use flex and bison, but + byacc will probably work as well. + +* GNU make. + +* A POSIX shell, such as bash, in /bin/sh. + +libcrypto from OpenSSL can optionally be used by factor. + +You now need a word list for boggle and hangman; bsd-games no longer +provides one itself. The GNU miscfiles package contains one, for +example. The path can be specified at configure time (default: +/usr/share/dict/words). The file used by hangman can also be +specified at run time with the "-d" option. + +Security +======== + +See the SECURITY file for a discussion of security issues about the +BSD games. + +Alternative implementations +=========================== + +Some of the programs in this package have alternative implementations +for Linux available, which you may wish to use some of instead of the +BSD versions: + +* banner is in util-linux. +* factor is in GNU sh-utils as of version 1.12q. +* An extensively modified version of fortune is available as +"fortune-mod". There are also many additional fortune data files +(including translations of the ones included here) available. +* Perl implementations of some of the games are included in the "Perl +Power Tools" project (http://language.perl.com/ppt/). +* My enhanced version of ppt with support for PostScript output is +available as "nppt" from metalab and its mirrors. + +Building and installation +========================= + +1. cd to the top level directory in the source distribution, i.e. the + directory that contains this file. There is not yet any support + for building in a directory other than the source directory. + +2. Run "./configure" and configure the installation to your liking. + There may be some games you don't want to build because you have + them from elsewhere (see above). You can specify particular games + you do not want built before specifying the list of games to build + (which will default to all those available, except those you have + excluded). + + The filesystem structure used defaults to that the the Filesystem + Hierarchy Standard (FHS), version 2.0. If you are using the older + FSSTND 1.2, or a newer FHS, or wish to install into /usr/local, + check the paths given and make changes as appropriate. + +3. Type "make". You can probably ignore compiler warnings, although + most should be fixed in this release. If you are building on a 64 + bit architecture, you might want to look over the warnings and let + me know about any that are normally significant in such cases. + Recent versions of gcc give many "missing initializer" warnings; + these are harmless, as are the warnings in system headers + mentioned above. Likewise, "null format string" warnings are + harmless; future versions of GCC will probably eliminate them, by + allowing headers to specify whether it is OK for a format argument + to a particular function to be null. + + At the start of the build, there will be many "No such file or + directory" warnings from make. Ignore these as long as make does + not stop because of them: these refer to dependency files that + make can regenerate for itself. See "Automatic Dependencies" in + the GNU Make manual for details. + + In the unlikely event of an internal compiler error, the build + system supports generating the files of preprocessor output + required for a bug report: if the error occurs while compiling + "foo/bar.c", then "make foo/bar.i" will put the preprocessor + output in "foo/bar.i", suitable for sending in a bug report along + with details of compiler version and options used. You may, + however, wish to minimise the testcase before sending a bug + report, if you have the time to do so. + +4. Run the testsuite (non-interactive) with "make check". All tests + should pass. + +5. Save copies of any old versions of games you like and their + datafiles, until you know that the new versions work. + +6. Become root. (If, as an ordinary user, you are installing under + your home directory, and have chosen not to set owners and groups + on the installed files, there is of course no need to do this.) + +7. Type "make install". If you want the installed binaries to be + stripped, use "make install-strip" instead. This saves disk + space, but means that you cannot debug the installed binaries. + +8. If you had an old installation of bsd-games, check for file + locations that have changed. You will probably want to remove old + executables and static data (formerly defaulting to installation + in /usr/games/lib), and replace any empty score files that have + been installed with your old ones (checking the permissions). + + The default locations changed again in 2.2, to those mandated by + the new FHS 2.0 - manpages in /usr/share/man, variable data in + /var/games. In addition, huntd's default location has changed + from /usr/sbin back to /usr/games and the location for dm to keep + hidden games has changed from /usr/libexec/dm to + /usr/lib/games/dm. + + In version 2.4, the recommended permissions on the directory for + sail, if you installed it setgid, changed from 0775 to 2770; you + may need to adjust the permissions manually if you had a previous + installation of version 2.3. + +9. The robots scorefile format changed in version 2.8, so any old + score file should be removed or renamed when first upgrading to + this or a later version, and a new one created with the correct + permissions. + +10. "make distclean" will restore the source directory to the original + unpacked state. The automatically generated dependency files + include paths to system headers, including those in gcc's internal + header directory: if you have changed your compiler or library + headers between building bsd-games and cleaning up, you can use + "make distclean nodep=true" to avoid this causing problems. + + "make clean" will restore the sources to the state just after + configuration. + +Further information +=================== + +See TODO for information on what needs to be improved in this package; +you may want to volunteer for some of the things in there. + +The file BUGS lists known bugs. The README file discusses how to +produce useful bug reports. + +Joseph S. Myers +jsm@polyomino.org.uk + + + +Local Variables: +mode: text +End: diff --git a/Makeconfig.in b/Makeconfig.in new file mode 100644 index 0000000..68b25fc --- /dev/null +++ b/Makeconfig.in @@ -0,0 +1,136 @@ +# Makeconfig.in - configuration included in Makefiles after substitution. +# +# Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# If some variables are unexpanded in Makeconfig, this shouldn't be a +# problem, it will be because they weren't configured since the relevant +# games weren't being built. + +# Source directory +SRCDIR := @srcdir@ +# Build directories +BUILDDIRS := @build_dirs@ +# Installation prefix +INSTALL_PREFIX := @install_prefix@ +# Games directory +GAMESDIR := @gamesdir@ +# Daemon directory +SBINDIR := @sbindir@ +# Other binaries directory +USRBINDIR := @usrbindir@ +# Manual pages, section 6 +MAN6DIR := @man6dir@ +# Manual pages, section 8 +MAN8DIR := @man8dir@ +# Manual pages, section 5 +MAN5DIR := @man5dir@ +# Constant data (arch-independent) +SHAREDIR := @sharedir@ +# Miscellaneous documentation +DOCDIR := @docdir@ +# Variable data +VARLIBDIR := @varlibdir@ +# Directory for hidden games (dm) +LIBEXECDIR := @libexecdir@ +# Installation commands, with install -c -o whatever -s etc. +INSTALL_BINARY := @install_binary@ +INSTALL_SCRIPT := @install_script@ +INSTALL_SCORE_GAME := @install_score_game@ +INSTALL_DAEMON := @install_daemon@ +INSTALL_MANUAL := @srcdir@/install-man +INSTALL_DATA := @install_constdata@ +INSTALL_VARDATA := @install_vardata@ +INSTALL_DM := @install_dm@ +INSTALL_SAIL_DIR := @install_sail_dir@ +INSTALL_HACK_DIR := @install_hack_dir@ +# Is INSTALL_VARDATA actually needed (for games that start with non-empty +# scorefile?) +# For games which can start with empty scorefile we do: +INSTALL_SCORE_FILE := @srcdir@/install-score +# Definitions of INSTALL_* that may have -s added +# This first one should no longer be needed +DEFS_TO_PASS := INSTALL_BINARY="$(INSTALL_BINARY)" \ + INSTALL_SCORE_GAME="$(INSTALL_SCORE_GAME)" \ + INSTALL_DAEMON="$(INSTALL_DAEMON)" INSTALL_DM="$(INSTALL_DM)" +# For the top level install-strip target +DEFS_TO_PASS_STRIP := INSTALL_BINARY="$(INSTALL_BINARY) -s" \ + INSTALL_SCORE_GAME="$(INSTALL_SCORE_GAME) -s" \ + INSTALL_DAEMON="$(INSTALL_DAEMON) -s" INSTALL_DM="$(INSTALL_DM) -s" +# srcdir/hide-game or : +HIDE_GAME := @hidegame@ + +# Compilation details +CC := @cc@ +CXX := @cxx@ +OPTIMIZE := @optimize_flags@ +WARNING := @warning_flags@ +CXX_WARNING := @cxx_warning_flags@ +CFLAGS := $(OPTIMIZE) $(WARNING) @other_cflags@ +CXXFLAGS := $(OPTIMIZE) $(CXX_WARNING) @other_cflags@ +LDFLAGS := @other_ldflags@ +FGETLN_DEFS := @fgetln_defs@ +GETLOADAVG_DEFS := @getloadavg_defs@ +STRLCPY_DEFS := @strlcpy_defs@ +GETPROGNAME_DEFS := @getprogname_defs@ +NCURSES_LIB := @ncurses_lib@ +NCURSES_INCS := @ncurses_includes@ +OPENSSL_LIB := @openssl_lib@ +OPENSSL_INCS := @openssl_includes@ +BASE_INCS := -Iinclude $(NCURSES_INCS) $(OPENSSL_INCS) +BASE_LIBS := @base_libs@ +YACC := @yacc@ +LEX := @lex@ +LEX_LIB := @lex_lib@ + +# More paths +PAGER := @pager@ + +# Individual games +ATC_DIR := @atc_dir@ +ATC_SCOREFILE := @atc_scorefile@ +BATTLESTAR_SCOREFILE := @battlestar_scorefile@ +BOGGLE_DIR := @boggle_dir@ +DICTIONARY_SRC := @dictionary_src@ +CANFIELD_SCOREFILE := @canfield_scorefile@ +CRIBBAGE_INSTRFILE := @cribbage_instrfile@ +CRIBBAGE_SCOREFILE := @cribbage_scorefile@ +FISH_INSTRFILE := @fish_instrfile@ +FORTUNE_DIR := @fortune_dir@ +FORTUNE_TYPE := @fortune_type@ +HACK_DIR := @hack_dir@ +MONOP_CARDSFILE := @monop_cardsfile@ +PHANTASIA_DIR := @phantasia_dir@ +QUIZ_DIR := @quiz_dir@ +ROBOTS_SCOREFILE := @robots_scorefile@ +ROGUE_SCOREFILE := @rogue_scorefile@ +SAIL_SCOREFILE := @sail_scorefile@ +SAIL_DIR := @sail_dir@ +SNAKE_SCOREFILE := @snake_scorefile@ +SNAKE_RAWSCOREFILE := @snake_rawscorefile@ +TETRIS_SCOREFILE := @tetris_scorefile@ +WTF_ACRONYMFILE := @wtf_acronymfile@ +WUMP_INFOFILE := @wump_infofile@ diff --git a/Makefile.bsd b/Makefile.bsd new file mode 100644 index 0000000..9fba00c --- /dev/null +++ b/Makefile.bsd @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.21 2003/12/26 17:59:13 christos Exp $ +# @(#)Makefile 8.3 (Berkeley) 7/24/94 + +# Missing: ching dungeon warp +# Moved: chess +# Don't belong: xneko xroach + +SUBDIR= adventure arithmetic atc backgammon banner battlestar bcd boggle \ + caesar canfield countmail cribbage dab dm factor fish fortune gomoku \ + hack hangman hunt larn mille monop morse number phantasia pig pom ppt \ + primes quiz rain random robots rogue sail snake tetris trek wargames \ + worm worms wtf wump + +.include diff --git a/Makefile.inc.bsd b/Makefile.inc.bsd new file mode 100644 index 0000000..2ae546a --- /dev/null +++ b/Makefile.inc.bsd @@ -0,0 +1,22 @@ +# $NetBSD: Makefile.inc,v 1.11 2002/01/27 00:35:16 perry Exp $ +# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 + +MKHIDEGAME?= no + +.if defined(HIDEGAME) && (MKHIDEGAME!=no) && defined(PROG) +BINDIR= /usr/games/hide +BINGRP= games +.if defined(SETGIDGAME) +BINMODE= 2550 +.else +BINMODE= 550 +.endif +SYMLINKS+= dm /usr/games/${PROG} +.else +BINDIR= /usr/games +.if defined(SETGIDGAME) +BINGRP= games +BINMODE= 2555 +.endif +.endif +WARNS?= 1 diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..141948b --- /dev/null +++ b/NEWS @@ -0,0 +1,461 @@ +NEWS for bsd-games and bsd-games-non-free +========================================= + +This file contains a summary of changes in each version of bsd-games +and bsd-games-non-free after 1.3. For fuller details, see ChangeLog +and ChangeLog.0. + +As well as reading this summary, it is a good idea to reread the +INSTALL file whenever installing a new version, to check for any +changes in installation instructions. Packagers should also reread +the PACKAGING file each version (or do a diff between the old and new +versions of the package and read that). + +Version 2.17 (2005-02-18) +============ + +* Updated from NetBSD CVS of 2005-02-18. + +* Some bugs fixed (in particular, should now build with current GCC 4 +CVS), some backlogged. + +Version 2.16 (2004-02-13) +============ + +* Updated from NetBSD CVS of 2004-02-13. Includes a new game, dab +(Dots and Boxes), written in C++. + +* Supplementary documentation for trek and rogue now installed +automatically (in a configurable directory). + +* Some changes for portability to Cygwin, thanks to David A Bagley +; more portability issues remain. + +* Various improvements to morse from OpenBSD. + +* Some bugs fixed, some backlogged. + +Version 2.15 (2003-12-18) +============ + +* Updated from NetBSD CVS of 2003-12-17. This includes: + + + Advertising clause removed from licence of almost all + UCB-copyright code. + + + Hunt licence clarified. + +* Various bugs fixed, though some bug reports are still backlogged. + +* Glibc 2.3 or later now required, at least for hunt. + +* Directory for fortune files individually configurable, and default +has changed to match that used in NetBSD. + +Version 2.14 (2003-04-01) +============ + +* Hack is now BSD-licensed +, so moves from +bsd-games-non-free to bsd-games. + +* Updated from NetBSD CVS of 2003-03-29. This includes: + + + Security fix for rogue (in bsd-games-non-free); see NetBSD + Security Advisory 2002-021. + + + Optional support for large numbers in factor using libcrypto from + OpenSSL. This can handle larger numbers than GNU factor (which is + limited to 64-bit numbers) but not that much larger efficiently, as + the algorithm used (Pollard rho) is O(n^{1/4}) in the number + factored. + +* Some bugs fixed, though a backlog of bug reports remains. + +Version 2.13 (2001-08-30) +============ + +* Warning now present in README about the inclusion of cryptographic +software (caesar and rot13). + +* Various minor improvements and bugfixes, some from NetBSD, some from +OpenBSD, some from other contributors. Current with NetBSD CVS of +2001-08-29. + +* Some fixes to avoid some warnings when compiling with current glibc +and GCC 3. + +* May support GNU Hurd (untested). + +Version 2.12 (2000-09-25) +============ + +* Improvements and bugfixes to battlestar, mainly from OpenBSD. +Though there are still plenty of known bugs, it should be much harder +to crash. + +* Should compile with glibc 2.2 (tested with 2.1.94). + +* Other minor changes and bugfixes; current with NetBSD CVS of +2000-09-25. + +Version 2.11 (2000-04-19) +============ + +* bsd-games-non-free now includes hack 1.0.3 by Andries Brouwer; this +may be of interest to nethack players wishing to play an ancestral +game. + +* Various minor changes and bugfixes; current with NetBSD CVS of +2000-04-19. + +Version 2.10 (2000-02-12) +============ + +* Avoid world-readable characs file in phantasia. Note the new +configuration question which will need an appropriate answer, +especially if packaging for a distribution. + +* Various minor bugfixes. + +* Essentially all relevant changes, except to hunt (which will +eventually be replaced by the OpenBSD version), now merged back into +NetBSD. + +* Some minor changes from NetBSD CVS of 2000-02-12. + +* No new bsd-games-non-free version; bsd-games-non-free 2.8 is still +current. + +Version 2.9 (1999-11-12) +=========== + +* Fixes various minor bugs reported recently. + +* Some minor changes from NetBSD CVS of 1999-11-12. + +* No new bsd-games-non-free version; bsd-games-non-free 2.8 is still +current. + +Version 2.8 (1999-09-26) +=========== + +* Robots scorefile format has changed - remove or rename your old +score file when upgrading to this version. + +* Various minor changes and bug-fixes (some from OpenBSD). + +* Snake substantially cleaned up, and now uses the native curses +interface (rather than termcap emulation in ncurses); backgammon and +tetris still to be converted. + +* New "game": wtf. + +* Updated from NetBSD CVS of 1999-09-25; many more changes merged back +into NetBSD. + +* All constant data files are now architecture independent (installed +under /usr/share by default). + +* bsd-games is no longer tested by me with libc older than glibc +2.1.2; fixes for compilation with older libc will still be accepted. + +* Details of the copyrights and licence terms applicable to these +games, as best as I can determine them, now appear in COPYING. + +* bsd-games no longer comes with its own word list for boggle and +hangman; you need to provide one at compile time (for boggle) and at +run time (for hangman). The copyright status of the one formerly +included was not entirely clear. The word list used by hangman can +also now be specified at run time with the new "-d" option. + +* bsd-games now has a testsuite (for programs that can be tested +non-interactively only). + +Version 2.7 (1999-04-04) +=========== + +* Bug fixes. + +* Updated from NetBSD-current of 1999-03-26; more changes merged back +into NetBSD. + +* Other minor changes. + +Version 2.6 (1998-12-20) +=========== + +* Buffer overrun fixes in sail (not thought exploitable). + +* Fixes possible score file corruption if fds 0, 1, 2 aren't open at +game startup. + +* Updated from NetBSD-current of 1998-12-07 (morse now has a decoding +option). + +* Now builds cleanly with -Wwrite-strings. + +* Other minor changes. + +* Some users of this package may be interested in my "nppt" package, +which provides an alternative implementation of ppt(6) with additional +features such as Encapsulated PostScript output. (This package +installs the binary as "nppt", so can be installed simultaneously with +this one. Look for nppt-0.1.tar.gz (or a later version) on +metalab.unc.edu (formerly sunsite) in /pub/Linux/Incoming/ or under +/pub/Linux/games/.) + +Version 2.5 (1998-09-24) +=========== + +* New build system, using a single project Makefile (autogenerated) +that includes makefile fragments from subdirectories, and uses GNU +Make's automatic dependency generation to generate dependencies +automatically, rather than recursive make. See Peter Miller's paper +"Recursive Make Considered Harmful" + +for reasons why this is better than recursive make. This should make +no difference to normal users, but if you modify the sources note that +you will need to rebuild from the top directory, and you may find that +the dependencies are now accurate whereas formerly they were +incomplete. The automatic dependency generation causes the build to +start with about 300 "no such file or directory" warnings, which +should be ignored: these refer to the dependency files which GNU Make +will then automatically generate. + +* Should work with glibc 2.1 (at least, version 2.0.96 on x86, which +is what I've tested). See the ChangeLog for an explanation of the +problem previous releases had with glibc 2.1. + +* Boggle is now in the main bsd-games package - Paul Janzen checked +with the original author, who confirmed that the BSD licence +superseded the old non-free one. bsd-games-non-free now only contains +rogue. + +* Other minor changes. + +Version 2.4 (1998-09-05) +=========== + +* Various minor bug fixes and improvements (some from OpenBSD, thanks +to Paul Janzen ). + +* Sail directory can now be non-world-accessible (mode 2770 root.games +or similar). This may improve security, since it means users cannot +tamper with sync files their sail process creates. + +* Rogue buffer overrun fix. An audit is still needed. + +* dm now ignores the environment variable TZ when deciding at what +times games can be played. (This only affects you if you are using dm +to control at what times games can be played, and not then if you are +using libc 5.4.45 or 5.4.46 (which completely ignore TZ in setgid +programs rather than checking the validity of any filename given as +glibc does).) + +* All games updated from NetBSD-current of 1998-08-30 (minor changes; +some more of my changes have been merged back into NetBSD). + +Version 2.3 (1998-08-19) +=========== + +* A possible temporary file security bug in sail fixed. + +* Countmail is back, with a licence (apparently the standard NetBSD +one), since it has one in NetBSD-current of 1998-08-19. + +* All the other games updated from NetBSD-current of 1998-08-19 (minor +changes). + +* Other minor changes. + +* Version 2.2 was never properly released, since the upload to sunsite +was truncated and the sail hole was found before the truncated file +had been removed or the release put in place on tsx-11. + +Version 2.2 (1998-08-15) +=========== + +* Another bug-fix release. + +* This version includes security fixes from OpenBSD. + +* This release is believed year 2000 compliant. Please see the year +2000 statement in the file YEAR2000 for details and disclaimer. + +* Paranoia has been removed from bsd-games-non-free, since it has no +clear licence at all, and being derived from a magazine article it is +not clear it was ever legally distributable. Anyone wanting to +resurrect it in a separate package would need to investigate the +copyright on the magazine article as well as getting a proper licence +from the author. + +* Countmail has been removed from bsd-games because of the lack of a +licence. + +* All other games updated from NetBSD-current of 1998-07-27 (very +minor changes). + +* Default paths now follow FHS 2.0 - enter the paths you want when +running configure if you are using the FSSTND 1.2. + +* You can now easily specify games you don't want built when running +configure. + +* All games that can invoke pagers handle PAGER in the way specified +by POSIX.2 for standard programs that invoke pagers. + +* Rogue bug fix from Bill Lash . + +* Other bug fixes. + +* Information for those packaging bsd-games or bsd-games-non-free for +a Linux distribution is in the file PACKAGING. + +Version 2.1 (1998-03-29) +=========== + +* This is mainly a bug-fix release. + +* All games updated to NetBSD-current as of 1998-03-21 (except for +paranoia). The changes are mostly minor, replacing warning fixes +local to bsd-games with ones now in NetBSD. + +* Some bugs fixed, and most of the additional warnings given by the +current egcs snapshot fixed as well. + +* Configuration / installation change - to strip the installed +binaries, use "make install-strip" instead of "make install"; this +replaces the configuration option for "make install" to strip the +installed binaries. + +* Manpages for wargames and paranoia, thanks to Joey Hess +. + +* Battlestar save file name can be chosen at runtime, and defaults to +".Bstar" instead of "Bstar" for cleaner directory listings. + +Version 2.0 (1997-12-25) +=========== + +* All games updated to NetBSD-current as of 1997-12-12 (except for +paranoia). Hunt and boggle are now based on the NetBSD versions. + +* Many bugs fixed. + +* Added countmail. + +* Better libc6 support - adventure should now work. + +* No longer uses libbsd with libc5. + +* Nearly warning-free compile with -Wall -W -Wstrict-prototypes +-Wmissing-prototypes. + +* Hunt now uses internet domain sockets (untested). + +Version 1.5 (1997-07-17) +=========== + +* All games updated to NetBSD-current as of 1997-07-12 (except for +bog, hunt and paranoia). + +* Added adventure, banner, dm, phantasia, pig, quiz, random and rogue. +(Rogue is in bsd-games-non-free only). + +* BETA level libc6 support. (It may not yet compile, but should be +nearer to compiling with libc6 than version 1.4.) + +Version 1.4 (1997-05-07) +=========== + +* Fish, fortune and hangman updated to the versions in NetBSD-current. + +* Public release. + +Version 1.3.4beta (1997-05-06) +================= + +* Bug fix in backgammon. + +* Backgammon, battlestar, bcd, caesar, canfield, cribbage and factor +updated to the versions in NetBSD-current. As a side-effect, caesar +now installs a "rot13" script. + +* Tetris score file now defaults to tetris-bsd.scores for consistency +with using tetris-bsd in the names of files installed from tetris. +(The rationale of this is that there is more than one Tetris game and +this one should not presume to be the one that takes the +/usr/games/tetris name; that should be a decision for the +administrator, who can reasonably install more than one Tetris game.) +Nor should other files such as the man page or score file potentially +conflict with other Tetris games. Of course, you can configure the +package to use the old score file name (or any other) if you want. + +Version 1.3.3beta (1997-05-03) +================= + +* Non-free package now contains all the files required to build on its +own. It can now be built on its own, or in the same source tree as +bsd-games; the files that appear in both are exact duplicates. + +* Bug-fixes in backgammon and sail. + +Version 1.3.2beta (1997-05-03) +================= + +* Non-free games (bog and paranoia) now distributed separately - +unpack both source packages together before configuring if you want to +build them. + +* Configuration script improved: now the default list of games to +build is the list of subdirectories, and you can configure the exact +paths to score files and data files for individual games using it - so +they are always correctly substituted in the manpages. + +* Bug-fixes in backgammon, snake and worm. + +* Arithmetic and atc updated to the versions in NetBSD-current. + +Version 1.3.1beta (1997-05-01) +================= + +* Now works with libc 5 ;-). + +* Debian patches from Joey Hess mostly +integrated up to Debian version 1.3-7. + +* New ports of tetris and gomoku, thanks to David Frey +. + +* Distributed as source only. + +* Many bug-fixes to battlestar. + +* Configuration script, now substitutes correct paths in manpages. + +* Defaults hopefully closer to FSSTND/FHS. + +* Builds with ncurses by default. Curses/termcap are obsolete and no +longer supported (not that this package is supported anyway ;-)). + +Version 1.3 (1993-10-25) +=========== + +See ChangeLog.0. + +Version 1.2 (1993-08-25) +=========== + +See ChangeLog.0. + +Version 1.1 (1993-08-19) +=========== + +See ChangeLog.0. + + + +Local Variables: +mode: text +End: diff --git a/PACKAGING b/PACKAGING new file mode 100644 index 0000000..67ce5c6 --- /dev/null +++ b/PACKAGING @@ -0,0 +1,149 @@ +Packaging bsd-games and bsd-games-non-free +========================================== + +This file contains some information intended for those packaging +bsd-games or bsd-games-non-free for a Linux distribution. It is +presumed that you have read INSTALL first, and that you have the +competence in the POSIX shell required to read and understand the +configure script. This information may also be useful to people +building their own systems, who wish to rebuild the whole system +automatically or who use a packaging system for locally built +software. + +The configuration and build of bsd-games has two features designed to +facilitate packaging: + +1) Installation prefix. + +The configure script allows you to choose an installation prefix (by +default empty) that is prepended to all paths used for installation, +but not those built into the executables (this is similar to the +install_root of glibc, and DESTDIR in some packages, but is chosen at +configure time). The package would then be built in some way from +this directory, and the contents would end up in the root of the +target system. If used, this prefix must be an absolute path. + +2) config.params to change configuration defaults. + +Although the configuration script is by default interactive (although +it does not need a terminal), it can also be used non-interactively. +If a file "config.params" exists in the source directory, it will be +sourced by the configure script. If this file (which can be an +arbitrary shell script) sets "bsd_games_cfg_non_interactive" to "y", +then the default answers to all questions will be taken without +interaction. If this sets "bsd_games_cfg_FOO" to "BAR" then the +default value for configuration parameter "FOO" will become "BAR" +instead of whatever default the script would otherwise give. You can +find the names and meanings of the configuration parameters by reading +the configure script; they are not otherwise documented. + +Issues for packagers +==================== + +Please read the security warnings in SECURITY. There is a potential +trade-off between security and functionality present, and you may wish +to choose a potentially more secure default and allow the sysadmin to +change permissions if they are in an environment (for example, a home +system with only trusted users) where the functionality is preferred, +while ensuring such changes persist across upgrades. Some packagers +may wish to provide a security-hardened system by giving each setgid +game its own group so bugs in one do not affect others. + +You may wish to include auxiliary documentation for users, such as the +AUTHORS and THANKS files and the year 2000 statement YEAR2000. + +Assuming you distribute source for your package (I do not believe any +of the games have licences requiring this), and separate your patches +from the original source .tar.gz files (whether in separate files or +in a single file source package including them as separable +components), arranging the building of the source so that your patches +add a "config.params" as described above, and do any other necessary +changes to "configure" or other source files, and so that the build +process runs configure non-interactively and then builds the package, +makes it easier for readers to see how you have packaged it than +running configure interactively and including the generated files in +your patch. + +Since bsd-games no longer comes with its own words file, you may wish +to ensure that the same dictionaries are used in the build of boggle +regardless of the local configuration of the dictionaries installed on +the computer used for the build. (The list used by hangman can also +be specified by the user at run time; future versions may provide for +this to be done with boggle as well; see TODO.) + +Andries Brouwer has noted more than once on linux-kernel (and +elsewhere) that some packagers (for various software and documentation +used under Linux): + +(a) Do not send their patches to upstream maintainers, so that +improvements and bug fixes stay in some distributions, which may need +to discover them independently, and do not come to benefit other +users. + +(b) Keep applying their same patches to new versions of the source as +long as they apply without error, even though they may no longer be +needed or even be harmful. + +If you have patches that are needed for the package to build or to fix +bugs (in a supported environment, not with old versions of libraries +and tools) or that provide enhancements other than conforming to +distribution-specific policy, please send them to me (unidiffs +preferred; see notes on bug reporting and sending patches at the end +of README). Do not assume that old patches should be applied to new +versions; check that the problem they are supposed to fix is still +present first. + +Warnings +======== + +If distributing bsd-games, it is your responsibility to check that the +licences on the games you distribute permit what you wish to do with +them, and that you are providing accurate information on the licences +to your users. Likewise it is your responsibility to carry out +whatever audits you deem necessary on the code, and to include such +warnings or information (about security and otherwise) for the end +user as you see fit. Please read the disclaimers in the individual +source files. + +Some of the games may contain material, actions or language that in +some jurisdictions may be prohibited or considered unsuitable for +minors; this includes but is not limited to the offensive fortunes. +It is your responsibility to determine and apply any restriction on +your distribution of the games that may be necessary in consequence. + +This package contains cryptographic software (caesar and rot13). See +the warnings in README about this. + +Notification of new versions +============================ + +If you want to receive notification of new versions by email, but do +not currently receive this notification, please let me know. + +A note on terminology and credit +================================ + +I am not the "upstream author" of the games packaged here; for an +incomplete list of the authors see AUTHORS, but do not give me this +credit I do not deserve at the expense of the true authors. Rather I +am the "upstream maintainer" of the bsd-games and bsd-games-non-free +packages (upstream relative to distributions), and upstream of me is +NetBSD, who also are maintainers of the games, but not for the most +part authors. Nor am I the creator of the bsd-games package, although +much the current form of the packaging and many of the porting changes +are mine: the package was created by Curt Olson and Andy Tefft, and +passed to me after it had been idle and unmaintained for some years. +Any system that provides fields for recording this sort of information +should distinguish these concepts, and the different fields should be +filled in correctly. Please consider where credit is due and credit +the authors of the games accordingly: if you find the names of authors +where not known and listed in AUTHORS, or up-to-date contact details +for authors listed there, please send me the details so they can +receive their due credit in future versions, and thanks from any +appreciative users. + + + +Local Variables: +mode: text +End: diff --git a/README b/README new file mode 100644 index 0000000..17165f4 --- /dev/null +++ b/README @@ -0,0 +1,139 @@ +README for bsd-games +==================== + +This is the bsd-games package for Linux (and GNU Hurd), containing +ports of all the games from NetBSD-current that are free in the usual +(DFSG/OSD) sense (i.e. modified and unmodified versions can be freely +distributed, including for profit). NetBSD-current contains two other +games, rogue and larn. Rogue has a standard BSD licence, but with an +additional contradictory licence that does not allow for-profit +distribution; larn has no licence at all, only a notice that "Copying +for Profit is Prohibited". If you want rogue, get the +bsd-games-non-free package (which should be on sunsite, but not +tsx-11), and read the README.non-free that it contains: rogue is being +distributed separately, and larn not distributed at all in this Linux +port, in the absence of definite confirmation of what licences really +apply to rogue and larn. A game not from NetBSD, paranoia, was in +earlier versions of bsd-games-non-free (and bsd-games 1.2 and 1.3) but +has been removed because of the lack of a clear licence. + +The games are mostly not enhanced from the NetBSD versions, but many +bugs are fixed. + +For installation instructions and details of prerequisites, see the +file "INSTALL". + +The statement of year 2000 issues associated with bsd-games and +bsd-games-non-free is in the file "YEAR2000". + +The copyrights and licence terms for the games, as best as I can +determine them, are in "COPYING". + +This package contains cryptographic software (caesar and rot13). In +some jurisdictions, use or distribution of these utilities may be +restricted, whether under export control regulations or because these +cryptosystems have been used as technical protection measures to +restrict access to and copying of copyright works. + +This package contains the following games: + +adventure: the original adventure by Crowther and Woods +arithmetic: arithmetic quiz/speed test +atc: air traffic control +backgammon: backgammon +banner: display a message in big letters +battlestar: adventure game on a battlestar +bcd: outputs text in an antique form +boggle: boggle +caesar: reads fortunes from the game fortune, also some internet posts +canfield: curses-based solitaire +countmail: tell you how much new mail you have +cribbage: cribbage +dab: dots and boxes +dm: dungeon master, regulates games playing +factor: factor a number +fish: go fish +fortune: displays a random silly message +gomoku: gomoku +hack: exploring the Dungeons of Doom +hangman: guess the word before it is too late +hunt: hunt each other in a maze (multiplayer -- great) +mille: mille borne against the computer +monop: monopoly +morse: output morse code +number: output the English text for a number +phantasia: interterminal fantasy game +pig: output text in Pig Latin +pom: display the phase of the moon +ppt: outputs text in another antique form +primes: generate primes +quiz: random knowledge tests +rain: attempts to create a rain drop effect (best at 9600 baud) +random: random lines from a file or random numbers +robots: well... avoid the robots +sail: sail your ship into battle +snake: grab the cash and avoid the snake and exit +tetris: tetris +trek: We come in peace, shoot to kill. It's worse than that, he's + dead Jim. Ye cannot change the laws of physics. It's life + Jim, but not as we know it. There's Klingons on the starboard + bow ... +wargames: would you like to play a game? +worm: eat the numbers without running into anything +worms: random worms scurrying across your screen +wtf: translate acronyms, e.g. "wtf is WTF" +wump: hunt the wumpus + +If you have questions about bsd-games or bsd-games-non-free you can +contact me at . Bug reports should state the +versions of ncurses and libc used, unless clearly not relevant (e.g., +bugs in data files, or where you have an analysis and patch). If you +want to be informed by email of new releases when they come out, +please let me know. + +Known bugs are listed in the file BUGS; please do not send bug reports +for bugs listed there, but patches that fix them are welcome. + +For patches, I prefer unidiffs (use "diff -u OLD NEW", or "diff -ruN +OLD-DIRECTORY NEW-DIRECTORY"), but if your diff cannot produce them +then context diffs are OK. Please remember to include details of the +bug and your analysis of the problem if you are sending a patch; I +have ported the code from NetBSD to Linux, but may not be familiar +with the workings of any particular program, whereas you will be if +you have been tracing and fixing a bug. The GCC info manual contains +a discussion of how to produce good bug reports. + +Notes on specific games: + +boggle: by default this game compiles with certain Linux improvements; +if you want the original BSD behaviour, remove -DNEW_STYLE from the +boggle_boggle_DEFS in boggle/boggle/Makefrag. Defining NEW_STYLE will +provide a more intuitive way of quitting or playing a new game after +time has run out. + +dm: the "dungeon master", a program that allows you to control when +users can play games. (Note that this does not control any private +copies of games they may have.) I do not claim that this program is +actually useful, but it is included in bsd-games since it is in +NetBSD. Add -DLOG to the DEFS in dm/Makefrag if you want logging of +games playing (not regularly tested). + +fortune: Another enhanced version is available from +. +unstr is not installed by default. If you want to install it, +uncomment the relevant lines (installation command and definition of +fortune_unstr_DIRS) in fortune/unstr/Makefrag before doing the top +level "make install". + +hunt: may well be unreliable or broken in various ways. There is some +local configuration possible in hunt/Makeconfig but changing this may +well break things. + +Joseph S. Myers +jsm@polyomino.org.uk + + + +Local Variables: +mode: text +End: diff --git a/SECURITY b/SECURITY new file mode 100644 index 0000000..1a25114 --- /dev/null +++ b/SECURITY @@ -0,0 +1,90 @@ +Security of bsd-games and bsd-games-non-free +============================================ + +Some games maintain system-wide score files or logs, and need +appropriate privileges to write to these files. They can get these +privileges by being installed setgid games, or through the files being +world writable. If they do not have these privileges, they will run, +but fail to update the score files. Most of the games were written at +a time when security was not considered important; therefore, making +games setgid has in the past meant that users can get a shell with gid +games, and possibly also get access to the accounts of other games +players by corrupting the score files. (This will also apply to many +more modern games that are badly written.) + +In version 2.2, security fixes from OpenBSD have been applied: most of +the games that have score files will open them on startup, and then +drop any setgid privileges completely (including the saved gid). This +limits the effect of a cracked game to corruption of its score file. +It should be somewhat safer now to make games setgid games than in +versions 2.1 and earlier, but probably not completely safe; phantasia, +sail, rogue, hack and tetris do not currently handle their score files +in the above way, and so should be considered the most dangerous to +install setgid. If you are auditing these games, phantasia, sail, +rogue, hack and tetris should be considered the most important to +audit. In versions before 2.14, rogue had an exploitable buffer +overrun (see NetBSD Security Advisory 2002-021). + +An effect of this security policy is that in some cases the score +files need to be world-readable so that they can be opened for reading +after the game has dropped privileges, or by a score file reading +program that was never privileged. In versions before 2.10, the +phantasia "characs" file (containing passwords for phantasia +characters) was mistakenly made world readable. + +You should, of course, only install the games setgid if this is in +line with system security policy. Games should not be installed +setuid, since if a setuid game is cracked this allows games to be +replaced with trojans. Games should not be installed setgid to a +system group such as "root" or "daemon". In some environments, an +acceptable alternative may be not to give the games any special +privileges, but to put trusted users in the games group. + +An option is to use the "dungeon master" dm to regulate games playing. +I believe this is safe; games that do not need to run setgid drop the +setgid privileges they get from dm on startup. If dm is setgid, but +the games that access score files are not, then they will keep their +setgid privileges from dm; note that in this case it does not make +sense for dm to be setgid to some gid other than the one (normally +"games") with write access to the score files. + +This package does not yet support security hardening by giving each +setgid game its own gid, but in some environments you may wish to do +this. + +*********************************************************************** +* * +* DO NOT INSTALL ANY GAMES SETUID, ONLY SETGID. * +* * +* INSTALLING GAMES SETGID GAMES MIGHT ENABLE TO GET SHELLS WITH GID * +* GAMES. * +* * +* WHERE GAMES READ A SCORE FILE, IF A USER CAN CORRUPT THIS FILE IT * +* MIGHT IN SOME CASES MEAN THEY CAN GET ACCESS TO THE ACCOUNTS OF * +* OTHER USERS PLAYING THAT GAME. * +* * +* IF IN DOUBT, CHOOSE THE DEFAULT OPTIONS FOR PERMISSIONS AND DO * +* WITHOUT SCOREFILES. * +* * +* THESE GAMES COME WITH NO WARRANTY. * +* * +*********************************************************************** + +If you are compiling these games on an operating system other than +Linux, be warned that they rely for their security on +"setregid(getgid(), getgid())" dropping all setgid privileges +permanently, _including the saved gid_. On some operating systems +this may fail to drop the saved gid (and indeed such operating systems +may provide no way for a process not running as root to revoke +privileges permanently); in such a case, bugs in a game may provide +access to the games group rather than merely to to that game's score +file. + +Joseph S. Myers +jsm@polyomino.org.uk + + + +Local Variables: +mode: text +End: diff --git a/THANKS b/THANKS new file mode 100644 index 0000000..5ca755b --- /dev/null +++ b/THANKS @@ -0,0 +1,80 @@ +Credits and acknowledgements for bsd-games and bsd-games-non-free +================================================================= + +For details of authors of the games and maintenance of the bsd-games +and bsd-games-non-free packages, see AUTHORS. The following are +further credits for people who have helped improve the package; thanks +also to those who have reported bugs and so helped us improve the +package, and to those who have similarly contributed to the games in +*BSD over the years. Please help me to repair any errors or omissions +in this list. + + +For recent work (since 1.3), thanks to: + +David A Bagley + + For work towards portability to Cygwin. + +Joey Hess + + For the Debian patches, which covered what was needed to make the games + compile with current libraries, provided many bug fixes and showed + where I needed to do things like parametrise manpages. Also many other + bug reports and fixes, and manpages for wargames and paranoia. + +David Frey + + For the ports of tetris and gomoku. + +Bill Lash + + For tracking down and fixing a bug in rogue. + +Paul Janzen + + For work on the OpenBSD games, including supplying improvements that + could be applied to the Linux port, and merging NetBSD changes into + OpenBSD so making it easier to extract his and other OpenBSD changes + to include in the Linux port. Also for checking the licence of + boggle, so it could be included in the main bsd-games package. + +Hubert Feyrer + + For timely responses to my NetBSD PRs, merging the Linux changes + back into NetBSD. Also for sponsoring me to be a NetBSD developer, + and for general assistance in the merge. + +Stuart Lamble + + For a bug report and analysis (with patch) about scoring in + backgammon. + +Malcolm Parsons + + For several bug reports and fixes. + +For the original bsd-games package (versions up to 1.3): + +Special Thanks to: + +Andy Tefft (teffta@engr.dnet.ge.com) + + For porting backgammon, canfield, fortune, and number. Andy also was a + big help in organizing this project, and in getting the ball rolling in + the early stages. + +Thanks also to: + Ross Becker (beckerr@pyrite.som.cwru.edu) - working on hunt. + jyanowit@orixa.mtholyoke.edu - backgammon bug fix. + Andrew Kuchling (fnord@binkley.cs.mcgill.ca) - bog bug fix. + Rik Faith (faith@cs.unc.edu) - words file for hangman and bog. + +For authors and acknowledgements for the original BSD games, see +AUTHORS. + + + +Local Variables: +mode: text +End: diff --git a/TODO b/TODO new file mode 100644 index 0000000..7013fda --- /dev/null +++ b/TODO @@ -0,0 +1,90 @@ +TODO list for bsd-games and bsd-games-non-free +============================================== + +Please let me (jsm@polyomino.org.uk) know if you're interested in +doing any of these, or have done work on them, so we can avoid +duplication of effort. The order of entries is just the order they +were added in, not any priority order. + +The file BUGS lists known bugs; you may wish to work on some of +those. The issues listed there are not included in this list. + +1997-04-29 - Improve security of games when running setgid. Most of + this has been done, through adopting changes from + OpenBSD, but a thorough audit is needed - see SECURITY. + The Linux Security Audit Project looked at the games but + never bothered to send me their fixes; I think they are + now included. Rogue and tetris could probably be adapted + to keep their score files open and so need no more + privileges than an open file descriptor. Sail could + better use a daemon than a file for interfacing between + multiple players; Paul Janzen might do this at some point. + +1997-04-29 - Fix compilation warnings with increasingly strict warning + options. The main reasonable ones have now been done, + but maybe some bits are left, and new warnings get added + to new versions of GCC. Fixes for -pedantic warnings are + in progress. + +1997-05-01 - Games with scorefiles should lock them when updating them. + +1997-07-15 - Get distribution permission for larn. Get licence of + rogue clarified. (See NetBSD PR 5850. Note that the + original author of larn, Noah Morgan, is dead.) + +1998-07-28 - Support building in a directory other than the source directory. + +1998-08-27 - Convert the games that use termcap to use curses. + Currently these are backgammon, hack and tetris; rain, + snake and worms have been done. If it becomes possible + to distribute larn, this will apply to it as well. + +1998-08-27 - If we build a game that links to another game's manpage, + but don't install the other game, then we get a dangling + symlink or .so for the manpage. + +1998-08-27 - Merge in improvements from OpenBSD. Perhaps FreeBSD also + has some; Paul Janzen is adding FreeBSD changes to + OpenBSD, so they may reach me that way. + +1998-09-11 - Move building of more files in which configuration + variables are substituted from the configure script into + the Makefiles. + +1998-12-06 - Allow alternative dictionaries to be specified at runtime + for boggle. + +1998-12-11 - Support LFS (large files) - this requires using + fseeko/ftello instead of fseek/ftell, where supported, + and using -D_FILE_OFFSET_BITS=64 (actually getconf + LFS_CFLAGS, getconf LFS_LDFLAGS and getconf LFS_LIBS), + and could be useful with the kernel support for 32 bit + uids in Linux 2.4, when there could be sparse score files + (indexed by uid) over 2Gb. + +1998-12-14 - Check for any more constant data that could be marked + const. + +1998-12-28 - Fix any places that use the pid as random seed to use + something else, such as the time, because the pid is bad + when people boot up their system just to play a game and + so it is constant. + +1999-07-29 - Provide support for giving each setgid game its own gid. + +2000-09-09 - Fuzz testing (i.e., pass random input to games in an + attempt to crash them). Some bugs have been found and + fixed in battlestar through this already. It probably + works best with GCC bounded pointers. + +2000-09-09 - Support for HURD-based GNU systems. This may now (2.13) + work. + +2000-09-24 - Fix any and all date-related bugs (Y2038, Y10K, etc.) so + that the games will work on any date provided only that + time_t is big enough. + + +Local Variables: +mode: text +End: diff --git a/YEAR2000 b/YEAR2000 new file mode 100644 index 0000000..15aedae --- /dev/null +++ b/YEAR2000 @@ -0,0 +1,36 @@ +YEAR 2000 STATEMENT FOR BSD-GAMES AND BSD-GAMES-NON-FREE +======================================================== + +The BSD games, and the Linux port thereof, come with NO WARRANTY, to +the extent permitted by applicable law; see the disclaimers in the +source files for details. These games are not suitable for use in +mission-critical situations. The information given below is for +information only, and the maintainer can accept no liability for any +damage that may be caused by any defect in this software or inaccuracy +in the statement below. (If you bought this software from a +distributor, they may offer a warranty; contact them for any details +of this, or if you want copies of any year 2000 statements on headed +notepaper.) + +The BSD games are only one piece of software on a Linux system, and +their year 2000 behaviour must be considered in conjunction with that +of other software on the system; in particular, the C runtime library +(including the math library), the ncurses library, the lex library, +and the kernel, functions of which may be used at runtime, and the +complier, binary utilities, make, yacc, lex and header files used to +compile the BSD games. I can provide no information concerning the +compliance of these components, or how any non-compliance might affect +the compliance of the BSD games. + +To the best of my knowledge, there are no date-related operations in +any of the BSD games, in bsd-games and bsd-games-non-free versions 2.2 +or later, which will handle the year 2000 incorrectly; please see the +disclaimer above. Earlier versions are known to have problems; in +particular, the game with the greatest date dependence, pom (which +determines the phase of the Moon), may handle the year 2000 +incorrectly in earlier versions. However I cannot vouch for the +accuracy of the algorithm used by pom over any particular timescale, +and for accurate information on the phases of the Moon you are advised +to consult the Astronomical Almanac or some other reputable source. +Any further date-related bugs that are found and reported _may_ be +fixed in the ordinary course of subsequent releases. diff --git a/adventure/Makefile.bsd b/adventure/Makefile.bsd new file mode 100644 index 0000000..6530c3c --- /dev/null +++ b/adventure/Makefile.bsd @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.13 2003/11/16 14:14:18 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/12/93 + +PROG= adventure +SRCS= main.c init.c done.c save.c subr.c vocab.c wizard.c io.c data.c crc.c +MAN= adventure.6 +HIDEGAME=hidegame +CLEANFILES+=setup setup.lo data.c + +data.c: glorkz setup + ${_MKTARGET_CREATE} + ./setup ${.CURDIR}/glorkz > data.c + +setup.lo: hdr.h +setup: setup.lo + ${_MKTARGET_LINK} + ${HOST_LINK.c} -o ${.TARGET} ${.ALLSRC} + +.include diff --git a/adventure/Makefrag b/adventure/Makefrag new file mode 100644 index 0000000..64bc7e2 --- /dev/null +++ b/adventure/Makefrag @@ -0,0 +1,40 @@ +# Makefrag - makefile fragment for adventure +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +adventure_CLEANFILES := data.c +adventure_DIRS := $(GAMESDIR) $(MAN6DIR) + +adventure_all: adventure/adventure adventure/adventure.6 + +adventure/data.c: adventure/glorkz adventure/setup + adventure/setup $< >$@ + +adventure_install: adventure_all + $(INSTALL_BINARY) adventure/adventure $(INSTALL_PREFIX)$(GAMESDIR)/adventure + $(HIDE_GAME) adventure + $(INSTALL_MANUAL) adventure/adventure.6 diff --git a/adventure/adventure.6 b/adventure/adventure.6 new file mode 100644 index 0000000..cc8c7a8 --- /dev/null +++ b/adventure/adventure.6 @@ -0,0 +1,55 @@ +.\" $NetBSD: adventure.6,v 1.4 2003/08/07 09:36:50 agc Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" The game adventure was originally written in Fortran by Will Crowther +.\" and Don Woods. It was later translated to C and enhanced by Jim +.\" Gillogly. This code is derived from software contributed to Berkeley +.\" by Jim Gillogly at The Rand Corporation. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)adventure.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt ADVENTURE 6 +.Os +.Sh NAME +.Nm adventure +.Nd an exploration game +.Sh SYNOPSIS +.Nm +.Op saved-file +.Sh DESCRIPTION +The object of the game is to locate and explore Colossal Cave, find the +treasures hidden there, and bring them back to the building with you. +The program is self-descriptive to a point, but part of the game is to +discover its rules. +.Pp +To terminate a game, enter +.Dq quit ; +to save a game for later resumption, enter +.Dq suspend . diff --git a/adventure/crc.c b/adventure/crc.c new file mode 100644 index 0000000..66504f1 --- /dev/null +++ b/adventure/crc.c @@ -0,0 +1,136 @@ +/* $NetBSD: crc.c,v 1.8 2003/08/07 09:36:50 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * James W. Williams of the University of Maryland. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)crc.c 8.1 (Berkeley) 5/31/93"; +static char ORIGINAL_sccsid[] = "@(#)crc.c 5.2 (Berkeley) 4/4/91"; +#else +__RCSID("$NetBSD: crc.c,v 1.8 2003/08/07 09:36:50 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +const unsigned long crctab[] = { + 0x7fffffff, + 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, + 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, + 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, + 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, + 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, + 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, + 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, + 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, + 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, + 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, + 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, + 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, + 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, + 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, + 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, + 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, + 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, + 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, + 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, + 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, + 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, + 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, + 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, + 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, + 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, + 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, + 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, + 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, + 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, + 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, + 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, + 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, + 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, + 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, + 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, + 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, + 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, + 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, + 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, + 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, + 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, + 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, + 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, + 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, + 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, + 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, + 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, + 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, + 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, + 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, + 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d +}; +/* + * crc -- + * Compute a POSIX.2 checksum. This routine modified by Jim Gillogly + * to work on sequential data rather than on a file. Initial call to + * crc_start initializes the sum, and subsequent calls to crc update + * it. + */ + +unsigned long crcval; +unsigned int step; + +void +crc_start() +{ + crcval = step = 0; +} + +unsigned long +crc(ptr, nr) /* Process nr bytes at a time; ptr points to them */ + const char *ptr; + int nr; +{ + int i; + const char *p; + + while (nr > 0) + for (p = ptr; nr--; ++p) { + if (!(i = crcval >> 24 ^ *p)) { + i = step++; + if (step >= sizeof(crctab) / sizeof(crctab[0])) + step = 0; + } + crcval = (crcval << 8) ^ crctab[i]; + } + return crcval & 0xffffffff; /* Mask to 32 bits. */ +} diff --git a/adventure/done.c b/adventure/done.c new file mode 100644 index 0000000..54e5fa6 --- /dev/null +++ b/adventure/done.c @@ -0,0 +1,171 @@ +/* $NetBSD: done.c,v 1.8 2003/08/07 09:36:50 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)done.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: done.c,v 1.8 2003/08/07 09:36:50 agc Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: termination routines */ + +#include +#include +#include "hdr.h" +#include "extern.h" + +int +score() +{ /* sort of like 20000 */ + int scor, i; + mxscor = scor = 0; + for (i = 50; i <= maxtrs; i++) { + if (ptext[i].txtlen == 0) + continue; + k = 12; + if (i == chest) + k = 14; + if (i > chest) + k = 16; + if (prop[i] >= 0) + scor += 2; + if (place[i] == 3 && prop[i] == 0) + scor += k - 2; + mxscor += k; + } + scor += (maxdie - numdie) * 10; + mxscor += maxdie * 10; + if (!(scorng || gaveup)) + scor += 4; + mxscor += 4; + if (dflag != 0) + scor += 25; + mxscor += 25; + if (closng) + scor += 25; + mxscor += 25; + if (closed) { + if (bonus == 0) + scor += 10; + if (bonus == 135) + scor += 25; + if (bonus == 134) + scor += 30; + if (bonus == 133) + scor += 45; + } + mxscor += 45; + if (place[magzin] == 108) + scor++; + mxscor++; + scor += 2; + mxscor += 2; + for (i = 1; i <= hntmax; i++) + if (hinted[i]) + scor -= hints[i][2]; + return (scor); +} + +void +done(entry) /* entry=1 means goto 13000 */ /* game is over */ + int entry; /* entry=2 means goto 20000 */ /* 3=19000 */ +{ + int i, sc; + if (entry == 1) + mspeak(1); + if (entry == 3) + rspeak(136); + printf("\n\n\nYou scored %d out of a ", (sc = score())); + printf("possible %d using %d turns.\n", mxscor, turns); + for (i = 1; i <= clsses; i++) + if (cval[i] >= sc) { + speak(&ctext[i]); + if (i == clsses - 1) { + printf("To achieve the next higher rating"); + printf(" would be a neat trick!\n\n"); + printf("Congratulations!!\n"); + exit(0); + } + k = cval[i] + 1 - sc; + printf("To achieve the next higher rating, you need"); + printf(" %d more point", k); + if (k == 1) + printf(".\n"); + else + printf("s.\n"); + exit(0); + } + printf("You just went off my scale!!!\n"); + exit(0); +} + + +void +die(entry) /* label 90 */ + int entry; +{ + int i; + if (entry != 99) { + rspeak(23); + oldlc2 = loc; + } + if (closng) { /* 99 */ + rspeak(131); + numdie++; + done(2); + } + yea = yes(81 + numdie * 2, 82 + numdie * 2, 54); + numdie++; + if (numdie == maxdie || !yea) + done(2); + place[water] = 0; + place[oil] = 0; + if (toting(lamp)) + prop[lamp] = 0; + for (i = 100; i >= 1; i--) { + if (!toting(i)) + continue; + k = oldlc2; + if (i == lamp) + k = 1; + drop(i, k); + } + loc = 3; + oldloc = loc; +} diff --git a/adventure/extern.h b/adventure/extern.h new file mode 100644 index 0000000..b9950b5 --- /dev/null +++ b/adventure/extern.h @@ -0,0 +1,130 @@ +/* $NetBSD: extern.h,v 1.10 2004/01/27 20:30:28 jsm Exp $ */ + +/* + * Copyright (c) 1997 Christos Zoulas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christos Zoulas. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +/* crc.c */ +void crc_start(void); +unsigned long crc(const char *, int); + +/* done.c */ +int score(void); +void done(int) __attribute__((__noreturn__)); +void die(int); + +/* init.c */ +void init(void); +char *decr(int, int, int, int, int); +void linkdata(void); +void trapdel(int); +void startup(void); + +/* io.c */ +void getin(char **, char **); +int yes(int, int, int); +int yesm(int, int, int); +int next(void); +void rdata(void); +int rnum(void); +void rdesc(int); +void rtrav(void); +#ifdef DEBUG +void twrite(int); +#endif +void rvoc(void); +void rlocs(void); +void rdflt(void); +void rliq(void); +void rhints(void); +void rspeak(int); +void mspeak(int); +struct text; +void speak(const struct text *); +void pspeak(int, int); + +/* save.c */ +int save(const char *); +int restore(const char *); + +/* subr.c */ +int toting(int); +int here(int); +int at(int); +int liq2(int); +int liq(void); +int liqloc(int); +int bitset(int, int); +int forced(int); +int dark(void); +int pct(int); +int fdwarf(void); +int march(void); +int mback(void); +int specials(void); +int trbridge(void); +void badmove(void); +void bug(int) __attribute__((__noreturn__)); +void checkhints(void); +int trsay(void); +int trtake(void); +int dropper(void); +int trdrop(void); +int tropen(void); +int trkill(void); +int trtoss(void); +int trfeed(void); +int trfill(void); +void closing(void); +void caveclose(void); + +/* vocab.c */ +void dstroy(int); +void juggle(int); +void move(int, int); +int put(int, int, int); +void carry(int, int); +void drop(int, int); +int vocab(const char *, int, int); + +/* These three used to be functions in vocab.c */ +#define copystr(src, dest) strcpy((dest), (src)) +#define weq(str1, str2) (!strncmp((str1), (str2), 5)) +#define length(str) (strlen((str)) + 1) + +void prht(void); + +/* wizard.c */ +void datime(int *, int *); +void poof(void); +int Start(void); +int wizard(void); +void ciao(void); +int ran(int); diff --git a/adventure/glorkz b/adventure/glorkz new file mode 100644 index 0000000..a00d400 --- /dev/null +++ b/adventure/glorkz @@ -0,0 +1,1815 @@ +1 +1 You are standing at the end of a road before a small brick building. +1 Around you is a forest. A small stream flows out of the building and +1 down a gully. +2 You have walked up a hill, still in the forest. The road slopes back +2 down the other side of the hill. There is a building in the distance. +3 You are inside a building, a well house for a large spring. +4 You are in a valley in the forest beside a stream tumbling along a +4 rocky bed. +5 You are in open forest, with a deep valley to one side. +6 You are in open forest near both a valley and a road. +7 At your feet all the water of the stream splashes into a 2-inch slit +7 in the rock. Downstream the streambed is bare rock. +8 You are in a 20-foot depression floored with bare dirt. Set into the +8 dirt is a strong steel grate mounted in concrete. A dry streambed +8 leads into the depression. +9 You are in a small chamber beneath a 3x3 steel grate to the surface. +9 A low crawl over cobbles leads inward to the west. +10 You are crawling over cobbles in a low passage. There is a dim light +10 at the east end of the passage. +11 You are in a debris room filled with stuff washed in from the surface. +11 A low wide passage with cobbles becomes plugged with mud and debris +11 here, but an awkward canyon leads upward and west. A note on the wall +11 says "Magic word XYZZY". +12 You are in an awkward sloping east/west canyon. +13 You are in a splendid chamber thirty feet high. The walls are frozen +13 rivers of orange stone. An awkward canyon and a good passage exit +13 from east and west sides of the chamber. +14 At your feet is a small pit breathing traces of white mist. An east +14 passage ends here except for a small crack leading on. +15 You are at one end of a vast hall stretching forward out of sight to +15 the west. There are openings to either side. Nearby, a wide stone +15 staircase leads downward. The hall is filled with wisps of white mist +15 swaying to and fro almost as if alive. A cold wind blows up the +15 staircase. There is a passage at the top of a dome behind you. +16 The crack is far too small for you to follow. +17 You are on the east bank of a fissure slicing clear across the hall. +17 The mist is quite thick here, and the fissure is too wide to jump. +18 This is a low room with a crude note on the wall. The note says, +18 "You won't get it up the steps". +19 You are in the Hall of the Mountain King, with passages off in all +19 directions. +20 You are at the bottom of the pit with a broken neck. +21 You didn't make it. +22 The dome is unclimbable. +23 You are at the west end of the Twopit Room. There is a large hole in +23 the wall above the pit at this end of the room. +24 You are at the bottom of the eastern pit in the Twopit Room. There is +24 a small pool of oil in one corner of the pit. +25 You are at the bottom of the western pit in the Twopit Room. There is +25 a large hole in the wall about 25 feet above you. +26 You clamber up the plant and scurry through the hole at the top. +27 You are on the west side of the fissure in the Hall of Mists. +28 You are in a low N/S passage at a hole in the floor. The hole goes +28 down to an E/W passage. +29 You are in the south side chamber. +30 You are in the west side chamber of the Hall of the Mountain King. +30 A passage continues west and up here. +31 >$< +32 You can't get by the snake. +33 You are in a large room, with a passage to the south, a passage to the +33 west, and a wall of broken rock to the east. There is a large "Y2" on +33 a rock in the room's center. +34 You are in a jumble of rock, with cracks everywhere. +35 You're at a low window overlooking a huge pit, which extends up out of +35 sight. A floor is indistinctly visible over 50 feet below. Traces of +35 white mist cover the floor of the pit, becoming thicker to the right. +35 Marks in the dust around the window would seem to indicate that +35 someone has been here recently. Directly across the pit from you and +35 25 feet away there is a similar window looking into a lighted room. A +35 shadowy figure can be seen there peering back at you. +36 You are in a dirty broken passage. To the east is a crawl. To the +36 west is a large passage. Above you is a hole to another passage. +37 You are on the brink of a small clean climbable pit. A crawl leads +37 west. +38 You are in the bottom of a small pit with a little stream, which +38 enters and exits through tiny slits. +39 You are in a large room full of dusty rocks. There is a big hole in +39 the floor. There are cracks everywhere, and a passage leading east. +40 You have crawled through a very low wide passage parallel to and north +40 of the Hall of Mists. +41 You are at the west end of Hall of Mists. A low wide crawl continues +41 west and another goes north. To the south is a little passage 6 feet +41 off the floor. +42 You are in a maze of twisty little passages, all alike. +43 You are in a maze of twisty little passages, all alike. +44 You are in a maze of twisty little passages, all alike. +45 You are in a maze of twisty little passages, all alike. +46 Dead end +47 Dead end +48 Dead end +49 You are in a maze of twisty little passages, all alike. +50 You are in a maze of twisty little passages, all alike. +51 You are in a maze of twisty little passages, all alike. +52 You are in a maze of twisty little passages, all alike. +53 You are in a maze of twisty little passages, all alike. +54 Dead end +55 You are in a maze of twisty little passages, all alike. +56 Dead end +57 You are on the brink of a thirty foot pit with a massive orange column +57 down one wall. You could climb down here but you could not get back +57 up. The maze continues at this level. +58 Dead end +59 You have crawled through a very low wide passage parallel to and north +59 of the Hall of Mists. +60 You are at the east end of a very long hall apparently without side +60 chambers. To the east a low wide crawl slants up. To the north a +60 round two foot hole slants down. +61 You are at the west end of a very long featureless hall. The hall +61 joins up with a narrow north/south passage. +62 You are at a crossover of a high N/S passage and a low E/W one. +63 Dead end +64 You are at a complex junction. A low hands and knees passage from the +64 north joins a higher crawl from the east to make a walking passage +64 going west. There is also a large room above. The air is damp here. +65 You are in Bedquilt, a long east/west passage with holes everywhere. +65 To explore at random select north, south, up, or down. +66 You are in a room whose walls resemble Swiss cheese. Obvious passages +66 go west, east, NE, and NW. Part of the room is occupied by a large +66 bedrock block. +67 You are at the east end of the Twopit Room. The floor here is +67 littered with thin rock slabs, which make it easy to descend the pits. +67 There is a path here bypassing the pits to connect passages from east +67 and west. There are holes all over, but the only big one is on the +67 wall directly over the west pit where you can't get to it. +68 You are in a large low circular chamber whose floor is an immense slab +68 fallen from the ceiling (Slab Room). East and west there once were +68 large passages, but they are now filled with boulders. Low small +68 passages go north and south, and the south one quickly bends west +68 around the boulders. +69 You are in a secret N/S canyon above a large room. +70 You are in a secret N/S canyon above a sizable passage. +71 You are in a secret canyon at a junction of three canyons, bearing +71 north, south, and SE. The north one is as tall as the other two +71 combined. +72 You are in a large low room. Crawls lead north, SE, and SW. +73 Dead end crawl. +74 You are in a secret canyon which here runs E/W. It crosses over a +74 very tight canyon 15 feet below. If you go down you may not be able +74 to get back up. +75 You are at a wide place in a very tight N/S canyon. +76 The canyon here becomes too tight to go further south. +77 You are in a tall E/W canyon. A low tight crawl goes 3 feet north and +77 seems to open up. +78 The canyon runs into a mass of boulders -- dead end. +79 The stream flows out through a pair of 1 foot diameter sewer pipes. +79 It would be advisable to use the exit. +80 You are in a maze of twisty little passages, all alike. +81 Dead end +82 Dead end +83 You are in a maze of twisty little passages, all alike. +84 You are in a maze of twisty little passages, all alike. +85 Dead end +86 Dead end +87 You are in a maze of twisty little passages, all alike. +88 You are in a long, narrow corridor stretching out of sight to the +88 west. At the eastern end is a hole through which you can see a +88 profusion of leaves. +89 There is nothing here to climb. Use "up" or "out" to leave the pit. +90 You have climbed up the plant and out of the pit. +91 You are at the top of a steep incline above a large room. You could +91 climb down here, but you would not be able to climb up. There is a +91 passage leading back to the north. +92 You are in the Giant Room. The ceiling here is too high up for your +92 lamp to show it. Cavernous passages lead east, north, and south. On +92 the west wall is scrawled the inscription, "Fee fie foe foo" [sic]. +93 The passage here is blocked by a recent cave-in. +94 You are at one end of an immense north/south passage. +95 You are in a magnificent cavern with a rushing stream, which cascades +95 over a sparkling waterfall into a roaring whirlpool which disappears +95 through a hole in the floor. Passages exit to the south and west. +96 You are in the Soft Room. The walls are covered with heavy curtains, +96 the floor with a thick pile carpet. Moss covers the ceiling. +97 This is the Oriental Room. Ancient oriental cave drawings cover the +97 walls. A gently sloping passage leads upward to the north, another +97 passage leads SE, and a hands and knees crawl leads west. +98 You are following a wide path around the outer edge of a large cavern. +98 Far below, through a heavy white mist, strange splashing noises can be +98 heard. The mist rises up through a fissure in the ceiling. The path +98 exits to the south and west. +99 You are in an alcove. A small NW path seems to widen after a short +99 distance. An extremely tight tunnel leads east. It looks like a very +99 tight squeeze. An eerie light can be seen at the other end. +100 You're in a small chamber lit by an eerie green light. An extremely +100 narrow tunnel exits to the west. A dark corridor leads NE. +101 You're in the Dark-Room. A corridor leading south is the only exit. +102 You are in an arched hall. A coral passage once continued up and east +102 from here, but is now blocked by debris. The air smells of sea water. +103 You're in a large room carved out of sedimentary rock. The floor and +103 walls are littered with bits of shells embedded in the stone. A +103 shallow passage proceeds downward, and a somewhat steeper one leads +103 up. A low hands and knees passage enters from the south. +104 You are in a long sloping corridor with ragged sharp walls. +105 You are in a cul-de-sac about eight feet across. +106 You are in an anteroom leading to a large passage to the east. Small +106 passages go west and up. The remnants of recent digging are evident. +106 A sign in midair here says "Cave under construction beyond this point. +106 Proceed at own risk. [Witt construction company]" +107 You are in a maze of twisty little passages, all different. +108 You are at Witt's End. Passages lead off in *all* directions. +109 You are in a north/south canyon about 25 feet across. The floor is +109 covered by white mist seeping in from the north. The walls extend +109 upward for well over 100 feet. Suspended from some unseen point far +109 above you, an enormous two-sided mirror is hanging parallel to and +109 midway between the canyon walls. (The mirror is obviously provided +109 for the use of the dwarves, who as you know, are extremely vain.) A +109 small window can be seen in either wall, some fifty feet up. +110 You're at a low window overlooking a huge pit, which extends up out of +110 sight. A floor is indistinctly visible over 50 feet below. Traces of +110 white mist cover the floor of the pit, becoming thicker to the left. +110 Marks in the dust around the window would seem to indicate that +110 someone has been here recently. Directly across the pit from you and +110 25 feet away there is a similar window looking into a lighted room. A +110 shadowy figure can be seen there peering back at you. +111 A large stalactite extends from the roof and almost reaches the floor +111 below. You could climb down it, and jump from it to the floor, but +111 having done so you would be unable to reach it to climb back up. +112 You are in a little maze of twisting passages, all different. +113 You are at the edge of a large underground reservoir. An opaque cloud +113 of white mist fills the room and rises rapidly upward. The lake is +113 fed by a stream, which tumbles out of a hole in the wall about 10 feet +113 overhead and splashes noisily into the water somewhere within the +113 mist. The only passage goes back toward the south. +114 Dead end +115 You are at the northeast end of an immense room, even larger than the +115 Giant Room. It appears to be a repository for the "Adventure" +115 program. Massive torches far overhead bathe the room with smoky +115 yellow light. Scattered about you can be seen a pile of bottles (all +115 of them empty), a nursery of young beanstalks murmuring quietly, a bed +115 of oysters, a bundle of black rods with rusty stars on their ends, and +115 a collection of brass lanterns. Off to one side a great many dwarves +115 are sleeping on the floor, snoring loudly. A sign nearby reads: "Do +115 not disturb the dwarves!" An immense mirror is hanging against one +115 wall, and stretches to the other end of the room, where various other +115 sundry objects can be glimpsed dimly in the distance. +116 You are at the southwest end of the Repository. To one side is a pit +116 full of fierce green snakes. On the other side is a row of small +116 wicker cages, each of which contains a little sulking bird. In one +116 corner is a bundle of black rods with rusty marks on their ends. A +116 large number of velvet pillows are scattered about on the floor. A +116 vast mirror stretches off to the northeast. At your feet is a large +116 steel grate, next to which is a sign which reads, "Treasure Vault. +116 Keys in Main Office." +117 You are on one side of a large, deep chasm. A heavy white mist rising +117 up from below obscures all view of the far side. A SW path leads away +117 from the chasm into a winding corridor. +118 You are in a long winding corridor sloping out of sight in both +118 directions. +119 You are in a secret canyon which exits to the north and east. +120 You are in a secret canyon which exits to the north and east. +121 You are in a secret canyon which exits to the north and east. +122 You are on the far side of the chasm. A NE path leads away from the +122 chasm on this side. +123 You're in a long east/west corridor. A faint rumbling noise can be +123 heard in the distance. +124 The path forks here. The left fork leads northeast. A dull rumbling +124 seems to get louder in that direction. The right fork leads southeast +124 down a gentle slope. The main corridor enters from the west. +125 The walls are quite warm here. From the north can be heard a steady +125 roar, so loud that the entire cave seems to be trembling. Another +125 passage leads south, and a low crawl goes east. +126 You are on the edge of a breath-taking view. Far below you is an +126 active volcano, from which great gouts of molten lava come surging +126 out, cascading back down into the depths. The glowing rock fills the +126 farthest reaches of the cavern with a blood-red glare, giving every- +126 thing an eerie, macabre appearance. The air is filled with flickering +126 sparks of ash and a heavy smell of brimstone. The walls are hot to +126 the touch, and the thundering of the volcano drowns out all other +126 sounds. Embedded in the jagged roof far overhead are myriad twisted +126 formations composed of pure white alabaster, which scatter the murky +126 light into sinister apparitions upon the walls. To one side is a deep +126 gorge, filled with a bizarre chaos of tortured rock which seems to +126 have been crafted by the devil himself. An immense river of fire +126 crashes out from the depths of the volcano, burns its way through the +126 gorge, and plummets into a bottomless pit far off to your left. To +126 the right, an immense geyser of blistering steam erupts continuously +126 from a barren island in the center of a sulfurous lake, which bubbles +126 ominously. The far right wall is aflame with an incandescence of its +126 own, which lends an additional infernal splendor to the already +126 hellish scene. A dark, foreboding passage exits to the south. +127 You are in a small chamber filled with large boulders. The walls are +127 very warm, causing the air in the room to be almost stifling from the +127 heat. The only exit is a crawl heading west, through which is coming +127 a low rumbling. +128 You are walking along a gently sloping north/south passage lined with +128 oddly shaped limestone formations. +129 You are standing at the entrance to a large, barren room. A sign +129 posted above the entrance reads: "Caution! Bear in room!" +130 You are inside a barren room. The center of the room is completely +130 empty except for some dust. Marks in the dust lead away toward the +130 far end of the room. The only exit is the way you came in. +131 You are in a maze of twisting little passages, all different. +132 You are in a little maze of twisty passages, all different. +133 You are in a twisting maze of little passages, all different. +134 You are in a twisting little maze of passages, all different. +135 You are in a twisty little maze of passages, all different. +136 You are in a twisty maze of little passages, all different. +137 You are in a little twisty maze of passages, all different. +138 You are in a maze of little twisting passages, all different. +139 You are in a maze of little twisty passages, all different. +140 Dead end +-1 End +2 +1 You're at end of road again. +2 You're at hill in road. +3 You're inside building. +4 You're in valley. +5 You're in forest. +6 You're in forest. +7 You're at slit in streambed. +8 You're outside grate. +9 You're below the grate. +10 You're in Cobble Crawl. +11 You're in Debris Room. +13 You're in Bird Chamber. +14 You're at top of small pit. +15 You're in Hall of Mists. +17 You're on east bank of fissure. +18 You're in Nugget of Gold Room. +19 You're in Hall of Mt King. +23 You're at west end of Twopit Room. +24 You're in east pit. +25 You're in west pit. +33 You're at "Y2". +35 You're at window on pit. +36 You're in dirty passage. +39 You're in Dusty Rock room. +41 You're at west end of Hall of Mists. +57 You're at brink of pit. +60 You're at east end of Long Hall. +61 You're at west end of Long Hall. +64 You're at Complex Junction. +66 You're in Swiss Cheese room. +67 You're at east end of Twopit Room. +68 You're in Slab Room. +71 You're at junction of three secret canyons. +74 You're in secret E/W canyon above tight canyon. +88 You're in narrow corridor. +91 You're at steep incline above large room. +92 You're in Giant Room. +95 You're in cavern with waterfall. +96 You're in Soft Room. +97 You're in Oriental Room. +98 You're in Misty Cavern. +99 You're in Alcove. +100 You're in Plover Room. +101 You're in Dark-Room. +102 You're in Arched Hall. +103 You're in Shell Room. +106 You're in Anteroom. +108 You're at Witt's End. +109 You're in Mirror Canyon. +110 You're at window on pit. +111 You're at top of stalactite. +113 You're at Reservoir. +115 You're at NE end. +116 You're at SW end. +117 You're on SW side of chasm. +118 You're in sloping corridor. +122 You're on NE side of chasm. +123 You're in corridor. +124 You're at fork in path. +125 You're at junction with warm walls. +126 You're at Breath-taking View. +127 You're in Chamber of Boulders. +128 You're in limestone passage. +129 You're in front of barren room. +130 You're in Barren Room. +-1 +3 +1 2 2 44 29 +1 3 3 12 19 43 +1 4 5 13 14 46 30 +1 5 6 45 43 +1 8 63 +2 1 2 12 7 43 45 30 +2 5 6 45 46 +3 1 3 11 32 44 +3 11 62 +3 33 65 +3 79 5 14 +4 1 4 12 45 +4 5 6 43 44 29 +4 7 5 46 30 +4 8 63 +5 4 9 43 30 +5 50005 6 7 45 +5 6 6 +5 5 44 46 +6 1 2 45 +6 4 9 43 44 30 +6 5 6 46 +7 1 12 +7 4 4 45 +7 5 6 43 44 +7 8 5 15 16 46 +7 595 60 14 30 +8 5 6 43 44 46 +8 1 12 +8 7 4 13 45 +8 303009 3 19 30 +8 593 3 +9 303008 11 29 +9 593 11 +9 10 17 18 19 44 +9 14 31 +9 11 51 +10 9 11 20 21 43 +10 11 19 22 44 51 +10 14 31 +11 303008 63 +11 9 64 +11 10 17 18 23 24 43 +11 12 25 19 29 44 +11 3 62 +11 14 31 +12 303008 63 +12 9 64 +12 11 30 43 51 +12 13 19 29 44 +12 14 31 +13 303008 63 +13 9 64 +13 11 51 +13 12 25 43 +13 14 23 31 44 +14 303008 63 +14 9 64 +14 11 51 +14 13 23 43 +14 150020 30 31 34 +14 15 30 +14 16 33 44 +15 18 36 46 +15 17 7 38 44 +15 19 10 30 45 +15 150022 29 31 34 35 23 43 +15 14 29 +15 34 55 +16 14 1 +17 15 38 43 +17 312596 39 +17 412021 7 +17 412597 41 42 44 69 +17 27 41 +18 15 38 11 45 +19 15 10 29 43 +19 311028 45 36 +19 311029 46 37 +19 311030 44 7 +19 32 45 +19 35074 49 +19 211032 49 +19 74 66 +20 0 1 +21 0 1 +22 15 1 +23 67 43 42 +23 68 44 61 +23 25 30 31 +23 648 52 +24 67 29 11 +25 23 29 11 +25 724031 56 +25 26 56 +26 88 1 +27 312596 39 +27 412021 7 +27 412597 41 42 43 69 +27 17 41 +27 40 45 +27 41 44 +28 19 38 11 46 +28 33 45 55 +28 36 30 52 +29 19 38 11 45 +30 19 38 11 43 +30 62 44 29 +31 524089 1 +31 90 1 +32 19 1 +33 3 65 +33 28 46 +33 34 43 53 54 +33 35 44 +33 159302 71 +33 100 71 +34 33 30 55 +34 15 29 +35 33 43 55 +35 20 39 +36 37 43 17 +36 28 29 52 +36 39 44 +36 65 70 +37 36 44 17 +37 38 30 31 56 +38 37 56 29 11 +38 595 60 14 30 4 5 +39 36 43 23 +39 64 30 52 58 +39 65 70 +40 41 1 +41 42 46 29 23 56 +41 27 43 +41 59 45 +41 60 44 17 +42 41 29 +42 42 45 +42 43 43 +42 45 46 +42 80 44 +43 42 44 +43 44 46 +43 45 43 +44 43 43 +44 48 30 +44 50 46 +44 82 45 +45 42 44 +45 43 45 +45 46 43 +45 47 46 +45 87 29 30 +46 45 44 11 +47 45 43 11 +48 44 29 11 +49 50 43 +49 51 44 +50 44 43 +50 49 44 +50 51 30 +50 52 46 +51 49 44 +51 50 29 +51 52 43 +51 53 46 +52 50 44 +52 51 43 +52 52 46 +52 53 29 +52 55 45 +52 86 30 +53 51 44 +53 52 45 +53 54 46 +54 53 44 11 +55 52 44 +55 55 45 +55 56 30 +55 57 43 +56 55 29 11 +57 13 30 56 +57 55 44 +57 58 46 +57 83 45 +57 84 43 +58 57 43 11 +59 27 1 +60 41 43 29 17 +60 61 44 +60 62 45 30 52 +61 60 43 +61 62 45 +61 100107 46 +62 60 44 +62 63 45 +62 30 43 +62 61 46 +63 62 46 11 +64 39 29 56 59 +64 65 44 70 +64 103 45 74 +64 106 43 +65 64 43 +65 66 44 +65 80556 46 +65 68 61 +65 80556 29 +65 50070 29 +65 39 29 +65 60556 45 +65 75072 45 +65 71 45 +65 80556 30 +65 106 30 +66 65 47 +66 67 44 +66 80556 46 +66 77 25 +66 96 43 +66 50556 50 +66 97 72 +67 66 43 +67 23 44 42 +67 24 30 31 +68 23 46 +68 69 29 56 +68 65 45 +69 68 30 61 +69 331120 46 +69 119 46 +69 109 45 +69 113 75 +70 71 45 +70 65 30 23 +70 111 46 +71 65 48 +71 70 46 +71 110 45 +72 65 70 +72 118 49 +72 73 45 +72 97 48 72 +73 72 46 17 11 +74 19 43 +74 331120 44 +74 121 44 +74 75 30 +75 76 46 +75 77 45 +76 75 45 +77 75 43 +77 78 44 +77 66 45 17 +78 77 46 +79 3 1 +80 42 45 +80 80 44 +80 80 46 +80 81 43 +81 80 44 11 +82 44 46 11 +83 57 46 +83 84 43 +83 85 44 +84 57 45 +84 83 44 +84 114 50 +85 83 43 11 +86 52 29 11 +87 45 29 30 +88 25 30 56 43 +88 20 39 +88 92 44 27 +89 25 1 +90 23 1 +91 95 45 73 23 +91 72 30 56 +92 88 46 +92 93 43 +92 94 45 +93 92 46 27 11 +94 92 46 27 23 +94 309095 45 3 73 +94 611 45 +95 94 46 11 +95 92 27 +95 91 44 +96 66 44 11 +97 66 48 +97 72 44 17 +97 98 29 45 73 +98 97 46 72 +98 99 44 +99 98 50 73 +99 301 43 23 +99 100 43 +100 301 44 23 11 +100 99 44 +100 159302 71 +100 33 71 +100 101 47 22 +101 100 46 71 11 +102 103 30 74 11 +103 102 29 38 +103 104 30 +103 114618 46 +103 115619 46 +103 64 46 +104 103 29 74 +104 105 30 +105 104 29 11 +105 103 74 +106 64 29 +106 65 44 +106 108 43 +107 131 46 +107 132 49 +107 133 47 +107 134 48 +107 135 29 +107 136 50 +107 137 43 +107 138 44 +107 139 45 +107 61 30 +108 95556 43 45 46 47 48 49 50 29 30 +108 106 43 +108 626 44 +109 69 46 +109 113 45 75 +110 71 44 +110 20 39 +111 70 45 +111 40050 30 39 56 +111 50053 30 +111 45 30 +112 131 49 +112 132 45 +112 133 43 +112 134 50 +112 135 48 +112 136 47 +112 137 44 +112 138 30 +112 139 29 +112 140 46 +113 109 46 11 109 +114 84 48 +115 116 49 +116 115 47 +116 593 30 +117 118 49 +117 233660 41 42 69 47 +117 332661 41 +117 303 41 +117 332021 39 +117 596 39 +118 72 30 +118 117 29 +119 69 45 11 +119 653 43 7 +120 69 45 +120 74 43 +121 74 43 11 +121 653 45 7 +122 123 47 +122 233660 41 42 69 49 +122 303 41 +122 596 39 +122 124 77 +122 126 28 +122 129 40 +123 122 44 +123 124 43 77 +123 126 28 +123 129 40 +124 123 44 +124 125 47 36 +124 128 48 37 30 +124 126 28 +124 129 40 +125 124 46 77 +125 126 45 28 +125 127 43 17 +126 125 46 23 11 +126 124 77 +126 610 30 39 +127 125 44 11 17 +127 124 77 +127 126 28 +128 124 45 29 77 +128 129 46 30 40 +128 126 28 +129 128 44 29 +129 124 77 +129 130 43 19 40 3 +129 126 28 +130 129 44 11 +130 124 77 +130 126 28 +131 107 44 +131 132 48 +131 133 50 +131 134 49 +131 135 47 +131 136 29 +131 137 30 +131 138 45 +131 139 46 +131 112 43 +132 107 50 +132 131 29 +132 133 45 +132 134 46 +132 135 44 +132 136 49 +132 137 47 +132 138 43 +132 139 30 +132 112 48 +133 107 29 +133 131 30 +133 132 44 +133 134 47 +133 135 49 +133 136 43 +133 137 45 +133 138 50 +133 139 48 +133 112 46 +134 107 47 +134 131 45 +134 132 50 +134 133 48 +134 135 43 +134 136 30 +134 137 46 +134 138 29 +134 139 44 +134 112 49 +135 107 45 +135 131 48 +135 132 30 +135 133 46 +135 134 43 +135 136 44 +135 137 49 +135 138 47 +135 139 50 +135 112 29 +136 107 43 +136 131 44 +136 132 29 +136 133 49 +136 134 30 +136 135 46 +136 137 50 +136 138 48 +136 139 47 +136 112 45 +137 107 48 +137 131 47 +137 132 46 +137 133 30 +137 134 29 +137 135 50 +137 136 45 +137 138 49 +137 139 43 +137 112 44 +138 107 30 +138 131 43 +138 132 47 +138 133 29 +138 134 44 +138 135 45 +138 136 46 +138 137 48 +138 139 49 +138 112 50 +139 107 49 +139 131 50 +139 132 43 +139 133 44 +139 134 45 +139 135 30 +139 136 48 +139 137 29 +139 138 46 +139 112 47 +140 112 45 11 +-1 +4 +2 road +2 hill +3 enter +4 upstr +5 downs +6 fores +7 forwa +7 conti +7 onwar +8 back +8 retur +8 retre +9 valle +10 stair +11 out +11 outsi +11 exit +11 leave +12 build +12 house +13 gully +14 strea +15 rock +16 bed +17 crawl +18 cobbl +19 inwar +19 insid +19 in +20 surfa +21 null +21 nowhe +22 dark +23 passa +23 tunne +24 low +25 canyo +26 awkwa +27 giant +28 view +29 upwar +29 up +29 u +29 above +29 ascen +30 d +30 downw +30 down +30 desce +31 pit +32 outdo +33 crack +34 steps +35 dome +36 left +37 right +38 hall +39 jump +40 barre +41 over +42 acros +43 east +43 e +44 west +44 w +45 north +45 n +46 south +46 s +47 ne +48 se +49 sw +50 nw +51 debri +52 hole +53 wall +54 broke +55 y2 +56 climb +57 look +57 exami +57 touch +57 descr +58 floor +59 room +60 slit +61 slab +61 slabr +62 xyzzy +63 depre +64 entra +65 plugh +66 secre +67 cave +69 cross +70 bedqu +71 plove +72 orien +73 caver +74 shell +75 reser +76 main +76 offic +77 fork +1001 keys +1001 key +1002 lamp +1002 headl +1002 lante +1003 grate +1004 cage +1005 wand +1005 rod +1006 wand +1006 rod (must be next object after "real" rod) +1007 steps +1008 bird +1009 door +1010 pillo +1010 velve +1011 snake +1012 fissu +1013 table +1014 clam +1015 oyste +1016 magaz +1016 issue +1016 spelu +1016 "spel +1017 dwarf +1017 dwarv +1018 knife +1018 knive +1019 food +1019 ratio +1020 bottl +1020 jar +1021 water +1021 h2o +1022 oil +1023 mirro +1024 plant +1024 beans +1025 plant (must be next object after "real" plant) +1026 stala +1027 shado +1027 figur +1028 axe +1029 drawi +1030 pirat +1031 drago +1032 chasm +1033 troll +1034 troll (must be next object after "real" troll) +1035 bear +1036 messa +1037 volca +1037 geyse (same as volcano) +1038 machi +1038 vendi +1039 batte +1040 carpe +1040 moss +1050 gold +1050 nugge +1051 diamo +1052 silve +1052 bars +1053 jewel +1054 coins +1055 chest +1055 box +1055 treas +1056 eggs +1056 egg +1056 nest +1057 tride +1058 vase +1058 ming +1058 shard +1058 potte +1059 emera +1060 plati +1060 pyram +1061 pearl +1062 rug +1062 persi +1063 spice +1064 chain +2001 carry +2001 take +2001 keep +2001 catch +2001 steal +2001 captu +2001 get +2001 tote +2002 drop +2002 relea +2002 free +2002 disca +2002 dump +2003 say +2003 chant +2003 sing +2003 utter +2003 mumbl +2004 unloc +2004 open +2005 nothi +2006 lock +2006 close +2007 light +2007 on +2008 extin +2008 off +2009 wave +2009 shake +2009 swing +2010 calm +2010 placa +2010 tame +2011 walk +2011 run +2011 trave +2011 go +2011 proce +2011 conti +2011 explo +2011 goto +2011 follo +2011 turn +2012 attac +2012 kill +2012 slay +2012 fight +2012 hit +2012 strik +2013 pour +2014 eat +2014 devou +2015 drink +2016 rub +2017 throw +2017 toss +2018 quit +2019 find +2019 where +2020 inven +2020 inv +2021 feed +2022 fill +2023 blast +2023 deton +2023 ignit +2023 blowu +2024 score +2025 fee +2025 fie +2025 foe +2025 foo +2025 fum +2026 brief +2027 read +2027 perus +2028 break +2028 shatt +2028 smash +2029 wake +2029 distu +2030 suspe +2030 pause +2030 save +2031 hours +3001 fee +3002 fie +3003 foe +3004 foo +3005 fum +3050 sesam +3050 opens +3050 abra +3050 abrac +3050 shaza +3050 hocus +3050 pocus +3051 help +3051 ? +3064 tree +3064 trees +3066 dig +3066 excav +3068 lost +3069 mist +3079 fuck +3139 stop +3142 info +3142 infor +3147 swim +-1 +5 +1 Set of keys +000 There are some keys on the ground here. +2 Brass lantern +000 There is a shiny brass lamp nearby. +100 There is a lamp shining nearby. +3 *Grate +000 The grate is locked. +100 The grate is open. +4 Wicker cage +000 There is a small wicker cage discarded nearby. +5 Black rod +000 A three foot black rod with a rusty star on an end lies nearby. +6 Black rod +000 A three foot black rod with a rusty mark on an end lies nearby. +7 *Steps +000 Rough stone steps lead down the pit. +100 Rough stone steps lead up the dome. +8 Little bird in cage +000 A cheerful little bird is sitting here singing. +100 There is a little bird in the cage. +9 *Rusty door +000 The way north is barred by a massive, rusty, iron door. +100 The way north leads through a massive, rusty, iron door. +10 Velvet pillow +000 A small velvet pillow lies on the floor. +11 *Snake +000 A huge green fierce snake bars the way! +100 >$< (Chased away) +12 *Fissure +000 >$< +100 A crystal bridge now spans the fissure. +200 The crystal bridge has vanished! +13 *Stone tablet +000 A massive stone tablet embedded in the wall reads: +000 "Congratulations on bringing light into the Dark-Room!" +14 Giant clam >grunt!< +000 There is an enormous clam here with its shell tightly closed. +15 Giant oyster >groan!< +000 There is an enormous oyster here with its shell tightly closed. +100 Interesting. There seems to be something written on the underside of +100 The oyster. +16 "Spelunker Today" +000 There are a few recent issues of "Spelunker Today" magazine here. +19 Tasty food +000 There is food here. +20 Small bottle +000 There is a bottle of water here. +100 There is an empty bottle here. +200 There is a bottle of oil here. +21 Water in the bottle +22 Oil in the bottle +23 *Mirror +000 >$< +24 *Plant +000 There is a tiny little plant in the pit, murmuring "Water, water, ..." +100 The plant spurts into furious growth for a few seconds. +200 There is a 12-foot-tall beanstalk stretching up out of the pit, +200 bellowing "WATER!! WATER!!" +300 The plant grows explosively, almost filling the bottom of the pit. +400 There is a gigantic beanstalk stretching all the way up to the hole. +500 You've over-watered the plant! It's shriveling up! It's, it's... +25 *Phony plant (seen in twopit room only when tall enough) +000 >$< +100 The top of a 12-foot-tall beanstalk is poking out of the west pit. +200 There is a huge beanstalk growing out of the west pit up to the hole. +26 *Stalactite +000 >$< +27 *Shadowy figure +000 The shadowy figure seems to be trying to attract your attention. +28 Dwarf's axe +000 There is a little axe here. +100 There is a little axe lying beside the bear. +29 *Cave drawings +000 >$< +30 *Pirate +000 >$< +31 *Dragon +000 A huge green fierce dragon bars the way! +100 Congratulations! You have just vanquished a dragon with your bare +100 hands! (Unbelievable, isn't it?) +200 The body of a huge green dead dragon is lying off to one side. +32 *Chasm +000 A rickety wooden bridge extends across the chasm, vanishing into the +000 mist. A sign posted on the bridge reads, "Stop! Pay troll!" +100 The wreckage of a bridge (and a dead bear) can be seen at the bottom +100 of the chasm. +33 *Troll +000 A burly troll stands by the bridge and insists you throw him a +000 treasure before you may cross. +100 The troll steps out from beneath the bridge and blocks your way. +200 >$< (Chased away) +34 *Phony troll +000 The troll is nowhere to be seen. +35 >$< (Bear uses rtext 141) +000 There is a ferocious cave bear eying you from the far end of the room! +100 There is a gentle cave bear sitting placidly in one corner. +200 There is a contented-looking bear wandering about nearby. +300 >$< (Dead) +36 *Message in second maze +000 There is a message scrawled in the dust in a flowery script, reading: +000 "This is not the maze where the pirate leaves his treasure chest." +37 *Volcano and/or geyser +000 >$< +38 *Vending machine +000 There is a massive vending machine here. The instructions on it read: +000 "Drop coins here to receive fresh batteries." +39 Batteries +000 There are fresh batteries here. +100 Some worn-out batteries have been discarded nearby. +40 *Carpet and/or moss +000 >$< +50 Large gold nugget +000 There is a large sparkling nugget of gold here! +51 Several diamonds +000 There are diamonds here! +52 Bars of silver +000 There are bars of silver here! +53 Precious jewelry +000 There is precious jewelry here! +54 Rare coins +000 There are many coins here! +55 Treasure chest +000 The pirate's treasure chest is here! +56 Golden eggs +000 There is a large nest here, full of golden eggs! +100 The nest of golden eggs has vanished! +200 Done! +57 Jeweled trident +000 There is a jewel-encrusted trident here! +58 Ming vase +000 There is a delicate, precious, Ming vase here! +100 The vase is now resting, delicately, on a velvet pillow. +200 The floor is littered with worthless shards of pottery. +300 The Ming vase drops with a delicate crash. +59 Egg-sized emerald +000 There is an emerald here the size of a plover's egg! +60 Platinum pyramid +000 There is a platinum pyramid here, 8 inches on a side! +61 Glistening pearl +000 Off to one side lies a glistening pearl! +62 Persian rug +000 There is a Persian rug spread out on the floor! +100 The dragon is sprawled out on a Persian rug!! +63 Rare spices +000 There are rare spices here! +64 Golden chain +000 There is a golden chain lying in a heap on the floor! +100 The bear is locked to the wall with a golden chain! +200 There is a golden chain locked to the wall! +-1 +6 +1 Somewhere nearby is Colossal Cave, where others have found fortunes in +1 treasure and gold, though it is rumored that some who enter are never +1 seen again. Magic is said to work in the cave. I will be your eyes +1 and hands. Direct me with commands of 1 or 2 words. I should warn +1 you that I look at only the first five letters of each word, so you'll +1 have to enter "northeast" as "ne" to distinguish it from "north". +1 (Should you get stuck, type "help" for some general hints. For +1 information on how to end your adventure, etc., type "info".) +1 - - - +1 This program was originally developed by Will Crowther. Most of the +1 features of the current program were added by Don Woods. Address +1 complaints about the UNIX version to Jim Gillogly (jim@rand.org). +2 A little dwarf with a big knife blocks your way. +3 A little dwarf just walked around a corner, saw you, threw a little +3 axe at you (which missed), cursed, and ran away. +4 There is a threatening little dwarf in the room with you! +5 One sharp nasty knife is thrown at you! +6 None of them hit you! +7 One of them gets you! +8 A hollow voice says "Plugh". +9 There is no way to go that direction. +10 I am unsure how you are facing. Use compass points or nearby objects. +11 I don't know in from out here. Use compass points or name something +11 in the general direction you want to go. +12 I don't know how to apply that word here. +13 I don't understand that! +14 I'm game. Would you care to explain how? +15 Sorry, but I am not allowed to give more detail. I will repeat the +15 long description of your location. +16 It is now pitch dark. If you proceed you will likely fall into a pit. +17 If you prefer, simply type w rather than west. +18 Are you trying to catch the bird? +19 The bird is frightened right now and you cannot catch it no matter +19 what you try. Perhaps you might try later. +20 Are you trying to somehow deal with the snake? +21 You can't kill the snake, or drive it away, or avoid it, or anything +21 like that. There is a way to get by, but you don't have the necessary +21 resources right now. +22 Do you really want to quit now? +23 You fell into a pit and broke every bone in your body! +24 You are already carrying it! +25 You can't be serious! +26 The bird was unafraid when you entered, but as you approach it becomes +26 disturbed and you cannot catch it. +27 You can catch the bird, but you cannot carry it. +28 There is nothing here with a lock! +29 You aren't carrying it! +30 The little bird attacks the green snake, and in an astounding flurry +30 drives the snake away. +31 You have no keys! +32 It has no lock. +33 I don't know how to lock or unlock such a thing. +34 It was already locked. +35 The grate is now locked. +36 The grate is now unlocked. +37 It was already unlocked. +38 You have no source of light. +39 Your lamp is now on. +40 Your lamp is now off. +41 There is no way to get past the bear to unlock the chain, which is +41 probably just as well. +42 Nothing happens. +43 Where? +44 There is nothing here to attack. +45 The little bird is now dead. Its body disappears. +46 Attacking the snake both doesn't work and is very dangerous. +47 You killed a little dwarf. +48 You attack a little dwarf, but he dodges out of the way. +49 With what? Your bare hands? +50 Good try, but that is an old worn-out magic word. +51 I know of places, actions, and things. Most of my vocabulary +51 describes places and is used to move you there. To move, try words +51 like forest, building, downstream, enter, east, west, north, south, +51 up, or down. I know about a few special objects, like a black rod +51 hidden in the cave. These objects can be manipulated using some of +51 the action words that I know. Usually you will need to give both the +51 object and action words (in either order), but sometimes I can infer +51 the object from the verb alone. Some objects also imply verbs; in +51 particular, "inventory" implies "take inventory", which causes me to +51 give you a list of what you're carrying. The objects have side +51 effects; for instance, the rod scares the bird. Usually people having +51 trouble moving just need to try a few more words. Usually people +51 trying unsuccessfully to manipulate an object are attempting something +51 beyond their (or my!) capabilities and should try a completely +51 different tack. To speed the game you can sometimes move long +51 distances with a single word. For example, "building" usually gets +51 you to the building from anywhere above ground except when lost in the +51 forest. Also, note that cave passages turn a lot, and that leaving a +51 room to the north does not guarantee entering the next from the south. +51 Good luck! +52 It misses! +53 It gets you! +54 OK +55 You can't unlock the keys. +56 You have crawled around in some little holes and wound up back in the +56 main passage. +57 I don't know where the cave is, but hereabouts no stream can run on +57 the surface for long. I would try the stream. +58 I need more detailed instructions to do that. +59 I can only tell you what you see as you move about and manipulate +59 things. I cannot tell you where remote things are. +60 I don't know that word. +61 What? +62 Are you trying to get into the cave? +63 The grate is very solid and has a hardened steel lock. You cannot +63 enter without a key, and there are no keys nearby. I would recommend +63 looking elsewhere for the keys. +64 The trees of the forest are large hardwood oak and maple, with an +64 occasional grove of pine or spruce. There is quite a bit of under- +64 growth, largely birch and ash saplings plus nondescript bushes of +64 various sorts. This time of year visibility is quite restricted by +64 all the leaves, but travel is quite easy if you detour around the +64 spruce and berry bushes. +65 Welcome to Adventure!! Would you like instructions? +66 Digging without a shovel is quite impractical. Even with a shovel +66 progress is unlikely. +67 Blasting requires dynamite. +68 I'm as confused as you are. +69 Mist is a white vapor, usually water, seen from time to time in +69 caverns. It can be found anywhere but is frequently a sign of a deep +69 pit leading down to water. +70 Your feet are now wet. +71 I think I just lost my appetite. +72 Thank you, it was delicious! +73 You have taken a drink from the stream. The water tastes strongly of +73 minerals, but is not unpleasant. It is extremely cold. +74 The bottle of water is now empty. +75 Rubbing the electric lamp is not particularly rewarding. Anyway, +75 nothing exciting happens. +76 Peculiar. Nothing unexpected happens. +77 Your bottle is empty and the ground is wet. +78 You can't pour that. +79 Watch it! +80 Which way? +81 Oh dear, you seem to have gotten yourself killed. I might be able to +81 help you out, but I've never really done this before. Do you want me +81 to try to reincarnate you? +82 All right. But don't blame me if something goes wr...... +82 --- Poof!! --- +82 You are engulfed in a cloud of orange smoke. Coughing and gasping, +82 you emerge from the smoke and find.... +83 You clumsy oaf, you've done it again! I don't know how long I can +83 keep this up. Do you want me to try reincarnating you again? +84 Okay, now where did I put my orange smoke?.... >poof!< +84 Everything disappears in a dense cloud of orange smoke. +85 Now you've really done it! I'm out of orange smoke! You don't expect +85 me to do a decent reincarnation without any orange smoke, do you? +86 Okay, if you're so smart, do it yourself! I'm leaving! +90 >>> Messages 81 thru 90 are reserved for "obituaries". <<< +91 Sorry, but I no longer seem to remember how it was you got here. +92 You can't carry anything more. You'll have to drop something first. +93 You can't go through a locked steel grate! +94 I believe what you want is right here with you. +95 You don't fit through a two-inch slit! +96 I respectfully suggest you go across the bridge instead of jumping. +97 There is no way across the fissure. +98 You're not carrying anything. +99 You are currently holding the following: +100 It's not hungry (it's merely pinin' for the fjords). Besides, you +100 have no bird seed. +101 The snake has now devoured your bird. +102 There's nothing here it wants to eat (except perhaps you). +103 You fool, dwarves eat only coal! Now you've made him *really* mad!! +104 You have nothing in which to carry it. +105 Your bottle is already full. +106 There is nothing here with which to fill the bottle. +107 Your bottle is now full of water. +108 Your bottle is now full of oil. +109 You can't fill that. +110 Don't be ridiculous! +111 The door is extremely rusty and refuses to open. +112 The plant indignantly shakes the oil off its leaves and asks, "water?" +113 The hinges are quite thoroughly rusted now and won't budge. +114 The oil has freed up the hinges so that the door will now move, +114 although it requires some effort. +115 The plant has exceptionally deep roots and cannot be pulled free. +116 The dwarves' knives vanish as they strike the walls of the cave. +117 Something you're carrying won't fit through the tunnel with you. +117 You'd best take inventory and drop something. +118 You can't fit this five-foot clam through that little passage! +119 You can't fit this five-foot oyster through that little passage! +120 I advise you to put down the clam before opening it. >strain!< +121 I advise you to put down the oyster before opening it. >wrench!< +122 You don't have anything strong enough to open the clam. +123 You don't have anything strong enough to open the oyster. +124 A glistening pearl falls out of the clam and rolls away. Goodness, +124 this must really be an oyster. (I never was very good at identifying +124 bivalves.) Whatever it is, it has now snapped shut again. +125 The oyster creaks open, revealing nothing but oyster inside. It +125 promptly snaps shut again. +126 You have crawled around in some little holes and found your way +126 blocked by a recent cave-in. You are now back in the main passage. +127 There are faint rustling noises from the darkness behind you. +128 Out from the shadows behind you pounces a bearded pirate! "Har, har," +128 he chortles, "I'll just take all this booty and hide it away with me +128 chest deep in the maze!" He snatches your treasure and vanishes into +128 the gloom. +129 A sepulchral voice reverberating through the cave, says, "Cave closing +129 soon. All adventurers exit immediately through Main Office." +130 A mysterious recorded voice groans into life and announces: +130 "This exit is closed. Please leave via Main Office." +131 It looks as though you're dead. Well, seeing as how it's so close to +131 closing time anyway, I think we'll just call it a day. +132 The sepulchral voice intones, "The cave is now closed." As the echoes +132 fade, there is a blinding flash of light (and a small puff of orange +132 smoke). . . . As your eyes refocus, you look around and find... +133 There is a loud explosion, and a twenty-foot hole appears in the far +133 wall, burying the dwarves in the rubble. You march through the hole +133 and find yourself in the Main Office, where a cheering band of +133 friendly elves carry the conquering adventurer off into the sunset. +134 There is a loud explosion, and a twenty-foot hole appears in the far +134 wall, burying the snakes in the rubble. A river of molten lava pours +134 in through the hole, destroying everything in its path, including you! +135 There is a loud explosion, and you are suddenly splashed across the +135 walls of the room. +136 The resulting ruckus has awakened the dwarves. There are now several +136 threatening little dwarves in the room with you! Most of them throw +136 knives at you! All of them get you! +137 Oh, leave the poor unhappy bird alone. +138 I dare say whatever you want is around here somewhere. +139 I don't know the word "stop". Use "quit" if you want to give up. +140 You can't get there from here. +141 You are being followed by a very large, tame bear. +142 If you want to end your adventure early, say "quit". To suspend your +142 adventure such that you can continue later, say "suspend" (or "pause" +142 or "save"). To see what hours the cave is normally open, say "hours". +142 To see how well you're doing, say "score". To get full credit for a +142 treasure, you must have left it safely in the building, though you get +142 partial credit just for locating it. You lose points for getting +142 killed, or for quitting, though the former costs you more. There are +142 also points based on how much (if any) of the cave you've managed to +142 explore; in particular, there is a large bonus just for getting in (to +142 distinguish the beginners from the rest of the pack), and there are +142 other ways to determine whether you've been through some of the more +142 harrowing sections. If you think you've found all the treasures, just +142 keep exploring for a while. If nothing interesting happens, you +142 haven't found them all yet. If something interesting *does* happen, +142 it means you're getting a bonus and have an opportunity to garner many +142 more points in the Master's Section. I may occasionally offer hints +142 if you seem to be having trouble. If I do, I'll warn you in advance +142 how much it will affect your score to accept the hints. Finally, to +142 save paper, you may specify "brief", which tells me never to repeat +142 the full description of a place unless you explicitly ask me to. +143 Do you indeed wish to quit now? +144 There is nothing here with which to fill the vase. +145 The sudden change in temperature has delicately shattered the vase. +146 It is beyond your power to do that. +147 I don't know how. +148 It is too far up for you to reach. +149 You killed a little dwarf. The body vanishes in a cloud of greasy +149 black smoke. +150 The shell is very strong and is impervious to attack. +151 What's the matter, can't you read? Now you'd best start over. +152 The axe bounces harmlessly off the dragon's thick scales. +153 The dragon looks rather nasty. You'd best not try to get by. +154 The little bird attacks the green dragon, and in an astounding flurry +154 gets burnt to a cinder. The ashes blow away. +155 On what? +156 Okay, from now on I'll only describe a place in full the first time +156 you come to it. To get the full description, say "look". +157 Trolls are close relatives with the rocks and have skin as tough as +157 that of a rhinoceros. The troll fends off your blows effortlessly. +158 The troll deftly catches the axe, examines it carefully, and tosses it +158 back, declaring, "Good workmanship, but it's not valuable enough." +159 The troll catches your treasure and scurries away out of sight. +160 The troll refuses to let you cross. +161 There is no longer any way across the chasm. +162 Just as you reach the other side, the bridge buckles beneath the +162 weight of the bear, which was still following you around. You +162 scrabble desperately for support, but as the bridge collapses you +162 stumble back and fall into the chasm. +163 The bear lumbers toward the troll, who lets out a startled shriek and +163 scurries away. The bear soon gives up the pursuit and wanders back. +164 The axe misses and lands near the bear where you can't get at it. +165 With what? Your bare hands? Against *his* bear hands?? +166 The bear is confused; he only wants to be your friend. +167 For crying out loud, the poor thing is already dead! +168 The bear eagerly wolfs down your food, after which he seems to calm +168 down considerably and even becomes rather friendly. +169 The bear is still chained to the wall. +170 The chain is still locked. +171 The chain is now unlocked. +172 The chain is now locked. +173 There is nothing here to which the chain can be locked. +174 There is nothing here to eat. +175 Do you want the hint? +176 Do you need help getting out of the maze? +177 You can make the passages look less alike by dropping things. +178 Are you trying to explore beyond the Plover Room? +179 There is a way to explore that region without having to worry about +179 falling into a pit. None of the objects available is immediately +179 useful in discovering the secret. +180 Do you need help getting out of here? +181 Don't go west. +182 Gluttony is not one of the troll's vices. Avarice, however, is. +183 Your lamp is getting dim. You'd best start wrapping this up, unless +183 You can find some fresh batteries. I seem to recall there's a vending +183 machine in the maze. Bring some coins with you. +184 Your lamp has run out of power. +185 There's not much point in wandering around out here, and you can't +185 explore the cave without a lamp. So let's just call it a day. +186 There are faint rustling noises from the darkness behind you. As you +186 turn toward them, the beam of your lamp falls across a bearded pirate. +186 He is carrying a large chest. "Shiver me timbers!" he cries, "I've +186 been spotted! I'd best hie meself off to the maze to hide me chest!" +186 With that, he vanishes into the gloom. +187 Your lamp is getting dim. You'd best go back for those batteries. +188 Your lamp is getting dim. I'm taking the liberty of replacing the +188 batteries. +189 Your lamp is getting dim, and you're out of spare batteries. You'd +189 best start wrapping this up. +190 I'm afraid the magazine is written in Dwarvish. +191 "This is not the maze where the pirate leaves his treasure chest." +192 Hmmm, this looks like a clue, which means it'll cost you 10 points to +192 read it. Should I go ahead and read it anyway? +193 It says, "there is something strange about this place, such that one +193 of the words I've always known now has a new effect." +194 It says the same thing it did before. +195 I'm afraid I don't understand. +196 "Congratulations on bringing light into the Dark-Room!" +197 You strike the mirror a resounding blow, whereupon it shatters into a +197 myriad tiny fragments. +198 You have taken the vase and hurled it delicately to the ground. +199 You prod the nearest dwarf, who wakes up grumpily, takes one look at +199 you, curses, and grabs for his axe. +200 Is this acceptable? +201 There's no point in suspending a demonstration game. +202 You awaken only to discover your bits have been dissolving while you +202 slept. You disappear in a cloud of greasy black smoke. +-1 +7 +1 3 +2 3 +3 8 9 +4 10 +5 11 +6 0 +7 14 15 +8 13 +9 94 -1 +10 96 +11 19 -1 +12 17 27 +13 101 -1 +14 103 +15 0 +16 106 +17 0 -1 +18 0 +19 3 +20 3 +21 0 +22 0 +23 109 -1 +24 25 -1 +25 23 67 +26 111 -1 +27 35 110 +28 0 +29 97 -1 +30 0 -1 +31 119 121 +32 117 122 +33 117 122 +34 0 0 +35 130 -1 +36 0 -1 +37 126 -1 +38 140 -1 +39 0 +40 96 -1 +50 18 +51 27 +52 28 +53 29 +54 30 +55 0 +56 92 +57 95 +58 97 +59 100 +60 101 +61 0 +62 119 121 +63 127 +64 130 -1 +-1 +8 +1 24 +2 29 +3 0 +4 33 +5 0 +6 33 +7 38 +8 38 +9 42 +10 14 +11 43 +12 110 +13 29 +14 110 +15 73 +16 75 +17 29 +18 13 +19 59 +20 59 +21 174 +22 109 +23 67 +24 13 +25 147 +26 155 +27 195 +28 146 +29 110 +30 13 +31 13 +-1 +9 +0 1 2 3 4 5 6 7 8 9 10 +0 100 115 116 126 +2 1 3 4 7 38 95 113 24 +1 24 +3 46 47 48 54 56 58 82 85 86 +3 122 123 124 125 126 127 128 129 130 +4 8 +5 13 +6 19 +7 42 43 44 45 46 47 48 49 50 51 +7 52 53 54 55 56 80 81 82 86 87 +8 99 100 101 +9 108 +-1 +10 +35 You are obviously a rank amateur. Better luck next time. +100 Your score qualifies you as a Novice class Adventurer. +130 You have achieved the rating: "Experienced Adventurer". +200 You may now consider yourself a "Seasoned Adventurer". +250 You have reached "Junior Master" status. +300 Your score puts you in Master Adventurer Class C. +330 Your score puts you in Master Adventurer Class B. +349 Your score puts you in Master Adventurer Class A. +9999 All of Adventuredom gives tribute to you, Adventurer Grandmaster! +-1 +11 +2 9999 10 0 0 +3 9999 5 0 0 +4 4 2 62 63 +5 5 2 18 19 +6 8 2 20 21 +7 75 4 176 177 +8 25 5 178 179 +9 20 3 180 181 +-1 +12 +1 A large cloud of green smoke appears in front of you. It clears away +1 to reveal a tall wizard, clothed in grey. He fixes you with a steely +1 glare and declares, "This adventure has lasted too long." With that +1 he makes a single pass over you with his hands, and everything around +1 you fades away into a grey nothingness. +2 Even wizards have to wait longer than that! +3 I'm terribly sorry, but Colossal Cave is closed. Our hours are: +4 Only wizards are permitted within the cave right now. +5 We do allow visitors to make short explorations during our off hours. +5 Would you like to do that? +6 Colossal Cave is open to regular adventurers at the following hours: +7 Very well. +8 Only a wizard may continue an adventure this soon. +9 I suggest you resume your adventure at a later time. +10 Do you wish to see the hours? +11 Do you wish to change the hours? +12 New magic word (null to leave unchanged): +13 New magic number (null to leave unchanged): +14 Do you wish to change the message of the day? +15 Okay. You can save this version now. +16 Are you a wizard? +17 Prove it! Say the magic word! +18 That is not what I thought it was. Do you know what I thought it was? +19 Oh dear, you really *are* a wizard! Sorry to have bothered you . . . +20 Foo, you are nothing but a charlatan! +21 New hours specified by defining "prime time". Give only the hour +21 (E.g. 14, not 14:00 or 2pm). Enter a negative number after last pair. +22 New hours for Colossal Cave: +23 Limit lines to 70 chars. End with null line. +24 Line too long, retype: +25 Not enough room for another line. Ending message here. +26 Do you wish to (re)schedule the next holiday? +27 To begin how many days from today? +28 To last how many days (zero if no holiday)? +29 To be called what (up to 20 characters)? +30 Too small! Assuming minimum value (45 minutes). +31 Break out of this and save your core-image. +32 Be sure to save your core-image... +-1 +0 + glorkz 8.1 93/05/31 diff --git a/adventure/hdr.h b/adventure/hdr.h new file mode 100644 index 0000000..3843831 --- /dev/null +++ b/adventure/hdr.h @@ -0,0 +1,159 @@ +/* $NetBSD: hdr.h,v 1.10 2003/08/07 09:36:50 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)hdr.h 8.1 (Berkeley) 5/31/93 + */ + +/* ADVENTURE -- Jim Gillogly, Jul 1977 + * This program is a re-write of ADVENT, written in FORTRAN mostly by + * Don Woods of SAIL. In most places it is as nearly identical to the + * original as possible given the language and word-size differences. + * A few places, such as the message arrays and travel arrays were changed + * to reflect the smaller core size and word size. The labels of the + * original are reflected in this version, so that the comments of the + * fortran are still applicable here. + * + * The data file distributed with the fortran source is assumed to be called + * "glorkz" in the directory where the program is first run. + * + * The original FORTRAN version can be found at + * . + */ + +/* hdr.h: included by c advent files */ + +#include + +extern int datfd; /* message file descriptor */ +extern volatile sig_atomic_t delhit; +extern int yea; +extern char data_file[]; /* Virtual data file */ + +#define TAB 011 +#define LF 012 +#define FLUSHLINE do { int flushline_ch; while ((flushline_ch = getchar()) != EOF && flushline_ch != '\n'); } while (0) +#define FLUSHLF while (next()!=LF) + +extern int loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2; +extern char *wd1, *wd2; /* the complete words */ +extern int verb, obj, spk; +extern int blklin; +extern int saveday, savet, mxscor, latncy; + +#define SHORT 50 /* How short is a demo game? */ + +#define MAXSTR 20 /* max length of user's words */ + +#define HTSIZE 512 /* max number of vocab words */ +extern struct hashtab { /* hash table for vocabulary */ + int val; /* word type &index (ktab) */ + char *atab; /* pointer to actual string */ +} voc[HTSIZE]; +#define SEED 1815622 /* "Encryption" seed */ + +struct text + { + char *seekadr;/* Msg start in virtual disk */ + int txtlen; /* length of msg starting here */ + }; + +#define RTXSIZ 205 +extern struct text rtext[RTXSIZ]; /* random text messages */ + +#define MAGSIZ 35 +extern struct text mtext[MAGSIZ]; /* magic messages */ + +extern int clsses; +#define CLSMAX 12 +extern struct text ctext[CLSMAX]; /* classes of adventurer */ +extern int cval[CLSMAX]; + +extern struct text ptext[101]; /* object descriptions */ + +#define LOCSIZ 141 /* number of locations */ +extern struct text ltext[LOCSIZ]; /* long loc description */ +extern struct text stext[LOCSIZ]; /* short loc descriptions */ + +extern struct travlist { /* direcs & conditions of travel */ + struct travlist *next; /* ptr to next list entry */ + int conditions; /* m in writeup (newloc / 1000) */ + int tloc; /* n in writeup (newloc % 1000) */ + int tverb; /* the verb that takes you there */ + } *travel[LOCSIZ], *tkk; /* travel is closer to keys(...) */ + +extern int atloc[LOCSIZ]; + +extern int plac[101]; /* initial object placement */ +extern int fixd[101], fixed[101]; /* location fixed? */ + +extern int actspk[35]; /* rtext msg for verb */ + +extern int cond[LOCSIZ]; /* various condition bits */ + + extern int setbit[16]; /* bit defn masks 1,2,4,... */ + +extern int hntmax; +extern int hints[20][5]; /* info on hints */ +extern int hinted[20], hintlc[20]; + +extern int place[101], prop[101], links[201]; +extern int abb[LOCSIZ]; + +extern int maxtrs, tally, tally2; /* treasure values */ + +#define FALSE 0 +#define TRUE 1 + +extern int keys, lamp, grate, cage, rod, rod2, steps, /* mnemonics */ + bird, door, pillow, snake, fissur, tablet, clam, oyster, + magzin, dwarf, knife, food, bottle, water, oil, plant, plant2, + axe, mirror, dragon, chasm, troll, troll2, bear, messag, + vend, batter, nugget, coins, chest, eggs, tridnt, vase, + emrald, pyram, pearl, rug, chain, spices, back, look, cave, + null, entrnc, dprssn, enter, stream, pour, say, lock, throw, + find, invent; + +extern int chloc, chloc2, dseen[7], dloc[7], /* dwarf stuff */ + odloc[7], dflag, daltlc; + +extern int tk[21], stick, dtotal, attack; +extern int turns, lmwarn, iwest, knfloc, detail, /* various flags and + * counters */ + abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1, + clock2, saved, closng, panic, closed, scorng; + +extern int demo, limit; + +#define DECR(a,b,c,d,e) decr(a+'+',b+'-',c+'#',d+'&',e+'%') diff --git a/adventure/init.c b/adventure/init.c new file mode 100644 index 0000000..1816fc1 --- /dev/null +++ b/adventure/init.c @@ -0,0 +1,301 @@ +/* $NetBSD: init.c,v 1.14 2003/08/07 09:36:50 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)init.c 8.1 (Berkeley) 6/2/93"; +#else +__RCSID("$NetBSD: init.c,v 1.14 2003/08/07 09:36:50 agc Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: data initialization */ + +#include +#include +#include +#include +#include +#include + +#include "hdr.h" +#include "extern.h" + +int blklin = TRUE; + +int setbit[16] = {1, 2, 4, 010, 020, 040, 0100, 0200, 0400, 01000, 02000, 04000, +010000, 020000, 040000, 0100000}; + +int datfd; /* message file descriptor */ +volatile sig_atomic_t delhit; +int yea; + +int loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2; +char *wd1, *wd2; /* the complete words */ +int verb, obj, spk; +int saveday, savet, mxscor, latncy; + +struct hashtab voc[HTSIZE]; + +struct text rtext[RTXSIZ]; /* random text messages */ + +struct text mtext[MAGSIZ]; /* magic messages */ + +int clsses; + +struct text ctext[CLSMAX]; /* classes of adventurer */ +int cval[CLSMAX]; + +struct text ptext[101]; /* object descriptions */ + +struct text ltext[LOCSIZ]; /* long loc description */ +struct text stext[LOCSIZ]; /* short loc descriptions */ + +struct travlist *travel[LOCSIZ], *tkk; /* travel is closer to keys(...) */ + +int atloc[LOCSIZ]; + +int plac[101]; /* initial object placement */ +int fixd[101], fixed[101]; /* location fixed? */ + +int actspk[35]; /* rtext msg for verb */ + +int cond[LOCSIZ]; /* various condition bits */ + +int hntmax; +int hints[20][5]; /* info on hints */ +int hinted[20], hintlc[20]; + +int place[101], prop[101], links[201]; +int abb[LOCSIZ]; + +int maxtrs, tally, tally2; /* treasure values */ + +int keys, lamp, grate, cage, rod, rod2, steps, /* mnemonics */ + bird, door, pillow, snake, fissur, tablet, clam, oyster, + magzin, dwarf, knife, food, bottle, water, oil, plant, plant2, + axe, mirror, dragon, chasm, troll, troll2, bear, messag, + vend, batter, nugget, coins, chest, eggs, tridnt, vase, + emrald, pyram, pearl, rug, chain, spices, back, look, cave, + null, entrnc, dprssn, enter, stream, pour, say, lock, throw, + find, invent; + +int chloc, chloc2, dseen[7], dloc[7], /* dwarf stuff */ + odloc[7], dflag, daltlc; + +int tk[21], stick, dtotal, attack; +int turns, lmwarn, iwest, knfloc, detail, /* various flags and + * counters */ + abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1, + clock2, saved, closng, panic, closed, scorng; + +int demo, limit; + +void +init() /* everything for 1st time run */ +{ + rdata(); /* read data from orig. file */ + linkdata(); + poof(); +} + +char * +decr(a, b, c, d, e) + char a, b, c, d, e; +{ + static char buf[6]; + + buf[0] = a - '+'; + buf[1] = b - '-'; + buf[2] = c - '#'; + buf[3] = d - '&'; + buf[4] = e - '%'; + buf[5] = 0; + return buf; +} + +void +linkdata() +{ /* secondary data manipulation */ + int i, j; + + /* array linkages */ + for (i = 1; i <= LOCSIZ; i++) + if (ltext[i].seekadr != 0 && travel[i] != 0) + if ((travel[i]->tverb) == 1) + cond[i] = 2; + for (j = 100; j > 0; j--) + if (fixd[j] > 0) { + drop(j + 100, fixd[j]); + drop(j, plac[j]); + } + for (j = 100; j > 0; j--) { + fixed[j] = fixd[j]; + if (plac[j] != 0 && fixd[j] <= 0) + drop(j, plac[j]); + } + + maxtrs = 79; + tally = 0; + tally2 = 0; + + for (i = 50; i <= maxtrs; i++) { + if (ptext[i].seekadr != 0) + prop[i] = -1; + tally -= prop[i]; + } + + /* define mnemonics */ + keys = vocab(DECR('k', 'e', 'y', 's', '\0'), 1, 0); + lamp = vocab(DECR('l', 'a', 'm', 'p', '\0'), 1, 0); + grate = vocab(DECR('g', 'r', 'a', 't', 'e'), 1, 0); + cage = vocab(DECR('c', 'a', 'g', 'e', '\0'), 1, 0); + rod = vocab(DECR('r', 'o', 'd', '\0', '\0'), 1, 0); + rod2 = rod + 1; + steps = vocab(DECR('s', 't', 'e', 'p', 's'), 1, 0); + bird = vocab(DECR('b', 'i', 'r', 'd', '\0'), 1, 0); + door = vocab(DECR('d', 'o', 'o', 'r', '\0'), 1, 0); + pillow = vocab(DECR('p', 'i', 'l', 'l', 'o'), 1, 0); + snake = vocab(DECR('s', 'n', 'a', 'k', 'e'), 1, 0); + fissur = vocab(DECR('f', 'i', 's', 's', 'u'), 1, 0); + tablet = vocab(DECR('t', 'a', 'b', 'l', 'e'), 1, 0); + clam = vocab(DECR('c', 'l', 'a', 'm', '\0'), 1, 0); + oyster = vocab(DECR('o', 'y', 's', 't', 'e'), 1, 0); + magzin = vocab(DECR('m', 'a', 'g', 'a', 'z'), 1, 0); + dwarf = vocab(DECR('d', 'w', 'a', 'r', 'f'), 1, 0); + knife = vocab(DECR('k', 'n', 'i', 'f', 'e'), 1, 0); + food = vocab(DECR('f', 'o', 'o', 'd', '\0'), 1, 0); + bottle = vocab(DECR('b', 'o', 't', 't', 'l'), 1, 0); + water = vocab(DECR('w', 'a', 't', 'e', 'r'), 1, 0); + oil = vocab(DECR('o', 'i', 'l', '\0', '\0'), 1, 0); + plant = vocab(DECR('p', 'l', 'a', 'n', 't'), 1, 0); + plant2 = plant + 1; + axe = vocab(DECR('a', 'x', 'e', '\0', '\0'), 1, 0); + mirror = vocab(DECR('m', 'i', 'r', 'r', 'o'), 1, 0); + dragon = vocab(DECR('d', 'r', 'a', 'g', 'o'), 1, 0); + chasm = vocab(DECR('c', 'h', 'a', 's', 'm'), 1, 0); + troll = vocab(DECR('t', 'r', 'o', 'l', 'l'), 1, 0); + troll2 = troll + 1; + bear = vocab(DECR('b', 'e', 'a', 'r', '\0'), 1, 0); + messag = vocab(DECR('m', 'e', 's', 's', 'a'), 1, 0); + vend = vocab(DECR('v', 'e', 'n', 'd', 'i'), 1, 0); + batter = vocab(DECR('b', 'a', 't', 't', 'e'), 1, 0); + + nugget = vocab(DECR('g', 'o', 'l', 'd', '\0'), 1, 0); + coins = vocab(DECR('c', 'o', 'i', 'n', 's'), 1, 0); + chest = vocab(DECR('c', 'h', 'e', 's', 't'), 1, 0); + eggs = vocab(DECR('e', 'g', 'g', 's', '\0'), 1, 0); + tridnt = vocab(DECR('t', 'r', 'i', 'd', 'e'), 1, 0); + vase = vocab(DECR('v', 'a', 's', 'e', '\0'), 1, 0); + emrald = vocab(DECR('e', 'm', 'e', 'r', 'a'), 1, 0); + pyram = vocab(DECR('p', 'y', 'r', 'a', 'm'), 1, 0); + pearl = vocab(DECR('p', 'e', 'a', 'r', 'l'), 1, 0); + rug = vocab(DECR('r', 'u', 'g', '\0', '\0'), 1, 0); + chain = vocab(DECR('c', 'h', 'a', 'i', 'n'), 1, 0); + + back = vocab(DECR('b', 'a', 'c', 'k', '\0'), 0, 0); + look = vocab(DECR('l', 'o', 'o', 'k', '\0'), 0, 0); + cave = vocab(DECR('c', 'a', 'v', 'e', '\0'), 0, 0); + null = vocab(DECR('n', 'u', 'l', 'l', '\0'), 0, 0); + entrnc = vocab(DECR('e', 'n', 't', 'r', 'a'), 0, 0); + dprssn = vocab(DECR('d', 'e', 'p', 'r', 'e'), 0, 0); + enter = vocab(DECR('e', 'n', 't', 'e', 'r'), 0, 0); + + pour = vocab(DECR('p', 'o', 'u', 'r', '\0'), 2, 0); + say = vocab(DECR('s', 'a', 'y', '\0', '\0'), 2, 0); + lock = vocab(DECR('l', 'o', 'c', 'k', '\0'), 2, 0); + throw = vocab(DECR('t', 'h', 'r', 'o', 'w'), 2, 0); + find = vocab(DECR('f', 'i', 'n', 'd', '\0'), 2, 0); + invent = vocab(DECR('i', 'n', 'v', 'e', 'n'), 2, 0); + + /* initialize dwarves */ + chloc = 114; + chloc2 = 140; + for (i = 1; i <= 6; i++) + dseen[i] = FALSE; + dflag = 0; + dloc[1] = 19; + dloc[2] = 27; + dloc[3] = 33; + dloc[4] = 44; + dloc[5] = 64; + dloc[6] = chloc; + daltlc = 18; + + /* random flags & ctrs */ + turns = 0; + lmwarn = FALSE; + iwest = 0; + knfloc = 0; + detail = 0; + abbnum = 5; + for (i = 0; i <= 4; i++) + if (rtext[2 * i + 81].seekadr != 0) + maxdie = i + 1; + numdie = holdng = dkill = foobar = bonus = 0; + clock1 = 30; + clock2 = 50; + saved = 0; + closng = panic = closed = scorng = FALSE; +} + + + +void +trapdel(n) /* come here if he hits a del */ + int n __attribute__((__unused__)); +{ + delhit = 1; /* main checks, treats as QUIT */ + signal(SIGINT, trapdel);/* catch subsequent DELs */ +} + + +void +startup() +{ + demo = Start(); + srand((int) (time((time_t *) NULL))); /* random seed */ +#if 0 + srand(371); /* non-random seed */ +#endif + hinted[3] = yes(65, 1, 0); + newloc = 1; + delhit = 0; + limit = 330; + if (hinted[3]) + limit = 1000; /* better batteries if instrucs */ +} diff --git a/adventure/io.c b/adventure/io.c new file mode 100644 index 0000000..33ae2fe --- /dev/null +++ b/adventure/io.c @@ -0,0 +1,590 @@ +/* $NetBSD: io.c,v 1.15 2003/09/19 10:01:53 itojun Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)io.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: io.c,v 1.15 2003/09/19 10:01:53 itojun Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: file i/o and user i/o */ + +#include +#include +#include +#include +#include "hdr.h" +#include "extern.h" + + +void +getin(wrd1, wrd2) /* get command from user */ + char **wrd1, **wrd2; /* no prompt, usually */ +{ + char *s; + static char wd1buf[MAXSTR], wd2buf[MAXSTR]; + int first, numch; + + *wrd1 = wd1buf; /* return ptr to internal str */ + *wrd2 = wd2buf; + wd2buf[0] = 0; /* in case it isn't set here */ + for (s = wd1buf, first = 1, numch = 0;;) { + if ((*s = getchar()) >= 'A' && *s <= 'Z') + *s = *s - ('A' - 'a'); + /* convert to upper case */ + switch (*s) { /* start reading from user */ + case '\n': + *s = 0; + return; + case ' ': + if (s == wd1buf || s == wd2buf) /* initial blank */ + continue; + *s = 0; + if (first) { /* finished 1st wd; start 2nd */ + first = numch = 0; + s = wd2buf; + break; + } else { /* finished 2nd word */ + FLUSHLINE; + *s = 0; + return; + } + case EOF: + printf("user closed input stream, quitting...\n"); + exit(0); + default: + if (++numch >= MAXSTR) { /* string too long */ + printf("Give me a break!!\n"); + wd1buf[0] = wd2buf[0] = 0; + FLUSHLINE; + return; + } + s++; + } + } +} + +int +yes(x, y, z) /* confirm with rspeak */ + int x, y, z; +{ + int result = TRUE; /* pacify gcc */ + int ch; + for (;;) { + rspeak(x); /* tell him what we want */ + if ((ch = getchar()) == 'y') + result = TRUE; + else if (ch == 'n') + result = FALSE; + else if (ch == EOF) { + printf("user closed input stream, quitting...\n"); + exit(0); + } + FLUSHLINE; + if (ch == 'y' || ch == 'n') + break; + printf("Please answer the question.\n"); + } + if (result == TRUE) + rspeak(y); + if (result == FALSE) + rspeak(z); + return (result); +} + +int +yesm(x, y, z) /* confirm with mspeak */ + int x, y, z; +{ + int result = TRUE; /* pacify gcc */ + int ch; + for (;;) { + mspeak(x); /* tell him what we want */ + if ((ch = getchar()) == 'y') + result = TRUE; + else if (ch == 'n') + result = FALSE; + else if (ch == EOF) { + printf("user closed input stream, quitting...\n"); + exit(0); + } + FLUSHLINE; + if (ch == 'y' || ch == 'n') + break; + printf("Please answer the question.\n"); + } + if (result == TRUE) + mspeak(y); + if (result == FALSE) + mspeak(z); + return (result); +} +/* FILE *inbuf,*outbuf; */ + +char *inptr; /* Pointer into virtual disk */ + +int outsw = 0; /* putting stuff to data file? */ + +const char iotape[] = "Ax3F'\003tt$8h\315qer*h\017nGKrX\207:!l"; +const char *tape = iotape; /* pointer to encryption tape */ + +int +next() +{ /* next virtual char, bump adr */ + int ch; + + ch = (*inptr ^ random()) & 0xFF; /* Decrypt input data */ + if (outsw) { /* putting data in tmp file */ + if (*tape == 0) + tape = iotape; /* rewind encryption tape */ + *inptr = ch ^ *tape++; /* re-encrypt and replace value */ + } + inptr++; + return (ch); +} + +char breakch; /* tell which char ended rnum */ + +void +rdata() +{ /* "read" data from virtual file */ + int sect; + char ch; + + inptr = data_file; /* Pointer to virtual data file */ + srandom(SEED); /* which is lightly encrypted. */ + + clsses = 1; + for (;;) { /* read data sections */ + sect = next() - '0'; /* 1st digit of section number */ +#ifdef VERBOSE + printf("Section %c", sect + '0'); +#endif + if ((ch = next()) != LF) { /* is there a second digit? */ + FLUSHLF; +#ifdef VERBOSE + putchar(ch); +#endif + sect = 10 * sect + ch - '0'; + } +#ifdef VERBOSE + putchar('\n'); +#endif + switch (sect) { + case 0: /* finished reading database */ + return; + case 1: /* long form descriptions */ + rdesc(1); + break; + case 2: /* short form descriptions */ + rdesc(2); + break; + case 3: /* travel table */ + rtrav(); + break; + case 4: /* vocabulary */ + rvoc(); + break; + case 5: /* object descriptions */ + rdesc(5); + break; + case 6: /* arbitrary messages */ + rdesc(6); + break; + case 7: /* object locations */ + rlocs(); + break; + case 8: /* action defaults */ + rdflt(); + break; + case 9: /* liquid assets */ + rliq(); + break; + case 10: /* class messages */ + rdesc(10); + break; + case 11: /* hints */ + rhints(); + break; + case 12: /* magic messages */ + rdesc(12); + break; + default: + printf("Invalid data section number: %d\n", sect); + for (;;) + putchar(next()); + } + if (breakch != LF) /* routines return after "-1" */ + FLUSHLF; + } +} + +char nbf[12]; + + +int +rnum() +{ /* read initial location num */ + char *s; + tape = iotape; /* restart encryption tape */ + for (s = nbf, *s = 0;; s++) + if ((*s = next()) == TAB || *s == '\n' || *s == LF) + break; + breakch = *s; /* save char for rtrav() */ + *s = 0; /* got the number as ascii */ + if (nbf[0] == '-') + return (-1); /* end of data */ + return (atoi(nbf)); /* convert it to integer */ +} + +char *seekhere; + +void +rdesc(sect) /* read description-format msgs */ + int sect; +{ + int locc; + char *seekstart, *maystart; + + seekhere = inptr; /* Where are we in virtual file? */ + outsw = 1; /* these msgs go into tmp file */ + for (oldloc = -1, seekstart = seekhere;;) { + maystart = inptr; /* maybe starting new entry */ + if ((locc = rnum()) != oldloc && oldloc >= 0 /* finished msg */ + && !(sect == 5 && (locc == 0 || locc >= 100))) { /* unless sect 5 */ + switch (sect) { /* now put it into right table */ + case 1:/* long descriptions */ + ltext[oldloc].seekadr = seekhere; + ltext[oldloc].txtlen = maystart - seekstart; + break; + case 2:/* short descriptions */ + stext[oldloc].seekadr = seekhere; + stext[oldloc].txtlen = maystart - seekstart; + break; + case 5:/* object descriptions */ + ptext[oldloc].seekadr = seekhere; + ptext[oldloc].txtlen = maystart - seekstart; + break; + case 6:/* random messages */ + if (oldloc >= RTXSIZ) + errx(1,"Too many random msgs"); + rtext[oldloc].seekadr = seekhere; + rtext[oldloc].txtlen = maystart - seekstart; + break; + case 10: /* class messages */ + ctext[clsses].seekadr = seekhere; + ctext[clsses].txtlen = maystart - seekstart; + cval[clsses++] = oldloc; + break; + case 12: /* magic messages */ + if (oldloc >= MAGSIZ) + errx(1,"Too many magic msgs"); + mtext[oldloc].seekadr = seekhere; + mtext[oldloc].txtlen = maystart - seekstart; + break; + default: + errx(1,"rdesc called with bad section"); + } + seekhere += maystart - seekstart; + } + if (locc < 0) { + outsw = 0; /* turn off output */ + seekhere += 3; /* -1 */ + return; + } + if (sect != 5 || (locc > 0 && locc < 100)) { + if (oldloc != locc) /* starting a new message */ + seekstart = maystart; + oldloc = locc; + } + FLUSHLF; /* scan the line */ + } +} + +void +rtrav() +{ /* read travel table */ + int locc; + struct travlist *t = NULL; + char *s; + char buf[12]; + int len, m, n, entries = 0; + + for (oldloc = -1;;) { /* get another line */ + if ((locc = rnum()) != oldloc && oldloc >= 0) { /* end of entry */ + t->next = 0; /* terminate the old entry */ + /* printf("%d:%d entries\n",oldloc,entries); */ + /* twrite(oldloc); */ + } + if (locc == -1) + return; + if (locc != oldloc) { /* getting a new entry */ + t = travel[locc] = (struct travlist *) malloc(sizeof(struct travlist)); + if ( t == NULL) + err(1, NULL); + /* printf("New travel list for %d\n",locc); */ + entries = 0; + oldloc = locc; + } + for (s = buf;; s++) /* get the newloc number /ASCII */ + if ((*s = next()) == TAB || *s == LF) + break; + *s = 0; + len = length(buf) - 1; /* quad long number handling */ + /* printf("Newloc: %s (%d chars)\n",buf,len); */ + if (len < 4) { /* no "m" conditions */ + m = 0; + n = atoi(buf); /* newloc mod 1000 = newloc */ + } else { /* a long integer */ + n = atoi(buf + len - 3); + buf[len - 3] = 0; /* terminate newloc/1000 */ + m = atoi(buf); + } + while (breakch != LF) { /* only do one line at a time */ + if (entries++) { + t = t->next = (struct travlist *) malloc(sizeof(struct travlist)); + if (t == NULL) + err(1, NULL); + } + t->tverb = rnum(); /* get verb from the file */ + t->tloc = n; /* table entry mod 1000 */ + t->conditions = m; /* table entry / 1000 */ + /* printf("entry %d for %d\n",entries,locc); */ + } + } +} +#ifdef DEBUG + +void +twrite(loq) /* travel options from this loc */ + int loq; +{ + struct travlist *t; + printf("If"); + speak(<ext[loq]); + printf("then\n"); + for (t = travel[loq]; t != 0; t = t->next) { + printf("verb %d takes you to ", t->tverb); + if (t->tloc <= 300) + speak(<ext[t->tloc]); + else + if (t->tloc <= 500) + printf("special code %d\n", t->tloc - 300); + else + rspeak(t->tloc - 500); + printf("under conditions %d\n", t->conditions); + } +} +#endif /* DEBUG */ + +void +rvoc() +{ + char *s; /* read the vocabulary */ + int index; + char buf[6]; + for (;;) { + index = rnum(); + if (index < 0) + break; + for (s = buf, *s = 0;; s++) /* get the word */ + if ((*s = next()) == TAB || *s == '\n' || *s == LF + || *s == ' ') + break; + /* terminate word with newline, LF, tab, blank */ + if (*s != '\n' && *s != LF) + FLUSHLF;/* can be comments */ + *s = 0; + /* printf("\"%s\"=%d\n",buf,index); */ + vocab(buf, -2, index); + } +/* prht(); */ +} + + +void +rlocs() +{ /* initial object locations */ + for (;;) { + if ((obj = rnum()) < 0) + break; + plac[obj] = rnum(); /* initial loc for this obj */ + if (breakch == TAB) /* there's another entry */ + fixd[obj] = rnum(); + else + fixd[obj] = 0; + } +} + +void +rdflt() +{ /* default verb messages */ + for (;;) { + if ((verb = rnum()) < 0) + break; + actspk[verb] = rnum(); + } +} + +void +rliq() +{ /* liquid assets &c: cond bits */ + int bitnum; + for (;;) { /* read new bit list */ + if ((bitnum = rnum()) < 0) + break; + for (;;) { /* read locs for bits */ + cond[rnum()] |= setbit[bitnum]; + if (breakch == LF) + break; + } + } +} + +void +rhints() +{ + int hintnum, i; + hntmax = 0; + for (;;) { + if ((hintnum = rnum()) < 0) + break; + for (i = 1; i < 5; i++) + hints[hintnum][i] = rnum(); + if (hintnum > hntmax) + hntmax = hintnum; + } +} + + +void +rspeak(msg) + int msg; +{ + if (msg != 0) + speak(&rtext[msg]); +} + + +void +mspeak(msg) + int msg; +{ + if (msg != 0) + speak(&mtext[msg]); +} + + +void +speak(msg) /* read, decrypt, and print a message (not + * ptext) */ + const struct text *msg; /* msg is a pointer to seek address and length + * of mess */ +{ + char *s, nonfirst; + + s = msg->seekadr; + nonfirst = 0; + while (s - msg->seekadr < msg->txtlen) { /* read a line at a time */ + tape = iotape; /* restart decryption tape */ + while ((*s++ ^ *tape++) != TAB); /* read past loc num */ + /* assume tape is longer than location number */ + /* plus the lookahead put together */ + if ((*s ^ *tape) == '>' && + (*(s + 1) ^ *(tape + 1)) == '$' && + (*(s + 2) ^ *(tape + 2)) == '<') + break; + if (blklin && !nonfirst++) + putchar('\n'); + do { + if (*tape == 0) + tape = iotape; /* rewind decryp tape */ + putchar(*s ^ *tape); + } while ((*s++ ^ *tape++) != LF); /* better end with LF */ + } +} + + +void +pspeak(m, skip) /* read, decrypt an print a ptext message */ + int m; /* msg is the number of all the p msgs for + * this place */ + int skip; /* assumes object 1 doesn't have prop 1, obj 2 + * no prop 2 &c */ +{ + char *s, nonfirst; + char *numst, save; + struct text *msg; + char *tbuf; + + msg = &ptext[m]; + if ((tbuf = (char *) malloc(msg->txtlen + 1)) == NULL) + err(1, NULL); + memcpy(tbuf, msg->seekadr, msg->txtlen + 1); /* Room to null */ + s = tbuf; + + nonfirst = 0; + while (s - tbuf < msg->txtlen) { /* read line at a time */ + tape = iotape; /* restart decryption tape */ + for (numst = s; (*s ^= *tape++) != TAB; s++); /* get number */ + + save = *s; /* Temporarily trash the string (cringe) */ + *s++ = 0; /* decrypting number within the string */ + + if (atoi(numst) != 100 * skip && skip >= 0) { + while ((*s++ ^ *tape++) != LF) /* flush the line */ + if (*tape == 0) + tape = iotape; + continue; + } + if ((*s ^ *tape) == '>' && (*(s + 1) ^ *(tape + 1)) == '$' && + (*(s + 2) ^ *(tape + 2)) == '<') + break; + if (blklin && !nonfirst++) + putchar('\n'); + do { + if (*tape == 0) + tape = iotape; + putchar(*s ^ *tape); + } while ((*s++ ^ *tape++) != LF); /* better end with LF */ + if (skip < 0) + break; + } + free(tbuf); +} diff --git a/adventure/main.c b/adventure/main.c new file mode 100644 index 0000000..3e1cd2d --- /dev/null +++ b/adventure/main.c @@ -0,0 +1,765 @@ +/* $NetBSD: main.c,v 1.18 2004/01/27 20:30:28 jsm Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1991, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/2/93"; +#else +__RCSID("$NetBSD: main.c,v 1.18 2004/01/27 20:30:28 jsm Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: main program */ + +#include +#include +#include +#include +#include +#include +#include "hdr.h" +#include "extern.h" + +int main(int, char **); + +int +main(argc, argv) + int argc; + char **argv; +{ + int i; + int rval, ll; + struct text *kk; + + /* revoke setgid privileges from dm */ + setregid(getgid(), getgid()); + + init(); /* Initialize everything */ + signal(SIGINT, trapdel); + + if (argc > 1) { /* Restore file specified */ + /* Restart is label 8305 (Fortran) */ + i = restore(argv[1]); /* See what we've got */ + switch (i) { + case 0: /* The restore worked fine */ + yea = Start(); + k = null; + unlink(argv[1]); /* Don't re-use the save */ + goto l8; /* Get where we're going */ + case 1: /* Couldn't open it */ + errx(1,"can't open file"); /* So give up */ + case 2: /* Oops -- file was altered */ + rspeak(202); /* You dissolve */ + exit(1); /* File could be non-adventure */ + } /* So don't unlink it. */ + } + startup(); /* prepare for a user */ + + for (;;) { /* main command loop (label 2) */ + if (newloc < 9 && newloc != 0 && closng) { + rspeak(130); /* if closing leave only by */ + newloc = loc; /* main office */ + if (!panic) + clock2 = 15; + panic = TRUE; + } + rval = fdwarf(); /* dwarf stuff */ + if (rval == 99) + die(99); + +l2000: if (loc == 0) + die(99); /* label 2000 */ + kk = &stext[loc]; + if ((abb[loc] % abbnum) == 0 || kk->seekadr == 0) + kk = <ext[loc]; + if (!forced(loc) && dark()) { + if (wzdark && pct(35)) { + die(90); + goto l2000; + } + kk = &rtext[16]; + } +#if 0 +l2001: +#endif + if (toting(bear)) + rspeak(141); /* 2001 */ + speak(kk); + k = 1; + if (forced(loc)) + goto l8; + if (loc == 33 && pct(25) && !closng) + rspeak(8); + if (!dark()) { + abb[loc]++; + for (i = atloc[loc]; i != 0; i = links[i]) { /* 2004 */ + obj = i; + if (obj > 100) + obj -= 100; + if (obj == steps && toting(nugget)) + continue; + if (prop[obj] < 0) { + if (closed) + continue; + prop[obj] = 0; + if (obj == rug || obj == chain) + prop[obj] = 1; + tally--; + if (tally == tally2 && tally != 0) + if (limit > 35) + limit = 35; + } + ll = prop[obj]; /* 2006 */ + if (obj == steps && loc == fixed[steps]) + ll = 1; + pspeak(obj, ll); + } /* 2008 */ + goto l2012; + l2009: k = 54; /* 2009 */ + l2010: spk = k; + l2011: rspeak(spk); + } +l2012: verb = 0; /* 2012 */ + obj = 0; +l2600: checkhints(); /* to 2600-2602 */ + if (closed) { + if (prop[oyster] < 0 && toting(oyster)) + pspeak(oyster, 1); + for (i = 1; i < 100; i++) + if (toting(i) && prop[i] < 0) /* 2604 */ + prop[i] = -1 - prop[i]; + } + wzdark = dark(); /* 2605 */ + if (knfloc > 0 && knfloc != loc) + knfloc = 1; + getin(&wd1, &wd2); + if (delhit) { /* user typed a DEL */ + delhit = 0; /* reset counter */ + copystr("quit", wd1); /* pretend he's quitting */ + *wd2 = 0; + } +l2608: if ((foobar = -foobar) > 0) + foobar = 0; /* 2608 */ + /* should check here for "magic mode" */ + turns++; + if (demo && turns >= SHORT) + done(1); /* to 13000 */ + + if (verb == say && *wd2 != 0) + verb = 0; + if (verb == say) + goto l4090; + if (tally == 0 && loc >= 15 && loc != 33) + clock1--; + if (clock1 == 0) { + closing(); /* to 10000 */ + goto l19999; + } + if (clock1 < 0) + clock2--; + if (clock2 == 0) { + caveclose(); /* to 11000 */ + continue; /* back to 2 */ + } + if (prop[lamp] == 1) + limit--; + if (limit <= 30 && here(batter) && prop[batter] == 0 + && here(lamp)) { + rspeak(188); /* 12000 */ + prop[batter] = 1; + if (toting(batter)) + drop(batter, loc); + limit = limit + 2500; + lmwarn = FALSE; + goto l19999; + } + if (limit == 0) { + limit = -1; /* 12400 */ + prop[lamp] = 0; + rspeak(184); + goto l19999; + } + if (limit < 0 && loc <= 8) { + rspeak(185); /* 12600 */ + gaveup = TRUE; + done(2); /* to 20000 */ + } + if (limit <= 30) { + if (lmwarn || !here(lamp)) + goto l19999; /* 12200 */ + lmwarn = TRUE; + spk = 187; + if (place[batter] == 0) + spk = 183; + if (prop[batter] == 1) + spk = 189; + rspeak(spk); + } +l19999: k = 43; + if (liqloc(loc) == water) + k = 70; + if (weq(wd1, "enter") && + (weq(wd2, "strea") || weq(wd2, "water"))) + goto l2010; + if (weq(wd1, "enter") && *wd2 != 0) + goto l2800; + if ((!weq(wd1, "water") && !weq(wd1, "oil")) + || (!weq(wd2, "plant") && !weq(wd2, "door"))) + goto l2610; + if (at(vocab(wd2, 1, 0))) + copystr("pour", wd2); + +l2610: if (weq(wd1, "west")) + if (++iwest == 10) + rspeak(17); +l2630: i = vocab(wd1, -1, 0); + if (i == -1) { + spk = 60; /* 3000 */ + if (pct(20)) + spk = 61; + if (pct(20)) + spk = 13; + rspeak(spk); + goto l2600; + } + k = i % 1000; + kq = i / 1000 + 1; + switch (kq) { + case 1: + goto l8; + case 2: + goto l5000; + case 3: + goto l4000; + case 4: + goto l2010; + default: + bug(22); + } + +l8: + switch (march()) { + case 2: + continue; /* i.e. goto l2 */ + case 99: + die(99); + goto l2000; + default: + bug(110); + } + +l2800: copystr(wd2, wd1); + *wd2 = 0; + goto l2610; + +l4000: verb = k; + spk = actspk[verb]; + if (*wd2 != 0 && verb != say) + goto l2800; + if (verb == say) + obj = *wd2; + if (obj != 0) + goto l4090; +#if 0 +l4080: +#endif + switch (verb) { + case 1: /* take = 8010 */ + if (atloc[loc] == 0 || links[atloc[loc]] != 0) + goto l8000; + for (i = 1; i <= 5; i++) + if (dloc[i] == loc && dflag >= 2) + goto l8000; + obj = atloc[loc]; + goto l9010; + case 2: + case 3: + case 9: /* 8000 : drop,say,wave */ + case 10: + case 16: + case 17: /* calm,rub,toss */ + case 19: + case 21: + case 28: /* find,feed,break */ + case 29: /* wake */ + l8000: printf("%s what?\n", wd1); + obj = 0; + goto l2600; + case 4: + case 6: /* 8040 open,lock */ + spk = 28; + if (here(clam)) + obj = clam; + if (here(oyster)) + obj = oyster; + if (at(door)) + obj = door; + if (at(grate)) + obj = grate; + if (obj != 0 && here(chain)) + goto l8000; + if (here(chain)) + obj = chain; + if (obj == 0) + goto l2011; + goto l9040; + case 5: + goto l2009; /* nothing */ + case 7: + goto l9070; /* on */ + case 8: + goto l9080; /* off */ + case 11: + goto l8000; /* walk */ + case 12: + goto l9120; /* kill */ + case 13: + goto l9130; /* pour */ + case 14: /* eat: 8140 */ + if (!here(food)) + goto l8000; + l8142: dstroy(food); + spk = 72; + goto l2011; + case 15: + goto l9150; /* drink */ + case 18: /* quit: 8180 */ + gaveup = yes(22, 54, 54); + if (gaveup) + done(2); /* 8185 */ + goto l2012; + case 20: /* invent=8200 */ + spk = 98; + for (i = 1; i <= 100; i++) { + if (i != bear && toting(i)) { + if (spk == 98) + rspeak(99); + blklin = FALSE; + pspeak(i, -1); + blklin = TRUE; + spk = 0; + } + } + if (toting(bear)) + spk = 141; + goto l2011; + case 22: + goto l9220; /* fill */ + case 23: + goto l9230; /* blast */ + case 24: /* score: 8240 */ + scorng = TRUE; + printf("If you were to quit now, you would score"); + printf(" %d out of a possible ", score()); + printf("%d.", mxscor); + scorng = FALSE; + gaveup = yes(143, 54, 54); + if (gaveup) + done(2); + goto l2012; + case 25: /* foo: 8250 */ + k = vocab(wd1, 3, 0); + spk = 42; + if (foobar == 1 - k) + goto l8252; + if (foobar != 0) + spk = 151; + goto l2011; + l8252: foobar = k; + if (k != 4) + goto l2009; + foobar = 0; + if (place[eggs] == plac[eggs] + || (toting(eggs) && loc == plac[eggs])) + goto l2011; + if (place[eggs] == 0 && place[troll] == 0 && prop[troll] == 0) + prop[troll] = 1; + k = 2; + if (here(eggs)) + k = 1; + if (loc == plac[eggs]) + k = 0; + move(eggs, plac[eggs]); + pspeak(eggs, k); + goto l2012; + case 26: /* brief=8260 */ + spk = 156; + abbnum = 10000; + detail = 3; + goto l2011; + case 27: /* read=8270 */ + if (here(magzin)) + obj = magzin; + if (here(tablet)) + obj = obj * 100 + tablet; + if (here(messag)) + obj = obj * 100 + messag; + if (closed && toting(oyster)) + obj = oyster; + if (obj > 100 || obj == 0 || dark()) + goto l8000; + goto l9270; + case 30: /* suspend=8300 */ + spk = 201; + if (demo) + goto l2011; + printf("I can suspend your adventure for you so"); + printf(" you can resume later, but\n"); + printf("you will have to wait at least"); + printf(" %d minutes before continuing.", latncy); + if (!yes(200, 54, 54)) + goto l2012; + datime(&saveday, &savet); + ciao(); /* Do we quit? */ + continue; /* Maybe not */ + case 31: /* hours=8310 */ + printf("Colossal cave is closed 9am-5pm Mon "); + printf("through Fri except holidays.\n"); + goto l2012; + default: + bug(23); + } + +l4090: + switch (verb) { + case 1: /* take = 9010 */ + l9010: switch (trtake()) { + case 2011: + goto l2011; + case 9220: + goto l9220; + case 2009: + goto l2009; + case 2012: + goto l2012; + default: + bug(102); + } + l9020: case 2: /* drop = 9020 */ + switch (trdrop()) { + case 2011: + goto l2011; + case 19000: + done(3); + case 2012: + goto l2012; + default: + bug(105); + } +#if 0 + l9030: +#endif + case 3: + switch (trsay()) { + case 2012: + goto l2012; + case 2630: + goto l2630; + default: + bug(107); + } + l9040: case 4: + case 6: /* open, close */ + switch (tropen()) { + case 2011: + goto l2011; + case 2010: + goto l2010; + default: + bug(106); + } + case 5: + goto l2009; /* nothing */ + case 7: /* on 9070 */ + l9070: if (!here(lamp)) + goto l2011; + spk = 184; + if (limit < 0) + goto l2011; + prop[lamp] = 1; + rspeak(39); + if (wzdark) + goto l2000; + goto l2012; + + case 8: /* off */ + l9080: if (!here(lamp)) + goto l2011; + prop[lamp] = 0; + rspeak(40); + if (dark()) + rspeak(16); + goto l2012; + + case 9: /* wave */ + if ((!toting(obj)) && (obj != rod || !toting(rod2))) + spk = 29; + if (obj != rod || !at(fissur) || !toting(obj) || closng) + goto l2011; + prop[fissur] = 1 - prop[fissur]; + pspeak(fissur, 2 - prop[fissur]); + goto l2012; + case 10: + case 11: + case 18: /* calm, walk, quit */ + case 24: + case 25: + case 26: /* score, foo, brief */ + case 30: + case 31: /* suspend, hours */ + goto l2011; + l9120: case 12:/* kill */ + switch (trkill()) { + case 8000: + goto l8000; + case 8: + goto l8; + case 2011: + goto l2011; + case 2608: + goto l2608; + case 19000: + done(3); + default: + bug(112); + } + l9130: case 13:/* pour */ + if (obj == bottle || obj == 0) + obj = liq(); + if (obj == 0) + goto l8000; + if (!toting(obj)) + goto l2011; + spk = 78; + if (obj != oil && obj != water) + goto l2011; + prop[bottle] = 1; + place[obj] = 0; + spk = 77; + if (!(at(plant) || at(door))) + goto l2011; + if (at(door)) { + prop[door] = 0; /* 9132 */ + if (obj == oil) + prop[door] = 1; + spk = 113 + prop[door]; + goto l2011; + } + spk = 112; + if (obj != water) + goto l2011; + pspeak(plant, prop[plant] + 1); + prop[plant] = (prop[plant] + 2) % 6; + prop[plant2] = prop[plant] / 2; + k = null; + goto l8; + case 14: /* 9140 - eat */ + if (obj == food) + goto l8142; + if (obj == bird || obj == snake || obj == clam || obj == oyster + || obj == dwarf || obj == dragon || obj == troll + || obj == bear) + spk = 71; + goto l2011; + l9150: case 15:/* 9150 - drink */ + if (obj == 0 && liqloc(loc) != water && (liq() != water + || !here(bottle))) + goto l8000; + if (obj != 0 && obj != water) + spk = 110; + if (spk == 110 || liq() != water || !here(bottle)) + goto l2011; + prop[bottle] = 1; + place[water] = 0; + spk = 74; + goto l2011; + case 16: /* 9160: rub */ + if (obj != lamp) + spk = 76; + goto l2011; + case 17: /* 9170: throw */ + switch (trtoss()) { + case 2011: + goto l2011; + case 9020: + goto l9020; + case 9120: + goto l9120; + case 8: + goto l8; + case 9210: + goto l9210; + default: + bug(113); + } + case 19: + case 20: /* 9190: find, invent */ + if (at(obj) || (liq() == obj && at(bottle)) + || k == liqloc(loc)) + spk = 94; + for (i = 1; i <= 5; i++) + if (dloc[i] == loc && dflag >= 2 && obj == dwarf) + spk = 94; + if (closed) + spk = 138; + if (toting(obj)) + spk = 24; + goto l2011; + l9210: case 21:/* feed */ + switch (trfeed()) { + case 2011: + goto l2011; + default: + bug(114); + } + l9220: case 22:/* fill */ + switch (trfill()) { + case 2011: + goto l2011; + case 8000: + goto l8000; + case 9020: + goto l9020; + default: + bug(115); + } + l9230: case 23:/* blast */ + if (prop[rod2] < 0 || !closed) + goto l2011; + bonus = 133; + if (loc == 115) + bonus = 134; + if (here(rod2)) + bonus = 135; + rspeak(bonus); + done(2); + l9270: case 27:/* read */ + if (dark()) + goto l5190; + if (obj == magzin) + spk = 190; + if (obj == tablet) + spk = 196; + if (obj == messag) + spk = 191; + if (obj == oyster && hinted[2] && toting(oyster)) + spk = 194; + if (obj != oyster || hinted[2] || !toting(oyster) + || !closed) + goto l2011; + hinted[2] = yes(192, 193, 54); + goto l2012; +#if 0 + l9280: +#endif + case 28: /* break */ + if (obj == mirror) + spk = 148; + if (obj == vase && prop[vase] == 0) { + spk = 198; + if (toting(vase)) + drop(vase, loc); + prop[vase] = 2; + fixed[vase] = -1; + goto l2011; + } + if (obj != mirror || !closed) + goto l2011; + rspeak(197); + done(3); +#if 0 + l9290: +#endif + case 29: /* wake */ + if (obj != dwarf || !closed) + goto l2011; + rspeak(199); + done(3); + + default: + bug(24); + } + +l5000: + obj = k; + if (fixed[k] != loc && !here(k)) + goto l5100; +l5010: if (*wd2 != 0) + goto l2800; + if (verb != 0) + goto l4090; + printf("What do you want to do with the %s?\n", wd1); + goto l2600; +l5100: if (k != grate) + goto l5110; + if (loc == 1 || loc == 4 || loc == 7) + k = dprssn; + if (loc > 9 && loc < 15) + k = entrnc; + if (k != grate) + goto l8; +l5110: if (k != dwarf) + goto l5120; + for (i = 1; i <= 5; i++) + if (dloc[i] == loc && dflag >= 2) + goto l5010; +l5120: if ((liq() == k && here(bottle)) || k == liqloc(loc)) + goto l5010; + if (obj != plant || !at(plant2) || prop[plant2] == 0) + goto l5130; + obj = plant2; + goto l5010; +l5130: if (obj != knife || knfloc != loc) + goto l5140; + knfloc = -1; + spk = 116; + goto l2011; +l5140: if (obj != rod || !here(rod2)) + goto l5190; + obj = rod2; + goto l5010; +l5190: if ((verb == find || verb == invent) && *wd2 == 0) + goto l5010; + printf("I see no %s here\n", wd1); + goto l2012; + } +} diff --git a/adventure/save.c b/adventure/save.c new file mode 100644 index 0000000..2f0e355 --- /dev/null +++ b/adventure/save.c @@ -0,0 +1,192 @@ +/* $NetBSD: save.c,v 1.8 2003/08/07 09:36:51 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: save.c,v 1.8 2003/08/07 09:36:51 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include "hdr.h" +#include "extern.h" + +struct savestruct { + void *address; + int width; +}; + +struct savestruct save_array[] = +{ + {&abbnum, sizeof(abbnum)}, + {&attack, sizeof(attack)}, + {&blklin, sizeof(blklin)}, + {&bonus, sizeof(bonus)}, + {&chloc, sizeof(chloc)}, + {&chloc2, sizeof(chloc2)}, + {&clock1, sizeof(clock1)}, + {&clock2, sizeof(clock2)}, + {&closed, sizeof(closed)}, + {&closng, sizeof(closng)}, + {&daltlc, sizeof(daltlc)}, + {&demo, sizeof(demo)}, + {&detail, sizeof(detail)}, + {&dflag, sizeof(dflag)}, + {&dkill, sizeof(dkill)}, + {&dtotal, sizeof(dtotal)}, + {&foobar, sizeof(foobar)}, + {&gaveup, sizeof(gaveup)}, + {&holdng, sizeof(holdng)}, + {&iwest, sizeof(iwest)}, + {&k, sizeof(k)}, + {&k2, sizeof(k2)}, + {&knfloc, sizeof(knfloc)}, + {&kq, sizeof(kq)}, + {&latncy, sizeof(latncy)}, + {&limit, sizeof(limit)}, + {&lmwarn, sizeof(lmwarn)}, + {&loc, sizeof(loc)}, + {&maxdie, sizeof(maxdie)}, + {&mxscor, sizeof(mxscor)}, + {&newloc, sizeof(newloc)}, + {&numdie, sizeof(numdie)}, + {&obj, sizeof(obj)}, + {&oldlc2, sizeof(oldlc2)}, + {&oldloc, sizeof(oldloc)}, + {&panic, sizeof(panic)}, + {&saveday, sizeof(saveday)}, + {&savet, sizeof(savet)}, + {&scorng, sizeof(scorng)}, + {&spk, sizeof(spk)}, + {&stick, sizeof(stick)}, + {&tally, sizeof(tally)}, + {&tally2, sizeof(tally2)}, + {&tkk, sizeof(tkk)}, + {&turns, sizeof(turns)}, + {&verb, sizeof(verb)}, + {&wd1, sizeof(wd1)}, + {&wd2, sizeof(wd2)}, + {&wzdark, sizeof(wzdark)}, + {&yea, sizeof(yea)}, + {atloc, sizeof(atloc)}, + {dloc, sizeof(dloc)}, + {dseen, sizeof(dseen)}, + {fixed, sizeof(fixed)}, + {hinted, sizeof(hinted)}, + {links, sizeof(links)}, + {odloc, sizeof(odloc)}, + {place, sizeof(place)}, + {prop, sizeof(prop)}, + {tk, sizeof(tk)}, + + {NULL, 0} +}; + +int +save(outfile) /* Two passes on data: first to get checksum, + * second */ + const char *outfile; /* to output the data using checksum to start + * random #s */ +{ + FILE *out; + struct savestruct *p; + char *s; + long sum; + int i; + + crc_start(); + for (p = save_array; p->address != NULL; p++) + sum = crc(p->address, p->width); + srandom((int) sum); + + if ((out = fopen(outfile, "wb")) == NULL) { + fprintf(stderr, + "Hmm. The name \"%s\" appears to be magically blocked.\n", + outfile); + return 1; + } + fwrite(&sum, sizeof(sum), 1, out); /* Here's the random() key */ + for (p = save_array; p->address != NULL; p++) { + for (s = p->address, i = 0; i < p->width; i++, s++) + *s = (*s ^ random()) & 0xFF; /* Lightly encrypt */ + fwrite(p->address, p->width, 1, out); + } + if (fclose(out) != 0) { + warn("writing %s", outfile); + return 1; + } + return 0; +} + +int +restore(infile) + const char *infile; +{ + FILE *in; + struct savestruct *p; + char *s; + long sum, cksum = 0; + int i; + + if ((in = fopen(infile, "rb")) == NULL) { + fprintf(stderr, + "Hmm. The file \"%s\" appears to be magically blocked.\n", + infile); + return 1; + } + fread(&sum, sizeof(sum), 1, in); /* Get the seed */ + srandom((int) sum); + for (p = save_array; p->address != NULL; p++) { + fread(p->address, p->width, 1, in); + for (s = p->address, i = 0; i < p->width; i++, s++) + *s = (*s ^ random()) & 0xFF; /* Lightly decrypt */ + } + fclose(in); + + crc_start(); /* See if she cheated */ + for (p = save_array; p->address != NULL; p++) + cksum = crc(p->address, p->width); + if (sum != cksum) /* Tsk tsk */ + return 2; /* Altered the file */ + /* We successfully restored, so this really was a save file */ + /* Get rid of the file, but don't bother checking that we did */ + return 0; +} diff --git a/adventure/setup.c b/adventure/setup.c new file mode 100644 index 0000000..ca5a24c --- /dev/null +++ b/adventure/setup.c @@ -0,0 +1,129 @@ +/* $NetBSD: setup.c,v 1.10 2003/08/07 09:36:51 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static const char copyright[] __attribute__((__unused__)) = "@(#) Copyright (c) 1991, 1993\n\ + The Regents of the University of California. All rights reserved.\n"; + +#if 0 +static char sccsid[] = "@(#)setup.c 8.1 (Berkeley) 5/31/93"; +#else +static const char rcsid[] __attribute__((__unused__)) = "$NetBSD: setup.c,v 1.10 2003/08/07 09:36:51 agc Exp $"; +#endif +#endif /* not lint */ + +/* + * Setup: keep the structure of the original Adventure port, but use an + * internal copy of the data file, serving as a sort of virtual disk. It's + * lightly encrypted to prevent casual snooping of the executable. + * + * Also do appropriate things to tabs so that bogus editors will do the right + * thing with the data file. + * + */ + +#define SIG1 " * Jim Gillogly" +#define SIG2 " * Sterday, 6 Thrimidge S.R. 1993, 15:24" + +#include +#include +#include +#include +#include "hdr.h" /* SEED lives in there; keep them coordinated. */ + +#define USAGE "Usage: setup file > data.c (file is typically glorkz)\n" + +#define YES 1 +#define NO 0 + +#define LINE 10 /* How many values do we get on a line? */ + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + FILE *infile; + int c, count, linestart; + + if (argc != 2) { + fprintf(stderr, USAGE); + exit(1); + } + + if ((infile = fopen(argv[1], "r")) == NULL) { + fprintf(stderr, "Can't read file %s: %s\n", argv[1], + strerror(errno)); + exit(1); + } + puts("/*\n * data.c: created by setup from the ascii data file."); + puts(SIG1); + puts(SIG2); + puts(" */"); + printf("\n\nchar data_file[] =\n{"); + srandom(SEED); + count = 0; + linestart = YES; + + while ((c = getc(infile)) != EOF) { + if (linestart && c == ' ') { /* Convert first spaces to tab */ + printf("0x%02x,", (unsigned int)('\t' ^ random()) & 0xFF); + while ((c = getc(infile)) == ' ' && c != EOF); + /* Drop the non-whitespace character through */ + linestart = NO; + } + switch (c) { + case '\t': + linestart = NO; /* Don't need to convert spaces */ + break; + case '\n': + linestart = YES; /* Ready to convert spaces + * again */ + break; + } + if (count++ % LINE == 0) /* Finished a line? */ + printf("\n\t"); + printf("0x%02x,", (unsigned int)(c ^ random()) & 0xFF); + } + puts("\n\t0\n};"); + fclose(infile); + fflush(stdout); + if (ferror(stdout)) { + perror("error writing standard output"); + exit(1); + } + exit(0); +} diff --git a/adventure/subr.c b/adventure/subr.c new file mode 100644 index 0000000..297238b --- /dev/null +++ b/adventure/subr.c @@ -0,0 +1,1055 @@ +/* $NetBSD: subr.c,v 1.10 2003/08/07 09:36:51 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)subr.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: subr.c,v 1.10 2003/08/07 09:36:51 agc Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: subroutines from main */ + +#include +#include +#include "hdr.h" +#include "extern.h" + +/* Statement functions */ +int +toting(objj) + int objj; +{ + if (place[objj] == -1) + return (TRUE); + else + return (FALSE); +} + +int +here(objj) + int objj; +{ + if (place[objj] == loc || toting(objj)) + return (TRUE); + else + return (FALSE); +} + +int +at(objj) + int objj; +{ + if (place[objj] == loc || fixed[objj] == loc) + return (TRUE); + else + return (FALSE); +} + +int +liq2(pbotl) + int pbotl; +{ + return ((1 - pbotl) * water + (pbotl / 2) * (water + oil)); +} + +int +liq() +{ + int i; + i = prop[bottle]; + if (i > -1 - i) + return (liq2(i)); + else + return (liq2(-1 - i)); +} + +int +liqloc(locc) /* may want to clean this one up a bit */ + int locc; +{ + int i, j, l; + i = cond[locc] / 2; + j = ((i * 2) % 8) - 5; + l = cond[locc] / 4; + l = l % 2; + return (liq2(j * l + 1)); +} + +int +bitset(l, n) + int l, n; +{ + if (cond[l] & setbit[n]) + return (TRUE); + return (FALSE); +} + +int +forced(locc) + int locc; +{ + if (cond[locc] == 2) + return (TRUE); + return (FALSE); +} + +int +dark() +{ + if ((cond[loc] % 2) == 0 && (prop[lamp] == 0 || !here(lamp))) + return (TRUE); + return (FALSE); +} + +int +pct(n) + int n; +{ + if (ran(100) < n) + return (TRUE); + return (FALSE); +} + + +int +fdwarf() +{ /* 71 */ + int i, j; + struct travlist *kk; + + if (newloc != loc && !forced(loc) && !bitset(loc, 3)) { + for (i = 1; i <= 5; i++) { + if (odloc[i] != newloc || !dseen[i]) + continue; + newloc = loc; + rspeak(2); + break; + } + } + loc = newloc; /* 74 */ + if (loc == 0 || forced(loc) || bitset(newloc, 3)) + return (2000); + if (dflag == 0) { + if (loc >= 15) + dflag = 1; + return (2000); + } + if (dflag == 1) { /* 6000 */ + if (loc < 15 || pct(95)) + return (2000); + dflag = 2; + for (i = 1; i <= 2; i++) { + j = 1 + ran(5); + if (pct(50) && saved == -1) + dloc[j] = 0; /* 6001 */ + } + for (i = 1; i <= 5; i++) { + if (dloc[i] == loc) + dloc[i] = daltlc; + odloc[i] = dloc[i]; /* 6002 */ + } + rspeak(3); + drop(axe, loc); + return (2000); + } + dtotal = attack = stick = 0; /* 6010 */ + for (i = 1; i <= 6; i++) { /* loop to 6030 */ + if (dloc[i] == 0) + continue; + j = 1; + for (kk = travel[dloc[i]]; kk != 0; kk = kk->next) { + newloc = kk->tloc; + if (newloc > 300 || newloc < 15 || newloc == odloc[i] + || (j > 1 && newloc == tk[j - 1]) || j >= 20 + || newloc == dloc[i] || forced(newloc) + || (i == 6 && bitset(newloc, 3)) + || kk->conditions == 100) + continue; + tk[j++] = newloc; + } + tk[j] = odloc[i]; /* 6016 */ + if (j >= 2) + j--; + j = 1 + ran(j); + odloc[i] = dloc[i]; + dloc[i] = tk[j]; + dseen[i] = (dseen[i] && loc >= 15) || (dloc[i] == loc || odloc[i] == loc); + if (!dseen[i]) + continue; /* i.e. goto 6030 */ + dloc[i] = loc; + if (i == 6) { /* pirate's spotted him */ + if (loc == chloc || prop[chest] >= 0) + continue; + k = 0; + for (j = 50; j <= maxtrs; j++) { /* loop to 6020 */ + if (j == pyram && (loc == plac[pyram] + || loc == plac[emrald])) + goto l6020; + if (toting(j)) + goto l6022; + l6020: if (here(j)) + k = 1; + } /* 6020 */ + if (tally == tally2 + 1 && k == 0 && place[chest] == 0 + && here(lamp) && prop[lamp] == 1) + goto l6025; + if (odloc[6] != dloc[6] && pct(20)) + rspeak(127); + continue; /* to 6030 */ + l6022: rspeak(128); + if (place[messag] == 0) + move(chest, chloc); + move(messag, chloc2); + for (j = 50; j <= maxtrs; j++) { /* loop to 6023 */ + if (j == pyram && (loc == plac[pyram] + || loc == plac[emrald])) + continue; + if (at(j) && fixed[j] == 0) + carry(j, loc); + if (toting(j)) + drop(j, chloc); + } + l6024: dloc[6] = odloc[6] = chloc; + dseen[6] = FALSE; + continue; + l6025: rspeak(186); + move(chest, chloc); + move(messag, chloc2); + goto l6024; + } + dtotal++; /* 6027 */ + if (odloc[i] != dloc[i]) + continue; + attack++; + if (knfloc >= 0) + knfloc = loc; + if (ran(1000) < 95 * (dflag - 2)) + stick++; + } /* 6030 */ + if (dtotal == 0) + return (2000); + if (dtotal != 1) { + printf("There are %d threatening little dwarves ", dtotal); + printf("in the room with you.\n"); + } else + rspeak(4); + if (attack == 0) + return (2000); + if (dflag == 2) + dflag = 3; + if (saved != -1) + dflag = 20; + if (attack != 1) { + printf("%d of them throw knives at you!\n", attack); + k = 6; +l82: if (stick <= 1) { /* 82 */ + rspeak(k + stick); + if (stick == 0) + return (2000); + } else + printf("%d of them get you!\n", stick); /* 83 */ + oldlc2 = loc; + return (99); + } + rspeak(5); + k = 52; + goto l82; +} + + +int +march() +{ /* label 8 */ + int ll1, ll2; + + if ((tkk = travel[newloc = loc]) == 0) + bug(26); + if (k == null) + return (2); + if (k == cave) { /* 40 */ + if (loc < 8) + rspeak(57); + if (loc >= 8) + rspeak(58); + return (2); + } + if (k == look) { /* 30 */ + if (detail++ < 3) + rspeak(15); + wzdark = FALSE; + abb[loc] = 0; + return (2); + } + if (k == back) { /* 20 */ + switch (mback()) { + case 2: + return (2); + case 9: + goto l9; + default: + bug(100); + } + } + oldlc2 = oldloc; + oldloc = loc; +l9: + for (; tkk != 0; tkk = tkk->next) + if (tkk->tverb == 1 || tkk->tverb == k) + break; + if (tkk == 0) { + badmove(); + return (2); + } +l11: ll1 = tkk->conditions; /* 11 */ + ll2 = tkk->tloc; + newloc = ll1; /* newloc=conditions */ + k = newloc % 100; /* k used for prob */ + if (newloc <= 300) { + if (newloc <= 100) { /* 13 */ + if (newloc != 0 && !pct(newloc)) + goto l12; /* 14 */ + l16: newloc = ll2; /* newloc=location */ + if (newloc <= 300) + return (2); + if (newloc <= 500) + switch (specials()) { /* to 30000 */ + case 2: + return (2); + case 12: + goto l12; + case 99: + return (99); + default: + bug(101); + } + rspeak(newloc - 500); + newloc = loc; + return (2); + } + if (toting(k) || (newloc > 200 && at(k))) + goto l16; + goto l12; + } + if (prop[k] != (newloc / 100) - 3) + goto l16; /* newloc still conditions */ +l12: /* alternative to probability move */ + for (; tkk != 0; tkk = tkk->next) + if (tkk->tloc != ll2 || tkk->conditions != ll1) + break; + if (tkk == 0) + bug(25); + goto l11; +} + + + +int +mback() +{ /* 20 */ + struct travlist *tk2, *j; + int ll; + if (forced(k = oldloc)) + k = oldlc2; /* k=location */ + oldlc2 = oldloc; + oldloc = loc; + tk2 = 0; + if (k == loc) { + rspeak(91); + return (2); + } + for (; tkk != 0; tkk = tkk->next) { /* 21 */ + ll = tkk->tloc; + if (ll == k) { + k = tkk->tverb; /* k back to verb */ + tkk = travel[loc]; + return (9); + } + if (ll <= 300) { + j = travel[loc]; + if (forced(ll) && k == j->tloc) + tk2 = tkk; + } + } + tkk = tk2; /* 23 */ + if (tkk != 0) { + k = tkk->tverb; + tkk = travel[loc]; + return (9); + } + rspeak(140); + return (2); +} + + +int +specials() +{ /* 30000 */ + switch (newloc -= 300) { + case 1: /* 30100 */ + newloc = 99 + 100 - loc; + if (holdng == 0 || (holdng == 1 && toting(emrald))) + return (2); + newloc = loc; + rspeak(117); + return (2); + case 2: /* 30200 */ + drop(emrald, loc); + return (12); + case 3: /* to 30300 */ + return (trbridge()); + default: + bug(29); + } +} + + +int +trbridge() +{ /* 30300 */ + if (prop[troll] == 1) { + pspeak(troll, 1); + prop[troll] = 0; + move(troll2, 0); + move(troll2 + 100, 0); + move(troll, plac[troll]); + move(troll + 100, fixd[troll]); + juggle(chasm); + newloc = loc; + return (2); + } + newloc = plac[troll] + fixd[troll] - loc; /* 30310 */ + if (prop[troll] == 0) + prop[troll] = 1; + if (!toting(bear)) + return (2); + rspeak(162); + prop[chasm] = 1; + prop[troll] = 2; + drop(bear, newloc); + fixed[bear] = -1; + prop[bear] = 3; + if (prop[spices] < 0) + tally2++; + oldlc2 = newloc; + return (99); +} + + +void +badmove() +{ /* 20 */ + spk = 12; + if (k >= 43 && k <= 50) + spk = 9; + if (k == 29 || k == 30) + spk = 9; + if (k == 7 || k == 36 || k == 37) + spk = 10; + if (k == 11 || k == 19) + spk = 11; + if (verb == find || verb == invent) + spk = 59; + if (k == 62 || k == 65) + spk = 42; + if (k == 17) + spk = 80; + rspeak(spk); +} + +void +bug(n) + int n; +{ + printf("Please tell jim@rand.org that fatal bug %d happened.\n", n); + exit(1); +} + + +void +checkhints() +{ /* 2600 &c */ + int hint; + for (hint = 4; hint <= hntmax; hint++) { + if (hinted[hint]) + continue; + if (!bitset(loc, hint)) + hintlc[hint] = -1; + hintlc[hint]++; + if (hintlc[hint] < hints[hint][1]) + continue; + switch (hint) { + case 4: /* 40400 */ + if (prop[grate] == 0 && !here(keys)) + goto l40010; + goto l40020; + case 5: /* 40500 */ + if (here(bird) && toting(rod) && obj == bird) + goto l40010; + continue; /* i.e. goto l40030 */ + case 6: /* 40600 */ + if (here(snake) && !here(bird)) + goto l40010; + goto l40020; + case 7: /* 40700 */ + if (atloc[loc] == 0 && atloc[oldloc] == 0 + && atloc[oldlc2] == 0 && holdng > 1) + goto l40010; + goto l40020; + case 8: /* 40800 */ + if (prop[emrald] != -1 && prop[pyram] == -1) + goto l40010; + goto l40020; + case 9: + goto l40010; /* 40900 */ + default: + bug(27); + } +l40010: hintlc[hint] = 0; + if (!yes(hints[hint][3], 0, 54)) + continue; + printf("I am prepared to give you a hint, but it will "); + printf("cost you %d points.\n", hints[hint][2]); + hinted[hint] = yes(175, hints[hint][4], 54); +l40020: hintlc[hint] = 0; + } +} + + +int +trsay() +{ /* 9030 */ + int i; + if (*wd2 != 0) + copystr(wd2, wd1); + i = vocab(wd1, -1, 0); + if (i == 62 || i == 65 || i == 71 || i == 2025) { + *wd2 = 0; + obj = 0; + return (2630); + } + printf("\nOkay, \"%s\".\n", wd2); + return (2012); +} + + +int +trtake() +{ /* 9010 */ + if (toting(obj)) + return (2011); /* 9010 */ + spk = 25; + if (obj == plant && prop[plant] <= 0) + spk = 115; + if (obj == bear && prop[bear] == 1) + spk = 169; + if (obj == chain && prop[bear] != 0) + spk = 170; + if (fixed[obj] != 0) + return (2011); + if (obj == water || obj == oil) { + if (here(bottle) && liq() == obj) { + obj = bottle; + goto l9017; + } + obj = bottle; + if (toting(bottle) && prop[bottle] == 1) + return (9220); + if (prop[bottle] != 1) + spk = 105; + if (!toting(bottle)) + spk = 104; + return (2011); + } +l9017: if (holdng >= 7) { + rspeak(92); + return (2012); + } + if (obj == bird) { + if (prop[bird] != 0) + goto l9014; + if (toting(rod)) { + rspeak(26); + return (2012); + } + if (!toting(cage)) { /* 9013 */ + rspeak(27); + return (2012); + } + prop[bird] = 1; /* 9015 */ + } +l9014: if ((obj == bird || obj == cage) && prop[bird] != 0) + carry(bird + cage - obj, loc); + carry(obj, loc); + k = liq(); + if (obj == bottle && k != 0) + place[k] = -1; + return (2009); +} + + +int +dropper() +{ /* 9021 */ + k = liq(); + if (k == obj) + obj = bottle; + if (obj == bottle && k != 0) + place[k] = 0; + if (obj == cage && prop[bird] != 0) + drop(bird, loc); + if (obj == bird) + prop[bird] = 0; + drop(obj, loc); + return (2012); +} + +int +trdrop() +{ /* 9020 */ + if (toting(rod2) && obj == rod && !toting(rod)) + obj = rod2; + if (!toting(obj)) + return (2011); + if (obj == bird && here(snake)) { + rspeak(30); + if (closed) + return (19000); + dstroy(snake); + prop[snake] = 1; + return (dropper()); + } + if (obj == coins && here(vend)) { /* 9024 */ + dstroy(coins); + drop(batter, loc); + pspeak(batter, 0); + return (2012); + } + if (obj == bird && at(dragon) && prop[dragon] == 0) { /* 9025 */ + rspeak(154); + dstroy(bird); + prop[bird] = 0; + if (place[snake] == plac[snake]) + tally2--; + return (2012); + } + if (obj == bear && at(troll)) { /* 9026 */ + rspeak(163); + move(troll, 0); + move(troll + 100, 0); + move(troll2, plac[troll]); + move(troll2 + 100, fixd[troll]); + juggle(chasm); + prop[troll] = 2; + return (dropper()); + } + if (obj != vase || loc == plac[pillow]) { /* 9027 */ + rspeak(54); + return (dropper()); + } + prop[vase] = 2; /* 9028 */ + if (at(pillow)) + prop[vase] = 0; + pspeak(vase, prop[vase] + 1); + if (prop[vase] != 0) + fixed[vase] = -1; + return (dropper()); +} + + +int +tropen() +{ /* 9040 */ + if (obj == clam || obj == oyster) { + k = 0; /* 9046 */ + if (obj == oyster) + k = 1; + spk = 124 + k; + if (toting(obj)) + spk = 120 + k; + if (!toting(tridnt)) + spk = 122 + k; + if (verb == lock) + spk = 61; + if (spk != 124) + return (2011); + dstroy(clam); + drop(oyster, loc); + drop(pearl, 105); + return (2011); + } + if (obj == door) + spk = 111; + if (obj == door && prop[door] == 1) + spk = 54; + if (obj == cage) + spk = 32; + if (obj == keys) + spk = 55; + if (obj == grate || obj == chain) + spk = 31; + if (spk != 31 || !here(keys)) + return (2011); + if (obj == chain) { + if (verb == lock) { + spk = 172; /* 9049: lock */ + if (prop[chain] != 0) + spk = 34; + if (loc != plac[chain]) + spk = 173; + if (spk != 172) + return (2011); + prop[chain] = 2; + if (toting(chain)) + drop(chain, loc); + fixed[chain] = -1; + return (2011); + } + spk = 171; + if (prop[bear] == 0) + spk = 41; + if (prop[chain] == 0) + spk = 37; + if (spk != 171) + return (2011); + prop[chain] = 0; + fixed[chain] = 0; + if (prop[bear] != 3) + prop[bear] = 2; + fixed[bear] = 2 - prop[bear]; + return (2011); + } + if (closng) { + k = 130; + if (!panic) + clock2 = 15; + panic = TRUE; + return (2010); + } + k = 34 + prop[grate]; /* 9043 */ + prop[grate] = 1; + if (verb == lock) + prop[grate] = 0; + k = k + 2 * prop[grate]; + return (2010); +} + + +int +trkill() +{ /* 9120 */ + int i; + for (i = 1; i <= 5; i++) + if (dloc[i] == loc && dflag >= 2) + break; + if (i == 6) + i = 0; + if (obj == 0) { /* 9122 */ + if (i != 0) + obj = dwarf; + if (here(snake)) + obj = obj * 100 + snake; + if (at(dragon) && prop[dragon] == 0) + obj = obj * 100 + dragon; + if (at(troll)) + obj = obj * 100 + troll; + if (here(bear) && prop[bear] == 0) + obj = obj * 100 + bear; + if (obj > 100) + return (8000); + if (obj == 0) { + if (here(bird) && verb != throw) + obj = bird; + if (here(clam) || here(oyster)) + obj = 100 * obj + clam; + if (obj > 100) + return (8000); + } + } + if (obj == bird) { /* 9124 */ + spk = 137; + if (closed) + return (2011); + dstroy(bird); + prop[bird] = 0; + if (place[snake] == plac[snake]) + tally2++; + spk = 45; + } + if (obj == 0) + spk = 44; /* 9125 */ + if (obj == clam || obj == oyster) + spk = 150; + if (obj == snake) + spk = 46; + if (obj == dwarf) + spk = 49; + if (obj == dwarf && closed) + return (19000); + if (obj == dragon) + spk = 147; + if (obj == troll) + spk = 157; + if (obj == bear) + spk = 165 + (prop[bear] + 1) / 2; + if (obj != dragon || prop[dragon] != 0) + return (2011); + rspeak(49); + verb = 0; + obj = 0; + getin(&wd1, &wd2); + if (!weq(wd1, "y") && !weq(wd1, "yes")) + return (2608); + pspeak(dragon, 1); + prop[dragon] = 2; + prop[rug] = 0; + k = (plac[dragon] + fixd[dragon]) / 2; + move(dragon + 100, -1); + move(rug + 100, 0); + move(dragon, k); + move(rug, k); + for (obj = 1; obj <= 100; obj++) + if (place[obj] == plac[dragon] || place[obj] == fixd[dragon]) + move(obj, k); + loc = k; + k = null; + return (8); +} + + +int +trtoss() +{ /* 9170: throw */ + int i; + if (toting(rod2) && obj == rod && !toting(rod)) + obj = rod2; + if (!toting(obj)) + return (2011); + if (obj >= 50 && obj <= maxtrs && at(troll)) { + spk = 159; /* 9178 */ + drop(obj, 0); + move(troll, 0); + move(troll + 100, 0); + drop(troll2, plac[troll]); + drop(troll2 + 100, fixd[troll]); + juggle(chasm); + return (2011); + } + if (obj == food && here(bear)) { + obj = bear; /* 9177 */ + return (9210); + } + if (obj != axe) + return (9020); + for (i = 1; i <= 5; i++) { + if (dloc[i] == loc) { + spk = 48; /* 9172 */ + if (ran(3) == 0 || saved != -1) + l9175: { + rspeak(spk); + drop(axe, loc); + k = null; + return (8); + } + dseen[i] = FALSE; + dloc[i] = 0; + spk = 47; + dkill++; + if (dkill == 1) + spk = 149; + goto l9175; + } + } + spk = 152; + if (at(dragon) && prop[dragon] == 0) + goto l9175; + spk = 158; + if (at(troll)) + goto l9175; + if (here(bear) && prop[bear] == 0) { + spk = 164; + drop(axe, loc); + fixed[axe] = -1; + prop[axe] = 1; + juggle(bear); + return (2011); + } + obj = 0; + return (9120); +} + + +int +trfeed() +{ /* 9210 */ + if (obj == bird) { + spk = 100; + return (2011); + } + if (obj == snake || obj == dragon || obj == troll) { + spk = 102; + if (obj == dragon && prop[dragon] != 0) + spk = 110; + if (obj == troll) + spk = 182; + if (obj != snake || closed || !here(bird)) + return (2011); + spk = 101; + dstroy(bird); + prop[bird] = 0; + tally2++; + return (2011); + } + if (obj == dwarf) { + if (!here(food)) + return (2011); + spk = 103; + dflag++; + return (2011); + } + if (obj == bear) { + if (prop[bear] == 0) + spk = 102; + if (prop[bear] == 3) + spk = 110; + if (!here(food)) + return (2011); + dstroy(food); + prop[bear] = 1; + fixed[axe] = 0; + prop[axe] = 0; + spk = 168; + return (2011); + } + spk = 14; + return (2011); +} + + +int +trfill() +{ /* 9220 */ + if (obj == vase) { + spk = 29; + if (liqloc(loc) == 0) + spk = 144; + if (liqloc(loc) == 0 || !toting(vase)) + return (2011); + rspeak(145); + prop[vase] = 2; + fixed[vase] = -1; + return (9020); /* advent/10 goes to 9024 */ + } + if (obj != 0 && obj != bottle) + return (2011); + if (obj == 0 && !here(bottle)) + return (8000); + spk = 107; + if (liqloc(loc) == 0) + spk = 106; + if (liq() != 0) + spk = 105; + if (spk != 107) + return (2011); + prop[bottle] = ((cond[loc] % 4) / 2) * 2; + k = liq(); + if (toting(bottle)) + place[k] = -1; + if (k == oil) + spk = 108; + return (2011); +} + + +void +closing() +{ /* 10000 */ + int i; + + prop[grate] = prop[fissur] = 0; + for (i = 1; i <= 6; i++) { + dseen[i] = FALSE; + dloc[i] = 0; + } + move(troll, 0); + move(troll + 100, 0); + move(troll2, plac[troll]); + move(troll2 + 100, fixd[troll]); + juggle(chasm); + if (prop[bear] != 3) + dstroy(bear); + prop[chain] = 0; + fixed[chain] = 0; + prop[axe] = 0; + fixed[axe] = 0; + rspeak(129); + clock1 = -1; + closng = TRUE; +} + + +void +caveclose() +{ /* 11000 */ + int i; + prop[bottle] = put(bottle, 115, 1); + prop[plant] = put(plant, 115, 0); + prop[oyster] = put(oyster, 115, 0); + prop[lamp] = put(lamp, 115, 0); + prop[rod] = put(rod, 115, 0); + prop[dwarf] = put(dwarf, 115, 0); + loc = 115; + oldloc = 115; + newloc = 115; + + put(grate, 116, 0); + prop[snake] = put(snake, 116, 1); + prop[bird] = put(bird, 116, 1); + prop[cage] = put(cage, 116, 0); + prop[rod2] = put(rod2, 116, 0); + prop[pillow] = put(pillow, 116, 0); + + prop[mirror] = put(mirror, 115, 0); + fixed[mirror] = 116; + + for (i = 1; i <= 100; i++) + if (toting(i)) + dstroy(i); + rspeak(132); + closed = TRUE; +} diff --git a/adventure/vocab.c b/adventure/vocab.c new file mode 100644 index 0000000..78939d3 --- /dev/null +++ b/adventure/vocab.c @@ -0,0 +1,225 @@ +/* $NetBSD: vocab.c,v 1.11 2003/08/07 09:36:51 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)vocab.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: vocab.c,v 1.11 2003/08/07 09:36:51 agc Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: data structure routines */ + +#include +#include +#include +#include "hdr.h" +#include "extern.h" + +void +dstroy(object) + int object; +{ + move(object, 0); +} + +void +juggle(object) + int object; +{ + int i, j; + + i = place[object]; + j = fixed[object]; + move(object, i); + move(object + 100, j); +} + + +void +move(object, where) + int object, where; +{ + int from; + + if (object <= 100) + from = place[object]; + else + from = fixed[object - 100]; + if (from > 0 && from <= 300) + carry(object, from); + drop(object, where); +} + +int +put(object, where, pval) + int object, where, pval; +{ + move(object, where); + return (-1 - pval); +} + +void +carry(object, where) + int object, where; +{ + int temp; + + if (object <= 100) { + if (place[object] == -1) + return; + place[object] = -1; + holdng++; + } + if (atloc[where] == object) { + atloc[where] = links[object]; + return; + } + for (temp = atloc[where]; links[temp] != object; temp = links[temp]); + links[temp] = links[object]; +} + + +void +drop(object, where) + int object, where; +{ + if (object > 100) + fixed[object - 100] = where; + else { + if (place[object] == -1) + holdng--; + place[object] = where; + } + if (where <= 0) + return; + links[object] = atloc[where]; + atloc[where] = object; +} + +int +vocab(word, type, value) /* look up or store a word */ + const char *word; + int type; /* -2 for store, -1 for user word, >=0 for + * canned lookup */ + int value; /* used for storing only */ +{ + int adr; + const char *s; + char *t; + int hash, i; + struct hashtab *h; + + for (hash = 0, s = word, i = 0; i < 5 && *s; i++) /* some kind of hash */ + hash += *s++; /* add all chars in the word */ + hash = (hash * 3719) & 077777; /* pulled that one out of a hat */ + hash %= HTSIZE; /* put it into range of table */ + + for (adr = hash;; adr++) { /* look for entry in table */ + if (adr == HTSIZE) + adr = 0;/* wrap around */ + h = &voc[adr]; /* point at the entry */ + switch (type) { + case -2: /* fill in entry */ + if (h->val) /* already got an entry? */ + goto exitloop2; + h->val = value; + h->atab = malloc(length(word)); + if (h->atab == NULL) + err(1, NULL); + for (s = word, t = h->atab; *s;) + *t++ = *s++ ^ '='; + *t = 0 ^ '='; + /* encrypt slightly to thwart core reader */ + /* printf("Stored \"%s\" (%d ch) as entry %d\n", */ + /* word, length(word), adr); */ + return (0); /* entry unused */ + case -1: /* looking up user word */ + if (h->val == 0) + return (-1); /* not found */ + for (s = word, t = h->atab; *t ^ '=';) + if ((*s++ ^ '=') != *t++) + goto exitloop2; + if ((*s ^ '=') != *t && s - word < 5) + goto exitloop2; + /* the word matched o.k. */ + return (h->val); + default: /* looking up known word */ + if (h->val == 0) + errx(1,"Unable to find %s in vocab", word); + for (s = word, t = h->atab; *t ^ '=';) + if ((*s++ ^ '=') != *t++) + goto exitloop2; + /* the word matched o.k. */ + if (h->val / 1000 != type) + continue; + return (h->val % 1000); + } + +exitloop2: /* hashed entry does not match */ + if (adr + 1 == hash || (adr == HTSIZE && hash == 0)) + errx(1,"Hash table overflow"); + } +} + +void +prht() +{ /* print hash table */ + int i, j, l; + char *c; + struct hashtab *h; + for (i = 0; i < HTSIZE / 10 + 1; i++) { + printf("%4d", i * 10); + for (j = 0; j < 10; j++) { + if (i * 10 + j >= HTSIZE) + break; + h = &voc[i * 10 + j]; + putchar(' '); + if (h->val == 0) { + printf("-----"); + continue; + } + for (l = 0, c = h->atab; l < 5; l++) + if ((*c ^ '=')) + putchar(*c++ ^ '='); + else + putchar(' '); + } + putchar('\n'); + } +} diff --git a/adventure/wizard.c b/adventure/wizard.c new file mode 100644 index 0000000..5e20605 --- /dev/null +++ b/adventure/wizard.c @@ -0,0 +1,160 @@ +/* $NetBSD: wizard.c,v 1.11 2003/08/07 09:36:51 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * The game adventure was originally written in Fortran by Will Crowther + * and Don Woods. It was later translated to C and enhanced by Jim + * Gillogly. This code is derived from software contributed to Berkeley + * by Jim Gillogly at The Rand Corporation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)wizard.c 8.1 (Berkeley) 6/2/93"; +#else +__RCSID("$NetBSD: wizard.c,v 1.11 2003/08/07 09:36:51 agc Exp $"); +#endif +#endif /* not lint */ + +/* Re-coding of advent in C: privileged operations */ + +#include +#include +#include +#include +#include "hdr.h" +#include "extern.h" + +void +datime(d, t) + int *d, *t; +{ + time_t tvec; + struct tm *tptr; + + time(&tvec); + tptr = localtime(&tvec); + /* day since 1977 (mod leap) */ + *d = (tptr->tm_yday + 365 * (tptr->tm_year - 77) + + (tptr->tm_year - 77) / 4 - (tptr->tm_year - 1) / 100 + + (tptr->tm_year + 299) / 400); + /* bug: this will overflow in the year 2066 AD (with 16 bit int) */ + /* it will be attributed to Wm the C's millenial celebration */ + /* and minutes since midnite */ + *t = tptr->tm_hour * 60 + tptr->tm_min; +} /* pretty painless */ + + +char magic[6]; + +void +poof() +{ + strcpy(magic, DECR('d', 'w', 'a', 'r', 'f')); + latncy = 45; +} + +int +Start() +{ + int d, t, delay; + + datime(&d, &t); + delay = (d - saveday) * 1440 + (t - savet); /* good for about a + * month */ + + if (delay >= latncy) { + saved = -1; + return (FALSE); + } + printf("This adventure was suspended a mere %d minute%s ago.", + delay, delay == 1 ? "" : "s"); + if (delay <= latncy / 3) { + mspeak(2); + exit(0); + } + mspeak(8); + if (!wizard()) { + mspeak(9); + exit(0); + } + saved = -1; + return (FALSE); +} + +int +wizard() +{ /* not as complex as advent/10 (for now) */ + char *word, *x; + if (!yesm(16, 0, 7)) + return (FALSE); + mspeak(17); + getin(&word, &x); + if (!weq(word, magic)) { + mspeak(20); + return (FALSE); + } + mspeak(19); + return (TRUE); +} + +void +ciao() +{ + char *c; + char fname[80]; + + printf("What would you like to call the saved version?\n"); + /* XXX - should use fgetln to avoid arbitrary limit */ + for (c = fname; c < fname + sizeof fname - 1; c++) { + int ch; + ch = getchar(); + if (ch == '\n' || ch == EOF) + break; + *c = ch; + } + *c = 0; + if (save(fname) != 0) + return; /* Save failed */ + printf("To resume, say \"adventure %s\".\n", fname); + printf("\"With these rooms I might now have been familiarly acquainted.\"\n"); + exit(0); +} + + +int +ran(range) + int range; +{ + long i; + + i = rand() % range; + return (i); +} diff --git a/arithmetic/Makefile.bsd b/arithmetic/Makefile.bsd new file mode 100644 index 0000000..0ef580e --- /dev/null +++ b/arithmetic/Makefile.bsd @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.4 1995/03/21 11:59:28 cgd Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= arithmetic +MAN= arithmetic.6 +HIDEGAME=hidegame + +.include diff --git a/arithmetic/Makefrag b/arithmetic/Makefrag new file mode 100644 index 0000000..aa11f10 --- /dev/null +++ b/arithmetic/Makefrag @@ -0,0 +1,37 @@ +# Makefrag - makefile fragment for arithmetic +# +# Copyright (c) 1997, 1998, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +arithmetic_DEFS := $(GETPROGNAME_DEFS) +arithmetic_DIRS := $(GAMESDIR) $(MAN6DIR) + +arithmetic_all: arithmetic/arithmetic arithmetic/arithmetic.6 + +arithmetic_install: arithmetic/arithmetic + $(INSTALL_BINARY) arithmetic/arithmetic $(INSTALL_PREFIX)$(GAMESDIR)/arithmetic + $(HIDE_GAME) arithmetic + $(INSTALL_MANUAL) arithmetic/arithmetic.6 diff --git a/arithmetic/arithmetic.6 b/arithmetic/arithmetic.6 new file mode 100644 index 0000000..b8d4d8f --- /dev/null +++ b/arithmetic/arithmetic.6 @@ -0,0 +1,106 @@ +.\" $NetBSD: arithmetic.6,v 1.11 2003/08/07 09:36:52 agc Exp $ +.\" +.\" Copyright (c) 1989, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Eamonn McManus of Trinity College Dublin. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)arithmetic.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt ARITHMETIC 6 +.Os +.Sh NAME +.Nm arithmetic +.Nd quiz on simple arithmetic +.Sh SYNOPSIS +.Nm +.Op Fl o Ar +\-x/ +.Op Fl r Ar range +.Sh DESCRIPTION +.Nm +asks you to solve problems in simple arithmetic. +Each question must be answered correctly before going on to the next. +After every 20 problems, it prints the score so far and the time taken. +You can quit at any time by typing the interrupt or end-of-file character. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl o +By default, +.Nm +asks questions on addition of numbers from 0 to 10, and corresponding +subtraction. +By supplying one or more of the characters +.Ar +\-x/ , +you can ask for problems in addition, subtraction, multiplication, and +division, respectively. +If you give one of these characters more than once, that kind of problem +will be asked correspondingly more often. +.It Fl r +If a +.Ar range +is supplied, +.Nm +selects the numbers in its problems in the following way. +For addition and multiplication, the numbers to be added or multiplied +are between 0 and +.Ar range , +inclusive. +For subtraction and division, both the required result and the number to +divide by or subtract will be between 0 and +.Ar range . +(Of course, +.Nm +will not ask you to divide by 0.) +The default +.I range +is 10. +.El +.Pp +When you get a problem wrong, +.Nm +will remember the numbers involved, and will tend to select those numbers +more often than others, in problems of the same sort. +Eventually it will forgive and forget. +.Pp +.Nm +cannot be persuaded to tell you the right answer. +You must work it out for yourself. +.Sh DIAGNOSTICS +.Dq What? +if you get a question wrong. +.Dq Right! +if you get it right. +.Dq Please type a number. +if +.Nm +doesn't understand what you typed. +.Sh SEE ALSO +.Xr bc 1 , +.Xr dc 1 diff --git a/arithmetic/arithmetic.c b/arithmetic/arithmetic.c new file mode 100644 index 0000000..61c97a7 --- /dev/null +++ b/arithmetic/arithmetic.c @@ -0,0 +1,393 @@ +/* $NetBSD: arithmetic.c,v 1.21 2004/11/05 21:30:31 dsl Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Eamonn McManus of Trinity College Dublin. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)arithmetic.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: arithmetic.c,v 1.21 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +/* + * By Eamonn McManus, Trinity College Dublin . + * + * The operation of this program mimics that of the standard Unix game + * `arithmetic'. I've made it as close as I could manage without examining + * the source code. The principal differences are: + * + * The method of biasing towards numbers that had wrong answers in the past + * is different; original `arithmetic' seems to retain the bias forever, + * whereas this program lets the bias gradually decay as it is used. + * + * Original `arithmetic' delays for some period (3 seconds?) after printing + * the score. I saw no reason for this delay, so I scrapped it. + * + * There is no longer a limitation on the maximum range that can be supplied + * to the program. The original program required it to be less than 100. + * Anomalous results may occur with this program if ranges big enough to + * allow overflow are given. + * + * I have obviously not attempted to duplicate bugs in the original. It + * would go into an infinite loop if invoked as `arithmetic / 0'. It also + * did not recognise an EOF in its input, and would continue trying to read + * after it. It did not check that the input was a valid number, treating any + * garbage as 0. Finally, it did not flush stdout after printing its prompt, + * so in the unlikely event that stdout was not a terminal, it would not work + * properly. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int getrandom(int, int, int); +void intr(int) __attribute__((__noreturn__)); +int main(int, char *[]); +int opnum(int); +void penalise(int, int, int); +int problem(void); +void showstats(int); +void usage(void) __attribute__((__noreturn__)); + +const char keylist[] = "+-x/"; +const char defaultkeys[] = "+-"; +const char *keys = defaultkeys; +int nkeys = sizeof(defaultkeys) - 1; +int rangemax = 10; +int nright, nwrong; +time_t qtime; +#define NQUESTS 20 + +/* + * Select keys from +-x/ to be asked addition, subtraction, multiplication, + * and division problems. More than one key may be given. The default is + * +-. Specify a range to confine the operands to 0 - range. Default upper + * bound is 10. After every NQUESTS questions, statistics on the performance + * so far are printed. + */ +int +main(argc, argv) + int argc; + char **argv; +{ + int ch, cnt; + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + while ((ch = getopt(argc, argv, "r:o:")) != -1) + switch(ch) { + case 'o': { + const char *p; + + for (p = keys = optarg; *p; ++p) + if (!strchr(keylist, *p)) + errx(1, "arithmetic: unknown key."); + nkeys = p - optarg; + break; + } + case 'r': + if ((rangemax = atoi(optarg)) <= 0) + errx(1, "arithmetic: invalid range."); + break; + case '?': + default: + usage(); + } + if (argc -= optind) + usage(); + + /* Seed the random-number generator. */ + srandom((int)time((time_t *)NULL)); + + (void)signal(SIGINT, intr); + + /* Now ask the questions. */ + for (;;) { + for (cnt = NQUESTS; cnt--;) + if (problem() == EOF) + exit(0); + showstats(0); + } + /* NOTREACHED */ +} + +/* Handle interrupt character. Print score and exit. */ +void +intr(dummy) + int dummy __attribute__((__unused__)); +{ + showstats(1); + exit(0); +} + +/* Print score. Original `arithmetic' had a delay after printing it. */ +void +showstats(bool_sigint) + int bool_sigint; +{ + if (nright + nwrong > 0) { + (void)printf("\n\nRights %d; Wrongs %d; Score %d%%", + nright, nwrong, (int)(100L * nright / (nright + nwrong))); + if (nright > 0) + (void)printf("\nTotal time %ld seconds; %.1f seconds per problem\n\n", + (long)qtime, (float)qtime / nright); + } + if(!bool_sigint) { + (void)printf("Press RETURN to continue...\n"); + while(!getchar()) ; + } + (void)printf("\n"); +} + +/* + * Pick a problem and ask it. Keeps asking the same problem until supplied + * with the correct answer, or until EOF or interrupt is typed. Problems are + * selected such that the right operand and either the left operand (for +, x) + * or the correct result (for -, /) are in the range 0 to rangemax. Each wrong + * answer causes the numbers in the problem to be penalised, so that they are + * more likely to appear in subsequent problems. + */ +int +problem() +{ + char *p; + time_t start, finish; + int left, op, right, result; + char line[80]; + + right = left = result = 0; + op = keys[random() % nkeys]; + if (op != '/') + right = getrandom(rangemax + 1, op, 1); +retry: + /* Get the operands. */ + switch (op) { + case '+': + left = getrandom(rangemax + 1, op, 0); + result = left + right; + break; + case '-': + result = getrandom(rangemax + 1, op, 0); + left = right + result; + break; + case 'x': + left = getrandom(rangemax + 1, op, 0); + result = left * right; + break; + case '/': + right = getrandom(rangemax, op, 1) + 1; + result = getrandom(rangemax + 1, op, 0); + left = right * result + random() % right; + break; + } + + /* + * A very big maxrange could cause negative values to pop + * up, owing to overflow. + */ + if (result < 0 || left < 0) + goto retry; + + (void)printf("%d %c %d = ", left, op, right); + (void)fflush(stdout); + (void)time(&start); + + /* + * Keep looping until the correct answer is given, or until EOF or + * interrupt is typed. + */ + for (;;) { + if (!fgets(line, sizeof(line), stdin)) { + (void)printf("\n"); + return(EOF); + } + for (p = line; *p && isspace((unsigned char)*p); ++p); + if (!isdigit((unsigned char)*p)) { + (void)printf("Please type a number.\n"); + continue; + } + if (atoi(p) == result) { + (void)printf("Right!\n"); + ++nright; + break; + } + /* Wrong answer; penalise and ask again. */ + (void)printf("What?\n"); + ++nwrong; + penalise(right, op, 1); + if (op == 'x' || op == '+') + penalise(left, op, 0); + else + penalise(result, op, 0); + } + + /* + * Accumulate the time taken. Obviously rounding errors happen here; + * however they should cancel out, because some of the time you are + * charged for a partially elapsed second at the start, and some of + * the time you are not charged for a partially elapsed second at the + * end. + */ + (void)time(&finish); + qtime += finish - start; + return(0); +} + +/* + * Here is the code for accumulating penalties against the numbers for which + * a wrong answer was given. The right operand and either the left operand + * (for +, x) or the result (for -, /) are stored in a list for the particular + * operation, and each becomes more likely to appear again in that operation. + * Initially, each number is charged a penalty of WRONGPENALTY, giving it that + * many extra chances of appearing. Each time it is selected because of this, + * its penalty is decreased by one; it is removed when it reaches 0. + * + * The penalty[] array gives the sum of all penalties in the list for + * each operation and each operand. The penlist[] array has the lists of + * penalties themselves. + */ + +int penalty[sizeof(keylist) - 1][2]; +struct penalty { + int value, penalty; /* Penalised value and its penalty. */ + struct penalty *next; +} *penlist[sizeof(keylist) - 1][2]; + +#define WRONGPENALTY 5 /* Perhaps this should depend on maxrange. */ + +/* + * Add a penalty for the number `value' to the list for operation `op', + * operand number `operand' (0 or 1). If we run out of memory, we just + * forget about the penalty (how likely is this, anyway?). + */ +void +penalise(value, op, operand) + int value, op, operand; +{ + struct penalty *p; + + op = opnum(op); + if ((p = (struct penalty *)malloc((u_int)sizeof(*p))) == NULL) + return; + p->next = penlist[op][operand]; + penlist[op][operand] = p; + penalty[op][operand] += p->penalty = WRONGPENALTY; + p->value = value; +} + +/* + * Select a random value from 0 to maxval - 1 for operand `operand' (0 or 1) + * of operation `op'. The random number we generate is either used directly + * as a value, or represents a position in the penalty list. If the latter, + * we find the corresponding value and return that, decreasing its penalty. + */ +int +getrandom(maxval, op, operand) + int maxval, op, operand; +{ + int value; + struct penalty **pp, *p; + + op = opnum(op); + value = random() % (maxval + penalty[op][operand]); + + /* + * 0 to maxval - 1 is a number to be used directly; bigger values + * are positions to be located in the penalty list. + */ + if (value < maxval) + return(value); + value -= maxval; + + /* + * Find the penalty at position `value'; decrement its penalty and + * delete it if it reaches 0; return the corresponding value. + */ + for (pp = &penlist[op][operand]; (p = *pp) != NULL; pp = &p->next) { + if (p->penalty > value) { + value = p->value; + penalty[op][operand]--; + if (--(p->penalty) <= 0) { + p = p->next; + (void)free((char *)*pp); + *pp = p; + } + return(value); + } + value -= p->penalty; + } + /* + * We can only get here if the value from the penalty[] array doesn't + * correspond to the actual sum of penalties in the list. Provide an + * obscure message. + */ + errx(1, "arithmetic: bug: inconsistent penalties."); + /* NOTREACHED */ +} + +/* Return an index for the character op, which is one of [+-x/]. */ +int +opnum(op) + int op; +{ + char *p; + + if (op == 0 || (p = strchr(keylist, op)) == NULL) + errx(1, "arithmetic: bug: op %c not in keylist %s", + op, keylist); + return(p - keylist); +} + +/* Print usage message and quit. */ +void +usage() +{ + (void)fprintf(stderr, "Usage: %s [-o +-x/] [-r range]\n", + getprogname()); + exit(1); +} diff --git a/atc/BUGS b/atc/BUGS new file mode 100644 index 0000000..7d2af29 --- /dev/null +++ b/atc/BUGS @@ -0,0 +1,4 @@ +log restarts if interrupted +Still refreshes after exit +Should ^Z be disabled? +does not exit after hup diff --git a/atc/Makefile.bsd b/atc/Makefile.bsd new file mode 100644 index 0000000..5adc5e4 --- /dev/null +++ b/atc/Makefile.bsd @@ -0,0 +1,25 @@ +# $NetBSD: Makefile,v 1.23 2003/08/01 17:03:42 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +.include + +PROG= atc +CPPFLAGS+=-DBSD -I${.CURDIR} -I. -DYY_NO_UNPUT +SRCS= extern.c grammar.y graphics.c input.c lex.l list.c log.c \ + main.c tunable.c update.c +YHEADER=1 +MAN= atc.6 +LDADD= -ll -lm -lcurses +DPADD= ${LIBL} ${LIBM} ${LIBCURSES} +GAMES= Game_List Killer crossover default easy game_2 \ + Atlantis OHare Tic-Tac-Toe airports box crosshatch game_3 \ + game_4 novice two-corners +HIDEGAME=hidegame +SETGIDGAME=yes +.if ${MKSHARE} != "no" +FILES=${GAMES:S@^@${.CURDIR}/games/@g} +FILESDIR=/usr/share/games/atc +FILESMODE=444 +.endif + +.include diff --git a/atc/Makefrag b/atc/Makefrag new file mode 100644 index 0000000..34afe4d --- /dev/null +++ b/atc/Makefrag @@ -0,0 +1,53 @@ +# Makefrag - makefile fragment for atc +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +atc_CLEANFILES := grammar.c grammar.h y.tab.* lex.c lex.yy.c +atc_DEFS := -DBSD -DYY_NO_UNPUT +atc_DIRS := $(GAMESDIR) $(MAN6DIR) + +atc_all: atc/atc atc/atc.6 + +atc/grammar.c: atc/grammar.y + cd atc && $(YACC) -d grammar.y + mv atc/y.tab.c $@ + mv atc/y.tab.h atc/grammar.h + touch atc/grammar.h + +atc/grammar.h: atc/grammar.c + +atc/lex.d: atc/grammar.h + +atc/lex.c: atc/lex.l + cd atc && $(LEX) lex.l + mv atc/lex.yy.c $@ + +atc_install: atc_all + $(INSTALL_SCORE_GAME) atc/atc $(INSTALL_PREFIX)$(GAMESDIR)/atc + $(HIDE_GAME) atc + $(INSTALL_SCORE_FILE) $(ATC_SCOREFILE) + $(INSTALL_MANUAL) atc/atc.6 diff --git a/atc/atc.6.in b/atc/atc.6.in new file mode 100644 index 0000000..3ce455c --- /dev/null +++ b/atc/atc.6.in @@ -0,0 +1,501 @@ +.\" $NetBSD: atc.6,v 1.21 2004/01/01 16:31:37 wiz Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Ed James. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)atc.6 8.1 (Berkeley) 5/31/93 +.\" +.\" Copyright (c) 1986 Ed James. All rights reserved. +.\" +.Dd January 1, 2004 +.Dt ATC 6 +.Os +.Sh NAME +.Nm atc +.Nd air traffic controller game +.Sh SYNOPSIS +.Nm atc +.Op Fl u?lstp +.Op Fl gf Ar "game name" +.Op Fl r Ar "random seed" +.Sh DESCRIPTION +.Nm +lets you try your hand at the nerve wracking duties of the air traffic +controller without endangering the lives of millions of travelers each year. +Your responsibilities require you to direct the flight of jets +and prop planes into and out of the flight arena and airports. +The speed (update time) and frequency of the planes depend on the +difficulty of the chosen arena. +.Sh OPTIONS +.Bl -tag -width flag +.It Fl u +Print the usage line and exit. +.It Fl \&? +Same as +.Fl u . +.It Fl l +Print a list of available games and exit. +The first game name printed is the default game. +.It Fl s +Print the score list (formerly the Top Ten list). +.It Fl t +Same as +.Fl s . +.It Fl p +Print the path to the special directory where +.Nm +expects to find its private files. +This is used during the installation of the program. +.It Fl g Ar game +Play the named game. +If the game listed is not one of the ones printed from the +.Fl l +option, the default game is played. +.It Fl f Ar game +Same as +.Fl g . +.It Fl r Ar seed +Set the random seed. +The purpose of this flag is questionable. +.El +.Sh GOALS +Your goal in +.Nm +is to keep the game going as long as possible. +There is no winning state, except to beat the times of other players. +You will need to: launch planes at airports (by instructing them to +increase their altitude); land planes at airports (by instructing them to +go to altitude zero when exactly over the airport); and maneuver planes +out of exit points. +.Pp +Several things will cause the end of the game. +Each plane has a destination (see information area), and +sending a plane to the wrong destination is an error. +Planes can run out of fuel, or can collide. +Collision is defined as adjacency in all three dimensions. +A plane leaving the arena +in any other way than through its destination exit is an error as well. +.Pp +Scores are sorted in order of the number of planes safe. +The other statistics are provided merely for fun. +There is no penalty for +taking longer than another player (except in the case of ties). +.Pp +Suspending a game is not permitted. +If you get a talk message, tough. +When was the last time an Air Traffic Controller got called away to the phone? +.Sh THE DISPLAY +Depending on the terminal you run +.Nm +on, the screen will be divided into 4 areas. +It should be stressed that the terminal driver portion of the +game was designed to be reconfigurable, so the display format can vary +depending on the version you are playing. +The descriptions here are based on the ascii version of the game. +The game rules and input format, however, should remain consistent. +Control-L redraws the screen, should it become muddled. +.Ss RADAR +The first screen area is the radar display, showing the relative locations +of the planes, airports, standard entry/exit points, radar +beacons, and ``lines'' which simply serve to aid you in guiding +the planes. +.Pp +Planes are shown as a single letter with an altitude. +If the numerical altitude is a single digit, then it represents +thousands of feet. +Some distinction is made between the prop planes and the jets. +On ascii terminals, prop planes are +represented by a upper case letter, jets by a lower case letter. +.Pp +Airports are shown as a number and some indication of the direction +planes must be going to land at the airport. +On ascii terminals, this is one of `^', `\*[Gt]', `\*[Lt]', and `v', to indicate +north (0 degrees), east (90), west (270) and south (180), respectively. +The planes will also take off in this direction. +.Pp +Beacons are represented as circles or asterisks and a number. +Their purpose is to offer a place of easy reference to the plane pilots. +See +.Sx THE DELAY COMMAND +section below. +.Pp +Entry/exit points are displayed as numbers along the border of the +radar screen. +Planes will enter the arena from these points without warning. +These points have a direction associated with them, and +planes will always enter the arena from this direction. +On the ascii version of +.Nm , +this direction is not displayed. +It will become apparent what this direction is as the game progresses. +.Pp +Incoming planes will always enter at the same altitude: 7000 feet. +For a plane to successfully depart through an entry/exit point, +it must be flying at 9000 feet. +It is not necessary for the planes to be flying in any particular +direction when they leave the arena (yet). +.Ss INFORMATION AREA +The second area of the display is the information area, which lists +the time (number of updates since start), and the number of planes you +have directed safely out of the arena. +Below this is a list of planes currently in the air, followed by a +blank line, and then a list of planes on the ground (at airports). +Each line lists the plane name and its current altitude, +an optional asterisk indicating low fuel, the plane's destination, +and the plane's current command. +Changing altitude is not considered +to be a command and is therefore not displayed. +The following are some possible information lines: +.Pp +.Bd -literal -offset indent +B4*A0: Circle @ b1 +g7 E4: 225 +.Ed +.Pp +The first example shows a prop plane named `B' that is flying at 4000 feet. +It is low on fuel (note the `*'). +Its destination is Airport #0. +The next command it expects to do is circle when it reaches Beacon #1. +The second example shows a jet named `g' at 7000 feet, destined for +Exit #4. +It is just now executing a turn to 225 degrees (South-West). +.Ss INPUT AREA +The third area of the display is the input area. +It is here that your input is reflected. +See the +.Sx INPUT +heading of this manual for more details. +.Ss AUTHOR AREA +This area is used simply to give credit where credit is due. :-) +.Sh INPUT +A command completion interface is built into the game. +At any time, typing `?' will list possible input characters. +Typing a backspace (your erase character) backs up, erasing the last part +of the command. +When a command is complete, a return enters it, and +any semantic checking is done at that time. +If no errors are detected, the command is sent to the appropriate plane. +If an error is discovered +during the check, the offending statement will be underscored and a +(hopefully) descriptive message will be printed under it. +.Pp +The command syntax is broken into two parts: +.Em Immediate Only +and +.Em Delayable +commands. +.Em Immediate Only +commands happen on the next update. +.Em Delayable +commands also happen on the next update unless they +are followed by an optional predicate called the +.Em Delay +command. +.Pp +In the following tables, the syntax +.Em [0\-9] +means any single digit, and +.Aq Em dir +refers to a direction, given by the keys around the `s' key: ``wedcxzaq''. +In absolute references, `q' refers to North-West or 315 degrees, and `w' +refers to North, or 0 degrees. +In relative references, `q' refers to \-45 degrees or 45 degrees left, and `w' +refers to 0 degrees, or no change in direction. +.Pp +All commands start with a plane letter. +This indicates the recipient of the command. +Case is ignored. +.Ss IMMEDIATE ONLY COMMANDS +.Bl -tag -width "aaaa" +.It "a [ cd+- ]" Em number +Altitude: Change a plane's altitude, possibly requesting takeoff. +`+' and `-' are the same as `c' and `d'. +.Bl -tag -width "aaaaaaaaaa" -compact +.It a Em number +Climb or descend to the given altitude (in thousands of feet). +.It ac Em number +Climb: relative altitude change. +.It ad Em number +Descend: relative altitude change. +.El +.It m +Mark: Display in highlighted mode. +Plane and command information is displayed normally. +.It i +Ignore: Do not display highlighted. +Command is displayed as a line of dashes if there is no command. +.It u +Unmark: Same as ignore, but if a delayed command is processed, +the plane will become marked. +This is useful if you want to forget about a plane during part, +but not all, of its journey. +.El +.Ss DELAYABLE COMMANDS +.Bl -tag -width "aaaa" +.It "c [ lr ]" +Circle: Have the plane circle. +.Bl -tag -width "aaaaaaaaaa" -compact +.It cl +Left: Circle counterclockwise. +.It cr +Right: Circle clockwise (default). +.El +.It "t [ l-r+LR ] [ dir ] or tt [ abe* ]" Em number +Turn: Change direction. +.Bl -tag -width "aaaaaaaaaa" -compact +.It "t\*[Lt]dir\*[Gt]" +Turn to direction: Turn to the absolute compass heading given. +The shortest turn will be taken. +.It "tl [ dir ]" +Left: Turn counterclockwise: 45 degrees by default, or the amount +specified in +.Aq dir +(not +.Em to +.Aq dir . ) +`w' (0 degrees) is no turn. +`e' is 45 degrees; `q' gives \-45 degrees counterclockwise, that is, +45 degrees clockwise. +.It "t- [ dir ]" +Same as left. +.It "tr [ dir ]" +Right: Turn clockwise, 45 degrees by default, or the amount specified in +.Aq dir . +.It "t+ [ dir ]" +Same as right. +.It tL +Hard left: Turn counterclockwise 90 degrees. +.It tR +Hard right: Turn clockwise 90 degrees. +.It "tt [abe*]" +Towards: Turn towards a beacon, airport or exit. +The turn is just an estimate. +.It "tta" Em number +Turn towards the given airport. +.It "ttb" Em number +Turn towards the specified beacon. +.It "tte" Em number +Turn towards an exit. +.It "tt*" Em number +Same as ttb. +.El +.El +.Ss THE DELAY COMMAND +The +.Em Delay +(a/@) command may be appended to any +.Em Delayable +command. +It allows the controller to instruct a plane to do an action when the +plane reaches a particular beacon (or other objects in future versions). +.Bl -tag -width "aaaa" +.It ab Em number +Do the delayable command when the plane reaches the specified beacon. +The `b' for ``beacon'' is redundant to allow for expansion. +`@' can be used instead of `a'. +.El +.Ss MARKING, UNMARKING AND IGNORING +Planes are +.Em marked +by default when they enter the arena. +This means they are displayed in highlighted mode on the radar display. +A plane may also be either +.Em unmarked +or +.Em ignored . +An +.Em ignored +plane is drawn in unhighlighted mode, and a line of dashes is displayed in +the command field of the information area. +The plane will remain this way until a mark command has been issued. +Any other command will be issued, but the command line will return to a +line of dashes when the command is completed. +.Pp +An +.Em unmarked +plane is treated the same as an +.Em ignored +plane, except that it will automatically switch to +.Em marked +status when a delayed command has been processed. +This is useful if you want to forget about a plane for a while, but its +flight path has not yet been completely set. +.Pp +As with all of the commands, marking, unmarking and ignoring will take effect +at the beginning of the next update. +Do not be surprised if the plane does +not immediately switch to unhighlighted mode. +.Ss EXAMPLES +.Bl -tag -width gtte4ab2 -offset indent +.It atlab1 +Plane A: turn left at beacon #1 +.It cc +Plane C: circle +.It gtte4ab2 +Plane G: turn towards exit #4 at beacon #2 +.It ma+2 +Plane M: altitude: climb 2000 feet +.It stq +Plane S: turn to 315 +.It xi +Plane X: ignore +.El +.Sh OTHER INFORMATION +.Bl -bullet +.It +Jets move every update; prop planes move every other update. +.It +All planes turn at most 90 degrees per movement. +.It +Planes enter at 7000 feet and leave at 9000 feet. +.It +Planes flying at an altitude of 0 crash if they are not over an airport. +.It +Planes waiting at airports can only be told to take off (climb in altitude). +.It +Pressing return (that is, entering an empty command) will perform the +next update immediately. +This allows you to ``fast forward'' +the game clock if nothing interesting is happening. +.El +.Sh NEW GAMES +The +.Pa Game_List +file lists the currently available play fields. +New field description file names must be placed in this file to be playable. +If a player specifies a game not in this file, his score will not be logged. +.Pp +The game field description files are broken into two parts. +The first part is the definition section. +Here, the four tunable game parameters must be set. +These variables are set with the syntax: +.Pp +.Dl "variable = number;" +.Pp +Variable may be one of: +.Li update , +indicating the number of seconds between forced updates; +.Li newplane , +indicating (about) the number of updates between new plane entries; +.Li width , +indicating the width of the play field; or +.Li height , +indicating the height of the play field. +.Pp +The second part of the field description files describes the locations +of the exits, the beacons, the airports and the lines. +The syntax is as follows: +.Pp +.Bd -literal -offset indent +.Bl -tag -width airport: -compact +.It beacon : +(x y) ... ; +.It airport : +(x y direction) ... ; +.It exit : +(x y direction) ... ; +.It line : +[ (x1 y1) (x2 y2) ] ... ; +.El +.Ed +.Pp +For beacons, a simple x, y coordinate pair is used (enclosed in parenthesis). +Airports and exits require a third value, which is one of the directions +.Em wedcxzaq . +For airports, this is the direction that planes must be going to take +off and land, and for exits, this is the direction that planes will be +going when they +.Em enter +the arena. +This may not seem intuitive, but as there is no restriction on +direction of exit, this is appropriate. +Lines are slightly different, since they need two coordinate pairs to +specify the line endpoints. +These endpoints must be enclosed in square brackets. +.Pp +All statements are semi-colon (;) terminated. +Multiple item statements accumulate. +Each definition must occur exactly once, before any item statements. +Comments begin with a hash (#) symbol and terminate with a newline. +The coordinates are between zero and width-1 and height-1 inclusive. +All of the exit coordinates must lie on the borders, and +all of the beacons and airports must lie inside of the borders. +Line endpoints may be anywhere within the field, so long as +the lines are horizontal, vertical or +.Em exactly +diagonal. +.Ss FIELD FILE EXAMPLE +.Bd -literal +# This is the default game. + +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 12 0 x ) ( 29 0 z ) ( 29 7 a ) ( 29 17 a ) + ( 9 20 e ) ( 0 13 d ) ( 0 7 d ) ( 0 0 c ) ; + +beacon: ( 12 7 ) ( 12 17 ) ; + +airport: ( 20 15 w ) ( 20 18 d ) ; + +line: [ ( 1 1 ) ( 6 6 ) ] + [ ( 12 1 ) ( 12 6 ) ] + [ ( 13 7 ) ( 28 7 ) ] + [ ( 28 1 ) ( 13 16 ) ] + [ ( 1 13 ) ( 11 13 ) ] + [ ( 12 8 ) ( 12 16 ) ] + [ ( 11 18 ) ( 10 19 ) ] + [ ( 13 17 ) ( 28 17 ) ] + [ ( 1 7 ) ( 11 7 ) ] ; + +.Ed +.Sh FILES +Files are kept in a special directory. +See the +.Sx OPTIONS +section for a way to print this path out. +It is normally +.Pa @atc_dir@ . +.Pp +This directory contains the file +.Pa Game_List , +which holds the list of playable games, as well as the games themselves. +.Pp +The scores are kept in +.Pa @atc_scorefile@ . +.Sh AUTHOR +Ed James, UC Berkeley: edjames@ucbvax.berkeley.edu, ucbvax!edjames +.Pp +This game is based on someone's description of the overall flavor +of a game written for some unknown PC many years ago, maybe. +.Sh BUGS +The screen sometimes refreshes after you have quit. diff --git a/atc/def.h b/atc/def.h new file mode 100644 index 0000000..a27266d --- /dev/null +++ b/atc/def.h @@ -0,0 +1,85 @@ +/* $NetBSD: def.h,v 1.6 2003/08/07 09:36:53 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)def.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#define AUTHOR_STR "ATC - by Ed James" + +#ifndef PI +#define PI 3.14159265358979323846 +#endif + +#define LOWFUEL 15 + +#define REALLOC 10 + +#define SGN(x) ((x < 0) ? -1 : ((x > 0) ? 1 : 0)) +#define ABS(x) ((x < 0) ? -(x) : (x)) +#define DIR_FROM_DXDY(dx,dy) ((int) (atan2((double)(dy), (double)(dx)) \ + * MAXDIR / (2 * PI) + 2.5 + MAXDIR) % MAXDIR) + +#define MAXDIR 8 + +#define D_LEFT 1 +#define D_RIGHT 2 +#define D_UP 3 +#define D_DOWN 4 + +#define T_NODEST 0 +#define T_BEACON 1 +#define T_EXIT 2 +#define T_AIRPORT 3 + +#undef S_NONE +#undef S_GONE +#undef S_MARKED +#undef S_UNMARKED +#undef S_IGNORED +#define S_NONE 0 +#define S_GONE 1 +#define S_MARKED 2 +#define S_UNMARKED 3 +#define S_IGNORED 4 + +#define INPUT_LINES 3 +#define PLANE_COLS 20 diff --git a/atc/extern.c b/atc/extern.c new file mode 100644 index 0000000..a96fdd4 --- /dev/null +++ b/atc/extern.c @@ -0,0 +1,78 @@ +/* $NetBSD: extern.c,v 1.7 2003/08/07 09:36:53 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)extern.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: extern.c,v 1.7 2003/08/07 09:36:53 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" + +char GAMES[] = "Game_List"; + +int clck, safe_planes, start_time, test_mode; + +const char *file; + +FILE *filein, *fileout; + +C_SCREEN screen, *sp = &screen; + +LIST air, ground; + +struct termios tty_start, tty_new; + +DISPLACEMENT displacement[MAXDIR] = { + { 0, -1 }, + { 1, -1 }, + { 1, 0 }, + { 1, 1 }, + { 0, 1 }, + { -1, 1 }, + { -1, 0 }, + { -1, -1 } +}; diff --git a/atc/extern.h b/atc/extern.h new file mode 100644 index 0000000..c2706d2 --- /dev/null +++ b/atc/extern.h @@ -0,0 +1,138 @@ +/* $NetBSD: extern.h,v 1.11 2004/01/27 20:30:28 jsm Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)extern.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +extern char GAMES[]; +extern const char *file; + +extern int clck, safe_planes, start_time, test_mode; + +extern FILE *filein, *fileout; + +extern C_SCREEN screen, *sp; + +extern LIST air, ground; + +extern struct termios tty_start, tty_new; + +extern DISPLACEMENT displacement[MAXDIR]; + +int addplane(void); +void append(LIST *, PLANE *); +void check_adir(int, int, int); +void check_edge(int, int); +void check_edir(int, int, int); +void check_line(int, int, int, int); +void check_linepoint(int, int); +void check_point(int, int); +int checkdefs(void); +int compar(const void *, const void *); +void delete(LIST *, PLANE *); +int dir_deg(int); +int dir_no(char); +void done_screen(void); +void draw_all(void); +void draw_line(WINDOW *, int, int, int, int, const char *); +void erase_all(void); +int getAChar(void); +int getcommand(void); +int gettoken(void); +void init_gr(void); +void ioaddstr(int, const char *); +void ioclrtobot(void); +void ioclrtoeol(int); +void ioerror(int, int, const char *); +void iomove(int); +int list_games(void); +int log_score(int); +void log_score_quit(int) __attribute__((__noreturn__)); +void loser(const PLANE *, const char *) __attribute__((__noreturn__)); +int main(int, char *[]); +char name(const PLANE *); +int next_plane(void); +void noise(void); +int number(char); +void open_score_file(void); +void planewin(void); +int pop(void); +void push(int, int); +void quit(int); +int read_file(const char *); +void redraw(void); +void rezero(void); +void setup_screen(const C_SCREEN *); +int too_close(const PLANE *p1, const PLANE *p2, int); +void update(int); +int yyerror(const char *); +int yylex(void); +#ifndef YYEMPTY +int yyparse(void); +#endif +const char *Left(char); +const char *Right(char); +const char *airport(char); +const char *beacon(char); +const char *benum(char); +const char *circle(char); +const char *climb(char); +const char *command(const PLANE *); +const char *default_game(void); +const char *delayb(char); +const char *descend(char); +const char *ex_it(char); +PLANE *findplane(int); +const char *ignore(char); +const char *left(char); +const char *mark(char); +PLANE *newplane(void); +const char *okay_game(const char *); +const char *rel_dir(char); +const char *right(char); +const char *setalt(char); +const char *setplane(char); +const char *setrelalt(char); +const char *timestr(int); +const char *to_dir(char); +const char *turn(char); +const char *unmark(char); diff --git a/atc/games/Atlantis b/atc/games/Atlantis new file mode 100644 index 0000000..e5b601d --- /dev/null +++ b/atc/games/Atlantis @@ -0,0 +1,31 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 10 0 x ) + ( 29 6 a ) + ( 27 20 q ) + ( 0 16 d ) ; + +beacon: ( 10 6 ) ( 23 6 ) + ( 23 16 ) ( 15 16 ) ( 7 16 ) + ( 7 9 ) ( 15 6 ) ; + +airport: ( 23 8 x ) ( 15 12 w ) ; + +line: [ ( 10 1 ) ( 10 5 ) ] + [ ( 11 6 ) ( 14 6 ) ] + [ ( 16 6 ) ( 22 6 ) ] + [ ( 24 6 ) ( 28 6 ) ] + [ ( 1 16 ) ( 6 16 ) ] + [ ( 8 16 ) ( 14 16 ) ] + [ ( 16 16 ) ( 22 16 ) ] + [ ( 23 7 ) ( 23 7 ) ] + [ ( 23 9 ) ( 23 15 ) ] + [ ( 15 7 ) ( 15 11 ) ] + [ ( 15 13 ) ( 15 15 ) ] + [ ( 7 10 ) ( 7 15 ) ] + [ ( 9 7 ) ( 8 8 ) ] + [ ( 6 10 ) ( 1 15 ) ] + [ ( 24 17 ) ( 26 19 ) ] ; diff --git a/atc/games/Game_List b/atc/games/Game_List new file mode 100644 index 0000000..0bc7551 --- /dev/null +++ b/atc/games/Game_List @@ -0,0 +1,15 @@ +default +easy +crossover +Killer +game_2 +Atlantis +OHare +Tic-Tac-Toe +airports +box +crosshatch +game_3 +game_4 +novice +two-corners diff --git a/atc/games/Killer b/atc/games/Killer new file mode 100644 index 0000000..f15d060 --- /dev/null +++ b/atc/games/Killer @@ -0,0 +1,21 @@ +update = 1; +newplane = 4; +width = 30; +height = 21; + +exit: ( 29 7 a ) ( 29 17 a ) + ( 0 7 d ) ( 0 0 c ) ; + +beacon: ( 12 7 ) ( 12 17 ) ( 14 10 ) ( 20 15 ) ; + +airport: ( 20 18 d ) ; + +line: [ ( 1 1 ) ( 6 6 ) ] + [ ( 12 1 ) ( 12 6 ) ] + [ ( 13 7 ) ( 28 7 ) ] + [ ( 28 1 ) ( 13 16 ) ] + [ ( 1 13 ) ( 11 13 ) ] + [ ( 12 8 ) ( 12 16 ) ] + [ ( 11 18 ) ( 10 19 ) ] + [ ( 13 17 ) ( 28 17 ) ] + [ ( 1 7 ) ( 11 7 ) ] ; diff --git a/atc/games/Makefrag b/atc/games/Makefrag new file mode 100644 index 0000000..d251f57 --- /dev/null +++ b/atc/games/Makefrag @@ -0,0 +1,40 @@ +# Makefrag - makefile fragment for atc/games +# +# Copyright (c) 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +atc_games_DIRS := $(ATC_DIR) +atc_games_GAMES := atc/games/Game_List atc/games/default atc/games/easy \ + atc/games/crossover atc/games/Killer atc/games/game_2 \ + atc/games/Atlantis atc/games/OHare atc/games/Tic-Tac-Toe \ + atc/games/airports atc/games/box atc/games/crosshatch \ + atc/games/game_3 atc/games/game_4 atc/games/novice \ + atc/games/two-corners + +atc_games_all: $(atc_games_GAMES) + +atc_games_install: + set -e; for g in Game_List `cat atc/games/Game_List`; do $(INSTALL_DATA) atc/games/$$g $(INSTALL_PREFIX)$(ATC_DIR)/$$g; done diff --git a/atc/games/OHare b/atc/games/OHare new file mode 100644 index 0000000..1efd679 --- /dev/null +++ b/atc/games/OHare @@ -0,0 +1,23 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 6 0 x ) ( 18 0 x ) + ( 29 5 a ) ( 29 13 a ) + ( 14 20 e ) ( 6 20 w ) ; + +beacon: ( 6 5 ) ( 18 5 ) + ( 6 13 ) ; + +airport: ( 8 8 d ) ; + +line: [ ( 6 1 ) ( 6 4 ) ] + [ ( 18 1 ) ( 18 4 ) ] + [ ( 6 6 ) ( 6 12 ) ] + [ ( 6 14 ) ( 6 19 ) ] + [ ( 28 6 ) ( 15 19 ) ] + [ ( 7 13 ) ( 20 13 ) ] + [ ( 22 13 ) ( 28 13 ) ] + [ ( 7 5 ) ( 17 5 ) ] + [ ( 19 5 ) ( 28 5 ) ] ; diff --git a/atc/games/Tic-Tac-Toe b/atc/games/Tic-Tac-Toe new file mode 100644 index 0000000..bd1468a --- /dev/null +++ b/atc/games/Tic-Tac-Toe @@ -0,0 +1,25 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 10 0 x ) ( 19 0 x ) + ( 29 7 a ) ( 29 13 a ) + ( 19 20 w ) ( 10 20 w ) + ( 0 13 d ) ( 0 7 d ) ; + +beacon: ( 10 7 ) ( 19 7 ) + ( 19 13 ) ( 10 13 ) ; + +line: [ ( 10 1 ) ( 10 6 ) ] + [ ( 19 1 ) ( 19 6 ) ] + [ ( 1 7 ) ( 9 7 ) ] + [ ( 11 7 ) ( 18 7 ) ] + [ ( 20 7 ) ( 28 7 ) ] + [ ( 10 8 ) ( 10 12 ) ] + [ ( 19 8 ) ( 19 12 ) ] + [ ( 1 13 ) ( 9 13 ) ] + [ ( 11 13 ) ( 18 13 ) ] + [ ( 20 13 ) ( 28 13 ) ] + [ ( 10 14 ) ( 10 19 ) ] + [ ( 19 14 ) ( 19 19 ) ] ; diff --git a/atc/games/airports b/atc/games/airports new file mode 100644 index 0000000..7df98df --- /dev/null +++ b/atc/games/airports @@ -0,0 +1,30 @@ +update = 6; +newplane = 6; +width = 30; +height = 21; + +exit: ( 13 0 x ) ( 0 10 d ) ; + +beacon: ( 6 3 ) ( 19 4 ) ( 27 4 ) + ( 27 10 ) + ( 27 16 ) ( 13 16 ) ( 6 16 ) + ( 13 10 ) + ( 19 10 ) ; + +airport: ( 6 5 w ) ( 23 4 a ) + ( 19 7 w ) ( 25 10 d ) + ( 24 16 a ) ( 13 13 x ) + ( 6 13 w ) ; + +line: [ ( 13 1 ) ( 13 9 ) ] + [ ( 13 11 ) ( 13 12 ) ] + [ ( 13 14 ) ( 13 15 ) ] + [ ( 7 16 ) ( 12 16 ) ] + [ ( 18 5 ) ( 14 9 ) ] + [ ( 6 14 ) ( 6 15 ) ] + [ ( 6 11 ) ( 6 12 ) ] + [ ( 6 6 ) ( 6 9 ) ] + [ ( 1 10 ) ( 12 10 ) ] + [ ( 27 5 ) ( 27 9 ) ] + [ ( 27 11 ) ( 27 15 ) ] ; + diff --git a/atc/games/box b/atc/games/box new file mode 100644 index 0000000..8cb7ef7 --- /dev/null +++ b/atc/games/box @@ -0,0 +1,45 @@ +update = 5; +newplane = 6; +width = 29; +height = 21; + +exit: ( 0 0 c ) ( 14 0 x ) ( 28 0 z ) + ( 28 10 a ) + ( 28 20 q ) ( 14 20 w ) ( 0 20 e ) + ( 0 10 d ) ; + +beacon: ( 4 4 ) ( 14 4 ) ( 24 4 ) + ( 24 10 ) + ( 24 16 ) ( 14 16 ) ( 4 16 ) + ( 4 10 ) + ( 14 13 ) ( 14 7 ) ; + +airport: ( 9 7 a ) ( 19 7 d ) + ( 19 13 d ) ( 9 13 a ) ; + +line: [ ( 1 1 ) ( 3 3 ) ] + [ ( 14 1 ) ( 14 3 ) ] + [ ( 27 1 ) ( 25 3 ) ] + [ ( 5 4 ) ( 13 4 ) ] + [ ( 15 4 ) ( 23 4 ) ] + [ ( 4 5 ) ( 4 9 ) ] + [ ( 14 5 ) ( 14 6 ) ] + [ ( 24 5 ) ( 24 9 ) ] + [ ( 10 7 ) ( 13 7 ) ] + [ ( 15 7 ) ( 18 7 ) ] + [ ( 14 8 ) ( 14 9 ) ] + [ ( 1 10 ) ( 3 10 ) ] + [ ( 5 10 ) ( 23 10 ) ] + [ ( 25 10 ) ( 27 10 ) ] + [ ( 4 11 ) ( 4 15 ) ] + [ ( 14 11 ) ( 14 12 ) ] + [ ( 24 11 ) ( 24 15 ) ] + [ ( 10 13 ) ( 13 13 ) ] + [ ( 15 13 ) ( 18 13 ) ] + [ ( 14 14 ) ( 14 15 ) ] + [ ( 5 16 ) ( 13 16 ) ] + [ ( 15 16 ) ( 23 16 ) ] + [ ( 3 17 ) ( 1 19 ) ] + [ ( 14 17 ) ( 14 19 ) ] + [ ( 25 17 ) ( 27 19 ) ] ; + diff --git a/atc/games/crosshatch b/atc/games/crosshatch new file mode 100644 index 0000000..6ceb8c0 --- /dev/null +++ b/atc/games/crosshatch @@ -0,0 +1,39 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 0 10 d ) ( 6 0 x ) + ( 12 0 x ) ( 18 0 x ) + ( 24 0 x ) ( 29 10 a ) + ( 24 20 w ) ( 18 20 w ) + ( 12 20 w ) ( 6 20 w ) ; + +beacon: ( 6 10 ) ( 12 10 ) ( 18 10 ) ( 24 10 ) + ( 6 5 ) ( 12 5 ) ( 18 5 ) ( 24 5 ) + ( 12 15 ) ( 18 15 ) ; + +airport: ( 9 15 a ) ( 21 15 d ) ( 15 5 d ) ; + +line: [ ( 6 1 ) ( 6 4 ) ] + [ ( 12 1 ) ( 12 4 ) ] + [ ( 18 1 ) ( 18 4 ) ] + [ ( 24 1 ) ( 24 4 ) ] + [ ( 6 6 ) ( 6 9 ) ] + [ ( 12 6 ) ( 12 9 ) ] + [ ( 18 6 ) ( 18 9 ) ] + [ ( 24 6 ) ( 24 9 ) ] + [ ( 12 11 ) ( 12 14 ) ] + [ ( 18 11 ) ( 18 14 ) ] + [ ( 6 11 ) ( 6 19 ) ] + [ ( 24 11 ) ( 24 19 ) ] + [ ( 12 16 ) ( 12 19 ) ] + [ ( 18 16 ) ( 18 19 ) ] + [ ( 7 5 ) ( 11 5 ) ] + [ ( 19 5 ) ( 23 5 ) ] + [ ( 13 15 ) ( 17 15 ) ] + [ ( 1 10 ) ( 5 10 ) ] + [ ( 7 10 ) ( 11 10 ) ] + [ ( 13 10 ) ( 17 10 ) ] + [ ( 19 10 ) ( 23 10 ) ] + [ ( 25 10 ) ( 29 10 ) ] ; diff --git a/atc/games/crossover b/atc/games/crossover new file mode 100644 index 0000000..d2689ff --- /dev/null +++ b/atc/games/crossover @@ -0,0 +1,14 @@ +update = 5; +newplane = 5; +width = 29; +height = 21; + +exit: ( 0 0 c ) ( 8 0 c ) ( 20 0 z ) ( 28 0 z ) + ( 28 20 q ) ( 20 20 q ) ( 8 20 e ) ( 0 20 e ); + +beacon: ( 14 6 ) ( 18 10 ) ( 14 14 ) ( 10 10 ); + +line: [ ( 0 0 ) ( 20 20 ) ] + [ ( 8 0 ) ( 28 20 ) ] + [ ( 20 0 ) ( 0 20 ) ] + [ ( 28 0 ) ( 8 20 ) ]; diff --git a/atc/games/default b/atc/games/default new file mode 100644 index 0000000..e19ef9d --- /dev/null +++ b/atc/games/default @@ -0,0 +1,21 @@ +update = 5; +newplane = 10; +width = 30; +height = 21; + +exit: ( 12 0 x ) ( 29 0 z ) ( 29 7 a ) ( 29 17 a ) + ( 9 20 e ) ( 0 13 d ) ( 0 7 d ) ( 0 0 c ) ; + +beacon: ( 12 7 ) ( 12 17 ) ; + +airport: ( 20 15 w ) ( 20 18 d ) ; + +line: [ ( 1 1 ) ( 6 6 ) ] + [ ( 12 1 ) ( 12 6 ) ] + [ ( 13 7 ) ( 28 7 ) ] + [ ( 28 1 ) ( 13 16 ) ] + [ ( 1 13 ) ( 11 13 ) ] + [ ( 12 8 ) ( 12 16 ) ] + [ ( 11 18 ) ( 10 19 ) ] + [ ( 13 17 ) ( 28 17 ) ] + [ ( 1 7 ) ( 11 7 ) ] ; diff --git a/atc/games/easy b/atc/games/easy new file mode 100644 index 0000000..4ab8eac --- /dev/null +++ b/atc/games/easy @@ -0,0 +1,15 @@ +update = 7; +newplane = 12; +width = 15; +height = 15; + +exit: ( 7 0 x ) ( 14 0 z ) ( 12 14 q ) ( 0 14 e ) ; + +beacon: ( 12 7 ) ; + +airport: ( 7 8 w ) ; + +line: [ ( 1 1 ) ( 6 6 ) ] + [ ( 7 9 ) ( 12 14 ) ] + [ ( 7 0 ) ( 7 14 ) ] + [ ( 1 7 ) ( 11 7 ) ] ; diff --git a/atc/games/game_2 b/atc/games/game_2 new file mode 100644 index 0000000..5788c8a --- /dev/null +++ b/atc/games/game_2 @@ -0,0 +1,22 @@ +update = 5; +newplane = 8; +width = 30; +height = 21; + +exit: ( 12 0 x ) ( 29 0 z ) ( 29 6 a ) ( 29 13 a ) + ( 9 20 e ) ( 0 13 d ) ( 0 6 d ) ( 0 0 c ) ; + +beacon: ( 12 17 ) ( 23 6 ) ( 23 13 ) ( 25 17 ) + ( 12 6 ) ( 12 13 ) ( 6 6 ) ; + +airport: ( 18 17 d ) ; + +line: [ ( 1 1 ) ( 16 16 ) ] + [ ( 1 6 ) ( 28 6 ) ] + [ ( 12 1 ) ( 12 17 ) ] + [ ( 10 19 ) ( 28 1 ) ] + [ ( 13 17 ) ( 17 17 ) ] + [ ( 1 13 ) ( 28 13 ) ] + [ ( 19 17 ) ( 24 17 ) ] + [ ( 19 17 ) ( 22 14 ) ] + [ ( 26 16 ) ( 28 14 ) ] ; diff --git a/atc/games/game_3 b/atc/games/game_3 new file mode 100644 index 0000000..e610a5c --- /dev/null +++ b/atc/games/game_3 @@ -0,0 +1,17 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 12 0 x ) ( 0 6 d ) ( 29 12 a ) ( 26 20 q ) ; + +beacon: ( 12 6 ) ; + +airport: ( 8 11 x ) ; + +line: [ ( 12 1 ) ( 12 5 ) ] + [ ( 1 6 ) ( 11 6 ) ] + [ ( 8 7 ) ( 8 10 ) ] + [ ( 28 12 ) ( 19 12 ) ] + [ ( 13 7 ) ( 25 19 ) ] ; + diff --git a/atc/games/game_4 b/atc/games/game_4 new file mode 100644 index 0000000..e57d51c --- /dev/null +++ b/atc/games/game_4 @@ -0,0 +1,37 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 9 0 c ) ( 29 0 z ) ( 29 20 q ) ( 9 20 e ) + ( 0 20 e ) ( 0 10 d ) ( 0 0 c ) ; + +beacon: ( 5 5 ) ( 14 5 ) ( 24 5 ) ( 24 9 ) ( 24 11 ) + ( 24 15 ) ( 14 15 ) ( 5 15 ) ( 5 10 ) ( 14 10 ) ; + +airport: ( 19 9 a ) ( 19 11 a ) ; + +line: [ ( 1 1 ) ( 4 4 ) ] + [ ( 10 1 ) ( 13 4 ) ] + [ ( 28 1 ) ( 25 4 ) ] + [ ( 6 5 ) ( 13 5 ) ] + [ ( 15 5 ) ( 23 5 ) ] + [ ( 1 10 ) ( 13 10 ) ] + [ ( 15 10 ) ( 17 10 ) ] + [ ( 18 9 ) ( 18 9 ) ] + [ ( 18 11 ) ( 18 11 ) ] + [ ( 20 9 ) ( 23 9 ) ] + [ ( 20 11 ) ( 23 11 ) ] + [ ( 6 15 ) ( 13 15 ) ] + [ ( 15 15 ) ( 24 15 ) ] + [ ( 1 19 ) ( 4 16 ) ] + [ ( 10 19 ) ( 13 16 ) ] + [ ( 28 19 ) ( 25 16 ) ] + [ ( 5 6 ) ( 5 9 ) ] + [ ( 5 11 ) ( 5 14 ) ] + [ ( 14 6 ) ( 14 9 ) ] + [ ( 14 11 ) ( 14 14 ) ] + [ ( 24 6 ) ( 24 8 ) ] + [ ( 24 10 ) ( 24 10 ) ] + [ ( 24 12 ) ( 24 14 ) ] ; + diff --git a/atc/games/novice b/atc/games/novice new file mode 100644 index 0000000..473dde5 --- /dev/null +++ b/atc/games/novice @@ -0,0 +1,15 @@ +update = 6; +newplane = 6; +width = 30; +height = 21; + +exit: ( 0 2 c ) ( 29 2 z ) + ( 29 18 q ) ( 0 18 e ) ; + +beacon: ( 8 10 ) ( 21 10 ) ; + +line: [ ( 1 3 ) ( 7 9 ) ] + [ ( 7 11 ) ( 1 17 ) ] + [ ( 28 3 ) ( 22 9 ) ] + [ ( 22 11 ) ( 28 17 ) ] + [ ( 9 10 ) ( 20 10 ) ] ; diff --git a/atc/games/two-corners b/atc/games/two-corners new file mode 100644 index 0000000..273a121 --- /dev/null +++ b/atc/games/two-corners @@ -0,0 +1,21 @@ +update = 5; +newplane = 5; +width = 30; +height = 21; + +exit: ( 0 0 c ) ( 10 0 x ) ( 29 10 a ) + ( 29 20 q ) + ( 19 20 w ) ( 0 10 d ) ; + +beacon: ( 10 10 ) ( 19 10 ) ; + +airport: ( 15 15 x ) ; + +line: [ ( 1 1 ) ( 9 9 ) ] + [ ( 10 1 ) ( 10 9 ) ] + [ ( 1 10 ) ( 9 10 ) ] + [ ( 11 10 ) ( 18 10 ) ] + [ ( 15 11 ) ( 15 14 ) ] + [ ( 20 10 ) ( 28 10 ) ] + [ ( 19 11 ) ( 19 19 ) ] + [ ( 20 11 ) ( 28 19 ) ] ; diff --git a/atc/grammar.y b/atc/grammar.y new file mode 100644 index 0000000..2d82da5 --- /dev/null +++ b/atc/grammar.y @@ -0,0 +1,400 @@ +/* $NetBSD: grammar.y,v 1.8 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +%token HeightOp +%token WidthOp +%token UpdateOp +%token NewplaneOp +%token DirOp +%token ConstOp +%token LineOp +%token AirportOp +%token BeaconOp +%token ExitOp +%union { + int ival; + char cval; +} + +%{ +#include "include.h" + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)grammar.y 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: grammar.y,v 1.8 2003/08/07 09:36:54 agc Exp $"); +#endif +#endif /* not lint */ + +int errors = 0; +int line = 1; +%} + +%% +file: + bunch_of_defs { if (checkdefs() < 0) return (errors); } bunch_of_lines + { + if (sp->num_exits + sp->num_airports < 2) + yyerror("Need at least 2 airports and/or exits."); + return (errors); + } + ; + +bunch_of_defs: + def bunch_of_defs + | def + ; + +def: + udef + | ndef + | wdef + | hdef + ; + +udef: + UpdateOp '=' ConstOp ';' + { + if (sp->update_secs != 0) + return (yyerror("Redefinition of 'update'.")); + else if ($3 < 1) + return (yyerror("'update' is too small.")); + else + sp->update_secs = $3; + } + ; + +ndef: + NewplaneOp '=' ConstOp ';' + { + if (sp->newplane_time != 0) + return (yyerror("Redefinition of 'newplane'.")); + else if ($3 < 1) + return (yyerror("'newplane' is too small.")); + else + sp->newplane_time = $3; + } + ; + +hdef: + HeightOp '=' ConstOp ';' + { + if (sp->height != 0) + return (yyerror("Redefinition of 'height'.")); + else if ($3 < 3) + return (yyerror("'height' is too small.")); + else + sp->height = $3; + } + ; + +wdef: + WidthOp '=' ConstOp ';' + { + if (sp->width != 0) + return (yyerror("Redefinition of 'width'.")); + else if ($3 < 3) + return (yyerror("'width' is too small.")); + else + sp->width = $3; + } + ; + +bunch_of_lines: + line bunch_of_lines + {} + | line + {} + ; + +line: + BeaconOp ':' Bpoint_list ';' + {} + | ExitOp ':' Epoint_list ';' + {} + | LineOp ':' Lline_list ';' + {} + | AirportOp ':' Apoint_list ';' + {} + ; + +Bpoint_list: + Bpoint Bpoint_list + {} + | Bpoint + {} + ; + +Bpoint: + '(' ConstOp ConstOp ')' + { + if (sp->num_beacons % REALLOC == 0) { + if (sp->beacon == NULL) + sp->beacon = (BEACON *) malloc((sp->num_beacons + + REALLOC) * sizeof (BEACON)); + else + sp->beacon = (BEACON *) realloc(sp->beacon, + (sp->num_beacons + REALLOC) * + sizeof (BEACON)); + if (sp->beacon == NULL) + return (yyerror("No memory available.")); + } + sp->beacon[sp->num_beacons].x = $2; + sp->beacon[sp->num_beacons].y = $3; + check_point($2, $3); + sp->num_beacons++; + } + ; + +Epoint_list: + Epoint Epoint_list + {} + | Epoint + {} + ; + +Epoint: + '(' ConstOp ConstOp DirOp ')' + { + int dir; + + if (sp->num_exits % REALLOC == 0) { + if (sp->exit == NULL) + sp->exit = (EXIT *) malloc((sp->num_exits + + REALLOC) * sizeof (EXIT)); + else + sp->exit = (EXIT *) realloc(sp->exit, + (sp->num_exits + REALLOC) * + sizeof (EXIT)); + if (sp->exit == NULL) + return (yyerror("No memory available.")); + } + dir = dir_no($4); + sp->exit[sp->num_exits].x = $2; + sp->exit[sp->num_exits].y = $3; + sp->exit[sp->num_exits].dir = dir; + check_edge($2, $3); + check_edir($2, $3, dir); + sp->num_exits++; + } + ; + +Apoint_list: + Apoint Apoint_list + {} + | Apoint + {} + ; + +Apoint: + '(' ConstOp ConstOp DirOp ')' + { + int dir; + + if (sp->num_airports % REALLOC == 0) { + if (sp->airport == NULL) + sp->airport=(AIRPORT *)malloc((sp->num_airports + + REALLOC) * sizeof(AIRPORT)); + else + sp->airport = (AIRPORT *) realloc(sp->airport, + (sp->num_airports + REALLOC) * + sizeof(AIRPORT)); + if (sp->airport == NULL) + return (yyerror("No memory available.")); + } + dir = dir_no($4); + sp->airport[sp->num_airports].x = $2; + sp->airport[sp->num_airports].y = $3; + sp->airport[sp->num_airports].dir = dir; + check_point($2, $3); + sp->num_airports++; + } + ; + +Lline_list: + Lline Lline_list + {} + | Lline + {} + ; + +Lline: + '[' '(' ConstOp ConstOp ')' '(' ConstOp ConstOp ')' ']' + { + if (sp->num_lines % REALLOC == 0) { + if (sp->line == NULL) + sp->line = (LINE *) malloc((sp->num_lines + + REALLOC) * sizeof (LINE)); + else + sp->line = (LINE *) realloc(sp->line, + (sp->num_lines + REALLOC) * + sizeof (LINE)); + if (sp->line == NULL) + return (yyerror("No memory available.")); + } + sp->line[sp->num_lines].p1.x = $3; + sp->line[sp->num_lines].p1.y = $4; + sp->line[sp->num_lines].p2.x = $7; + sp->line[sp->num_lines].p2.y = $8; + check_line($3, $4, $7, $8); + sp->num_lines++; + } + ; +%% + +void +check_edge(x, y) + int x, y; +{ + if (!(x == 0) && !(x == sp->width - 1) && + !(y == 0) && !(y == sp->height - 1)) + yyerror("edge value not on edge."); +} + +void +check_point(x, y) + int x, y; +{ + if (x < 1 || x >= sp->width - 1) + yyerror("X value out of range."); + if (y < 1 || y >= sp->height - 1) + yyerror("Y value out of range."); +} + +void +check_linepoint(x, y) + int x, y; +{ + if (x < 0 || x >= sp->width) + yyerror("X value out of range."); + if (y < 0 || y >= sp->height) + yyerror("Y value out of range."); +} + +void +check_line(x1, y1, x2, y2) + int x1, y1, x2, y2; +{ + int d1, d2; + + check_linepoint(x1, y1); + check_linepoint(x2, y2); + + d1 = ABS(x2 - x1); + d2 = ABS(y2 - y1); + + if (!(d1 == d2) && !(d1 == 0) && !(d2 == 0)) + yyerror("Bad line endpoints."); +} + +int +yyerror(s) + const char *s; +{ + fprintf(stderr, "\"%s\": line %d: %s\n", file, line, s); + errors++; + + return (errors); +} + +void +check_edir(x, y, dir) + int x, y, dir; +{ + int bad = 0; + + if (x == sp->width - 1) + x = 2; + else if (x != 0) + x = 1; + if (y == sp->height - 1) + y = 2; + else if (y != 0) + y = 1; + + switch (x * 10 + y) { + case 00: if (dir != 3) bad++; break; + case 01: if (dir < 1 || dir > 3) bad++; break; + case 02: if (dir != 1) bad++; break; + case 10: if (dir < 3 || dir > 5) bad++; break; + case 11: break; + case 12: if (dir > 1 && dir < 7) bad++; break; + case 20: if (dir != 5) bad++; break; + case 21: if (dir < 5) bad++; break; + case 22: if (dir != 7) bad++; break; + default: + yyerror("Unknown value in checkdir! Get help!"); + break; + } + if (bad) + yyerror("Bad direction for entrance at exit."); +} + +int +checkdefs() +{ + int err = 0; + + if (sp->width == 0) { + yyerror("'width' undefined."); + err++; + } + if (sp->height == 0) { + yyerror("'height' undefined."); + err++; + } + if (sp->update_secs == 0) { + yyerror("'update' undefined."); + err++; + } + if (sp->newplane_time == 0) { + yyerror("'newplane' undefined."); + err++; + } + if (err) + return (-1); + else + return (0); +} diff --git a/atc/graphics.c b/atc/graphics.c new file mode 100644 index 0000000..2bf34c1 --- /dev/null +++ b/atc/graphics.c @@ -0,0 +1,441 @@ +/* $NetBSD: graphics.c,v 1.10 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)graphics.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: graphics.c,v 1.10 2003/08/07 09:36:54 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" + +#define C_TOPBOTTOM '-' +#define C_LEFTRIGHT '|' +#define C_AIRPORT '=' +#define C_LINE '+' +#define C_BACKROUND '.' +#define C_BEACON '*' +#define C_CREDIT '*' + +WINDOW *radar, *cleanradar, *credit, *input, *planes; + +int +getAChar() +{ + int c; + + errno = 0; + while ((c = getchar()) == EOF && errno == EINTR) { + errno = 0; + clearerr(stdin); + } + return(c); +} + +void +erase_all() +{ + PLANE *pp; + + for (pp = air.head; pp != NULL; pp = pp->next) { + wmove(cleanradar, pp->ypos, pp->xpos * 2); + wmove(radar, pp->ypos, pp->xpos * 2); + waddch(radar, winch(cleanradar)); + wmove(cleanradar, pp->ypos, pp->xpos * 2 + 1); + wmove(radar, pp->ypos, pp->xpos * 2 + 1); + waddch(radar, winch(cleanradar)); + } +} + +void +draw_all() +{ + PLANE *pp; + + for (pp = air.head; pp != NULL; pp = pp->next) { + if (pp->status == S_MARKED) + wstandout(radar); + wmove(radar, pp->ypos, pp->xpos * 2); + waddch(radar, name(pp)); + waddch(radar, '0' + pp->altitude); + if (pp->status == S_MARKED) + wstandend(radar); + } + wrefresh(radar); + planewin(); + wrefresh(input); /* return cursor */ + fflush(stdout); +} + +void +init_gr() +{ + static char buffer[BUFSIZ]; + + initscr(); + setbuf(stdout, buffer); + input = newwin(INPUT_LINES, COLS - PLANE_COLS, LINES - INPUT_LINES, 0); + credit = newwin(INPUT_LINES, PLANE_COLS, LINES - INPUT_LINES, + COLS - PLANE_COLS); + planes = newwin(LINES - INPUT_LINES, PLANE_COLS, 0, COLS - PLANE_COLS); +} + +void +setup_screen(scp) + const C_SCREEN *scp; +{ + int i, j; + char str[3]; + const char *airstr; + + str[2] = '\0'; + + if (radar != NULL) + delwin(radar); + radar = newwin(scp->height, scp->width * 2, 0, 0); + + if (cleanradar != NULL) + delwin(cleanradar); + cleanradar = newwin(scp->height, scp->width * 2, 0, 0); + + /* minus one here to prevent a scroll */ + for (i = 0; i < PLANE_COLS - 1; i++) { + wmove(credit, 0, i); + waddch(credit, C_CREDIT); + wmove(credit, INPUT_LINES - 1, i); + waddch(credit, C_CREDIT); + } + wmove(credit, INPUT_LINES / 2, 1); + waddstr(credit, AUTHOR_STR); + + for (i = 1; i < scp->height - 1; i++) { + for (j = 1; j < scp->width - 1; j++) { + wmove(radar, i, j * 2); + waddch(radar, C_BACKROUND); + } + } + + /* + * Draw the lines first, since people like to draw lines + * through beacons and exit points. + */ + str[0] = C_LINE; + for (i = 0; i < scp->num_lines; i++) { + str[1] = ' '; + draw_line(radar, scp->line[i].p1.x, scp->line[i].p1.y, + scp->line[i].p2.x, scp->line[i].p2.y, str); + } + + str[0] = C_TOPBOTTOM; + str[1] = C_TOPBOTTOM; + wmove(radar, 0, 0); + for (i = 0; i < scp->width - 1; i++) + waddstr(radar, str); + waddch(radar, C_TOPBOTTOM); + + str[0] = C_TOPBOTTOM; + str[1] = C_TOPBOTTOM; + wmove(radar, scp->height - 1, 0); + for (i = 0; i < scp->width - 1; i++) + waddstr(radar, str); + waddch(radar, C_TOPBOTTOM); + + for (i = 1; i < scp->height - 1; i++) { + wmove(radar, i, 0); + waddch(radar, C_LEFTRIGHT); + wmove(radar, i, (scp->width - 1) * 2); + waddch(radar, C_LEFTRIGHT); + } + + str[0] = C_BEACON; + for (i = 0; i < scp->num_beacons; i++) { + str[1] = '0' + i; + wmove(radar, scp->beacon[i].y, scp->beacon[i].x * 2); + waddstr(radar, str); + } + + for (i = 0; i < scp->num_exits; i++) { + wmove(radar, scp->exit[i].y, scp->exit[i].x * 2); + waddch(radar, '0' + i); + } + + airstr = "^?>?v?num_airports; i++) { + str[0] = airstr[scp->airport[i].dir]; + str[1] = '0' + i; + wmove(radar, scp->airport[i].y, scp->airport[i].x * 2); + waddstr(radar, str); + } + + overwrite(radar, cleanradar); + wrefresh(radar); + wrefresh(credit); + fflush(stdout); +} + +void +draw_line(w, x, y, lx, ly, s) + WINDOW *w; + int x, y, lx, ly; + const char *s; +{ + int dx, dy; + + dx = SGN(lx - x); + dy = SGN(ly - y); + for (;;) { + wmove(w, y, x * 2); + waddstr(w, s); + if (x == lx && y == ly) + break; + x += dx; + y += dy; + } +} + +void +ioclrtoeol(pos) + int pos; +{ + wmove(input, 0, pos); + wclrtoeol(input); + wrefresh(input); + fflush(stdout); +} + +void +iomove(pos) + int pos; +{ + wmove(input, 0, pos); + wrefresh(input); + fflush(stdout); +} + +void +ioaddstr(pos, str) + int pos; + const char *str; +{ + wmove(input, 0, pos); + waddstr(input, str); + wrefresh(input); + fflush(stdout); +} + +void +ioclrtobot() +{ + wclrtobot(input); + wrefresh(input); + fflush(stdout); +} + +void +ioerror(pos, len, str) + int pos, len; + const char *str; +{ + int i; + + wmove(input, 1, pos); + for (i = 0; i < len; i++) + waddch(input, '^'); + wmove(input, 2, 0); + waddstr(input, str); + wrefresh(input); + fflush(stdout); +} + +void +quit(dummy) + int dummy __attribute__((__unused__)); +{ + int c, y, x; +#ifdef BSD + struct itimerval itv; +#endif + + getyx(input, y, x); + wmove(input, 2, 0); + waddstr(input, "Really quit? (y/n) "); + wclrtobot(input); + wrefresh(input); + fflush(stdout); + + c = getchar(); + if (c == EOF || c == 'y') { + /* disable timer */ +#ifdef BSD + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(0); +#endif + fflush(stdout); + clear(); + refresh(); + endwin(); + log_score(0); + exit(0); + } + wmove(input, 2, 0); + wclrtobot(input); + wmove(input, y, x); + wrefresh(input); + fflush(stdout); +} + +void +planewin() +{ + PLANE *pp; + int warning = 0; + +#ifdef BSD + werase(planes); +#endif + + wmove(planes, 0,0); + +#ifdef SYSV + wclrtobot(planes); +#endif + wprintw(planes, "Time: %-4d Safe: %d", clck, safe_planes); + wmove(planes, 2, 0); + + waddstr(planes, "pl dt comm"); + for (pp = air.head; pp != NULL; pp = pp->next) { + if (waddch(planes, '\n') == ERR) { + warning++; + break; + } + waddstr(planes, command(pp)); + } + waddch(planes, '\n'); + for (pp = ground.head; pp != NULL; pp = pp->next) { + if (waddch(planes, '\n') == ERR) { + warning++; + break; + } + waddstr(planes, command(pp)); + } + if (warning) { + wmove(planes, LINES - INPUT_LINES - 1, 0); + waddstr(planes, "---- more ----"); + wclrtoeol(planes); + } + wrefresh(planes); + fflush(stdout); +} + +void +loser(p, s) + const PLANE *p; + const char *s; +{ + int c; +#ifdef BSD + struct itimerval itv; +#endif + + /* disable timer */ +#ifdef BSD + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(0); +#endif + + wmove(input, 0, 0); + wclrtobot(input); + /* p may be NULL if we ran out of memory */ + if (p == NULL) + wprintw(input, "%s\n\nHit space for top players list...", s); + else + wprintw(input, "Plane '%c' %s\n\nHit space for top players list...", + name(p), s); + wrefresh(input); + fflush(stdout); + while ((c = getchar()) != EOF && c != ' ') + ; + clear(); /* move to top of screen */ + refresh(); + endwin(); + log_score(0); + exit(0); +} + +void +redraw() +{ + clear(); + refresh(); + + touchwin(radar); + wrefresh(radar); + touchwin(planes); + wrefresh(planes); + touchwin(credit); + wrefresh(credit); + + /* refresh input last to get cursor in right place */ + touchwin(input); + wrefresh(input); + fflush(stdout); +} + +void +done_screen() +{ + clear(); + refresh(); + endwin(); /* clean up curses */ +} diff --git a/atc/include.h b/atc/include.h new file mode 100644 index 0000000..1697f6f --- /dev/null +++ b/atc/include.h @@ -0,0 +1,71 @@ +/* $NetBSD: include.h,v 1.8 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)include.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "def.h" +#include "struct.h" +#include "extern.h" +#include "tunable.h" diff --git a/atc/input.c b/atc/input.c new file mode 100644 index 0000000..68cfe75 --- /dev/null +++ b/atc/input.c @@ -0,0 +1,675 @@ +/* $NetBSD: input.c,v 1.17 2005/02/15 12:56:20 jsm Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)input.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: input.c,v 1.17 2005/02/15 12:56:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" +#include "pathnames.h" + +#define MAXRULES 6 +#define MAXDEPTH 15 + +#define RETTOKEN '\n' +#define REDRAWTOKEN '\014' /* CTRL(L) */ +#define SHELLTOKEN '!' +#define HELPTOKEN '?' +#define ALPHATOKEN 256 +#define NUMTOKEN 257 + +typedef struct { + int token; + int to_state; + const char *str; + const char *(*func)(char); +} RULE; + +typedef struct { + int num_rules; + RULE *rule; +} STATE; + +typedef struct { + char str[20]; + int state; + int rule; + int ch; + int pos; +} STACK; + +#define T_RULE stack[level].rule +#define T_STATE stack[level].state +#define T_STR stack[level].str +#define T_POS stack[level].pos +#define T_CH stack[level].ch + +#define NUMELS(a) (sizeof (a) / sizeof (*(a))) + +#define NUMSTATES NUMELS(st) + + +RULE state0[] = { { ALPHATOKEN, 1, "%c:", setplane}, + { RETTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " [a-z]", NULL }}, + state1[] = { { 't', 2, " turn", turn }, + { 'a', 3, " altitude:", NULL }, + { 'c', 4, " circle", circle }, + { 'm', 7, " mark", mark }, + { 'u', 7, " unmark", unmark }, + { 'i', 7, " ignore", ignore }, + { HELPTOKEN, 12, " tacmui", NULL }}, + state2[] = { { 'l', 6, " left", left }, + { 'r', 6, " right", right }, + { 'L', 4, " left 90", Left }, + { 'R', 4, " right 90", Right }, + { 't', 11, " towards", NULL }, + { 'w', 4, " to 0", to_dir }, + { 'e', 4, " to 45", to_dir }, + { 'd', 4, " to 90", to_dir }, + { 'c', 4, " to 135", to_dir }, + { 'x', 4, " to 180", to_dir }, + { 'z', 4, " to 225", to_dir }, + { 'a', 4, " to 270", to_dir }, + { 'q', 4, " to 315", to_dir }, + { HELPTOKEN, 12, " lrLRt", NULL }}, + state3[] = { { '+', 10, " climb", climb }, + { 'c', 10, " climb", climb }, + { '-', 10, " descend", descend }, + { 'd', 10, " descend", descend }, + { NUMTOKEN, 7, " %c000 feet", setalt }, + { HELPTOKEN, 12, " +-cd[0-9]", NULL }}, + state4[] = { { '@', 9, " at", NULL }, + { 'a', 9, " at", NULL }, + { RETTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " @a", NULL }}, + state5[] = { { NUMTOKEN, 7, "%c", delayb }, + { HELPTOKEN, 12, " [0-9]", NULL }}, + state6[] = { { '@', 9, " at", NULL }, + { 'a', 9, " at", NULL }, + { 'w', 4, " 0", rel_dir }, + { 'e', 4, " 45", rel_dir }, + { 'd', 4, " 90", rel_dir }, + { 'c', 4, " 135", rel_dir }, + { 'x', 4, " 180", rel_dir }, + { 'z', 4, " 225", rel_dir }, + { 'a', 4, " 270", rel_dir }, + { 'q', 4, " 315", rel_dir }, + { RETTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " @a",NULL }}, + state7[] = { { RETTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " ", NULL }}, + state8[] = { { NUMTOKEN, 4, "%c", benum }, + { HELPTOKEN, 12, " [0-9]", NULL }}, + state9[] = { { 'b', 5, " beacon #", NULL }, + { '*', 5, " beacon #", NULL }, + { HELPTOKEN, 12, " b*", NULL }}, + state10[] = { { NUMTOKEN, 7, " %c000 ft", setrelalt}, + { HELPTOKEN, 12, " [0-9]", NULL }}, + state11[] = { { 'b', 8, " beacon #", beacon }, + { '*', 8, " beacon #", beacon }, + { 'e', 8, " exit #", ex_it }, + { 'a', 8, " airport #", airport }, + { HELPTOKEN, 12, " b*ea", NULL }}, + state12[] = { { -1, -1, "", NULL }}; + +#define DEF_STATE(s) { NUMELS(s), (s) } + +STATE st[] = { + DEF_STATE(state0), DEF_STATE(state1), DEF_STATE(state2), + DEF_STATE(state3), DEF_STATE(state4), DEF_STATE(state5), + DEF_STATE(state6), DEF_STATE(state7), DEF_STATE(state8), + DEF_STATE(state9), DEF_STATE(state10), DEF_STATE(state11), + DEF_STATE(state12) +}; + +PLANE p; +STACK stack[MAXDEPTH]; +int level; +int tval; +int dest_type, dest_no, dir; + +int +pop() +{ + if (level == 0) + return (-1); + level--; + + ioclrtoeol(T_POS); + + strcpy(T_STR, ""); + T_RULE = -1; + T_CH = -1; + return (0); +} + +void +rezero() +{ + iomove(0); + + level = 0; + T_STATE = 0; + T_RULE = -1; + T_CH = -1; + T_POS = 0; + strcpy(T_STR, ""); +} + +void +push(ruleno, ch) + int ruleno, ch; +{ + int newstate, newpos; + + (void)sprintf(T_STR, st[T_STATE].rule[ruleno].str, tval); + T_RULE = ruleno; + T_CH = ch; + newstate = st[T_STATE].rule[ruleno].to_state; + newpos = T_POS + strlen(T_STR); + + ioaddstr(T_POS, T_STR); + + if (level == 0) + ioclrtobot(); + level++; + T_STATE = newstate; + T_POS = newpos; + T_RULE = -1; + strcpy(T_STR, ""); +} + +int +getcommand() +{ + int c, i, done; + const char *s, *(*func)(char); + PLANE *pp; + + rezero(); + + do { + c = gettoken(); + if (c == tty_new.c_cc[VERASE]) { + if (pop() < 0) + noise(); + } else if (c == tty_new.c_cc[VKILL]) { + while (pop() >= 0) + ; + } else { + done = 0; + for (i = 0; i < st[T_STATE].num_rules; i++) { + if (st[T_STATE].rule[i].token == c || + st[T_STATE].rule[i].token == tval) { + push(i, (c >= ALPHATOKEN) ? tval : c); + done = 1; + break; + } + } + if (!done) + noise(); + } + } while (T_STATE != -1); + + if (level == 1) + return (1); /* forced update */ + + dest_type = T_NODEST; + + for (i = 0; i < level; i++) { + func = st[stack[i].state].rule[stack[i].rule].func; + if (func != NULL) + if ((s = (*func)(stack[i].ch)) != NULL) { + ioerror(stack[i].pos, strlen(stack[i].str), s); + return (-1); + } + } + + pp = findplane(p.plane_no); + if (pp->new_altitude != p.new_altitude) + pp->new_altitude = p.new_altitude; + else if (pp->status != p.status) + pp->status = p.status; + else { + pp->new_dir = p.new_dir; + pp->delayd = p.delayd; + pp->delayd_no = p.delayd_no; + } + return (0); +} + +void +noise() +{ + putchar('\07'); + fflush(stdout); +} + +int +gettoken() +{ + while ((tval = getAChar()) == REDRAWTOKEN || tval == SHELLTOKEN) + { + if (tval == SHELLTOKEN) + { +#ifdef BSD + struct itimerval itv; + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + int aval; + aval = alarm(0); +#endif + if (fork() == 0) /* child */ + { + char *shell, *base; + + done_screen(); + + /* run user's favorite shell */ + if ((shell = getenv("SHELL")) != NULL) + { + base = strrchr(shell, '/'); + if (base == NULL) + base = shell; + else + base++; + execl(shell, base, (char *) 0); + } + else + execl(_PATH_BSHELL, "sh", (char *) 0); + + exit(0); /* oops */ + } + + wait(0); + tcsetattr(fileno(stdin), TCSADRAIN, &tty_new); +#ifdef BSD + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 1; + itv.it_interval.tv_sec = sp->update_secs; + itv.it_interval.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(aval); +#endif + } + redraw(); + } + + if (isdigit(tval)) + return (NUMTOKEN); + else if (isalpha(tval)) + return (ALPHATOKEN); + else + return (tval); +} + +const char * +setplane(c) + char c; +{ + PLANE *pp; + + pp = findplane(number(c)); + if (pp == NULL) + return ("Unknown Plane"); + memcpy(&p, pp, sizeof (p)); + p.delayd = 0; + return (NULL); +} + +const char * +turn(c) + char c __attribute__((__unused__)); +{ + if (p.altitude == 0) + return ("Planes at airports may not change direction"); + return (NULL); +} + +const char * +circle(c) + char c __attribute__((__unused__)); +{ + if (p.altitude == 0) + return ("Planes cannot circle on the ground"); + p.new_dir = MAXDIR; + return (NULL); +} + +const char * +left(c) + char c __attribute__((__unused__)); +{ + dir = D_LEFT; + p.new_dir = p.dir - 1; + if (p.new_dir < 0) + p.new_dir += MAXDIR; + return (NULL); +} + +const char * +right(c) + char c __attribute__((__unused__)); +{ + dir = D_RIGHT; + p.new_dir = p.dir + 1; + if (p.new_dir >= MAXDIR) + p.new_dir -= MAXDIR; + return (NULL); +} + +const char * +Left(c) + char c __attribute__((__unused__)); +{ + p.new_dir = p.dir - 2; + if (p.new_dir < 0) + p.new_dir += MAXDIR; + return (NULL); +} + +const char * +Right(c) + char c __attribute__((__unused__)); +{ + p.new_dir = p.dir + 2; + if (p.new_dir >= MAXDIR) + p.new_dir -= MAXDIR; + return (NULL); +} + +const char * +delayb(c) + char c; +{ + int xdiff, ydiff; + + c -= '0'; + + if (c >= sp->num_beacons) + return ("Unknown beacon"); + xdiff = sp->beacon[(int)c].x - p.xpos; + xdiff = SGN(xdiff); + ydiff = sp->beacon[(int)c].y - p.ypos; + ydiff = SGN(ydiff); + if (xdiff != displacement[p.dir].dx || ydiff != displacement[p.dir].dy) + return ("Beacon is not in flight path"); + p.delayd = 1; + p.delayd_no = c; + + if (dest_type != T_NODEST) { + switch (dest_type) { + case T_BEACON: + xdiff = sp->beacon[dest_no].x - sp->beacon[(int)c].x; + ydiff = sp->beacon[dest_no].y - sp->beacon[(int)c].y; + break; + case T_EXIT: + xdiff = sp->exit[dest_no].x - sp->beacon[(int)c].x; + ydiff = sp->exit[dest_no].y - sp->beacon[(int)c].y; + break; + case T_AIRPORT: + xdiff = sp->airport[dest_no].x - sp->beacon[(int)c].x; + ydiff = sp->airport[dest_no].y - sp->beacon[(int)c].y; + break; + default: + return ("Bad case in delayb! Get help!"); + break; + } + if (xdiff == 0 && ydiff == 0) + return ("Would already be there"); + p.new_dir = DIR_FROM_DXDY(xdiff, ydiff); + if (p.new_dir == p.dir) + return ("Already going in that direction"); + } + return (NULL); +} + +const char * +beacon(c) + char c __attribute__((__unused__)); +{ + dest_type = T_BEACON; + return (NULL); +} + +const char * +ex_it(c) + char c __attribute__((__unused__)); +{ + dest_type = T_EXIT; + return (NULL); +} + +const char * +airport(c) + char c __attribute__((__unused__)); +{ + dest_type = T_AIRPORT; + return (NULL); +} + +const char * +climb(c) + char c __attribute__((__unused__)); +{ + dir = D_UP; + return (NULL); +} + +const char * +descend(c) + char c __attribute__((__unused__)); +{ + dir = D_DOWN; + return (NULL); +} + +const char * +setalt(c) + char c; +{ + if ((p.altitude == c - '0') && (p.new_altitude == p.altitude)) + return ("Already at that altitude"); + p.new_altitude = c - '0'; + return (NULL); +} + +const char * +setrelalt(c) + char c; +{ + if (c == 0) + return ("altitude not changed"); + + switch (dir) { + case D_UP: + p.new_altitude = p.altitude + c - '0'; + break; + case D_DOWN: + p.new_altitude = p.altitude - (c - '0'); + break; + default: + return ("Unknown case in setrelalt! Get help!"); + break; + } + if (p.new_altitude < 0) + return ("Altitude would be too low"); + else if (p.new_altitude > 9) + return ("Altitude would be too high"); + return (NULL); +} + +const char * +benum(c) + char c; +{ + dest_no = c -= '0'; + + switch (dest_type) { + case T_BEACON: + if (c >= sp->num_beacons) + return ("Unknown beacon"); + p.new_dir = DIR_FROM_DXDY(sp->beacon[(int)c].x - p.xpos, + sp->beacon[(int)c].y - p.ypos); + break; + case T_EXIT: + if (c >= sp->num_exits) + return ("Unknown exit"); + p.new_dir = DIR_FROM_DXDY(sp->exit[(int)c].x - p.xpos, + sp->exit[(int)c].y - p.ypos); + break; + case T_AIRPORT: + if (c >= sp->num_airports) + return ("Unknown airport"); + p.new_dir = DIR_FROM_DXDY(sp->airport[(int)c].x - p.xpos, + sp->airport[(int)c].y - p.ypos); + break; + default: + return ("Unknown case in benum! Get help!"); + break; + } + return (NULL); +} + +const char * +to_dir(c) + char c; +{ + p.new_dir = dir_no(c); + return (NULL); +} + +const char * +rel_dir(c) + char c; +{ + int angle; + + angle = dir_no(c); + switch (dir) { + case D_LEFT: + p.new_dir = p.dir - angle; + if (p.new_dir < 0) + p.new_dir += MAXDIR; + break; + case D_RIGHT: + p.new_dir = p.dir + angle; + if (p.new_dir >= MAXDIR) + p.new_dir -= MAXDIR; + break; + default: + return ("Bizarre direction in rel_dir! Get help!"); + break; + } + return (NULL); +} + +const char * +mark(c) + char c __attribute__((__unused__)); +{ + if (p.altitude == 0) + return ("Cannot mark planes on the ground"); + if (p.status == S_MARKED) + return ("Already marked"); + p.status = S_MARKED; + return (NULL); +} + +const char * +unmark(c) + char c __attribute__((__unused__)); +{ + if (p.altitude == 0) + return ("Cannot unmark planes on the ground"); + if (p.status == S_UNMARKED) + return ("Already unmarked"); + p.status = S_UNMARKED; + return (NULL); +} + +const char * +ignore(c) + char c __attribute__((__unused__)); +{ + if (p.altitude == 0) + return ("Cannot ignore planes on the ground"); + if (p.status == S_IGNORED) + return ("Already ignored"); + p.status = S_IGNORED; + return (NULL); +} + +int +dir_no(ch) + char ch; +{ + int dir; + + dir = -1; + switch (ch) { + case 'w': dir = 0; break; + case 'e': dir = 1; break; + case 'd': dir = 2; break; + case 'c': dir = 3; break; + case 'x': dir = 4; break; + case 'z': dir = 5; break; + case 'a': dir = 6; break; + case 'q': dir = 7; break; + default: + fprintf(stderr, "bad character in dir_no\n"); + break; + } + return (dir); +} diff --git a/atc/lex.l b/atc/lex.l new file mode 100644 index 0000000..3e90b76 --- /dev/null +++ b/atc/lex.l @@ -0,0 +1,75 @@ +%{ +/* $NetBSD: lex.l,v 1.7 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)lex.l 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: lex.l,v 1.7 2003/08/07 09:36:54 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" +#undef ECHO /* XXX: work around lex(1) vs termios lameness */ +#include "grammar.h" + +extern int line; + +%} +%% +[0-9]+ { yylval.ival = atoi(yytext); return(ConstOp); } +height { return(HeightOp); } +width { return(WidthOp); } +newplane { return(NewplaneOp); } +update { return(UpdateOp); } +airport { return(AirportOp); } +line { return(LineOp); } +exit { return(ExitOp); } +beacon { return(BeaconOp); } +[wedcxzaq] { yylval.cval = *yytext; return (DirOp); } +[ \t]+ { } +#[^\n]*\n { line++; } +\n { line++; } +. { return *yytext; } diff --git a/atc/list.c b/atc/list.c new file mode 100644 index 0000000..e1b50b1 --- /dev/null +++ b/atc/list.c @@ -0,0 +1,120 @@ +/* $NetBSD: list.c,v 1.6 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)list.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: list.c,v 1.6 2003/08/07 09:36:54 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" + +PLANE * +newplane() +{ + return ((PLANE *) calloc(1, sizeof (PLANE))); +} + +void +append(l, p) + LIST *l; + PLANE *p; +{ + PLANE *q = NULL, *r = NULL; + + if (l->head == NULL) { + p->next = p->prev = NULL; + l->head = l->tail = p; + } else { + q = l -> head; + + while (q != NULL && q->plane_no < p->plane_no) { + r = q; + q = q -> next; + } + + if (q) { + if (r) { + p->prev = r; + r->next = p; + p->next = q; + q->prev = p; + } else { + p->next = q; + p->prev = NULL; + q->prev = p; + l->head = p; + } + } else { + l->tail->next = p; + p->next = NULL; + p->prev = l->tail; + l->tail = p; + } + } +} + +void +delete(l, p) + LIST *l; + PLANE *p; +{ + if (l->head == NULL) + loser(p, "deleted a non-existent plane! Get help!"); + + if (l->head == p && l->tail == p) + l->head = l->tail = NULL; + else if (l->head == p) { + l->head = p->next; + l->head->prev = NULL; + } else if (l->tail == p) { + l->tail = p->prev; + l->tail->next = NULL; + } else { + p->prev->next = p->next; + p->next->prev = p->prev; + } +} diff --git a/atc/log.c b/atc/log.c new file mode 100644 index 0000000..a92aaae --- /dev/null +++ b/atc/log.c @@ -0,0 +1,294 @@ +/* $NetBSD: log.c,v 1.13 2004/09/07 13:20:39 jrf Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)log.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: log.c,v 1.13 2004/09/07 13:20:39 jrf Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" +#include "pathnames.h" + +static FILE *score_fp; + +int +compar(va, vb) + const void *va, *vb; +{ + const SCORE *a, *b; + + a = (const SCORE *)va; + b = (const SCORE *)vb; + if (b->planes == a->planes) + return (b->time - a->time); + else + return (b->planes - a->planes); +} + +#define SECAMIN 60 +#define MINAHOUR 60 +#define HOURADAY 24 +#define SECAHOUR (SECAMIN * MINAHOUR) +#define SECADAY (SECAHOUR * HOURADAY) +#define DAY(t) ((t) / SECADAY) +#define HOUR(t) (((t) % SECADAY) / SECAHOUR) +#define MIN(t) (((t) % SECAHOUR) / SECAMIN) +#define SEC(t) ((t) % SECAMIN) + +const char * +timestr(t) + int t; +{ + static char s[80]; + + if (DAY(t) > 0) + (void)sprintf(s, "%dd+%02dhrs", DAY(t), HOUR(t)); + else if (HOUR(t) > 0) + (void)sprintf(s, "%d:%02d:%02d", HOUR(t), MIN(t), SEC(t)); + else if (MIN(t) > 0) + (void)sprintf(s, "%d:%02d", MIN(t), SEC(t)); + else if (SEC(t) > 0) + (void)sprintf(s, ":%02d", SEC(t)); + else + *s = '\0'; + + return (s); +} + +void +open_score_file() +{ + mode_t old_mask; + int score_fd; + int flags; + + old_mask = umask(0); + score_fd = open(_PATH_SCORE, O_CREAT|O_RDWR, 0664); + umask(old_mask); + if (score_fd < 0) { + warn("open %s", _PATH_SCORE); + return; + } + if (score_fd < 3) + exit(1); + /* Set the close-on-exec flag. If this fails for any reason, quit + * rather than leave the score file open to tampering. */ + flags = fcntl(score_fd, F_GETFD); + if (flags < 0) + err(1, "fcntl F_GETFD"); + flags |= FD_CLOEXEC; + if (fcntl(score_fd, F_SETFD, flags) == -1) + err(1, "fcntl F_SETFD"); + /* + * This is done to take advantage of stdio, while still + * allowing a O_CREAT during the open(2) of the log file. + */ + score_fp = fdopen(score_fd, "r+"); + if (score_fp == NULL) { + warn("fdopen %s", _PATH_SCORE); + return; + } +} + +int +log_score(list_em) + int list_em; +{ + int i, num_scores = 0, good, changed = 0, found = 0; + struct passwd *pw; + char *cp; + SCORE score[100], thisscore; + struct utsname name; + long offset; + + if (score_fp == NULL) { + warnx("no score file available"); + return (-1); + } + +#ifdef BSD + if (flock(fileno(score_fp), LOCK_EX) < 0) +#endif +#ifdef SYSV + while (lockf(fileno(score_fp), F_LOCK, 1) < 0) +#endif + { + warn("flock %s", _PATH_SCORE); + return (-1); + } + for (;;) { + good = fscanf(score_fp, SCORE_SCANF_FMT, + score[num_scores].name, + score[num_scores].host, + score[num_scores].game, + &score[num_scores].planes, + &score[num_scores].time, + &score[num_scores].real_time); + if (good != 6 || ++num_scores >= NUM_SCORES) + break; + } + if (!test_mode && !list_em) { + if ((pw = (struct passwd *) getpwuid(getuid())) == NULL) { + fprintf(stderr, + "getpwuid failed for uid %d. Who are you?\n", + (int)getuid()); + return (-1); + } + strcpy(thisscore.name, pw->pw_name); + uname(&name); + strlcpy(thisscore.host, name.nodename, sizeof(thisscore.host)); + + cp = strrchr(file, '/'); + if (cp == NULL) { + fprintf(stderr, "log: where's the '/' in %s?\n", file); + return (-1); + } + cp++; + strcpy(thisscore.game, cp); + + thisscore.time = clck; + thisscore.planes = safe_planes; + thisscore.real_time = time(0) - start_time; + + for (i = 0; i < num_scores; i++) { + if (strcmp(thisscore.name, score[i].name) == 0 && + strcmp(thisscore.host, score[i].host) == 0 && + strcmp(thisscore.game, score[i].game) == 0) { + if (thisscore.time > score[i].time) { + score[i].time = thisscore.time; + score[i].planes = thisscore.planes; + score[i].real_time = + thisscore.real_time; + changed++; + } + found++; + break; + } + } + if (!found) { + for (i = 0; i < num_scores; i++) { + if (thisscore.time > score[i].time) { + if (num_scores < NUM_SCORES) + num_scores++; + memcpy(&score[num_scores - 1], + &score[i], + sizeof (score[i])); + memcpy(&score[i], &thisscore, + sizeof (score[i])); + changed++; + break; + } + } + } + if (!found && !changed && num_scores < NUM_SCORES) { + memcpy(&score[num_scores], &thisscore, + sizeof (score[num_scores])); + num_scores++; + changed++; + } + + if (changed) { + if (found) + puts("You beat your previous score!"); + else + puts("You made the top players list!"); + qsort(score, num_scores, sizeof (*score), compar); + rewind(score_fp); + for (i = 0; i < num_scores; i++) + fprintf(score_fp, "%s %s %s %d %d %d\n", + score[i].name, score[i].host, + score[i].game, score[i].planes, + score[i].time, score[i].real_time); + fflush(score_fp); + if (ferror(score_fp)) + warn("error writing %s", _PATH_SCORE); + /* It is just possible that updating an entry could + * have reduced the length of the file, so we + * truncate it. The seeks are required for stream/fd + * synchronisation by POSIX.1. */ + offset = ftell(score_fp); + lseek(fileno(score_fp), 0, SEEK_SET); + ftruncate(fileno(score_fp), offset); + rewind(score_fp); + } else { + if (found) + puts("You didn't beat your previous score."); + else + puts("You didn't make the top players list."); + } + putchar('\n'); + } +#ifdef BSD + flock(fileno(score_fp), LOCK_UN); +#endif +#ifdef SYSV + /* lock will evaporate upon close */ +#endif + fclose(score_fp); + printf("%2s: %-8s %-8s %-18s %4s %9s %4s\n", "#", "name", "host", + "game", "time", "real time", "planes safe"); + puts("-------------------------------------------------------------------------------"); + for (i = 0; i < num_scores; i++) { + cp = strchr(score[i].host, '.'); + if (cp != NULL) + *cp = '\0'; + printf("%2d: %-8s %-8s %-18s %4d %9s %4d\n", i + 1, + score[i].name, score[i].host, score[i].game, + score[i].time, timestr(score[i].real_time), + score[i].planes); + } + putchar('\n'); + return (0); +} + +void +log_score_quit(dummy) + int dummy __attribute__((__unused__)); +{ + (void)log_score(0); + exit(0); +} diff --git a/atc/main.c b/atc/main.c new file mode 100644 index 0000000..fe2482c --- /dev/null +++ b/atc/main.c @@ -0,0 +1,317 @@ +/* $NetBSD: main.c,v 1.13 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1990, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: main.c,v 1.13 2003/08/07 09:36:54 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" +#include "pathnames.h" + +extern FILE *yyin; + +int +main(ac, av) + int ac; + char *av[]; +{ + int seed; + int f_usage = 0, f_list = 0, f_showscore = 0; + int f_printpath = 0; + const char *file = NULL; + int ch; + struct sigaction sa; +#ifdef BSD + struct itimerval itv; +#endif + + /* Open the score file then revoke setgid privileges */ + open_score_file(); + setregid(getgid(), getgid()); + + start_time = seed = time(NULL); + + while ((ch = getopt(ac, av, "ulstpg:f:r:")) != -1) { + switch (ch) { + case '?': + case 'u': + default: + f_usage++; + break; + case 'l': + f_list++; + break; + case 's': + case 't': + f_showscore++; + break; + case 'p': + f_printpath++; + break; + case 'r': + seed = atoi(optarg); + break; + case 'f': + case 'g': + file = optarg; + break; + } + } + if (optind < ac) + f_usage++; + srandom(seed); + + if (f_usage) + fprintf(stderr, + "Usage: %s -[u?lstp] [-[gf] game_name] [-r random seed]\n", + av[0]); + if (f_showscore) + log_score(1); + if (f_list) + list_games(); + if (f_printpath) { + char buf[100]; + + strcpy(buf, _PATH_GAMES); + buf[strlen(buf) - 1] = '\0'; + puts(buf); + } + + if (f_usage || f_showscore || f_list || f_printpath) + exit(0); + + if (file == NULL) + file = default_game(); + else + file = okay_game(file); + + if (file == NULL || read_file(file) < 0) + exit(1); + + init_gr(); + setup_screen(sp); + + addplane(); + + signal(SIGINT, quit); + signal(SIGQUIT, quit); +#ifdef BSD + signal(SIGTSTP, SIG_IGN); + signal(SIGSTOP, SIG_IGN); +#endif + signal(SIGHUP, log_score_quit); + signal(SIGTERM, log_score_quit); + + tcgetattr(fileno(stdin), &tty_start); + tty_new = tty_start; + tty_new.c_lflag &= ~(ICANON|ECHO); + tty_new.c_iflag |= ICRNL; + tty_new.c_cc[VMIN] = 1; + tty_new.c_cc[VTIME] = 0; + tcsetattr(fileno(stdin), TCSADRAIN, &tty_new); + + sa.sa_handler = update; + sigemptyset(&sa.sa_mask); + sigaddset(&sa.sa_mask, SIGALRM); + sigaddset(&sa.sa_mask, SIGINT); + sa.sa_flags = 0; + sigaction(SIGALRM, &sa, (struct sigaction *)0); + +#ifdef BSD + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 1; + itv.it_interval.tv_sec = sp->update_secs; + itv.it_interval.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(sp->update_secs); +#endif + + for (;;) { + if (getcommand() != 1) + planewin(); + else { +#ifdef BSD + itv.it_value.tv_sec = 0; + itv.it_value.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(0); +#endif + + update(0); + +#ifdef BSD + itv.it_value.tv_sec = sp->update_secs; + itv.it_value.tv_usec = 0; + itv.it_interval.tv_sec = sp->update_secs; + itv.it_interval.tv_usec = 0; + setitimer(ITIMER_REAL, &itv, NULL); +#endif +#ifdef SYSV + alarm(sp->update_secs); +#endif + } + } +} + +int +read_file(s) + const char *s; +{ + int retval; + + file = s; + yyin = fopen(s, "r"); + if (yyin == NULL) { + warn("fopen %s", s); + return (-1); + } + retval = yyparse(); + fclose(yyin); + + if (retval != 0) + return (-1); + else + return (0); +} + +const char * +default_game() +{ + FILE *fp; + static char file[256]; + char line[256], games[256]; + + strcpy(games, _PATH_GAMES); + strcat(games, GAMES); + + if ((fp = fopen(games, "r")) == NULL) { + warn("fopen %s", games); + return (NULL); + } + if (fgets(line, sizeof(line), fp) == NULL) { + fprintf(stderr, "%s: no default game available\n", games); + return (NULL); + } + fclose(fp); + line[strlen(line) - 1] = '\0'; + strcpy(file, _PATH_GAMES); + strcat(file, line); + return (file); +} + +const char * +okay_game(s) + const char *s; +{ + FILE *fp; + static char file[256]; + const char *ret = NULL; + char line[256], games[256]; + + strcpy(games, _PATH_GAMES); + strcat(games, GAMES); + + if ((fp = fopen(games, "r")) == NULL) { + warn("fopen %s", games); + return (NULL); + } + while (fgets(line, sizeof(line), fp) != NULL) { + line[strlen(line) - 1] = '\0'; + if (strcmp(s, line) == 0) { + strcpy(file, _PATH_GAMES); + strcat(file, line); + ret = file; + break; + } + } + fclose(fp); + if (ret == NULL) { + test_mode = 1; + ret = s; + fprintf(stderr, "%s: %s: game not found\n", games, s); + fprintf(stderr, "Your score will not be logged.\n"); + sleep(2); /* give the guy time to read it */ + } + return (ret); +} + +int +list_games() +{ + FILE *fp; + char line[256], games[256]; + int num_games = 0; + + strcpy(games, _PATH_GAMES); + strcat(games, GAMES); + + if ((fp = fopen(games, "r")) == NULL) { + warn("fopen %s", games); + return (-1); + } + puts("available games:"); + while (fgets(line, sizeof(line), fp) != NULL) { + printf(" %s", line); + num_games++; + } + fclose(fp); + if (num_games == 0) { + fprintf(stderr, "%s: no games available\n", games); + return (-1); + } + return (0); +} diff --git a/atc/pathnames.h.in b/atc/pathnames.h.in new file mode 100644 index 0000000..6c17c0e --- /dev/null +++ b/atc/pathnames.h.in @@ -0,0 +1,37 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#include + +#define _PATH_GAMES "@atc_dir@/" +#define _PATH_SCORE "@atc_scorefile@" diff --git a/atc/struct.h b/atc/struct.h new file mode 100644 index 0000000..500a8ea --- /dev/null +++ b/atc/struct.h @@ -0,0 +1,111 @@ +/* $NetBSD: struct.h,v 1.5 2003/08/07 09:36:54 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)struct.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +typedef struct { + int x, y; + int dir; /* used only sometimes */ +} SCREEN_POS; + +typedef struct { + SCREEN_POS p1, p2; +} LINE; + +typedef SCREEN_POS EXIT; +typedef SCREEN_POS BEACON; +typedef SCREEN_POS AIRPORT; + +typedef struct { + int width, height; + int update_secs; + int newplane_time; + int num_exits; + int num_lines; + int num_beacons; + int num_airports; + EXIT *exit; + LINE *line; + BEACON *beacon; + AIRPORT *airport; +} C_SCREEN; + +typedef struct plane { + struct plane *next, *prev; + int status; + int plane_no; + int plane_type; + int orig_no; + int orig_type; + int dest_no; + int dest_type; + int altitude; + int new_altitude; + int dir; + int new_dir; + int fuel; + int xpos; + int ypos; + int delayd; + int delayd_no; +} PLANE; + +typedef struct { + PLANE *head, *tail; +} LIST; + +typedef struct { + char name[10]; + char host[256]; + char game[256]; + int planes; + int time; + int real_time; +} SCORE; + +#define SCORE_SCANF_FMT "%9s %255s %255s %d %d %d" + +typedef struct displacement { + int dx; + int dy; +} DISPLACEMENT; diff --git a/atc/tunable.c b/atc/tunable.c new file mode 100644 index 0000000..d5f6d15 --- /dev/null +++ b/atc/tunable.c @@ -0,0 +1,59 @@ +/* $NetBSD: tunable.c,v 1.5 2003/08/07 09:36:55 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)tunable.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: tunable.c,v 1.5 2003/08/07 09:36:55 agc Exp $"); +#endif +#endif /* not lint */ + +/* + * NUM_SCORES - Number of scores that are kept track of. + * Keep this greater than 0, but less than 100. + * 4 lines are printed above the score, one below + your prompt, so + * to prevent scrolling: 6 + NUM_SCORES <= 24 (lines on an average terminal). + */ +int NUM_SCORES = 18; diff --git a/atc/tunable.h b/atc/tunable.h new file mode 100644 index 0000000..2b18323 --- /dev/null +++ b/atc/tunable.h @@ -0,0 +1,46 @@ +/* $NetBSD: tunable.h,v 1.4 2003/08/07 09:36:55 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tunable.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +extern int NUM_SCORES; diff --git a/atc/update.c b/atc/update.c new file mode 100644 index 0000000..3a145e5 --- /dev/null +++ b/atc/update.c @@ -0,0 +1,419 @@ +/* $NetBSD: update.c,v 1.12 2003/08/07 09:36:55 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ed James. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved. + * + * Copy permission is hereby granted provided that this notice is + * retained on all partial or complete copies. + * + * For more info on this and all of my stuff, mail edjames@berkeley.edu. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)update.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: update.c,v 1.12 2003/08/07 09:36:55 agc Exp $"); +#endif +#endif /* not lint */ + +#include "include.h" + +void +update(dummy) + int dummy __attribute__((__unused__)); +{ + int i, dir_diff, unclean; + PLANE *pp, *p1, *p2; + +#ifdef SYSV + alarm(0); + signal(SIGALRM, update); +#endif + + clck++; + + erase_all(); + + /* put some planes in the air */ + do { + unclean = 0; + for (pp = ground.head; pp != NULL; pp = pp->next) { + if (pp->new_altitude > 0) { + delete(&ground, pp); + append(&air, pp); + unclean = 1; + break; + } + } + } while (unclean); + + /* do altitude change and basic movement */ + for (pp = air.head; pp != NULL; pp = pp->next) { + /* type 0 only move every other turn */ + if (pp->plane_type == 0 && clck & 1) + continue; + + pp->fuel--; + if (pp->fuel < 0) + loser(pp, "ran out of fuel."); + + pp->altitude += SGN(pp->new_altitude - pp->altitude); + + if (!pp->delayd) { + dir_diff = pp->new_dir - pp->dir; + /* + * Allow for circle commands + */ + if (pp->new_dir >= 0 && pp->new_dir < MAXDIR) { + if (dir_diff > MAXDIR/2) + dir_diff -= MAXDIR; + else if (dir_diff < -(MAXDIR/2)) + dir_diff += MAXDIR; + } + if (dir_diff > 2) + dir_diff = 2; + else if (dir_diff < -2) + dir_diff = -2; + pp->dir += dir_diff; + if (pp->dir >= MAXDIR) + pp->dir -= MAXDIR; + else if (pp->dir < 0) + pp->dir += MAXDIR; + } + pp->xpos += displacement[pp->dir].dx; + pp->ypos += displacement[pp->dir].dy; + + if (pp->delayd && pp->xpos == sp->beacon[pp->delayd_no].x && + pp->ypos == sp->beacon[pp->delayd_no].y) { + pp->delayd = 0; + if (pp->status == S_UNMARKED) + pp->status = S_MARKED; + } + + switch (pp->dest_type) { + case T_AIRPORT: + if (pp->xpos == sp->airport[pp->dest_no].x && + pp->ypos == sp->airport[pp->dest_no].y && + pp->altitude == 0) { + if (pp->dir != sp->airport[pp->dest_no].dir) + loser(pp, "landed in the wrong direction."); + else { + pp->status = S_GONE; + continue; + } + } + break; + case T_EXIT: + if (pp->xpos == sp->exit[pp->dest_no].x && + pp->ypos == sp->exit[pp->dest_no].y) { + if (pp->altitude != 9) + loser(pp, "exited at the wrong altitude."); + else { + pp->status = S_GONE; + continue; + } + } + break; + default: + loser(pp, "has a bizarre destination, get help!"); + } + if (pp->altitude > 9) + /* "this is impossible" */ + loser(pp, "exceded flight ceiling."); + if (pp->altitude <= 0) { + for (i = 0; i < sp->num_airports; i++) + if (pp->xpos == sp->airport[i].x && + pp->ypos == sp->airport[i].y) { + if (pp->dest_type == T_AIRPORT) + loser(pp, + "landed at the wrong airport."); + else + loser(pp, + "landed instead of exited."); + } + loser(pp, "crashed on the ground."); + } + if (pp->xpos < 1 || pp->xpos >= sp->width - 1 || + pp->ypos < 1 || pp->ypos >= sp->height - 1) { + for (i = 0; i < sp->num_exits; i++) + if (pp->xpos == sp->exit[i].x && + pp->ypos == sp->exit[i].y) { + if (pp->dest_type == T_EXIT) + loser(pp, + "exited via the wrong exit."); + else + loser(pp, + "exited instead of landed."); + } + loser(pp, "illegally left the flight arena."); + } + } + + /* + * Traverse the list once, deleting the planes that are gone. + */ + for (pp = air.head; pp != NULL; pp = p2) { + p2 = pp->next; + if (pp->status == S_GONE) { + safe_planes++; + delete(&air, pp); + } + } + + draw_all(); + + for (p1 = air.head; p1 != NULL; p1 = p1->next) + for (p2 = p1->next; p2 != NULL; p2 = p2->next) + if (too_close(p1, p2, 1)) { + static char buf[80]; + + (void)sprintf(buf, "collided with plane '%c'.", + name(p2)); + loser(p1, buf); + } + /* + * Check every other update. Actually, only add on even updates. + * Otherwise, prop jobs show up *on* entrance. Remember that + * we don't update props on odd updates. + */ + if ((rand() % sp->newplane_time) == 0) + addplane(); + +#ifdef SYSV + alarm(sp->update_secs); +#endif +} + +const char * +command(pp) + const PLANE *pp; +{ + static char buf[50], *bp, *comm_start; + + buf[0] = '\0'; + bp = buf; + (void)sprintf(bp, "%c%d%c%c%d: ", name(pp), pp->altitude, + (pp->fuel < LOWFUEL) ? '*' : ' ', + (pp->dest_type == T_AIRPORT) ? 'A' : 'E', pp->dest_no); + + comm_start = bp = strchr(buf, '\0'); + if (pp->altitude == 0) + (void)sprintf(bp, "Holding @ A%d", pp->orig_no); + else if (pp->new_dir >= MAXDIR || pp->new_dir < 0) + strcpy(bp, "Circle"); + else if (pp->new_dir != pp->dir) + (void)sprintf(bp, "%d", dir_deg(pp->new_dir)); + + bp = strchr(buf, '\0'); + if (pp->delayd) + (void)sprintf(bp, " @ B%d", pp->delayd_no); + + bp = strchr(buf, '\0'); + if (*comm_start == '\0' && + (pp->status == S_UNMARKED || pp->status == S_IGNORED)) + strcpy(bp, "---------"); + return (buf); +} + +char +name(p) + const PLANE *p; +{ + if (p->plane_type == 0) + return ('A' + p->plane_no); + else + return ('a' + p->plane_no); +} + +int +number(l) + char l; +{ + if (l < 'a' && l > 'z' && l < 'A' && l > 'Z') + return (-1); + else if (l >= 'a' && l <= 'z') + return (l - 'a'); + else + return (l - 'A'); +} + +int +next_plane() +{ + static int last_plane = -1; + PLANE *pp; + int found, start_plane = last_plane; + + do { + found = 0; + last_plane++; + if (last_plane >= 26) + last_plane = 0; + for (pp = air.head; pp != NULL; pp = pp->next) + if (pp->plane_no == last_plane) { + found++; + break; + } + if (!found) + for (pp = ground.head; pp != NULL; pp = pp->next) + if (pp->plane_no == last_plane) { + found++; + break; + } + } while (found && last_plane != start_plane); + if (last_plane == start_plane) + return (-1); + return (last_plane); +} + +int +addplane() +{ + PLANE p, *pp, *p1; + int i, num_starts, close, rnd, rnd2, pnum; + + memset(&p, 0, sizeof (p)); + + p.status = S_MARKED; + p.plane_type = random() % 2; + + num_starts = sp->num_exits + sp->num_airports; + rnd = random() % num_starts; + + if (rnd < sp->num_exits) { + p.dest_type = T_EXIT; + p.dest_no = rnd; + } else { + p.dest_type = T_AIRPORT; + p.dest_no = rnd - sp->num_exits; + } + + /* loop until we get a plane not near another */ + for (i = 0; i < num_starts; i++) { + /* loop till we get a different start point */ + while ((rnd2 = random() % num_starts) == rnd) + ; + if (rnd2 < sp->num_exits) { + p.orig_type = T_EXIT; + p.orig_no = rnd2; + p.xpos = sp->exit[rnd2].x; + p.ypos = sp->exit[rnd2].y; + p.new_dir = p.dir = sp->exit[rnd2].dir; + p.altitude = p.new_altitude = 7; + close = 0; + for (p1 = air.head; p1 != NULL; p1 = p1->next) + if (too_close(p1, &p, 4)) { + close++; + break; + } + if (close) + continue; + } else { + p.orig_type = T_AIRPORT; + p.orig_no = rnd2 - sp->num_exits; + p.xpos = sp->airport[p.orig_no].x; + p.ypos = sp->airport[p.orig_no].y; + p.new_dir = p.dir = sp->airport[p.orig_no].dir; + p.altitude = p.new_altitude = 0; + } + p.fuel = sp->width + sp->height; + break; + } + if (i >= num_starts) + return (-1); + pnum = next_plane(); + if (pnum < 0) + return (-1); + p.plane_no = pnum; + + pp = newplane(); + if (pp == NULL) + loser(NULL, "Out of memory!"); + memcpy(pp, &p, sizeof (p)); + + if (pp->orig_type == T_AIRPORT) + append(&ground, pp); + else + append(&air, pp); + + return (pp->dest_type); +} + +PLANE * +findplane(n) + int n; +{ + PLANE *pp; + + for (pp = air.head; pp != NULL; pp = pp->next) + if (pp->plane_no == n) + return (pp); + for (pp = ground.head; pp != NULL; pp = pp->next) + if (pp->plane_no == n) + return (pp); + return (NULL); +} + +int +too_close(p1, p2, dist) + const PLANE *p1, *p2; + int dist; +{ + if (ABS(p1->altitude - p2->altitude) <= dist && + ABS(p1->xpos - p2->xpos) <= dist && ABS(p1->ypos - p2->ypos) <= dist) + return (1); + else + return (0); +} + +int +dir_deg(d) + int d; +{ + switch (d) { + case 0: return (0); + case 1: return (45); + case 2: return (90); + case 3: return (135); + case 4: return (180); + case 5: return (225); + case 6: return (270); + case 7: return (315); + default: + return (-1); + } +} diff --git a/backgammon/Makefile.bsd b/backgammon/Makefile.bsd new file mode 100644 index 0000000..adf2824 --- /dev/null +++ b/backgammon/Makefile.bsd @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.6 2001/01/09 03:13:39 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +SUBDIR= common_source .WAIT backgammon teachgammon + +.include diff --git a/backgammon/Makefile.inc.bsd b/backgammon/Makefile.inc.bsd new file mode 100644 index 0000000..427d624 --- /dev/null +++ b/backgammon/Makefile.inc.bsd @@ -0,0 +1,12 @@ +# $NetBSD: Makefile.inc,v 1.6 2000/12/30 17:51:26 sommerfeld Exp $ + +.include + +LIBCOMMON != cd ${.CURDIR}/../common_source; ${PRINTOBJDIR} +CPPFLAGS+=-DV7 -I${.CURDIR}/../common_source +DPADD+= ${LIBCOMMON}/libcommon.a ${LIBTERMCAP} +LDADD+= -L${LIBCOMMON} -lcommon -ltermcap + +HIDEGAME=hidegame + +.include "../Makefile.inc" diff --git a/backgammon/Makefrag b/backgammon/Makefrag new file mode 100644 index 0000000..a9b4d02 --- /dev/null +++ b/backgammon/Makefrag @@ -0,0 +1,31 @@ +# Makefrag - makefile fragment for backgammon +# +# Copyright (c) 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +backgammon_all: + +backgammon_install: diff --git a/backgammon/backgammon/Makefile.bsd b/backgammon/backgammon/Makefile.bsd new file mode 100644 index 0000000..2a8d29b --- /dev/null +++ b/backgammon/backgammon/Makefile.bsd @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.9 1997/10/10 08:59:34 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= backgammon +SRCS= extra.c main.c move.c text.c version.c +MAN= backgammon.6 + +.include diff --git a/backgammon/backgammon/Makefrag b/backgammon/backgammon/Makefrag new file mode 100644 index 0000000..92d3b6a --- /dev/null +++ b/backgammon/backgammon/Makefrag @@ -0,0 +1,38 @@ +# Makefile - makefile fragment for backgammon/backgammon +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +backgammon_backgammon_DEFS := -DV7 +backgammon_backgammon_DIRS := $(GAMESDIR) $(MAN6DIR) +backgammon_backgammon_INCS := -Ibackgammon/common_source + +backgammon_backgammon_all: backgammon/backgammon/backgammon backgammon/backgammon/backgammon.6 + +backgammon_backgammon_install: backgammon_backgammon_all + $(INSTALL_BINARY) backgammon/backgammon/backgammon $(INSTALL_PREFIX)$(GAMESDIR)/backgammon + $(HIDE_GAME) backgammon + $(INSTALL_MANUAL) backgammon/backgammon/backgammon.6 diff --git a/backgammon/backgammon/backgammon.6.in b/backgammon/backgammon/backgammon.6.in new file mode 100644 index 0000000..af7ce7d --- /dev/null +++ b/backgammon/backgammon/backgammon.6.in @@ -0,0 +1,181 @@ +.\" $NetBSD: backgammon.6,v 1.11 2003/08/07 09:36:55 agc Exp $ +.\" +.\" Copyright (c) 1980, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)backgammon.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt BACKGAMMON 6 +.Os +.Sh NAME +.Nm backgammon +.Nd the game of backgammon +.br +.Nm teachgammon +.Nd learn to play backgammon +.Sh SYNOPSIS +.Nm +.Op Fl +.Op Fl nrwb +.Op Fl pr +.Op Fl pw +.Op Fl pb +.Op Fl t Ar term +.Op Fl s Ar file +.br +.Nm teachgammon +.Sh DESCRIPTION +This program lets you play backgammon against the computer +or against a "friend". +All commands are only one letter, so you don't need to type a carriage return, +except at the end of a move. +The program is mostly self-explanatory, +so that a question mark (?) will usually get some help. +If you answer `y' when the program asks if you want the rules, +you will get text explaining the rules of the game, some hints on strategy, +instructions on how to use the program, +and a tutorial consisting of a practice game against the computer. +A description of how to use the program can be +obtained by answering `y' when it asks if you want instructions. +.Pp +The possible arguments for backgammon +(most are unnecessary but some are very convenient) +consist of: +.Bl -tag -width indent +.It Fl n +don't ask for rules or instructions +.It Fl r +player is red (implies n) +.It Fl w +player is white (implies n) +.It Fl b +two players, red and white (implies n) +.It Fl pr +print the board before red's turn +.It Fl pw +print the board before white's turn +.It Fl pb +print the board before both player's turn +.It Fl t Ar term +terminal is type +.Ar term , +uses +.Pa /usr/share/misc/termcap +.It Fl s Ar file +recover previously saved game from +.Ar file +.El +.Pp +.\" +.\" Arguments may be optionally preceded by a `-'. +.\" Several arguments may be concatenated together, +.\" but not after `s' or `t' arguments, +.\" since they can be followed by an arbitrary string. +Any unrecognized arguments are ignored. +An argument of a lone `-' gets a description of possible arguments. +.Pp +If +.Ar term +has capabilities for direct cursor movement (see +.Xr termcap 5 ) +.Nm +``fixes'' the board after each move, +so the board does not need to be reprinted, +unless the screen suffers some horrendous malady. +Also, any `p' option will be ignored. +(The `t' option is not necessary unless the terminal type does not match +the entry in the +.Pa /usr/share/misc/termcap +data base.) +.Sh QUICK REFERENCE +When the program prompts by typing only your color, +type a space or carriage return to roll, or +.Bl -tag -width indent +.It Ic d +to double +.It Ic p +to print the board +.It Ic q +to quit +.It Ic s +to save the game for later +.El +.Pp +When the program prompts with 'Move:', type +.Bl -tag -width indent +.It Ic p +to print the board +.It Ic q +to quit +.It Ic s +to save the game +.El +.Pp +or a +.Em move , +which is a sequence of +.Bl -tag -width indent +.It Ic s-f +move from +.Ic s +to +.Ic f +.It Ic s/r +move one man on +.Ic s +the roll +.Ic r +separated by commas or spaces and ending with a newline. +Available abbreviations are +.Bl -tag -width indent +.It Ic s-f1-f2 +means +.Ic s-f1,f1-f2 +.It Ic s/r1r2 +means +.Ic s/r1,s/r2 +.El +.El +.Pp +Use +.Ic b +for bar and +.Ic h +for home, +or 0 or 25 as appropriate. +.Sh AUTHOR +.An Alan Char +.Sh FILES +.Bl -tag -width /usr/share/misc/termcap -compact +.It Pa @gamesdir@/teachgammon +rules and tutorial +.It Pa /usr/share/misc/termcap +terminal capabilities +.El +.Sh BUGS +The program's strategy needs much work. diff --git a/backgammon/backgammon/backlocal.h b/backgammon/backgammon/backlocal.h new file mode 100644 index 0000000..f3b49a2 --- /dev/null +++ b/backgammon/backgammon/backlocal.h @@ -0,0 +1,48 @@ +/* $NetBSD: backlocal.h,v 1.2 2004/01/27 20:30:28 jsm Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Luke Mewburn. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +void dble(void); +int dblgood(void); +int eval(void); +int freemen(int); +void movcmp(void); +void move(int); +int movegood(void); +void pickmove(void); +int trapped(int, int); +void trymove(int, int); diff --git a/backgammon/backgammon/extra.c b/backgammon/backgammon/extra.c new file mode 100644 index 0000000..a5b5faa --- /dev/null +++ b/backgammon/backgammon/extra.c @@ -0,0 +1,254 @@ +/* $NetBSD: extra.c,v 1.5 2003/08/07 09:36:55 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)extra.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: extra.c,v 1.5 2003/08/07 09:36:55 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "backlocal.h" + +#ifdef DEBUG +FILE *trace; +#endif + +/* + * dble() + * Have the current player double and ask opponent to accept. + */ + +void +dble() +{ + int resp; /* response to y/n */ + + for (;;) { + writel(" doubles."); /* indicate double */ + + if (cturn == -pnum) { /* see if computer accepts */ + if (dblgood()) { /* guess not */ + writel(" Declined.\n"); + nexturn(); + cturn *= -2; /* indicate loss */ + return; + } else {/* computer accepts */ + writel(" Accepted.\n"); + gvalue *= 2; /* double game value */ + dlast = cturn; + if (tflag) + gwrite(); + return; + } + } + /* ask if player accepts */ + writel(" Does "); + writel(cturn == 1 ? color[2] : color[3]); + writel(" accept?"); + + /* get response from yorn, a "2" means he said "p" for print + * board. */ + if ((resp = yorn('R')) == 2) { + writel(" Reprint.\n"); + buflush(); + wrboard(); + writel(*Colorptr); + continue; + } + /* check response */ + if (resp) { + /* accepted */ + gvalue *= 2; + dlast = cturn; + if (tflag) + gwrite(); + return; + } + nexturn(); /* declined */ + cturn *= -2; + return; + } +} +/* + * dblgood () + * Returns 1 if the computer would double in this position. This + * is not an exact science. The computer will decline a double that he + * would have made. Accumulated judgments are kept in the variable n, + * which is in "pips", i.e., the position of each man summed over all + * men, with opponent's totals negative. Thus, n should have a positive + * value of 7 for each move ahead, or a negative value of 7 for each one + * behind. + */ + +int +dblgood() +{ + int n; /* accumulated judgment */ + int OFFC = *offptr; /* no. of computer's men off */ + int OFFO = *offopp; /* no. of player's men off */ + +#ifdef DEBUG + int i; + if (trace == NULL) + trace = fopen("bgtrace", "w"); +#endif + + /* get real pip value */ + n = eval() * cturn; +#ifdef DEBUG + fputs("\nDoubles:\nBoard: ", trace); + for (i = 0; i < 26; i++) + fprintf(trace, " %d", board[i]); + fprintf(trace, "\n\tpip = %d, ", n); +#endif + + /* below adjusts pip value according to position judgments */ + + /* check men moving off board */ + if (OFFC > -15 || OFFO > -15) { + if (OFFC < 0 && OFFO < 0) { + OFFC += 15; + OFFO += 15; + n += ((OFFC - OFFO) * 7) / 2; + } else + if (OFFC < 0) { + OFFC += 15; + n -= OFFO * 7 / 2; + } else + if (OFFO < 0) { + OFFO += 15; + n += OFFC * 7 / 2; + } + if (OFFC < 8 && OFFO > 8) + n -= 7; + if (OFFC < 10 && OFFO > 10) + n -= 7; + if (OFFC < 12 && OFFO > 12) + n -= 7; + if (OFFO < 8 && OFFC > 8) + n += 7; + if (OFFO < 10 && OFFC > 10) + n += 7; + if (OFFO < 12 && OFFC > 12) + n += 7; + n += ((OFFC - OFFO) * 7) / 2; + } +#ifdef DEBUG + fprintf(trace, "off = %d, ", n); +#endif + + /* see if men are trapped */ + n -= freemen(bar); + n += freemen(home); + n += trapped(home, -cturn); + n -= trapped(bar, cturn); + +#ifdef DEBUG + fprintf(trace, "free = %d\n", n); + fprintf(trace, "\tOFFC = %d, OFFO = %d\n", OFFC, OFFO); + fflush(trace); +#endif + + /* double if 2-3 moves ahead */ + if (n > 10 + rnum(7)) + return (1); + return (0); +} + +int +freemen(b) + int b; +{ + int i, inc, lim; + + odds(0, 0, 0); + if (board[b] == 0) + return (0); + inc = (b == 0 ? 1 : -1); + lim = (b == 0 ? 7 : 18); + for (i = b + inc; i != lim; i += inc) + if (board[i] * inc < -1) + odds(abs(b - i), 0, abs(board[b])); + if (abs(board[b]) == 1) + return ((36 - count()) / 5); + return (count() / 5); +} + +int +trapped(n, inc) + int n, inc; +{ + int i, j, k; + int c, l, ct; + + ct = 0; + l = n + 7 * inc; + for (i = n + inc; i != l; i += inc) { + odds(0, 0, 0); + c = abs(i - l); + if (board[i] * inc > 0) { + for (j = c; j < 13; j++) + if (board[i + inc * j] * inc < -1) { + if (j < 7) + odds(j, 0, 1); + for (k = 1; k < 7 && k < j; k++) + if (j - k < 7) + odds(k, j - k, 1); + } + ct += abs(board[i]) * (36 - count()); + } + } + return (ct / 5); +} + +int +eval() +{ + int i, j; + + for (j = i = 0; i < 26; i++) + j += (board[i] >= 0 ? i * board[i] : (25 - i) * board[i]); + + if (off[1] >= 0) + j += 25 * off[1]; + else + j += 25 * (off[1] + 15); + + if (off[0] >= 0) + j -= 25 * off[0]; + else + j -= 25 * (off[0] + 15); + return (j); +} diff --git a/backgammon/backgammon/main.c b/backgammon/backgammon/main.c new file mode 100644 index 0000000..f0b8843 --- /dev/null +++ b/backgammon/backgammon/main.c @@ -0,0 +1,533 @@ +/* $NetBSD: main.c,v 1.21 2005/02/15 12:56:20 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1980, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: main.c,v 1.21 2005/02/15 12:56:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include + +#include "back.h" +#include "backlocal.h" + +#define MVPAUSE 5 /* time to sleep when stuck */ + +extern const char *const instr[]; /* text of instructions */ +extern const char *const message[]; /* update message */ +#ifndef NCURSES_VERSION +short ospeed; /* tty output speed */ +#endif + +const char *const helpm[] = { /* help message */ + "Enter a space or newline to roll, or", + " R to reprint the board\tD to double", + " S to save the game\tQ to quit", + 0 +}; + +const char *const contin[] = { /* pause message */ + "(Type a newline to continue.)", + "", + 0 +}; +static const char rules[] = "\nDo you want the rules of the game?"; +static const char noteach[] = "Teachgammon not available!\n\a"; +static const char need[] = "Do you need instructions for this program?"; +static const char askcol[] = +"Enter 'r' to play red, 'w' to play white, 'b' to play both:"; +static const char rollr[] = "Red rolls a "; +static const char rollw[] = ". White rolls a "; +static const char rstart[] = ". Red starts.\n"; +static const char wstart[] = ". White starts.\n"; +static const char toobad1[] = "Too bad, "; +static const char unable[] = " is unable to use that roll.\n"; +static const char toobad2[] = ". Too bad, "; +static const char cantmv[] = " can't move.\n"; +static const char bgammon[] = "Backgammon! "; +static const char gammon[] = "Gammon! "; +static const char again[] = ".\nWould you like to play again?"; +static const char svpromt[] = "Would you like to save this game?"; + +static const char password[] = "losfurng"; +static char pbuf[10]; + +int +main(argc, argv) + int argc __attribute__((__unused__)); + char **argv; +{ + int i; /* non-descript index */ + int l; /* non-descript index */ + char c; /* non-descript character storage */ + long t; /* time for random num generator */ + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + /* initialization */ + bflag = 2; /* default no board */ + signal(SIGINT, getout); /* trap interrupts */ + if (tcgetattr(0, &old) == -1) /* get old tty mode */ + errexit("backgammon(gtty)"); + noech = old; + noech.c_lflag &= ~ECHO; + bg_raw = noech; + bg_raw.c_lflag &= ~ICANON; /* set up modes */ + ospeed = cfgetospeed(&old); /* for termlib */ + + /* get terminal capabilities, and decide if it can cursor address */ + tflag = getcaps(getenv("TERM")); + /* use whole screen for text */ + if (tflag) + begscr = 0; + t = time(NULL); + srandom(t); /* 'random' seed */ + +#ifdef V7 + while (*++argv != 0) /* process arguments */ +#else + while (*++argv != -1) /* process arguments */ +#endif + getarg(&argv); + args[acnt] = '\0'; + if (tflag) { /* clear screen */ + noech.c_oflag &= ~(ONLCR | OXTABS); + bg_raw.c_oflag &= ~(ONLCR | OXTABS); + clear(); + } + fixtty(&bg_raw); /* go into raw mode */ + + /* check if restored game and save flag for later */ + if ((rfl = rflag) != 0) { + text(message); /* print message */ + text(contin); + wrboard(); /* print board */ + /* if new game, pretend to be a non-restored game */ + if (cturn == 0) + rflag = 0; + } else { + rscore = wscore = 0; /* zero score */ + text(message); /* update message without pausing */ + + if (aflag) { /* print rules */ + writel(rules); + if (yorn(0)) { + + fixtty(&old); /* restore tty */ + execl(TEACH, "teachgammon", args[1]?args:0, + (char *) 0); + + tflag = 0; /* error! */ + writel(noteach); + exit(1); + } else {/* if not rules, then instructions */ + writel(need); + if (yorn(0)) { /* print instructions */ + clear(); + text(instr); + } + } + } + init(); /* initialize board */ + + if (pnum == 2) {/* ask for color(s) */ + writec('\n'); + writel(askcol); + while (pnum == 2) { + c = readc(); + switch (c) { + + case 'R': /* red */ + pnum = -1; + break; + + case 'W': /* white */ + pnum = 1; + break; + + case 'B': /* both */ + pnum = 0; + break; + + case 'P': + if (iroll) + break; + if (tflag) + curmove(curr, 0); + else + writec('\n'); + writel("Password:"); + signal(SIGALRM, getout); + cflag = 1; + alarm(10); + for (i = 0; i < 10; i++) { + pbuf[i] = readc(); + if (pbuf[i] == '\n') + break; + } + if (i == 10) + while (readc() != '\n'); + alarm(0); + cflag = 0; + if (i < 10) + pbuf[i] = '\0'; + for (i = 0; i < 9; i++) + if (pbuf[i] != password[i]) + getout(0); + iroll = 1; + if (tflag) + curmove(curr, 0); + else + writec('\n'); + writel(askcol); + break; + + default: /* error */ + writec('\007'); + } + } + } else + if (!aflag) + /* pause to read message */ + text(contin); + + wrboard(); /* print board */ + + if (tflag) + curmove(18, 0); + else + writec('\n'); + } + /* limit text to bottom of screen */ + if (tflag) + begscr = 17; + + for (;;) { /* begin game! */ + /* initial roll if needed */ + if ((!rflag) || raflag) + roll(); + + /* perform ritual of first roll */ + if (!rflag) { + if (tflag) + curmove(17, 0); + while (D0 == D1) /* no doubles */ + roll(); + + /* print rolls */ + writel(rollr); + writec(D0 + '0'); + writel(rollw); + writec(D1 + '0'); + + /* winner goes first */ + if (D0 > D1) { + writel(rstart); + cturn = 1; + } else { + writel(wstart); + cturn = -1; + } + } + /* initialize variables according to whose turn it is */ + + if (cturn == 1) { /* red */ + home = 25; + bar = 0; + inptr = &in[1]; + inopp = &in[0]; + offptr = &off[1]; + offopp = &off[0]; + Colorptr = &color[1]; + colorptr = &color[3]; + colen = 3; + } else { /* white */ + home = 0; + bar = 25; + inptr = &in[0]; + inopp = &in[1]; + offptr = &off[0]; + offopp = &off[1]; + Colorptr = &color[0]; + colorptr = &color[2]; + colen = 5; + } + + /* do first move (special case) */ + if (!(rflag && raflag)) { + if (cturn == pnum) /* computer's move */ + move(0); + else { /* player's move */ + mvlim = movallow(); + /* reprint roll */ + if (tflag) + curmove(cturn == -1 ? 18 : 19, 0); + proll(); + getmove(); /* get player's move */ + } + } + if (tflag) { + curmove(17, 0); + cline(); + begscr = 18; + } + /* no longer any diff- erence between normal game and + * recovered game. */ + rflag = 0; + + /* move as long as it's someone's turn */ + while (cturn == 1 || cturn == -1) { + + /* board maintainence */ + if (tflag) + refresh(); /* fix board */ + else + /* redo board if -p */ + if (cturn == bflag || bflag == 0) + wrboard(); + + /* do computer's move */ + if (cturn == pnum) { + move(1); + + /* see if double refused */ + if (cturn == -2 || cturn == 2) + break; + + /* check for winning move */ + if (*offopp == 15) { + cturn *= -2; + break; + } + continue; + + } + /* (player's move) */ + + /* clean screen if safe */ + if (tflag && hflag) { + curmove(20, 0); + clend(); + hflag = 1; + } + /* if allowed, give him a chance to double */ + if (dlast != cturn && gvalue < 64) { + if (tflag) + curmove(cturn == -1 ? 18 : 19, 0); + writel(*Colorptr); + c = readc(); + + /* character cases */ + switch (c) { + + /* reprint board */ + case 'R': + wrboard(); + break; + + /* save game */ + case 'S': + raflag = 1; + save(1); + break; + + /* quit */ + case 'Q': + quit(); + break; + + /* double */ + case 'D': + dble(); + break; + + /* roll */ + case ' ': + case '\n': + roll(); + writel(" rolls "); + writec(D0 + '0'); + writec(' '); + writec(D1 + '0'); + writel(". "); + + /* see if he can move */ + if ((mvlim = movallow()) == 0) { + + /* can't move */ + writel(toobad1); + writel(*colorptr); + writel(unable); + if (tflag) { + if (pnum) { + buflush(); + sleep(MVPAUSE); + } + } + nexturn(); + break; + } + /* get move */ + getmove(); + + /* okay to clean screen */ + hflag = 1; + break; + + /* invalid character */ + default: + + /* print help message */ + if (tflag) + curmove(20, 0); + else + writec('\n'); + text(helpm); + if (tflag) + curmove(cturn == -1 ? 18 : 19, 0); + else + writec('\n'); + + /* don't erase */ + hflag = 0; + } + } else {/* couldn't double */ + + /* print roll */ + roll(); + if (tflag) + curmove(cturn == -1 ? 18 : 19, 0); + proll(); + + /* can he move? */ + if ((mvlim = movallow()) == 0) { + + /* he can't */ + writel(toobad2); + writel(*colorptr); + writel(cantmv); + buflush(); + sleep(MVPAUSE); + nexturn(); + continue; + } + /* get move */ + getmove(); + } + } + + /* don't worry about who won if quit */ + if (cturn == 0) + break; + + /* fix cturn = winner */ + cturn /= -2; + + /* final board pos. */ + if (tflag) + refresh(); + + /* backgammon? */ + mflag = 0; + l = bar + 7 * cturn; + for (i = bar; i != l; i += cturn) + if (board[i] * cturn) + mflag++; + + /* compute game value */ + if (tflag) + curmove(20, 0); + if (*offopp == 15 && (*offptr == 0 || *offptr == -15)) { + if (mflag) { + writel(bgammon); + gvalue *= 3; + } else { + writel(gammon); + gvalue *= 2; + } + } + /* report situation */ + if (cturn == -1) { + writel("Red wins "); + rscore += gvalue; + } else { + writel("White wins "); + wscore += gvalue; + } + wrint(gvalue); + writel(" point"); + if (gvalue > 1) + writec('s'); + writel(".\n"); + + /* write score */ + wrscore(); + + /* see if he wants another game */ + writel(again); + if ((i = yorn('S')) == 0) + break; + + init(); + if (i == 2) { + writel(" Save.\n"); + cturn = 0; + save(0); + } + /* yes, reset game */ + wrboard(); + } + + /* give him a chance to save if game was recovered */ + if (rfl && cturn) { + writel(svpromt); + if (yorn(0)) { + /* re-initialize for recovery */ + init(); + cturn = 0; + save(0); + } + } + /* leave peacefully */ + getout(0); + /* NOTREACHED */ + return (0); +} diff --git a/backgammon/backgammon/move.c b/backgammon/backgammon/move.c new file mode 100644 index 0000000..9fd81f1 --- /dev/null +++ b/backgammon/backgammon/move.c @@ -0,0 +1,567 @@ +/* $NetBSD: move.c,v 1.8 2004/01/27 20:30:28 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)move.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: move.c,v 1.8 2004/01/27 20:30:28 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "backlocal.h" + +#ifdef DEBUG +FILE *trace; +static char tests[20]; +#endif + +struct BOARD { /* structure of game position */ + int b_board[26]; /* board position */ + int b_in[2]; /* men in */ + int b_off[2]; /* men off */ + int b_st[4], b_fn[4]; /* moves */ + + struct BOARD *b_next; /* forward queue pointer */ +}; + +struct BOARD *freeq = 0; +struct BOARD *checkq = 0; + + /* these variables are values for the candidate move */ +static int ch; /* chance of being hit */ +static int op; /* computer's open men */ +static int pt; /* comp's protected points */ +static int em; /* farthest man back */ +static int frc; /* chance to free comp's men */ +static int frp; /* chance to free pl's men */ + + /* these values are the values for the move chosen (so far) */ +static int chance; /* chance of being hit */ +static int openmen; /* computer's open men */ +static int points; /* comp's protected points */ +static int endman; /* farthest man back */ +static int barmen; /* men on bar */ +static int menin; /* men in inner table */ +static int menoff; /* men off board */ +static int oldfrc; /* chance to free comp's men */ +static int oldfrp; /* chance to free pl's men */ + +static int cp[5]; /* candidate start position */ +static int cg[5]; /* candidate finish position */ + +static int race; /* game reduced to a race */ + + +static int bcomp(struct BOARD *, struct BOARD *); +static struct BOARD *bsave(void); +static void binsert(struct BOARD *); +static void boardcopy(struct BOARD *); +static void makefree(struct BOARD *); +static void mvcheck(struct BOARD *, struct BOARD *); +static struct BOARD *nextfree(void); + + +void +move(okay) + int okay; /* zero if first move */ +{ + int i; /* index */ + int l; /* last man */ + + l = 0; + if (okay) { + /* see if comp should double */ + if (gvalue < 64 && dlast != cturn && dblgood()) { + writel(*Colorptr); + dble(); /* double */ + /* return if declined */ + if (cturn != 1 && cturn != -1) + return; + } + roll(); + } + race = 0; + for (i = 0; i < 26; i++) { + if (board[i] < 0) + l = i; + } + for (i = 0; i < l; i++) { + if (board[i] > 0) + break; + } + if (i == l) + race = 1; + + /* print roll */ + if (tflag) + curmove(cturn == -1 ? 18 : 19, 0); + writel(*Colorptr); + writel(" rolls "); + writec(D0 + '0'); + writec(' '); + writec(D1 + '0'); + /* make tty interruptable while thinking */ + if (tflag) + cline(); + fixtty(&noech); + + /* find out how many moves */ + mvlim = movallow(); + if (mvlim == 0) { + writel(" but cannot use it.\n"); + nexturn(); + fixtty(&bg_raw); + return; + } + /* initialize */ + for (i = 0; i < 4; i++) + cp[i] = cg[i] = 0; + + /* strategize */ + trymove(0, 0); + pickmove(); + + /* print move */ + writel(" and moves "); + for (i = 0; i < mvlim; i++) { + if (i > 0) + writec(','); + wrint(p[i] = cp[i]); + writec('-'); + wrint(g[i] = cg[i]); + makmove(i); + } + writec('.'); + + /* print blots hit */ + if (tflag) + curmove(20, 0); + else + writec('\n'); + for (i = 0; i < mvlim; i++) + if (h[i]) + wrhit(g[i]); + /* get ready for next move */ + nexturn(); + if (!okay) { + buflush(); + sleep(3); + } + fixtty(&bg_raw); /* no more tty interrupt */ +} + +void +trymove(mvnum, swapped) + int mvnum; /* number of move (rel zero) */ + int swapped; /* see if swapped also tested */ +{ + int pos; /* position on board */ + int rval; /* value of roll */ + + /* if recursed through all dice values, compare move */ + if (mvnum == mvlim) { + binsert(bsave()); + return; + } + /* make sure dice in always same order */ + if (d0 == swapped) + swap; + /* choose value for this move */ + rval = dice[mvnum != 0]; + + /* find all legitimate moves */ + for (pos = bar; pos != home; pos += cturn) { + /* fix order of dice */ + if (d0 == swapped) + swap; + /* break if stuck on bar */ + if (board[bar] != 0 && pos != bar) + break; + /* on to next if not occupied */ + if (board[pos] * cturn <= 0) + continue; + /* set up arrays for move */ + p[mvnum] = pos; + g[mvnum] = pos + rval * cturn; + if (g[mvnum] * cturn >= home) { + if (*offptr < 0) + break; + g[mvnum] = home; + } + /* try to move */ + if (makmove(mvnum)) + continue; + else + trymove(mvnum + 1, 2); + /* undo move to try another */ + backone(mvnum); + } + + /* swap dice and try again */ + if ((!swapped) && D0 != D1) + trymove(0, 1); +} + +static struct BOARD * +bsave() +{ + int i; /* index */ + struct BOARD *now; /* current position */ + + now = nextfree(); /* get free BOARD */ + + /* store position */ + for (i = 0; i < 26; i++) + now->b_board[i] = board[i]; + now->b_in[0] = in[0]; + now->b_in[1] = in[1]; + now->b_off[0] = off[0]; + now->b_off[1] = off[1]; + for (i = 0; i < mvlim; i++) { + now->b_st[i] = p[i]; + now->b_fn[i] = g[i]; + } + return (now); +} + +static void +binsert(new) + struct BOARD *new; /* item to insert */ +{ + struct BOARD *p = checkq; /* queue pointer */ + int result; /* comparison result */ + + if (p == 0) { /* check if queue empty */ + checkq = p = new; + p->b_next = 0; + return; + } + result = bcomp(new, p); /* compare to first element */ + if (result < 0) { /* insert in front */ + new->b_next = p; + checkq = new; + return; + } + if (result == 0) { /* duplicate entry */ + mvcheck(p, new); + makefree(new); + return; + } + while (p->b_next != 0) {/* traverse queue */ + result = bcomp(new, p->b_next); + if (result < 0) { /* found place */ + new->b_next = p->b_next; + p->b_next = new; + return; + } + if (result == 0) { /* duplicate entry */ + mvcheck(p->b_next, new); + makefree(new); + return; + } + p = p->b_next; + } + /* place at end of queue */ + p->b_next = new; + new->b_next = 0; +} + +static int +bcomp(a, b) + struct BOARD *a; + struct BOARD *b; +{ + int *aloc = a->b_board; /* pointer to board a */ + int *bloc = b->b_board; /* pointer to board b */ + int i; /* index */ + int result; /* comparison result */ + + for (i = 0; i < 26; i++) { /* compare boards */ + result = cturn * (aloc[i] - bloc[i]); + if (result) + return (result); /* found inequality */ + } + return (0); /* same position */ +} + +static void +mvcheck(incumbent, candidate) + struct BOARD *incumbent; + struct BOARD *candidate; +{ + int i; + int result; + + for (i = 0; i < mvlim; i++) { + result = cturn * (candidate->b_st[i] - incumbent->b_st[i]); + if (result > 0) + return; + if (result < 0) + break; + } + if (i == mvlim) + return; + for (i = 0; i < mvlim; i++) { + incumbent->b_st[i] = candidate->b_st[i]; + incumbent->b_fn[i] = candidate->b_fn[i]; + } +} + +void +makefree(dead) + struct BOARD *dead; /* dead position */ +{ + dead->b_next = freeq; /* add to freeq */ + freeq = dead; +} + +static struct BOARD * +nextfree() +{ + struct BOARD *new; + + if (freeq == 0) { + new = (struct BOARD *) calloc(1, sizeof(struct BOARD)); + if (new == 0) { + writel("\nOut of memory\n"); + getout(0); + } + } else { + new = freeq; + freeq = freeq->b_next; + } + + new->b_next = 0; + return (new); +} + +void +pickmove() +{ + /* current game position */ + struct BOARD *now = bsave(); + struct BOARD *next; /* next move */ + +#ifdef DEBUG + if (trace == NULL) + trace = fopen("bgtrace", "w"); + fprintf(trace, "\nRoll: %d %d%s\n", D0, D1, race ? " (race)" : ""); + fflush(trace); +#endif + do { /* compare moves */ + boardcopy(checkq); + next = checkq->b_next; + makefree(checkq); + checkq = next; + movcmp(); + } while (checkq != 0); + + boardcopy(now); +} + +static void +boardcopy(s) + struct BOARD *s; /* game situation */ +{ + int i; /* index */ + + for (i = 0; i < 26; i++) + board[i] = s->b_board[i]; + for (i = 0; i < 2; i++) { + in[i] = s->b_in[i]; + off[i] = s->b_off[i]; + } + for (i = 0; i < mvlim; i++) { + p[i] = s->b_st[i]; + g[i] = s->b_fn[i]; + } +} + +void +movcmp() +{ + int i; + +#ifdef DEBUG + if (trace == NULL) + trace = fopen("bgtrace", "w"); +#endif + + odds(0, 0, 0); + if (!race) { + ch = op = pt = 0; + for (i = 1; i < 25; i++) { + if (board[i] == cturn) + ch = canhit(i, 1); + op += abs(bar - i); + } + for (i = bar + cturn; i != home; i += cturn) + if (board[i] * cturn > 1) + pt += abs(bar - i); + frc = freemen(bar) + trapped(bar, cturn); + frp = freemen(home) + trapped(home, -cturn); + } + for (em = bar; em != home; em += cturn) + if (board[em] * cturn > 0) + break; + em = abs(home - em); +#ifdef DEBUG + fputs("Board: ", trace); + for (i = 0; i < 26; i++) + fprintf(trace, " %d", board[i]); + if (race) + fprintf(trace, "\n\tem = %d\n", em); + else + fprintf(trace, + "\n\tch = %d, pt = %d, em = %d, frc = %d, frp = %d\n", + ch, pt, em, frc, frp); + fputs("\tMove: ", trace); + for (i = 0; i < mvlim; i++) + fprintf(trace, " %d-%d", p[i], g[i]); + fputs("\n", trace); + fflush(trace); + strcpy(tests, ""); +#endif + if ((cp[0] == 0 && cg[0] == 0) || movegood()) { +#ifdef DEBUG + fprintf(trace, "\t[%s] ... wins.\n", tests); + fflush(trace); +#endif + for (i = 0; i < mvlim; i++) { + cp[i] = p[i]; + cg[i] = g[i]; + } + if (!race) { + chance = ch; + openmen = op; + points = pt; + endman = em; + barmen = abs(board[home]); + oldfrc = frc; + oldfrp = frp; + } + menin = *inptr; + menoff = *offptr; + } +#ifdef DEBUG + else { + fprintf(trace, "\t[%s] ... loses.\n", tests); + fflush(trace); + } +#endif +} + +int +movegood() +{ + int n; + + if (*offptr == 15) + return (1); + if (menoff == 15) + return (0); + if (race) { +#ifdef DEBUG + strcat(tests, "o"); +#endif + if (*offptr - menoff) + return (*offptr > menoff); +#ifdef DEBUG + strcat(tests, "e"); +#endif + if (endman - em) + return (endman > em); +#ifdef DEBUG + strcat(tests, "i"); +#endif + if (menin == 15) + return (0); + if (*inptr == 15) + return (1); +#ifdef DEBUG + strcat(tests, "i"); +#endif + if (*inptr - menin) + return (*inptr > menin); + return (rnum(2)); + } else { + n = barmen - abs(board[home]); +#ifdef DEBUG + strcat(tests, "c"); +#endif + if (abs(chance - ch) + 25 * n > rnum(150)) + return (n ? (n < 0) : (ch < chance)); +#ifdef DEBUG + strcat(tests, "o"); +#endif + if (*offptr - menoff) + return (*offptr > menoff); +#ifdef DEBUG + strcat(tests, "o"); +#endif + if (abs(openmen - op) > 7 + rnum(12)) + return (openmen > op); +#ifdef DEBUG + strcat(tests, "b"); +#endif + if (n) + return (n < 0); +#ifdef DEBUG + strcat(tests, "e"); +#endif + if (abs(endman - em) > rnum(2)) + return (endman > em); +#ifdef DEBUG + strcat(tests, "f"); +#endif + if (abs(frc - oldfrc) > rnum(2)) + return (frc < oldfrc); +#ifdef DEBUG + strcat(tests, "p"); +#endif + if (abs(n = pt - points) > rnum(4)) + return (n > 0); +#ifdef DEBUG + strcat(tests, "i"); +#endif + if (*inptr - menin) + return (*inptr > menin); +#ifdef DEBUG + strcat(tests, "f"); +#endif + if (abs(frp - oldfrp) > rnum(2)) + return (frp > oldfrp); + return (rnum(2)); + } +} diff --git a/backgammon/backgammon/text.c b/backgammon/backgammon/text.c new file mode 100644 index 0000000..ed02ba1 --- /dev/null +++ b/backgammon/backgammon/text.c @@ -0,0 +1,135 @@ +/* $NetBSD: text.c,v 1.7 2003/08/07 09:36:56 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)text.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: text.c,v 1.7 2003/08/07 09:36:56 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +const char *const instr[] = { + " If you did not notice by now, this program reacts to things as", + "soon as you type them, without waiting for a newline. This means that", + "the special characters RUBOUT, ESC, and CONTROL-D, will not perform", + "their special functions during most of this program. The program", + "should usually stop when a RUBOUT is typed, but occasionally it will", + "ignore RUBOUTs until it is waiting for input.\n", + " These instructions are presented in small chunks designed not to", + "roll off the top of your screen. When the characters '-->' are print-", + "ed, no more data will be printed until a space or newline is typed.", + "In this way, you can finish one section before continuing to another.", + "Like this:", + "", + " The two sides are colored 'red' and 'white.' The computer may play", + "one side, or if there are two players, the computer can merely act as", + "a gamekeeper, letting the players make the moves. Once you tell the", + "computer what color(s) you want to play, the decision remains in ef-", + "fect until you quit the program, even if you play more than one game,", + "since the program keeps a running score.\n", + " The program will prompt for a move in one of two ways. If the", + "player has the opportunity to double, then merely his color will be", + "typed out. The player can now do one of several things. He can dou-", + "ble by typing a 'd', he can roll by typing a space (' ') or newline,", + "or if he is not sure, he can reprint the board by typing a 'r'.\n", + " If the player cannot double, his roll will be thrust in front of", + "him, followed by the request 'Move:', asking for a move but not giving", + "him the chance to double. He can still ask for the board by typing", + "'r'. In either of these two states, the player can quit by typing 'q'", + "or save the game by typing 's'. In either case, the player will be", + "asked to verify, in case there was some error. The program then ends", + "immediately, after first saving the file if so requested.", + "", + " A player can move one of his men using two forms of input. The", + "first form is -, where is the starting position, and is", + "the finishing position of the player's man. For example, if white", + "wanted to move a piece from position 13 to position 8, his move could", + "be entered as 13-8. The second form is / where is the", + "starting position, an is the roll actually made. Hence, white", + "could have entered as 13/5 instead of 13-8.\n", + " A player must move each roll of the dice separately. For example,", + "if a player rolled 4 3, and wanted to move from 13 to 6, he could", + "enter it as 13/4,9/3 or 13/3,10/4 or 13-10,10-6 or 13-9,9-6, but not", + "13-6. The last two entries can be shortened to 13-10-6 and 13-9-6.", + "If you want to move more than one piece from the same position, such", + "as 13-10,13-9, you can abbreviate this using the / format as by", + "entering more than one , or 13/34. A player can use both forms for", + "the same roll, e.g. 13/3,13-9, and separates individual moves by ei-", + "ther a comma or a space. The letter 'b' represents the bar, and the", + "letter 'h' represents a player's home. You could also enter the", + "number that would be in the position of the bar, 25 or 0 as appropri-", + "ate. Use a newline at the end of your moves for a turn.", + "", + " As you type in your move, if a character does not make sense under", + "the above constrictions, a bell will sound instead of the character,", + "and it will be ignored. You may kill lines and erase characters as", + "you would normally, but don't be surprised if they look different than", + "usual. Also, if you have entered one or more of your rolls, and you", + "wish to see what the move looks like so far, type a 'r' to see what it", + "looks like. This cannot be done in the middle of a move (e.g., after", + "a '-' or '/'). After the printing board, the program will go back to", + "inputting your move and you can backspace or kill just as if you had", + "just typed in your input.\n", + " Now you should be ready to begin the game. Good luck!", + "", +0}; + +int +text(t) + const char *const *t; +{ + int i; + const char *s, *a; + + fixtty(&noech); + while (*t != 0) { + s = a = *t; + for (i = 0; *a != '\0'; i--) + a++; + if (i) { + writel(s); + writec('\n'); + } else { + writel("-->"); + fixtty(&bg_raw); + while ((i = readc()) != ' ' && i != '\n'); + fixtty(&noech); + clear(); + } + t++; + } + fixtty(&bg_raw); + return (0); +} diff --git a/backgammon/backgammon/version.c b/backgammon/backgammon/version.c new file mode 100644 index 0000000..40a4e49 --- /dev/null +++ b/backgammon/backgammon/version.c @@ -0,0 +1,44 @@ +/* $NetBSD: version.c,v 1.6 2003/08/07 09:36:56 agc Exp $ */ + +/* + * Copyright (c) 1980, 1987, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)version.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: version.c,v 1.6 2003/08/07 09:36:56 agc Exp $"); +#endif +#endif /* not lint */ + +const char *const message[] = { + "Last updated on Friday, October 10, 1997.", + 0 +}; diff --git a/backgammon/common_source/Makefile.bsd b/backgammon/common_source/Makefile.bsd new file mode 100644 index 0000000..1d91ed7 --- /dev/null +++ b/backgammon/common_source/Makefile.bsd @@ -0,0 +1,12 @@ +# $NetBSD: Makefile,v 1.7 2002/09/18 06:16:39 lukem Exp $ + +NOLINKLIB= # defined +NOLINT= # defined +NOPIC= # defined +NOPROFILE= # defined + +LIB= common +SRCS= allow.c board.c check.c fancy.c init.c odds.c \ + one.c save.c subs.c table.c + +.include diff --git a/backgammon/common_source/Makefrag b/backgammon/common_source/Makefrag new file mode 100644 index 0000000..3932beb --- /dev/null +++ b/backgammon/common_source/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for backgammon/common_source +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +backgammon_common_source_EXEC_PATH := $(GAMESDIR)/backgammon +backgammon_common_source_TEACH_PATH := $(GAMESDIR)/teachgammon + +backgammon_common_source_DEFS := -DEXEC_PATH=\"$(backgammon_common_source_EXEC_PATH)\" -DTEACH_PATH=\"$(backgammon_common_source_TEACH_PATH)\" + +backgammon_common_source_all: + +backgammon_common_source_install: diff --git a/backgammon/common_source/allow.c b/backgammon/common_source/allow.c new file mode 100644 index 0000000..f6bae78 --- /dev/null +++ b/backgammon/common_source/allow.c @@ -0,0 +1,113 @@ +/* $NetBSD: allow.c,v 1.5 2003/08/07 09:36:56 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)allow.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: allow.c,v 1.5 2003/08/07 09:36:56 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +int +movallow() +{ + int i, m, iold; + int r; + + if (d0) + swap; + m = (D0 == D1 ? 4 : 2); + for (i = 0; i < 4; i++) + p[i] = bar; + i = iold = 0; + while (i < m) { + if (*offptr == 15) + break; + h[i] = 0; + if (board[bar]) { + if (i == 1 || m == 4) + g[i] = bar + cturn * D1; + else + g[i] = bar + cturn * D0; + if ((r = makmove(i)) != 0) { + if (d0 || m == 4) + break; + swap; + movback(i); + if (i > iold) + iold = i; + for (i = 0; i < 4; i++) + p[i] = bar; + i = 0; + } else + i++; + continue; + } + if ((p[i] += cturn) == home) { + if (i > iold) + iold = i; + if (m == 2 && i) { + movback(i); + p[i--] = bar; + if (p[i] != bar) + continue; + else + break; + } + if (d0 || m == 4) + break; + swap; + movback(i); + for (i = 0; i < 4; i++) + p[i] = bar; + i = 0; + continue; + } + if (i == 1 || m == 4) + g[i] = p[i] + cturn * D1; + else + g[i] = p[i] + cturn * D0; + if (g[i] * cturn > home) { + if (*offptr >= 0) + g[i] = home; + else + continue; + } + if (board[p[i]] * cturn > 0 && (r = makmove(i)) == 0) + i++; + } + movback(i); + return (iold > i ? iold : i); +} diff --git a/backgammon/common_source/back.h b/backgammon/common_source/back.h new file mode 100644 index 0000000..fffd941 --- /dev/null +++ b/backgammon/common_source/back.h @@ -0,0 +1,185 @@ +/* $NetBSD: back.h,v 1.14 2004/01/27 20:30:28 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)back.h 8.1 (Berkeley) 5/31/93 + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define rnum(r) (random()%r) +#define D0 dice[0] +#define D1 dice[1] +#define swap {D0 ^= D1; D1 ^= D0; D0 ^= D1; d0 = 1-d0;} + +/* + * + * Some numerical conventions: + * + * Arrays have white's value in [0], red in [1]. + * Numeric values which are one color or the other use + * -1 for white, 1 for red. + * Hence, white will be negative values, red positive one. + * This makes a lot of sense since white is going in decending + * order around the board, and red is ascending. + * + */ + +extern const char EXEC[]; /* object for main program */ +extern const char TEACH[]; /* object for tutorial program */ + +extern int pnum; /* color of player: + -1 = white + 1 = red + 0 = both + 2 = not yet init'ed */ +extern char args[100]; /* args passed to teachgammon and back */ +extern int acnt; /* length of args */ +extern int aflag; /* flag to ask for rules or instructions */ +extern int bflag; /* flag for automatic board printing */ +extern int cflag; /* case conversion flag */ +extern int hflag; /* flag for cleaning screen */ +extern int mflag; /* backgammon flag */ +extern int raflag; /* 'roll again' flag for recovered game */ +extern int rflag; /* recovered game flag */ +extern int tflag; /* cursor addressing flag */ +extern int rfl; /* saved value of rflag */ +extern int iroll; /* special flag for inputting rolls */ +extern int board[26]; /* board: negative values are white, + positive are red */ +extern int dice[2]; /* value of dice */ +extern int mvlim; /* 'move limit': max. number of moves */ +extern int mvl; /* working copy of mvlim */ +extern int p[5]; /* starting position of moves */ +extern int g[5]; /* ending position of moves (goals) */ +extern int h[4]; /* flag for each move if a man was hit */ +extern int cturn; /* whose turn it currently is: + -1 = white + 1 = red + 0 = just quitted + -2 = white just lost + 2 = red just lost */ +extern int d0; /* flag if dice have been reversed from + original position */ +extern int table[6][6]; /* odds table for possible rolls */ +extern int rscore; /* red's score */ +extern int wscore; /* white's score */ +extern int gvalue; /* value of game (64 max.) */ +extern int dlast; /* who doubled last (0 = neither) */ +extern int bar; /* position of bar for current player */ +extern int home; /* position of home for current player */ +extern int off[2]; /* number of men off board */ +extern int *offptr; /* pointer to off for current player */ +extern int *offopp; /* pointer to off for opponent */ +extern int in[2]; /* number of men in inner table */ +extern int *inptr; /* pointer to in for current player */ +extern int *inopp; /* pointer to in for opponent */ + +extern int ncin; /* number of characters in cin */ +extern char cin[100]; /* input line of current move + (used for reconstructing input after + a backspace) */ + +extern const char *const color[]; + /* colors as strings */ +extern const char *const *colorptr; /* color of current player */ +extern const char *const *Colorptr; /* color of current player, capitalized */ +extern int colen; /* length of color of current player */ + +extern struct termios old, noech, bg_raw;/* original tty status */ + +extern int curr; /* row position of cursor */ +extern int curc; /* column position of cursor */ +extern int begscr; /* 'beginning' of screen + (not including board) */ + +int addbuf(int); +void backone(int); +void bsect(int, int, int, int); +void buflush(void); +int canhit(int, int); +int checkd(int); +int checkmove(int); +void clear(void); +void clend(void); +void cline(void); +int count(void); +void curmove(int, int); +int dotable(char, int); +void errexit(const char *) __attribute__((__noreturn__)); +void fancyc(int); +void fboard(void); +void fixcol(int, int, int, int, int); +void fixpos(int, int, int, int, int); +void fixtty(struct termios *); +void getarg(char ***); +int getcaps(const char *); +void getmove(void); +void getout(int) __attribute__((__noreturn__)); +void gwrite(void); +void init(void); +int last(void); +int main(int, char *[]); +int makmove(int); +int movallow(void); +void movback(int); +void moverr(int); +int movokay(int); +void newline(void); +void newpos(void); +void nexturn(void); +void norec(const char *) __attribute__((__noreturn__)); +void odds(int, int, int); +void proll(void); +int quit(void); +int readc(void); +void recover(const char *); +void refresh(void); +void roll(void); +int rsetbrd(void); +void save(int); +int text(const char *const *); +void wrboard(void); +void wrbsub(void); +void wrhit(int); +void wrint(int); +void writec(char); +void writel(const char *); +void wrscore(void); +int yorn(char); diff --git a/backgammon/common_source/board.c b/backgammon/common_source/board.c new file mode 100644 index 0000000..cccdc5b --- /dev/null +++ b/backgammon/common_source/board.c @@ -0,0 +1,182 @@ +/* $NetBSD: board.c,v 1.7 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)board.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: board.c,v 1.7 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +static int i, j, k; +static char ln[60]; + +void +wrboard() +{ + int l; + static const char bl[] = + "| | | |\n"; + static const char sv[] = + "| | | | \n"; + + fixtty(&noech); + clear(); + + if (tflag) { + fboard(); + goto lastline; + } + writel("_____________________________________________________\n"); + writel(bl); + strcpy(ln, bl); + for (j = 1; j < 50; j += 4) { + k = j / 4 + (j > 24 ? 12 : 13); + ln[j + 1] = k % 10 + '0'; + ln[j] = k / 10 + '0'; + if (j == 21) + j += 4; + } + writel(ln); + for (i = 0; i < 5; i++) { + strcpy(ln, sv); + for (j = 1; j < 50; j += 4) { + k = j / 4 + (j > 24 ? 12 : 13); + wrbsub(); + if (j == 21) + j += 4; + } + if (-board[25] > i) + ln[26] = 'w'; + if (-board[25] > i + 5) + ln[25] = 'w'; + if (-board[25] > i + 10) + ln[27] = 'w'; + l = 53; + if (off[1] > i || (off[1] < 0 && off[1] + 15 > i)) { + ln[54] = 'r'; + l = 55; + } + if (off[1] > i + 5 || (off[1] < 0 && off[1] + 15 > i + 5)) { + ln[55] = 'r'; + l = 56; + } + if (off[1] > i + 10 || (off[1] < 0 && off[1] + 15 > i + 10)) { + ln[56] = 'r'; + l = 57; + } + ln[l++] = '\n'; + ln[l] = '\0'; + writel(ln); + } + strcpy(ln, bl); + ln[25] = 'B'; + ln[26] = 'A'; + ln[27] = 'R'; + writel(ln); + strcpy(ln, sv); + for (i = 4; i > -1; i--) { + for (j = 1; j < 50; j += 4) { + k = ((j > 24 ? 53 : 49) - j) / 4; + wrbsub(); + if (j == 21) + j += 4; + } + if (board[0] > i) + ln[26] = 'r'; + if (board[0] > i + 5) + ln[25] = 'r'; + if (board[0] > i + 10) + ln[27] = 'r'; + l = 53; + if (off[0] > i || (off[0] < 0 && off[0] + 15 > i)) { + ln[54] = 'w'; + l = 55; + } + if (off[0] > i + 5 || (off[0] < 0 && off[0] + 15 > i + 5)) { + ln[55] = 'w'; + l = 56; + } + if (off[0] > i + 10 || (off[0] < 0 && off[0] + 15 > i + 10)) { + ln[56] = 'w'; + l = 57; + } + ln[l++] = '\n'; + ln[l] = '\0'; + writel(ln); + } + strcpy(ln, bl); + for (j = 1; j < 50; j += 4) { + k = ((j > 24 ? 53 : 49) - j) / 4; + ln[j + 1] = k % 10 + '0'; + if (k > 9) + ln[j] = k / 10 + '0'; + if (j == 21) + j += 4; + } + writel(ln); + writel("|_______________________|___|_______________________|\n"); + +lastline: + gwrite(); + if (tflag) + curmove(18, 0); + else { + writec('\n'); + writec('\n'); + } + fixtty(&bg_raw); +} + +void +wrbsub() +{ + int m; + char d; + + if (board[k] > 0) { + m = board[k]; + d = 'r'; + } else { + m = -board[k]; + d = 'w'; + } + if (m > i) + ln[j + 1] = d; + if (m > i + 5) + ln[j] = d; + if (m > i + 10) + ln[j + 2] = d; +} diff --git a/backgammon/common_source/check.c b/backgammon/common_source/check.c new file mode 100644 index 0000000..04ce1db --- /dev/null +++ b/backgammon/common_source/check.c @@ -0,0 +1,158 @@ +/* $NetBSD: check.c,v 1.5 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)check.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: check.c,v 1.5 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +void +getmove() +{ + int i, c; + + c = 0; + for (;;) { + i = checkmove(c); + + switch (i) { + case -1: + if (movokay(mvlim)) { + if (tflag) + curmove(20, 0); + else + writec('\n'); + for (i = 0; i < mvlim; i++) + if (h[i]) + wrhit(g[i]); + nexturn(); + if (*offopp == 15) + cturn *= -2; + if (tflag && pnum) + bflag = pnum; + return; + } + case -4: + case 0: + if (tflag) + refresh(); + if (i != 0 && i != -4) + break; + if (tflag) + curmove(20, 0); + else + writec('\n'); + writel(*Colorptr); + if (i == -4) + writel(" must make "); + else + writel(" can only make "); + writec(mvlim + '0'); + writel(" move"); + if (mvlim > 1) + writec('s'); + writec('.'); + writec('\n'); + break; + + case -3: + if (quit()) + return; + } + + if (!tflag) + proll(); + else { + curmove(cturn == -1 ? 18 : 19, 39); + cline(); + c = -1; + } + } +} + +int +movokay(mv) + int mv; +{ + int i, m; + + if (d0) + swap; + + for (i = 0; i < mv; i++) { + if (p[i] == g[i]) { + moverr(i); + curmove(20, 0); + writel("Attempt to move to same location.\n"); + return (0); + } + if (cturn * (g[i] - p[i]) < 0) { + moverr(i); + curmove(20, 0); + writel("Backwards move.\n"); + return (0); + } + if (abs(board[bar]) && p[i] != bar) { + moverr(i); + curmove(20, 0); + writel("Men still on bar.\n"); + return (0); + } + if ((m = makmove(i))) { + moverr(i); + switch (m) { + + case 1: + writel("Move not rolled.\n"); + break; + + case 2: + writel("Bad starting position.\n"); + break; + + case 3: + writel("Destination occupied.\n"); + break; + + case 4: + writel("Can't remove men yet.\n"); + } + return (0); + } + } + return (1); +} diff --git a/backgammon/common_source/fancy.c b/backgammon/common_source/fancy.c new file mode 100644 index 0000000..9438070 --- /dev/null +++ b/backgammon/common_source/fancy.c @@ -0,0 +1,737 @@ +/* $NetBSD: fancy.c,v 1.12 2004/04/23 02:58:27 simonb Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)fancy.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: fancy.c,v 1.12 2004/04/23 02:58:27 simonb Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +extern char PC; /* padding character */ +extern char *BC; /* backspace sequence */ +char *CD; /* clear to end of screen sequence */ +char *CE; /* clear to end of line sequence */ +char *CL; /* clear screen sequence */ +char *CM; /* cursor movement instructions */ +char *HO; /* home cursor sequence */ +char *MC; /* column cursor movement map */ +char *ML; /* row cursor movement map */ +char *ND; /* forward cursor sequence */ +extern char *UP; /* up cursor sequence */ + +int lHO; /* length of HO */ +int lBC; /* length of BC */ +int lND; /* length of ND */ +int lUP; /* length of UP */ +int CO; /* number of columns */ +int LI; /* number of lines */ +int *linect; /* array of lengths of lines on screen (the + * actual screen is not stored) */ + + /* two letter codes */ +char tcap[] = "bccdceclcmhomcmlndup"; + /* corresponding strings */ +char **tstr[] = {&BC, &CD, &CE, &CL, &CM, &HO, &MC, &ML, &ND, &UP}; + +extern int buffnum; /* pointer to output buffer */ + +char tbuf[1024]; /* buffer for decoded termcap entries */ + +int oldb[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +int oldr; +int oldw; + /* "real" cursor positions, so it knows when to reposition. These are -1 if + * curr and curc are accurate */ +int realr; +int realc; + +void +fboard() +{ + int i, j, l; + + curmove(0, 0); /* do top line */ + for (i = 0; i < 53; i++) + fancyc('_'); + + curmove(15, 0); /* do botttom line */ + for (i = 0; i < 53; i++) + fancyc('_'); + + l = 1; /* do vertical lines */ + for (i = 52; i > -1; i -= 28) { + curmove((l == 1 ? 1 : 15), i); + fancyc('|'); + for (j = 0; j < 14; j++) { + curmove(curr + l, curc - 1); + fancyc('|'); + } + if (i == 24) + i += 32; + l = -l; /* alternate directions */ + } + + curmove(2, 1); /* label positions 13-18 */ + for (i = 13; i < 18; i++) { + fancyc('1'); + fancyc((i % 10) + '0'); + curmove(curr, curc + 2); + } + fancyc('1'); + fancyc('8'); + + curmove(2, 29); /* label positions 19-24 */ + fancyc('1'); + fancyc('9'); + for (i = 20; i < 25; i++) { + curmove(curr, curc + 2); + fancyc('2'); + fancyc((i % 10) + '0'); + } + + curmove(14, 1); /* label positions 12-7 */ + fancyc('1'); + fancyc('2'); + for (i = 11; i > 6; i--) { + curmove(curr, curc + 2); + fancyc(i > 9 ? '1' : ' '); + fancyc((i % 10) + '0'); + } + + curmove(14, 30); /* label positions 6-1 */ + fancyc('6'); + for (i = 5; i > 0; i--) { + curmove(curr, curc + 3); + fancyc(i + '0'); + } + + for (i = 12; i > 6; i--)/* print positions 12-7 */ + if (board[i]) + bsect(board[i], 13, 1 + 4 * (12 - i), -1); + + if (board[0]) /* print red men on bar */ + bsect(board[0], 13, 25, -1); + + for (i = 6; i > 0; i--) /* print positions 6-1 */ + if (board[i]) + bsect(board[i], 13, 29 + 4 * (6 - i), -1); + + l = (off[1] < 0 ? off[1] + 15 : off[1]); /* print white's home */ + bsect(l, 3, 54, 1); + + curmove(8, 25); /* print the word BAR */ + fancyc('B'); + fancyc('A'); + fancyc('R'); + + for (i = 13; i < 19; i++) /* print positions 13-18 */ + if (board[i]) + bsect(board[i], 3, 1 + 4 * (i - 13), 1); + + if (board[25]) /* print white's men on bar */ + bsect(board[25], 3, 25, 1); + + for (i = 19; i < 25; i++) /* print positions 19-24 */ + if (board[i]) + bsect(board[i], 3, 29 + 4 * (i - 19), 1); + + l = (off[0] < 0 ? off[0] + 15 : off[0]); /* print red's home */ + bsect(-l, 13, 54, -1); + + for (i = 0; i < 26; i++)/* save board position for refresh later */ + oldb[i] = board[i]; + oldr = (off[1] < 0 ? off[1] + 15 : off[1]); + oldw = -(off[0] < 0 ? off[0] + 15 : off[0]); +} +/* + * bsect (b,rpos,cpos,cnext) + * Print the contents of a board position. "b" has the value of the + * position, "rpos" is the row to start printing, "cpos" is the column to + * start printing, and "cnext" is positive if the position starts at the top + * and negative if it starts at the bottom. The value of "cpos" is checked + * to see if the position is a player's home, since those are printed + * differently. + */ +void +bsect(b, rpos, cpos, cnext) + int b; /* contents of position */ + int rpos; /* row of position */ + int cpos; /* column of position */ + int cnext; /* direction of position */ +{ + int j; /* index */ + int n; /* number of men on position */ + int bct; /* counter */ + int k; /* index */ + char pc; /* color of men on position */ + + bct = 0; + n = abs(b); /* initialize n and pc */ + pc = (b > 0 ? 'r' : 'w'); + + if (n < 6 && cpos < 54) /* position cursor at start */ + curmove(rpos, cpos + 1); + else + curmove(rpos, cpos); + + for (j = 0; j < 5; j++) { /* print position row by row */ + + for (k = 0; k < 15; k += 5) /* print men */ + if (n > j + k) + fancyc(pc); + + if (j < 4) { /* figure how far to back up for next row */ + if (n < 6) { /* stop if none left */ + if (j + 1 == n) + break; + bct = 1; /* single column */ + } else { + if (n < 11) { /* two columns */ + if (cpos == 54) { /* home pos */ + if (j + 5 >= n) + bct = 1; + else + bct = 2; + } + if (cpos < 54) { /* not home */ + if (j + 6 >= n) + bct = 1; + else + bct = 2; + } + } else { /* three columns */ + if (j + 10 >= n) + bct = 2; + else + bct = 3; + } + } + curmove(curr + cnext, curc - bct); /* reposition cursor */ + } + } +} + +void +refresh() +{ + int i, r, c; + + r = curr; /* save current position */ + c = curc; + + for (i = 12; i > 6; i--)/* fix positions 12-7 */ + if (board[i] != oldb[i]) { + fixpos(oldb[i], board[i], 13, 1 + (12 - i) * 4, -1); + oldb[i] = board[i]; + } + if (board[0] != oldb[0]) { /* fix red men on bar */ + fixpos(oldb[0], board[0], 13, 25, -1); + oldb[0] = board[0]; + } + for (i = 6; i > 0; i--) /* fix positions 6-1 */ + if (board[i] != oldb[i]) { + fixpos(oldb[i], board[i], 13, 29 + (6 - i) * 4, -1); + oldb[i] = board[i]; + } + i = -(off[0] < 0 ? off[0] + 15 : off[0]); /* fix white's home */ + if (oldw != i) { + fixpos(oldw, i, 13, 54, -1); + oldw = i; + } + for (i = 13; i < 19; i++) /* fix positions 13-18 */ + if (board[i] != oldb[i]) { + fixpos(oldb[i], board[i], 3, 1 + (i - 13) * 4, 1); + oldb[i] = board[i]; + } + if (board[25] != oldb[25]) { /* fix white men on bar */ + fixpos(oldb[25], board[25], 3, 25, 1); + oldb[25] = board[25]; + } + for (i = 19; i < 25; i++) /* fix positions 19-24 */ + if (board[i] != oldb[i]) { + fixpos(oldb[i], board[i], 3, 29 + (i - 19) * 4, 1); + oldb[i] = board[i]; + } + i = (off[1] < 0 ? off[1] + 15 : off[1]); /* fix red's home */ + if (oldr != i) { + fixpos(oldr, i, 3, 54, 1); + oldr = i; + } + curmove(r, c); /* return to saved position */ + newpos(); + buflush(); +} + +void +fixpos(old, new, r, c, inc) + int old, new, r, c, inc; +{ + int o, n, nv; + int ov, nc; + char col; + + nc = 0; + if (old * new >= 0) { + ov = abs(old); + nv = abs(new); + col = (old + new > 0 ? 'r' : 'w'); + o = (ov - 1) / 5; + n = (nv - 1) / 5; + if (o == n) { + if (o == 2) + nc = c + 2; + if (o == 1) + nc = c < 54 ? c : c + 1; + if (o == 0) + nc = c < 54 ? c + 1 : c; + if (ov > nv) + fixcol(r + inc * (nv - n * 5), nc, abs(ov - nv), ' ', inc); + else + fixcol(r + inc * (ov - o * 5), nc, abs(ov - nv), col, inc); + return; + } else { + if (c < 54) { + if (o + n == 1) { + if (n) { + fixcol(r, c, abs(nv - 5), col, inc); + if (ov != 5) + fixcol(r + inc * ov, c + 1, + abs(ov - 5), col, inc); + } else { + fixcol(r, c, abs(ov - 5), ' ', inc); + if (nv != 5) + fixcol(r + inc * nv, c + 1, + abs(nv - 5), ' ', inc); + } + return; + } + if (n == 2) { + if (ov != 10) + fixcol(r + inc * (ov - 5), c, + abs(ov - 10), col, inc); + fixcol(r, c + 2, abs(nv - 10), col, inc); + } else { + if (nv != 10) + fixcol(r + inc * (nv - 5), c, + abs(nv - 10), ' ', inc); + fixcol(r, c + 2, abs(ov - 10), ' ', inc); + } + return; + } + if (n > o) { + fixcol(r + inc * (ov % 5), c + o, abs(5 * n - ov), col, inc); + if (nv != 5 * n) + fixcol(r, c + n, abs(5 * n - nv), col, inc); + } else { + fixcol(r + inc * (nv % 5), c + n, abs(5 * n - nv), ' ', inc); + if (ov != 5 * o) + fixcol(r, c + o, abs(5 * o - ov), ' ', inc); + } + return; + } + } + nv = abs(new); + fixcol(r, c + 1, nv, new > 0 ? 'r' : 'w', inc); + if (abs(old) <= abs(new)) + return; + fixcol(r + inc * new, c + 1, abs(old + new), ' ', inc); +} + +void +fixcol(r, c, l, ch, inc) + int l, ch, r, c, inc; +{ + int i; + + curmove(r, c); + fancyc(ch); + for (i = 1; i < l; i++) { + curmove(curr + inc, curc - 1); + fancyc(ch); + } +} + +void +curmove(r, c) + int r, c; +{ + if (curr == r && curc == c) + return; + if (realr == -1) { + realr = curr; + realc = curc; + } + curr = r; + curc = c; +} + +void +newpos() +{ + int r; /* destination row */ + int c; /* destination column */ + int mode = -1; /* mode of movement */ + + int count = 1000; /* character count */ + int i; /* index */ + int n; /* temporary variable */ + char *m; /* string containing CM movement */ + + + m = NULL; + if (realr == -1) /* see if already there */ + return; + + r = curr; /* set current and dest. positions */ + c = curc; + curr = realr; + curc = realc; + + /* double check position */ + if (curr == r && curc == c) { + realr = realc = -1; + return; + } + if (CM) { /* try CM to get there */ + mode = 0; + m = (char *) tgoto(CM, c, r); + count = strlen(m); + } + /* try HO and local movement */ + if (HO && (n = r + c * lND + lHO) < count) { + mode = 1; + count = n; + } + /* try various LF combinations */ + if (r >= curr) { + /* CR, LF, and ND */ + if ((n = (r - curr) + c * lND + 1) < count) { + mode = 2; + count = n; + } + /* LF, ND */ + if (c >= curc && (n = (r - curr) + (c - curc) * lND) < count) { + mode = 3; + count = n; + } + /* LF, BS */ + if (c < curc && (n = (r - curr) + (curc - c) * lBC) < count) { + mode = 4; + count = n; + } + } + /* try corresponding UP combinations */ + if (r < curr) { + /* CR, UP, and ND */ + if ((n = (curr - r) * lUP + c * lND + 1) < count) { + mode = 5; + count = n; + } + /* UP and ND */ + if (c >= curc && (n = (curr - r) * lUP + (c - curc) * lND) < count) { + mode = 6; + count = n; + } + /* UP and BS */ + if (c < curc && (n = (curr - r) * lUP + (curc - c) * lBC) < count) { + mode = 7; + count = n; + } + } + /* space over */ + if (curr == r && c > curc && linect[r] < curc && c - curc < count) + mode = 8; + + switch (mode) { + + case -1: /* error! */ + write(2, "\r\nInternal cursor error.\r\n", 26); + getout(0); + + /* direct cursor motion */ + case 0: + tputs(m, abs(curr - r), addbuf); + break; + + /* relative to "home" */ + case 1: + tputs(HO, r, addbuf); + for (i = 0; i < r; i++) + addbuf('\012'); + for (i = 0; i < c; i++) + tputs(ND, 1, addbuf); + break; + + /* CR and down and over */ + case 2: + addbuf('\015'); + for (i = 0; i < r - curr; i++) + addbuf('\012'); + for (i = 0; i < c; i++) + tputs(ND, 1, addbuf); + break; + + /* down and over */ + case 3: + for (i = 0; i < r - curr; i++) + addbuf('\012'); + for (i = 0; i < c - curc; i++) + tputs(ND, 1, addbuf); + break; + + /* down and back */ + case 4: + for (i = 0; i < r - curr; i++) + addbuf('\012'); + for (i = 0; i < curc - c; i++) + addbuf('\010'); + break; + + /* CR and up and over */ + case 5: + addbuf('\015'); + for (i = 0; i < curr - r; i++) + tputs(UP, 1, addbuf); + for (i = 0; i < c; i++) + tputs(ND, 1, addbuf); + break; + + /* up and over */ + case 6: + for (i = 0; i < curr - r; i++) + tputs(UP, 1, addbuf); + for (i = 0; i < c - curc; i++) + tputs(ND, 1, addbuf); + break; + + /* up and back */ + case 7: + for (i = 0; i < curr - r; i++) + tputs(UP, 1, addbuf); + for (i = 0; i < curc - c; i++) { + if (BC) + tputs(BC, 1, addbuf); + else + addbuf('\010'); + } + break; + + /* safe space */ + case 8: + for (i = 0; i < c - curc; i++) + addbuf(' '); + } + + /* fix positions */ + curr = r; + curc = c; + realr = -1; + realc = -1; +} + +void +clear() +{ + int i; + + /* double space if can't clear */ + if (CL == 0) { + writel("\n\n"); + return; + } + curr = curc = 0; /* fix position markers */ + realr = realc = -1; + for (i = 0; i < 24; i++)/* clear line counts */ + linect[i] = -1; + buffnum = -1; /* ignore leftover buffer contents */ + tputs(CL, CO, addbuf); /* put CL in buffer */ +} + +void +fancyc(c) + char c; /* character to output */ +{ + int sp; /* counts spaces in a tab */ + + if (c == '\007') { /* bells go in blindly */ + addbuf(c); + return; + } + /* process tabs, use spaces if the tab should be erasing things, + * otherwise use cursor movement routines. Note this does not use + * hardware tabs at all. */ + if (c == '\t') { + sp = (curc + 8) & (~7); /* compute spaces */ + /* check line length */ + if (linect[curr] >= curc || sp < 4) { + for (; sp > curc; sp--) + addbuf(' '); + curc = sp; /* fix curc */ + } else + curmove(curr, sp); + return; + } + /* do newline be calling newline */ + if (c == '\n') { + newline(); + return; + } + /* ignore any other control chars */ + if (c < ' ') + return; + + /* if an erasing space or non-space, just add it to buffer. Otherwise + * use cursor movement routine, so that multiple spaces will be + * grouped together */ + if (c > ' ' || linect[curr] >= curc) { + newpos(); /* make sure position correct */ + addbuf(c); /* add character to buffer */ + /* fix line length */ + if (c == ' ' && linect[curr] == curc) + linect[curr]--; + else + if (linect[curr] < curc) + linect[curr] = curc; + curc++; /* fix curc */ + } else + /* use cursor movement routine */ + curmove(curr, curc + 1); +} + +void +clend() +{ + int i; + + if (CD) { + tputs(CD, CO - curr, addbuf); + for (i = curr; i < LI; i++) + linect[i] = -1; + return; + } + curmove(i = curr, 0); + cline(); + while (curr < LI - 1) { + curmove(curr + 1, 0); + if (linect[curr] > -1) + cline(); + } + curmove(i, 0); +} + +void +cline() +{ + int c; + + if (curc > linect[curr]) + return; + newpos(); + if (CE) { + tputs(CE, 1, addbuf); + linect[curr] = curc - 1; + } else { + c = curc - 1; + while (linect[curr] > c) { + addbuf(' '); + curc++; + linect[curr]--; + } + curmove(curr, c + 1); + } +} + +void +newline() +{ + cline(); + if (curr == LI - 1) + curmove(begscr, 0); + else + curmove(curr + 1, 0); +} + +int +getcaps(s) + const char *s; +{ + char *code; /* two letter code */ + char ***cap; /* pointer to cap string */ + char *bufp; /* pointer to cap buffer */ + char tentry[1024]; /* temporary uncoded caps buffer */ + + tgetent(tentry, s); /* get uncoded termcap entry */ + + LI = tgetnum("li"); /* get number of lines */ + if (LI == -1) + LI = 12; + CO = tgetnum("co"); /* get number of columns */ + if (CO == -1) + CO = 65; + + bufp = tbuf; /* get padding character */ + tgetstr("pc", &bufp); + if (bufp != tbuf) + PC = *tbuf; + else + PC = 0; + + bufp = tbuf; /* get string entries */ + cap = tstr; + for (code = tcap; *code; code += 2) + **cap++ = (char *) tgetstr(code, &bufp); + + /* get pertinent lengths */ + if (HO) + lHO = strlen(HO); + if (BC) + lBC = strlen(BC); + else + lBC = 1; + if (UP) + lUP = strlen(UP); + if (ND) + lND = strlen(ND); + if (LI < 24 || CO < 72 || !(CL && UP && ND)) + return (0); + linect = (int *) calloc(LI + 1, sizeof(int)); + if (linect == NULL) { + write(2, "\r\nOut of memory!\r\n", 18); + getout(0); + } + return (1); +} diff --git a/backgammon/common_source/init.c b/backgammon/common_source/init.c new file mode 100644 index 0000000..f55d555 --- /dev/null +++ b/backgammon/common_source/init.c @@ -0,0 +1,100 @@ +/* $NetBSD: init.c,v 1.8 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)init.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: init.c,v 1.8 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include + +/* + * variable initialization. + */ + + /* name of executable object programs */ +const char EXEC[] = EXEC_PATH; +const char TEACH[] = TEACH_PATH; + +int pnum = 2; /* color of player: -1 = white 1 = red 0 = + * both 2 = not yet init'ed */ +int acnt = 1; /* length of args */ +char args[100] = "-"; +int aflag = 1; /* flag to ask for rules or instructions */ +int bflag = 0; /* flag for automatic board printing */ +int cflag = 0; /* case conversion flag */ +int hflag = 1; /* flag for cleaning screen */ +int mflag = 0; /* backgammon flag */ +int raflag = 0; /* 'roll again' flag for recovered game */ +int rflag = 0; /* recovered game flag */ +int tflag = 0; /* cursor addressing flag */ +int iroll = 0; /* special flag for inputting rolls */ +int rfl = 0; + +const char *const color[] = {"White", "Red", "white", "red"}; + + +const char *const *Colorptr; +const char *const *colorptr; +int *inopp; +int *inptr; +int *offopp; +int *offptr; +char args[100]; +int bar; +int begscr; +int board[26]; +char cin[100]; +int colen; +int cturn; +int curc; +int curr; +int d0; +int dice[2]; +int dlast; +int g[5]; +int gvalue; +int h[4]; +int home; +int in[2]; +int mvl; +int mvlim; +int ncin; +int off[2]; +int p[5]; +int rscore; +int table[6][6]; +int wscore; +struct termios old, noech, bg_raw; diff --git a/backgammon/common_source/odds.c b/backgammon/common_source/odds.c new file mode 100644 index 0000000..509d5f4 --- /dev/null +++ b/backgammon/common_source/odds.c @@ -0,0 +1,118 @@ +/* $NetBSD: odds.c,v 1.5 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)odds.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: odds.c,v 1.5 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +void +odds(r1, r2, val) + int r1, r2, val; +{ + int i, j; + + if (r1 == 0) { + for (i = 0; i < 6; i++) + for (j = 0; j < 6; j++) + table[i][j] = 0; + return; + } else { + r1--; + if (r2-- == 0) { + for (i = 0; i < 6; i++) { + table[i][r1] += val; + table[r1][i] += val; + } + } else { + table[r2][r1] += val; + table[r1][r2] += val; + } + } +} + +int +count() +{ + int i; + int j; + int total; + + total = 0; + for (i = 0; i < 6; i++) + for (j = 0; j < 6; j++) + total += table[i][j]; + return (total); +} + +int +canhit(i, c) + int i, c; +{ + int j, k, b; + int a, diff, place, addon, menstuck; + + if (c == 0) + odds(0, 0, 0); + if (board[i] > 0) { + a = -1; + b = 25; + } else { + a = 1; + b = 0; + } + place = abs(25 - b - i); + menstuck = abs(board[b]); + for (j = b; j != i; j += a) { + if (board[j] * a > 0) { + diff = abs(j - i); + addon = place + ((board[j] * a > 2 || j == b) ? 5 : 0); + if ((j == b && menstuck == 1) && + (j != b && menstuck == 0)) + for (k = 1; k < diff; k++) + if (k < 7 && diff - k < 7 && + (board[i + a * k] * a >= 0 || + board[i + a * (diff - k)] >= 0)) + odds(k, diff - k, addon); + if ((j == b || menstuck < 2) && diff < 7) + odds(diff, 0, addon); + } + if (j == b && menstuck > 1) + break; + } + return (count()); +} diff --git a/backgammon/common_source/one.c b/backgammon/common_source/one.c new file mode 100644 index 0000000..86b57ef --- /dev/null +++ b/backgammon/common_source/one.c @@ -0,0 +1,175 @@ +/* $NetBSD: one.c,v 1.5 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)one.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: one.c,v 1.5 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +int +makmove(i) + int i; +{ + int n, d; + int max; + + d = d0; + n = abs(g[i] - p[i]); + max = (*offptr < 0 ? 7 : last()); + if (board[p[i]] * cturn <= 0) + return (checkd(d) + 2); + if (g[i] != home && board[g[i]] * cturn < -1) + return (checkd(d) + 3); + if (i || D0 == D1) { + if (n == max ? D1 < n : D1 != n) + return (checkd(d) + 1); + } else { + if (n == max ? D0 < n && D1 < n : D0 != n && D1 != n) + return (checkd(d) + 1); + if (n == max ? D0 < n : D0 != n) { + if (d0) + return (checkd(d) + 1); + swap; + } + } + if (g[i] == home && *offptr < 0) + return (checkd(d) + 4); + h[i] = 0; + board[p[i]] -= cturn; + if (g[i] != home) { + if (board[g[i]] == -cturn) { + board[home] -= cturn; + board[g[i]] = 0; + h[i] = 1; + if (abs(bar - g[i]) < 7) { + (*inopp)--; + if (*offopp >= 0) + *offopp -= 15; + } + } + board[g[i]] += cturn; + if (abs(home - g[i]) < 7 && abs(home - p[i]) > 6) { + (*inptr)++; + if (*inptr + *offptr == 0) + *offptr += 15; + } + } else { + (*offptr)++; + (*inptr)--; + } + return (0); +} + +void +moverr(i) + int i; +{ + int j; + + if (tflag) + curmove(20, 0); + else + writec('\n'); + writel("Error: "); + for (j = 0; j <= i; j++) { + wrint(p[j]); + writec('-'); + wrint(g[j]); + if (j < i) + writec(','); + } + writel("... "); + movback(i); +} + + +int +checkd(d) + int d; +{ + if (d0 != d) + swap; + return (0); +} + +int +last() +{ + int i; + + for (i = home - 6 * cturn; i != home; i += cturn) + if (board[i] * cturn > 0) + return (abs(home - i)); + return (-1); +} + +void +movback(i) + int i; +{ + int j; + + for (j = i - 1; j >= 0; j--) + backone(j); +} + +void +backone(i) + int i; +{ + board[p[i]] += cturn; + if (g[i] != home) { + board[g[i]] -= cturn; + if (abs(g[i] - home) < 7 && abs(p[i] - home) > 6) { + (*inptr)--; + if (*inptr + *offptr < 15 && *offptr >= 0) + *offptr -= 15; + } + } else { + (*offptr)--; + (*inptr)++; + } + if (h[i]) { + board[home] += cturn; + board[g[i]] = -cturn; + if (abs(bar - g[i]) < 7) { + (*inopp)++; + if (*inopp + *offopp == 0) + *offopp += 15; + } + } +} diff --git a/backgammon/common_source/save.c b/backgammon/common_source/save.c new file mode 100644 index 0000000..e48a914 --- /dev/null +++ b/backgammon/common_source/save.c @@ -0,0 +1,182 @@ +/* $NetBSD: save.c,v 1.10 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: save.c,v 1.10 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include + +#include "back.h" + +static const char confirm[] = "Are you sure you want to leave now?"; +static const char prompt[] = "Enter a file name: "; +static const char exist1[] = "The file '"; +static const char exist2[] = +"' already exists.\nAre you sure you want to use this file?"; +static const char cantuse[] = "\nCan't use "; +static const char saved[] = "This game has been saved on the file '"; +static const char type[] = "'.\nType \"backgammon "; +static const char rec[] = "\" to recover your game.\n\n"; +static const char cantrec[] = "Can't recover file: "; + +void +save(n) + int n; +{ + int fdesc; + char *fs; + char fname[50]; + + if (n) { + if (tflag) { + curmove(20, 0); + clend(); + } else + writec('\n'); + writel(confirm); + if (!yorn(0)) + return; + } + cflag = 1; + for (;;) { + writel(prompt); + fs = fname; + while ((*fs = readc()) != '\n') { + if (*fs == old.c_cc[VERASE]) { + if (fs > fname) { + fs--; + if (tflag) + curmove(curr, curc - 1); + else + writec(*fs); + } else + writec('\007'); + continue; + } + writec(*fs++); + } + *fs = '\0'; + if ((fdesc = open(fname, O_RDWR)) == -1 && errno == ENOENT) { + if ((fdesc = creat(fname, 0600)) != -1) + break; + } + if (fdesc != -1) { + if (tflag) { + curmove(18, 0); + clend(); + } else + writec('\n'); + writel(exist1); + writel(fname); + writel(exist2); + cflag = 0; + close(fdesc); + if (yorn(0)) { + unlink(fname); + fdesc = creat(fname, 0600); + break; + } else { + cflag = 1; + continue; + } + } + writel(cantuse); + writel(fname); + writel(".\n"); + close(fdesc); + cflag = 1; + } + write(fdesc, board, sizeof board); + write(fdesc, off, sizeof off); + write(fdesc, in, sizeof in); + write(fdesc, dice, sizeof dice); + write(fdesc, &cturn, sizeof cturn); + write(fdesc, &dlast, sizeof dlast); + write(fdesc, &pnum, sizeof pnum); + write(fdesc, &rscore, sizeof rscore); + write(fdesc, &wscore, sizeof wscore); + write(fdesc, &gvalue, sizeof gvalue); + write(fdesc, &raflag, sizeof raflag); + close(fdesc); + if (tflag) + curmove(18, 0); + writel(saved); + writel(fname); + writel(type); + writel(fname); + writel(rec); + if (tflag) + clend(); + getout(0); +} + +void +recover(s) + const char *s; +{ + int fdesc; + + if ((fdesc = open(s, O_RDONLY)) == -1) + norec(s); + read(fdesc, board, sizeof board); + read(fdesc, off, sizeof off); + read(fdesc, in, sizeof in); + read(fdesc, dice, sizeof dice); + read(fdesc, &cturn, sizeof cturn); + read(fdesc, &dlast, sizeof dlast); + read(fdesc, &pnum, sizeof pnum); + read(fdesc, &rscore, sizeof rscore); + read(fdesc, &wscore, sizeof wscore); + read(fdesc, &gvalue, sizeof gvalue); + read(fdesc, &raflag, sizeof raflag); + close(fdesc); + rflag = 1; +} + +void +norec(s) + const char *s; +{ + const char *c; + + tflag = 0; + writel(cantrec); + c = s; + while (*c != '\0') + writec(*c++); + getout(0); +} diff --git a/backgammon/common_source/subs.c b/backgammon/common_source/subs.c new file mode 100644 index 0000000..2c88eff --- /dev/null +++ b/backgammon/common_source/subs.c @@ -0,0 +1,507 @@ +/* $NetBSD: subs.c,v 1.14 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)subs.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: subs.c,v 1.14 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +int buffnum = -1; +char outbuff[BUFSIZ]; + +static const char plred[] = "Player is red, computer is white."; +static const char plwhite[] = "Player is white, computer is red."; +static const char nocomp[] = "(No computer play.)"; + +const char *const descr[] = { + "Usage: backgammon [-] [n r w b pr pw pb t3a]\n", + "\t-\tgets this list\n\tn\tdon't ask for rules or instructions", + "\tr\tplayer is red (implies n)\n\tw\tplayer is white (implies n)", + "\tb\ttwo players, red and white (implies n)", + "\tpr\tprint the board before red's turn", + "\tpw\tprint the board before white's turn", + "\tpb\tprint the board before both player's turn", + "\tterm\tterminal is a term", + "\tsfile\trecover saved game from file", + 0 +}; + +void +errexit(s) + const char *s; +{ + write(2, "\n", 1); + perror(s); + getout(0); +} + +int +addbuf(c) + int c; +{ + buffnum++; + if (buffnum == BUFSIZ) { + if (write(1, outbuff, BUFSIZ) != BUFSIZ) + errexit("addbuf (write):"); + buffnum = 0; + } + outbuff[buffnum] = c; + return (0); +} + +void +buflush() +{ + if (buffnum < 0) + return; + buffnum++; + if (write(1, outbuff, buffnum) != buffnum) + errexit("buflush (write):"); + buffnum = -1; +} + +int +readc() +{ + char c; + + if (tflag) { + cline(); + newpos(); + } + buflush(); + if (read(0, &c, 1) != 1) + errexit("readc"); +#ifdef WHY_IS_THIS_HARDWIRED_IN_HERE + if (c == '\177') + getout(0); +#endif + if (c == '\033' || c == '\015') + return ('\n'); + if (cflag) + return (c); + if (c == '\014') + return ('R'); + if (c >= 'a' && c <= 'z') + return (c & 0137); + return (c); +} + +void +writec(c) + char c; +{ + if (tflag) + fancyc(c); + else + addbuf(c); +} + +void +writel(l) + const char *l; +{ +#ifdef DEBUG + const char *s; + + if (trace == NULL) + trace = fopen("bgtrace", "w"); + + fprintf(trace, "writel: \""); + for (s = l; *s; s++) { + if (*s < ' ' || *s == '\177') + fprintf(trace, "^%c", (*s) ^ 0100); + else + putc(*s, trace); + } + fprintf(trace, "\"\n"); + fflush(trace); +#endif + + while (*l) + writec(*l++); +} + +void +proll() +{ + if (d0) + swap; + if (cturn == 1) + writel("Red's roll: "); + else + writel("White's roll: "); + writec(D0 + '0'); + writec('\040'); + writec(D1 + '0'); + if (tflag) + cline(); +} + +void +wrint(n) + int n; +{ + int i, j, t; + + for (i = 4; i > 0; i--) { + t = 1; + for (j = 0; j < i; j++) + t *= 10; + if (n > t - 1) + writec((n / t) % 10 + '0'); + } + writec(n % 10 + '0'); +} + +void +gwrite() +{ + int r, c; + + r = c = 0; + if (tflag) { + r = curr; + c = curc; + curmove(16, 0); + } + if (gvalue > 1) { + writel("Game value: "); + wrint(gvalue); + writel(". "); + if (dlast == -1) + writel(color[0]); + else + writel(color[1]); + writel(" doubled last."); + } else { + switch (pnum) { + case -1: /* player is red */ + writel(plred); + break; + case 0: /* player is both colors */ + writel(nocomp); + break; + case 1: /* player is white */ + writel(plwhite); + } + } + + if (rscore || wscore) { + writel(" "); + wrscore(); + } + if (tflag) { + cline(); + curmove(r, c); + } +} + +int +quit() +{ + + if (tflag) { + curmove(20, 0); + clend(); + } else + writec('\n'); + writel("Are you sure you want to quit?"); + if (yorn(0)) { + if (rfl) { + writel("Would you like to save this game?"); + if (yorn(0)) + save(0); + } + cturn = 0; + return (1); + } + return (0); +} + +int +yorn(special) + char special; /* special response */ +{ + char c; + int i; + + i = 1; + while ((c = readc()) != 'Y' && c != 'N') { + if (special && c == special) + return (2); + if (i) { + if (special) { + writel(" (Y, N, or "); + writec(special); + writec(')'); + } else + writel(" (Y or N)"); + i = 0; + } else + writec('\007'); + } + if (c == 'Y') + writel(" Yes.\n"); + else + writel(" No.\n"); + if (tflag) + buflush(); + return (c == 'Y'); +} + +void +wrhit(i) + int i; +{ + writel("Blot hit on "); + wrint(i); + writec('.'); + writec('\n'); +} + +void +nexturn() +{ + int c; + + cturn = -cturn; + c = cturn / abs(cturn); + home = bar; + bar = 25 - bar; + offptr += c; + offopp -= c; + inptr += c; + inopp -= c; + Colorptr += c; + colorptr += c; +} + +void +getarg(arg) + char ***arg; +{ + char **s; + + /* process arguments here. dashes are ignored, nbrw are ignored if + * the game is being recovered */ + + s = *arg; + while (*s && s[0][0] == '-') { + switch (s[0][1]) { + + /* don't ask if rules or instructions needed */ + case 'n': + if (rflag) + break; + aflag = 0; + args[acnt++] = 'n'; + break; + + /* player is both red and white */ + case 'b': + if (rflag) + break; + pnum = 0; + aflag = 0; + args[acnt++] = 'b'; + break; + + /* player is red */ + case 'r': + if (rflag) + break; + pnum = -1; + aflag = 0; + args[acnt++] = 'r'; + break; + + /* player is white */ + case 'w': + if (rflag) + break; + pnum = 1; + aflag = 0; + args[acnt++] = 'w'; + break; + + /* print board after move according to following + * character */ + case 'p': + if (s[0][2] != 'r' && s[0][2] != 'w' && s[0][2] != 'b') + break; + args[acnt++] = 'p'; + args[acnt++] = s[0][2]; + if (s[0][2] == 'r') + bflag = 1; + if (s[0][2] == 'w') + bflag = -1; + if (s[0][2] == 'b') + bflag = 0; + break; + + case 't': + if (s[0][2] == '\0') { /* get terminal caps */ + s++; + tflag = getcaps(*s); + } else + tflag = getcaps(&s[0][2]); + break; + + case 's': + s++; + /* recover file */ + if (s[0] == NULL) { + writel("No save file named\n"); + getout(0); + } else + recover(s[0]); + break; + } + s++; + } + if (s[0] != 0) + recover(s[0]); +} + +void +init() +{ + int i; + + for (i = 0; i < 26;) + board[i++] = 0; + board[1] = 2; + board[6] = board[13] = -5; + board[8] = -3; + board[12] = board[19] = 5; + board[17] = 3; + board[24] = -2; + off[0] = off[1] = -15; + in[0] = in[1] = 5; + gvalue = 1; + dlast = 0; +} + +void +wrscore() +{ + writel("Score: "); + writel(color[1]); + writec(' '); + wrint(rscore); + writel(", "); + writel(color[0]); + writec(' '); + wrint(wscore); +} + +void +fixtty(t) + struct termios *t; +{ + if (tflag) + newpos(); + buflush(); + if (tcsetattr(0, TCSADRAIN, t) < 0) + errexit("fixtty"); +} + +void +getout(dummy) + int dummy __attribute__((__unused__)); +{ + /* go to bottom of screen */ + if (tflag) { + curmove(23, 0); + cline(); + } else + writec('\n'); + + /* fix terminal status */ + fixtty(&old); + exit(0); +} + +void +roll() +{ + char c; + int row; + int col; + + row = col = 0; + if (iroll) { + if (tflag) { + row = curr; + col = curc; + curmove(17, 0); + } else + writec('\n'); + writel("ROLL: "); + c = readc(); + if (c != '\n') { + while (c < '1' || c > '6') + c = readc(); + D0 = c - '0'; + writec(' '); + writec(c); + c = readc(); + while (c < '1' || c > '6') + c = readc(); + D1 = c - '0'; + writec(' '); + writec(c); + if (tflag) { + curmove(17, 0); + cline(); + curmove(row, col); + } else + writec('\n'); + return; + } + if (tflag) { + curmove(17, 0); + cline(); + curmove(row, col); + } else + writec('\n'); + } + D0 = rnum(6) + 1; + D1 = rnum(6) + 1; + d0 = 0; +} diff --git a/backgammon/common_source/table.c b/backgammon/common_source/table.c new file mode 100644 index 0000000..e54e801 --- /dev/null +++ b/backgammon/common_source/table.c @@ -0,0 +1,306 @@ +/* $NetBSD: table.c,v 1.7 2003/08/07 09:36:57 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)table.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: table.c,v 1.7 2003/08/07 09:36:57 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" + +const char *const help2[] = { + " Enter moves as - or / where is the starting", + "position, is the finishing position, and is the roll.", + "Remember, each die roll must be moved separately.", + 0 +}; + +struct state { + char ch; + int fcode; + int newst; +}; + +static const struct state atmata[] = { + + {'R', 1, 0}, {'?', 7, 0}, {'Q', 0, -3}, {'B', 8, 25}, + {'9', 2, 25}, {'8', 2, 25}, {'7', 2, 25}, {'6', 2, 25}, + {'5', 2, 25}, {'4', 2, 25}, {'3', 2, 25}, {'2', 2, 19}, + {'1', 2, 15}, {'0', 2, 25}, {'.', 0, 0}, {'9', 2, 25}, + {'8', 2, 25}, {'7', 2, 25}, {'6', 2, 25}, {'5', 2, 25}, + + {'4', 2, 25}, {'3', 2, 25}, {'2', 2, 25}, {'1', 2, 25}, + {'0', 2, 25}, {'/', 0, 32}, {'-', 0, 39}, {'.', 0, 0}, + {'/', 5, 32}, {' ', 6, 3}, {',', 6, 3}, {'\n', 0, -1}, + {'6', 3, 28}, {'5', 3, 28}, {'4', 3, 28}, {'3', 3, 28}, + {'2', 3, 28}, {'1', 3, 28}, {'.', 0, 0}, {'H', 9, 61}, + + {'9', 4, 61}, {'8', 4, 61}, {'7', 4, 61}, {'6', 4, 61}, + {'5', 4, 61}, {'4', 4, 61}, {'3', 4, 61}, {'2', 4, 53}, + {'1', 4, 51}, {'0', 4, 61}, {'.', 0, 0}, {'9', 4, 61}, + {'8', 4, 61}, {'7', 4, 61}, {'6', 4, 61}, {'5', 4, 61}, + {'4', 4, 61}, {'3', 4, 61}, {'2', 4, 61}, {'1', 4, 61}, + + {'0', 4, 61}, {' ', 6, 3}, {',', 6, 3}, {'-', 5, 39}, + {'\n', 0, -1}, {'.', 0, 0} +}; + +int +checkmove(ist) + int ist; +{ + int j, n; + char c; + +domove: + if (ist == 0) { + if (tflag) + curmove(curr, 32); + else + writel("\t\t"); + writel("Move: "); + } + ist = mvl = ncin = 0; + for (j = 0; j < 5; j++) + p[j] = g[j] = -1; + +dochar: + c = readc(); + + if (c == 'S') { + raflag = 0; + save(1); + if (tflag) { + curmove(cturn == -1 ? 18 : 19, 39); + ist = -1; + goto domove; + } else { + proll(); + ist = 0; + goto domove; + } + } + if (c == old.c_cc[VERASE] && ncin > 0) { + if (tflag) + curmove(curr, curc - 1); + else { + if (old.c_cc[VERASE] == '\010') + writel("\010 \010"); + else + writec(cin[ncin - 1]); + } + ncin--; + n = rsetbrd(); + if (n == 0) { + n = -1; + if (tflag) + refresh(); + } + if ((ist = n) > 0) + goto dochar; + goto domove; + } + if (c == old.c_cc[VKILL] && ncin > 0) { + if (tflag) { + refresh(); + curmove(curr, 39); + ist = -1; + goto domove; + } else + if (old.c_cc[VERASE] == '\010') { + for (j = 0; j < ncin; j++) + writel("\010 \010"); + ist = -1; + goto domove; + } else { + writec('\\'); + writec('\n'); + proll(); + ist = 0; + goto domove; + } + } + n = dotable(c, ist); + if (n >= 0) { + cin[ncin++] = c; + if (n > 2) + if ((!tflag) || c != '\n') + writec(c); + ist = n; + if (n) + goto dochar; + else + goto domove; + } + if (n == -1 && mvl >= mvlim) + return (0); + if (n == -1 && mvl < mvlim - 1) + return (-4); + + if (n == -6) { + if (!tflag) { + if (movokay(mvl + 1)) { + wrboard(); + movback(mvl + 1); + } + proll(); + writel("\t\tMove: "); + for (j = 0; j < ncin;) + writec(cin[j++]); + } else { + if (movokay(mvl + 1)) { + refresh(); + movback(mvl + 1); + } else + curmove(cturn == -1 ? 18 : 19, ncin + 39); + } + ist = n = rsetbrd(); + goto dochar; + } + if (n != -5) + return (n); + writec('\007'); + goto dochar; +} + +int +dotable(c, i) + char c; + int i; +{ + int a; + int test; + + test = (c == 'R'); + + while ((a = atmata[i].ch) != '.') { + if (a == c || (test && a == '\n')) { + switch (atmata[i].fcode) { + + case 1: + wrboard(); + if (tflag) { + curmove(cturn == -1 ? 18 : 19, 0); + proll(); + writel("\t\t"); + } else + proll(); + break; + + case 2: + if (p[mvl] == -1) + p[mvl] = c - '0'; + else + p[mvl] = p[mvl] * 10 + c - '0'; + break; + + case 3: + if (g[mvl] != -1) { + if (mvl < mvlim) + mvl++; + p[mvl] = p[mvl - 1]; + } + g[mvl] = p[mvl] + cturn * (c - '0'); + if (g[mvl] < 0) + g[mvl] = 0; + if (g[mvl] > 25) + g[mvl] = 25; + break; + + case 4: + if (g[mvl] == -1) + g[mvl] = c - '0'; + else + g[mvl] = g[mvl] * 10 + c - '0'; + break; + + case 5: + if (mvl < mvlim) + mvl++; + p[mvl] = g[mvl - 1]; + break; + + case 6: + if (mvl < mvlim) + mvl++; + break; + + case 7: + if (tflag) + curmove(20, 0); + else + writec('\n'); + (void) text(help2); + if (tflag) { + curmove(cturn == -1 ? 18 : 19, 39); + } else { + writec('\n'); + proll(); + writel("\t\tMove: "); + } + break; + + case 8: + p[mvl] = bar; + break; + + case 9: + g[mvl] = home; + } + + if (!test || a != '\n') + return (atmata[i].newst); + else + return (-6); + } + i++; + } + + return (-5); +} + +int +rsetbrd() +{ + int i, j, n; + + n = 0; + mvl = 0; + for (i = 0; i < 4; i++) + p[i] = g[i] = -1; + for (j = 0; j < ncin; j++) + n = dotable(cin[j], n); + return (n); +} diff --git a/backgammon/teachgammon/Makefile.bsd b/backgammon/teachgammon/Makefile.bsd new file mode 100644 index 0000000..af8662e --- /dev/null +++ b/backgammon/teachgammon/Makefile.bsd @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.11 2002/09/18 06:16:39 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +NOMAN= # defined + +PROG= teachgammon +SRCS= data.c teach.c ttext1.c ttext2.c tutor.c + +.include diff --git a/backgammon/teachgammon/Makefrag b/backgammon/teachgammon/Makefrag new file mode 100644 index 0000000..398e40a --- /dev/null +++ b/backgammon/teachgammon/Makefrag @@ -0,0 +1,38 @@ +# Makefrag - makefile fragment for backgammon/teachgammon +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +backgammon_teachgammon_DEFS := -DV7 +backgammon_teachgammon_DIRS := $(GAMESDIR) $(MAN6DIR) +backgammon_teachgammon_INCS := -Ibackgammon/common_source + +backgammon_teachgammon_all: backgammon/teachgammon/teachgammon + +backgammon_teachgammon_install: backgammon_teachgammon_all + $(INSTALL_BINARY) backgammon/teachgammon/teachgammon $(INSTALL_PREFIX)$(GAMESDIR)/teachgammon + $(HIDE_GAME) teachgammon + $(INSTALL_MANUAL) backgammon.6 teachgammon.6 diff --git a/backgammon/teachgammon/data.c b/backgammon/teachgammon/data.c new file mode 100644 index 0000000..189066e --- /dev/null +++ b/backgammon/teachgammon/data.c @@ -0,0 +1,342 @@ +/* $NetBSD: data.c,v 1.7 2004/01/01 15:59:09 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)data.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: data.c,v 1.7 2004/01/01 15:59:09 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "tutor.h" + +int maxmoves = 23; + +const char *const text0[] = { + "To start the game, I roll a 3, and you roll a 1. This means", + "that I get to start first. I move 8-5,6-5 since this makes a", + "new point and helps to trap your back men on 1. You should be", + "able to do a similar move with your roll.", + 0 +}; + +const char *const text1[] = { + "Now you shall see a move using doubles. I just rolled double", + "5's. I will move two men from position 13 to position 3. The", + "notation for this is 13-8,13-8,8-3,8-3. You will also roll dou-", + "bles, but you will be able to make a much stronger move.", + 0 +}; + +const char *const text2[] = { + "Excellent! As you can see, you are beginning to develop a wall", + "which is trapping my men on position 24. Also, moving your back", + "men forward not only improves your board position safely, but it", + "thwarts my effort to make a wall.", + "", + "My roll now is 5 6. Normally, I would use that roll to move from", + "position 24 to position 13 (24-18-13), but your new point prevents", + "that. Instead, I am forced to move from 13 to 2, where my man is", + "open but cannot be hit.", + 0 +}; + +const char *const text3[] = { + "As you can see, although you left a man open, it is a rela-", + "tively safe move to an advantageous position, which might help", + "you make a point later. Only two rolls (4 5 or 5 4) will allow", + "me to hit you. With an unprecedented amount of luck, I happen", + "to roll a 4 5 and hit you as just mentioned.", + 0 +}; + +const char *const text4[] = { + "You're pretty lucky yourself, you know. I follow by rolling 2 3", + "and moving 25-22,24-22, forming a new point.", + 0 +}; + +const char *const text5[] = { + "Not a spectacular move, but a safe one. I follow by rolling 6 1.", + "I decide to use this roll to move 22-16,16-15. It leaves me with", + "one man still open, but the blot is farther back on the board, and", + "would suffer less of a loss by being hit.", + 0 +}; + +const char *const text6[] = { + "By moving your two men from 17 to 20, you lessen my chance of", + "getting my man off the board. In fact, the odds are 5 to 4", + "against me getting off. I roll with the odds and helplessly", + "receive a 3 5.", + 0 +}; + +const char *const text7[] = { + "Note that the blot on 7 cannot be hit unless I get off the bar", + "and have a 1 or a 6 left over, and doing so will leave two of", + "my men open. Also, the blot on 16 cannot be hit at all! With", + "a sigh of frustration, I roll double 6's and remain immobile.", + 0 +}; + +const char *const text8[] = { + "See, you did not get hit and, you got to 'cover up' your open men.", + "Quite an accomplishment. Finally, I get off the bar by rolling", + "6 2 and moving 25-23,23-17.", + 0 +}; + +const char *const text9[] = { + "My venture off the bar did not last long. However, I got lucky", + "and rolled double 1's, allowing me to move 25-24,24-23,15-14,15-14.", + 0 +}; + +const char *const text10[] = { + "You are improving your position greatly and safely, and are well", + "on the way to winning the game. I roll a 6 2 and squeak past", + "your back man. Now the game becomes a race to the finish.", + 0 +}; + +const char *const text11[] = { + "Now that it is merely a race, you are trying to get as many men", + "as possible into the inner table, so you can start removing them.", + "I roll a 3 4 and move my two men farthest back to position 11", + "(15-11,14-11).", + 0 +}; + +const char *const text12[] = { + "The race is still on, and you have seem to be doing all right.", + "I roll 6 1 and move 14-8,13-12.", + 0 +}; + +const char *const text13[] = { + "Notice that you get to remove men the instant you have all of", + "them at your inner table, even if it is the middle of a turn.", + "I roll 1 2 and move 13-11,12-11.", + 0 +}; + +const char *const text14[] = { + "Although you could have removed a man, this move illustrates two", + "points: 1) You never have to remove men, and 2) You should try", + "to spread out your men on your inner table. Since you have one", + "man on each position, you should be able to remove at least two", + "men next turn. I roll 2 5 and move 8-6,11-6.", + 0 +}; + +const char *const text15[] = { + "This time you were able to remove men. I roll 3 4 and move", + "11-7,11-8. The race continues.", + 0 +}; + +const char *const text16[] = { + "More holes are opening up in your inner table, but you are", + "still very much ahead. If we were doubling, you would have", + "doubled long ago. I roll 2 6 and move 8-6,11-5.", + 0 +}; + +const char *const text17[] = { + "It pays to spread out your men. I roll 3 5 and move 7-4,8-3.", + 0 +}; + +const char *const text18[] = { + "You can only remove some men, but you spread out more and", + "more, in order to be able to remove men more efficiently.", + "I roll double 3's, which help, but not that much. I move", + "8-5,3-0,3-0,3-0.", + 0 +}; + +const char *const text19[] = { + "I roll 1 4 and move 5-4,4-0.", + 0 +}; + +const char *const text20[] = { + "You are now nicely spread out to win a game. I roll 5 6 and", + "move 5-0,6-0.", + 0 +}; + +const char *const text21[] = { + "Any minute now. Just a few short steps from victory. I roll", + "2 4 and move 6-4,4-0.", + 0 +}; + +const char *const text22[] = { + "It looks pretty hopeless for me, but I play on, rolling 1 3 and", + "moving 4-3,3-0.", + 0 +}; + +const char *const text23[] = { + "Congratulations! You just won a game of backgammon against the", + "computer! You will now be able to play a game, but remember,", + "when you start playing, that doubling will be enabled, which", + "will add another factor to the game... Good luck!!", + "", + 0 +}; + +const struct situatn test[] = { + { + {0, 2, 0, 0, 0, 0, -5, 0, -3, 0, 0, 0, 5, -5, 0, 0, 0, 3, 0, + 5, 0, 0, 0, 0, -2, 0}, + 3, 1, {8, 6, 0, 0}, {5, 5, 0, 0}, 4, 2, {text0} + }, + { + {0, 2, 0, 0, 0, -2, -4, 0, -2, 0, 0, 0, 5, -5, 0, 0, 0, 2, 0, + 4, 0, 2, 0, 0, -2, 0}, + 5, 5, {13, 13, 8, 8}, {8, 8, 3, 3}, 6, 6, {text1} + }, + { + {0, 0, 0, -2, 0, -2, -4, 2, -2, 0, 0, 0, 3, -3, 0, 0, 0, 2, 2, + 4, 0, 2, 0, 0, -2, 0}, + 6, 5, {13, 8, 0, 0}, {8, 2, 0, 0}, 1, 2, {text2} + }, + { + {0, 0, -1, -2, 0, -2, -4, 2, -2, 0, 0, 0, 2, -2, 0, 1, 0, 2, + 2, 4, 0, 2, 0, 0, -2, 0}, + 4, 5, {24, 20, 0, 0}, {20, 15, 0, 0}, 2, 5, {text3} + }, + { + {0, 0, 0, -2, 0, -2, -4, 3, -2, 0, 0, 0, 2, -2, 0, -1, 0, 2, + 2, 4, 0, 2, 0, 0, -1, -1}, + 2, 3, {25, 24, 0, 0}, {22, 22, 0, 0}, 4, 1, {text4} + }, + { + {0, 0, 0, -2, 0, -2, -4, 2, -2, 0, 0, 0, 3, -2, 0, -1, 0, 2, + 2, 4, 0, 2, -2, 0, 0, 0}, + 6, 1, {22, 16, 0, 0}, {16, 15, 0, 0}, 3, 3, {text5} + }, + { + {0, 0, 0, -2, 0, -2, -4, 2, -2, 0, 0, 0, 3, -2, 0, -2, 0, 0, + 2, 2, 2, 2, 2, 0, 0, -1}, + 3, 5, {0, 0, 0, 0}, {0, 0, 0, 0}, 5, 4, {text6} + }, + { + {0, 0, 0, -2, 0, -2, -4, 1, -2, 0, 0, 0, 3, -2, 0, -2, 1, 0, + 2, 2, 2, 2, 2, 0, 0, -1}, + 6, 6, {0, 0, 0, 0}, {0, 0, 0, 0}, 3, 6, {text7} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -2, 0, 0, 0, 3, -2, 0, -2, 2, 0, + 2, 2, 2, 2, 2, 0, 0, -1}, + 2, 6, {25, 23, 0, 0}, {23, 17, 0, 0}, 5, 1, {text8} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -2, 0, 0, 0, 2, -2, 0, -2, 2, 0, + 3, 2, 2, 2, 2, 0, 0, -1}, + 1, 1, {25, 24, 15, 15}, {24, 23, 14, 14}, 4, 6, {text9} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -2, 0, 0, 0, 0, -2, -2, 0, 3, 0, + 4, 2, 2, 2, 2, -1, 0, 0}, + 6, 2, {23, 17, 0, 0}, {17, 15, 0, 0}, 1, 3, {text10} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -2, 0, 0, 0, 0, -2, -2, -1, 2, 0, + 3, 4, 2, 2, 2, 0, 0, 0}, + 4, 3, {15, 14, 0, 0}, {11, 11, 0, 0}, 5, 3, {text11} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -2, 0, 0, -2, 0, -2, -1, 0, 0, 0, + 3, 5, 2, 3, 2, 0, 0, 0}, + 6, 1, {14, 13, 0, 0}, {8, 12, 0, 0}, 4, 4, {text12} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -3, 0, 0, -2, -1, -1, 0, 0, 0, 0, + 0, 5, 2, 2, 5, 0, 0, 0}, + 2, 1, {13, 12, 0, 0}, {11, 11, 0, 0}, 2, 1, {text13} + }, + { + {0, 0, 0, -2, 0, -2, -4, 0, -3, 0, 0, -4, 0, 0, 0, 0, 0, 0, + 0, 5, 2, 2, 3, 1, 1, 0}, + 2, 5, {8, 11, 0, 0}, {6, 6, 0, 0}, 6, 3, {text14} + }, + { + {0, 0, 0, -2, 0, -2, -6, 0, -2, 0, 0, -3, 0, 0, 0, 0, 0, 0, + 0, 4, 2, 2, 2, 1, 1, 0}, + 4, 3, {11, 11, 0, 0}, {7, 8, 0, 0}, 2, 5, {text15} + }, + { + {0, 0, 0, -2, 0, -2, -6, -1, -3, 0, 0, -1, 0, 0, 0, 0, 0, 0, + 0, 4, 1, 2, 2, 0, 1, 0}, + 2, 6, {8, 11, 0, 0}, {6, 5, 0, 0}, 6, 1, {text16} + }, + { + {0, 0, 0, -2, 0, -3, -7, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 1, 2, 2, 0, 0, 0}, + 5, 3, {8, 7, 0, 0}, {3, 4, 0, 0}, 5, 2, {text17} + }, + { + {0, 0, 0, -3, -1, -3, -7, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 0, 1, 2, 1, 0, 0}, + 3, 3, {8, 3, 3, 3}, {5, 0, 0, 0}, 1, 6, {text18} + }, + { + {0, 0, 0, 0, -1, -4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 2, 1, 0, 0}, + 1, 4, {4, 5, 0, 0}, {0, 4, 0, 0}, 2, 3, {text19} + }, + { + {0, 0, 0, 0, -1, -3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 0, 0}, + 5, 6, {6, 5, 0, 0}, {0, 0, 0, 0}, 1, 4, {text20} + }, + { + {0, 0, 0, 0, -1, -2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 1, 0, 0, 0}, + 2, 4, {4, 6, 0, 0}, {0, 4, 0, 0}, 6, 2, {text21} + }, + { + {0, 0, 0, 0, -1, -2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 0, 0}, + 3, 1, {4, 3, 0, 0}, {3, 0, 0, 0}, 4, 3, {text22} + }, + { + {0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0}, + 0, 0, {0, 0, 0, 0}, {0, 0, 0, 0}, 0, 0, {text23} + } +}; diff --git a/backgammon/teachgammon/teach.c b/backgammon/teachgammon/teach.c new file mode 100644 index 0000000..7a40cc8 --- /dev/null +++ b/backgammon/teachgammon/teach.c @@ -0,0 +1,158 @@ +/* $NetBSD: teach.c,v 1.16 2005/02/15 12:56:20 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1980, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)teach.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: teach.c,v 1.16 2005/02/15 12:56:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "tutor.h" + +const char *const helpm[] = { + "\nEnter a space or newline to roll, or", + " b to display the board", + " d to double", + " q to quit\n", + 0 +}; + +const char *const contin[] = { + "", + 0 +}; + +int +main(argc, argv) + int argc __attribute__((__unused__)); + char *argv[]; +{ + int i; + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + signal(SIGINT, getout); + if (tcgetattr(0, &old) == -1) /* get old tty mode */ + errexit("teachgammon(gtty)"); + noech = old; + noech.c_lflag &= ~ECHO; + bg_raw = noech; + bg_raw.c_lflag &= ~ICANON; /* set up modes */ + ospeed = cfgetospeed(&old); /* for termlib */ + tflag = getcaps(getenv("TERM")); +#ifdef V7 + while (*++argv != 0) +#else + while (*++argv != -1) +#endif + getarg(&argv); + if (tflag) { + noech.c_oflag &= ~(ONLCR | OXTABS); + bg_raw.c_oflag &= ~(ONLCR | OXTABS); + clear(); + } + text(hello); + text(list); + i = text(contin); + if (i == 0) + i = 2; + init(); + while (i) + switch (i) { + case 1: + leave(); + + case 2: + if ((i = text(intro1)) != 0) + break; + wrboard(); + if ((i = text(intro2)) != 0) + break; + + case 3: + if ((i = text(moves)) != 0) + break; + + case 4: + if ((i = text(removepiece)) != 0) + break; + + case 5: + if ((i = text(hits)) != 0) + break; + + case 6: + if ((i = text(endgame)) != 0) + break; + + case 7: + if ((i = text(doubl)) != 0) + break; + + case 8: + if ((i = text(stragy)) != 0) + break; + + case 9: + if ((i = text(prog)) != 0) + break; + + case 10: + if ((i = text(lastch)) != 0) + break; + } + tutor(); + /* NOTREACHED */ + return (0); +} + +void +leave() +{ + if (tflag) + clear(); + else + writec('\n'); + fixtty(&old); + execl(EXEC, "backgammon", "-n", args[1]?args:0, (char *) 0); + writel("Help! Backgammon program is missing\007!!\n"); + exit(1); +} diff --git a/backgammon/teachgammon/ttext1.c b/backgammon/teachgammon/ttext1.c new file mode 100644 index 0000000..82db223 --- /dev/null +++ b/backgammon/teachgammon/ttext1.c @@ -0,0 +1,188 @@ +/* $NetBSD: ttext1.c,v 1.7 2003/08/07 09:36:58 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)ttext1.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: ttext1.c,v 1.7 2003/08/07 09:36:58 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "tutor.h" + +const char *const opts = " QIMRHEDSPT"; +const char *const prompt = "-->"; + +const char *const list[] = { + "\n\n\tI\tIntroduction to Backgammon", + "\tM\tMoves and Points", + "\tR\tRemoving Men from the Board", + "\tH\tHitting Blots", + "\tE\tEnding the Game and Scoring", + "\tD\tDoubling", + "\tS\tStrategy", + "\tP\tThe Program and How to Use It", + "\nalso, you can type:", + "\t?\tto get this list", + "\tQ\tto go start playing", + "\tT\tto go straight to the tutorial", + 0 +}; + +const char *const hello[] = { + "\n These rules consist of text describing how to play Backgammon", + "followed by a tutorial session where you play a practice game", + "against the computer. When using this program, think carefuly", + "before typing, since it reacts as soon as you type something. In", + "addition, the program presents text output, such as these rules,", + "in small blocks that will not roll off the top of the screen.", + "Frequently, you will see the characters '-->' indicating that the", + "program is waiting for you to finish reading, and will continue", + "printing when you type a space or newline. Also, the rules are", + "divided into sections, and although you should read them in or-", + "der, you can go directly to any of them by typing one of the fol-", + "lowing letters:", + "(Remember to hit a space or a newline to continue.)", + "", + 0 +}; + +const char *const intro1[] = { + "\nIntroduction:", + "\n Backgammon is a game involving the skill of two players and", + "the luck of two dice. There are two players, red and white, and", + "each player gets fifteen men. The object of the game is to re-", + "move all your men from the board before the opponent does. The", + "board consists of twenty-four positions, a 'bar' and a 'home' for", + "each player. It looks like this:", + "", +0}; + +const char *const intro2[] = { + "", + "\n Although not indicated on the board, the players' homes are", + "located just to the right of the board. A player's men are placed", + "there when they are removed from the board. The board you just", + "saw was in it's initial position. All games start with the board", + "looking like this. Notice that red's pieces are represented by the", + "letter 'r' and white's pieces are represented by the letter 'w'.", + "Also, a position may have zero or more pieces on it, e.g. posi-", + "tion 12 has five red pieces on it, while position 11 does not", + "have any pieces of either color.", + "", +0}; + +const char *const moves[] = { + "\nMoves and Points:", + "\n Moves are made along the positions on the board according to", + "their numbers. Red moves in the positive direction (clockwise", + "from 1 to 24), and white moves in the negative direction (coun-", + "terclockwise from 24 to 1).", + "\n A turn consists of rolling the dice, and moving the number of", + "positions indicated on each die. The two numbers can be used to", + "move one man the sum of the two rolls, or two men the number on", + "each individual die. For example, if red rolled 6 3 at the start", + "of the game, he might move a man from 1 to 7 to 10, using both", + "dice for one man, or he might move two men from position 12, one", + "to 15 and one to 18. (Red did not have to choose two men start-", + "ing from the same position.) In addition, doubles are treated", + "specially in backgammon. When a player rolls doubles, he gets to", + "move as if he had four dice instead of two. For instance, if you", + "rolled double 2's, you could move one man eight positions, four", + "men two positions each, or any permutation in between.", + "", + "\n However, there are certain limitations, called 'points.' A", + "player has a point when he has two or more men on the same posi-", + "tion. This gives him custody of that position, and his opponent", + "cannot place his men there, even if passing through on the way to", + "another position. When a player has six points in a row, it is", + "called a 'wall,' since any of his opponent's men behind the wall", + "cannot pass it and are trapped, at least for the moment. Notice", + "that this could mean that a player could not use part or all of", + "his roll. However, he must use as much of his roll as possible.", + "", +0}; + +const char *const removepiece[] = { + "\nRemoving Men from the Board:", + "\n The most important part of the game is removing men, since", + "that is how you win the game. Once a man is removed, he stays", + "off the board for the duration of the game. However, a player", + "cannot remove men until all his men are on his 'inner table,' or", + "the last six positions of the board (19-24 for red, 6-1 for", + "white).", + "\n To get off the board, a player must roll the exact number to", + "get his man one position past the last position on the board, or", + "his 'home.' Hence, if red wanted to remove a man from position", + "23, he would have to roll a 2, anything else would be used for", + "another man, or for another purpose. However, there is one ex-", + "ception. If the player rolling has no men far enough to move the", + "roll made, he may move his farthest man off the board. For exam-", + "ple, if red's farthest man back was on position 21, he could re-", + "move men from that position if he rolled a 5 or a 6, as well as a", + "4. Since he does not have men on 20 (where he could use a 5) or", + "on 19 (where he could use a 6), he can use these rolls for posi-", + "tion 21. A player never has to remove men, but he must make as", + "many moves as possible.", + "", +0}; + +const char *const hits[] = { + "\nHitting Blots:", + "\n Although two men on a position form an impenetrable point, a", + "lone man is not so secure. Such a man is called a 'blot' and has", + "the potential of getting hit by an opposing man. When a player's", + "blot is hit, he is placed on the bar, and the first thing that", + "player must do is move the man off the bar. Such moves are", + "counted as if the bar is one position behind the first position", + "on the board. Thus if red has a man on the bar and rolls 2 3, he", + "must move the man on the bar to position 2 or 3 before moving any", + "other man. If white had points on positions 2 and 3, then red", + "would forfeit his turn. Being on the bar is a very bad position,", + "for often a player can lose many turns trying to move off the", + "bar, as well as being set back the full distance of the board.", + "", +0}; + +const char *const endgame[] = { + "\nEnding the Game and Scoring:", + "\n Winning a game usually wins one point, the normal value of a", + "game. However, if the losing player has not removed any men yet,", + "then the winning player wins double the game value, called a", + "'gammon.' If the losing player has a player on the bar or on the", + "winner's inner table, then the winner gets triple the game value,", + "which is called a 'backgammon.' (So that's where the name comes", + "from!)", + "", +0}; diff --git a/backgammon/teachgammon/ttext2.c b/backgammon/teachgammon/ttext2.c new file mode 100644 index 0000000..5e827d7 --- /dev/null +++ b/backgammon/teachgammon/ttext2.c @@ -0,0 +1,196 @@ +/* $NetBSD: ttext2.c,v 1.7 2003/08/07 09:36:58 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)ttext2.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: ttext2.c,v 1.7 2003/08/07 09:36:58 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "tutor.h" + +const char *const doubl[] = { + "\nDoubling:", + "\n If a player thinks he is in a good position, he may double the", + "value of the game. However, his opponent may not accept the pro-", + "posal and forfeit the game before the price gets too high. A", + "player must double before he rolls, and once his double has been", + "accepted, he cannot double again, until his opponent has doubled.", + "Thus, unless the game swings back and forth in advantage between", + "the two players a great deal, the value of the game should be", + "low. At any rate, the value of the game will never go above 64,", + "or six doubles. However, if a player wins a backgammon at 64", + "points, he wins 192 points!", + "", +0}; + +const char *const stragy[] = { + "\nStrategy:", + "\n Some general hints when playing: Try not to leave men open", + "unless absolutely necessary. Also, it is good to make as many", + "points as possible. Often, two men from different positions can", + "be brought together to form a new point. Although walls (six", + "points in a row) are difficult to form, many points nestled close-", + "ly together produce a formidable barrier. Also, while it is good", + "to move back men forward, doing so lessens the opportunity for you", + "to hit men. Finally, remember that once the two player's have", + "passed each other on the board, there is no chance of either team", + "being hit, so the game reduces to a race off the board. Addi-", + "tional hints on strategy are presented in the practice game.", + "", +0}; + +const char *const prog[] = { + "\nThe Program and How It Works:", + "\n A general rule of thumb is when you don't know what to do,", + "type a question mark, and you should get some help. When it is", + "your turn, only your color will be printed out, with nothing", + "after it. You may double by typing a 'd', but if you type a", + "space or newline, you will get your roll. (Remember, you must", + "double before you roll.) Also, typing a 'r' will reprint the", + "board, and a 'q' will quit the game. The program will type", + "'Move:' when it wants your move, and you may indicate each die's", + "move with -, where is the starting position and is", + "the finishing position, or / where is the roll made.", + "-- is short for -,- and / is", + "short for /,/. Moves may be separated by a comma", + "or a space.", + "", + "\n While typing, any input which does not make sense will not be", + "echoed, and a bell will sound instead. Also, backspacing and", + "killing lines will echo differently than normal. You may examine", + "the board by typing a 'r' if you have made a partial move, or be-", + "fore you type a newline, to see what the board looks like. You", + "must end your move with a newline. If you cannot double, your", + "roll will always be printed, and you will not be given the oppor-", + "tunity to double. Home and bar are represented by the appropri-", + "ate number, 0 or 25 as the case may be, or by the letters 'h' or", + "'b' as appropriate. You may also type 'r' or 'q' when the program", + "types 'Move:', which has the same effect as above. Finally, you", + "will get to decide if you want to play red or white (or both if you", + "want to play a friend) at the beginning of the session, and you", + "will not get to change your mind later, since the computer keeps", + "score.", + "", +0}; + +const char *const lastch[] = { + "\nTutorial (Practice Game):", + "\n This tutorial, for simplicity's sake, will let you play one", + "predetermined game. All the rolls have been pre-arranged, and", + "only one response will let you advance to the next move.", + "Although a given roll will may have several legal moves, the tu-", + "torial will only accept one (not including the same moves in a", + "different order), claiming that that move is 'best.' Obviously,", + "a subjective statement. At any rate, be patient with it and have", + "fun learning about backgammon. Also, to speed things up a lit-", + "tle, doubling will not take place in the tutorial, so you will", + "never get that opportunity, and quitting only leaves the tutori-", + "al, not the game. You will still be able to play backgammon", + "after quitting.", + "\n This is your last chance to look over the rules before the tu-", + "torial starts.", + "", +0}; + + +int +text(txt) + const char *const *txt; +{ + const char *const *begin; + const char *a; + char b; + const char *c; + int i; + + fixtty(&noech); + begin = txt; + while (*txt) { + a = *(txt++); + if (*a != '\0') { + c = a; + for (i = 0; *(c++) != '\0'; i--); + writel(a); + writec('\n'); + } else { + fixtty(&bg_raw); + writel(prompt); + for (;;) { + if ((b = readc()) == '?') { + if (tflag) { + if (begscr) { + curmove(18, 0); + clend(); + } else + clear(); + } else + writec('\n'); + text(list); + writel(prompt); + continue; + } + i = 0; + if (b == '\n') + break; + while (i < 11) { + if (b == opts[i]) + break; + i++; + } + if (i == 11) + writec('\007'); + else + break; + } + if (tflag) { + if (begscr) { + curmove(18, 0); + clend(); + } else + clear(); + } else + writec('\n'); + if (i) + return (i); + fixtty(&noech); + if (tflag) + curmove(curr, 0); + begin = txt; + } + } + fixtty(&bg_raw); + return (0); +} diff --git a/backgammon/teachgammon/tutor.c b/backgammon/teachgammon/tutor.c new file mode 100644 index 0000000..4516902 --- /dev/null +++ b/backgammon/teachgammon/tutor.c @@ -0,0 +1,156 @@ +/* $NetBSD: tutor.c,v 1.6 2003/08/07 09:36:58 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)tutor.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: tutor.c,v 1.6 2003/08/07 09:36:58 agc Exp $"); +#endif +#endif /* not lint */ + +#include "back.h" +#include "tutor.h" + +static const char better[] = "That is a legal move, but there is a better one.\n"; + +void +tutor() +{ + int i, j; + + i = 0; + begscr = 18; + cturn = -1; + home = 0; + bar = 25; + inptr = &in[0]; + inopp = &in[1]; + offptr = &off[0]; + offopp = &off[1]; + Colorptr = &color[0]; + colorptr = &color[2]; + colen = 5; + wrboard(); + + while (1) { + if (!brdeq(test[i].brd, board)) { + if (tflag && curr == 23) + curmove(18, 0); + writel(better); + nexturn(); + movback(mvlim); + if (tflag) { + refresh(); + clrest(); + } + if ((!tflag) || curr == 19) { + proll(); + writec('\t'); + } else + curmove(curr > 19 ? curr - 2 : curr + 4, 25); + getmove(); + if (cturn == 0) + leave(); + continue; + } + if (tflag) + curmove(18, 0); + text(*test[i].com); + if (!tflag) + writec('\n'); + if (i == maxmoves) + break; + D0 = test[i].roll1; + D1 = test[i].roll2; + d0 = 0; + mvlim = 0; + for (j = 0; j < 4; j++) { + if (test[i].mp[j] == test[i].mg[j]) + break; + p[j] = test[i].mp[j]; + g[j] = test[i].mg[j]; + mvlim++; + } + if (mvlim) + for (j = 0; j < mvlim; j++) + if (makmove(j)) + writel("AARGH!!!\n"); + if (tflag) + refresh(); + nexturn(); + D0 = test[i].new1; + D1 = test[i].new2; + d0 = 0; + i++; + mvlim = movallow(); + if (mvlim) { + if (tflag) + clrest(); + proll(); + writec('\t'); + getmove(); + if (tflag) + refresh(); + if (cturn == 0) + leave(); + } + } + leave(); +} + +void +clrest() +{ + int r, c, j; + + r = curr; + c = curc; + for (j = r + 1; j < 24; j++) { + curmove(j, 0); + cline(); + } + curmove(r, c); +} + +int +brdeq(b1, b2) + const int *b1, *b2; +{ + const int *e; + + e = b1 + 26; + while (b1 < e) + if (*b1++ != *b2++) + return (0); + return (1); +} diff --git a/backgammon/teachgammon/tutor.h b/backgammon/teachgammon/tutor.h new file mode 100644 index 0000000..6fcceff --- /dev/null +++ b/backgammon/teachgammon/tutor.h @@ -0,0 +1,68 @@ +/* $NetBSD: tutor.h,v 1.8 2004/01/27 20:30:28 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tutor.h 8.1 (Berkeley) 5/31/93 + */ + +struct situatn { + int brd[26]; + int roll1; + int roll2; + int mp[4]; + int mg[4]; + int new1; + int new2; + const char *const (*com[8]); +}; + + +extern const char *const doubl[]; +extern const char *const endgame[]; +extern const char *const finis[]; +extern const char *const hello[]; +extern const char *const hits[]; +extern const char *const intro1[]; +extern const char *const intro2[]; +extern const char *const lastch[]; +extern const char *const list[]; +extern int maxmoves; +extern const char *const moves[]; +extern const char *const opts; +extern const char *const prog[]; +extern const char *const prompt; +extern const char *const removepiece[]; +extern const char *const stragy[]; +extern const struct situatn test[]; + + +int brdeq(const int *, const int *); +void clrest(void); +void leave(void) __attribute__((__noreturn__)); +void tutor(void) __attribute__((__noreturn__)); diff --git a/banner/Makefile.bsd b/banner/Makefile.bsd new file mode 100644 index 0000000..cf4ed3f --- /dev/null +++ b/banner/Makefile.bsd @@ -0,0 +1,7 @@ +# $NetBSD: Makefile,v 1.4 1995/03/25 07:44:46 glass Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/6/93 + +PROG= banner +MAN= banner.6 + +.include diff --git a/banner/Makefrag b/banner/Makefrag new file mode 100644 index 0000000..abf57f0 --- /dev/null +++ b/banner/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for banner +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +banner_DIRS := $(GAMESDIR) $(MAN6DIR) + +banner_all: banner/banner banner/banner.6 + +banner_install: banner_all + $(INSTALL_BINARY) banner/banner $(INSTALL_PREFIX)$(GAMESDIR)/banner + $(HIDE_GAME) banner + $(INSTALL_MANUAL) banner/banner.6 diff --git a/banner/banner.6 b/banner/banner.6 new file mode 100644 index 0000000..acf4c3a --- /dev/null +++ b/banner/banner.6 @@ -0,0 +1,66 @@ +.\" $NetBSD: banner.6,v 1.13 2003/08/07 09:36:59 agc Exp $ +.\" +.\" Copyright (c) 1980, 1993, 1995 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)banner.6 8.2 (Berkeley) 4/29/95 +.\" +.Dd April 29, 1995 +.Dt BANNER 6 +.Os +.Sh NAME +.Nm banner +.Nd print large banner on printer +.Sh SYNOPSIS +.Nm +.Op Fl w Ar width +.Ar message ... +.Sh DESCRIPTION +.Nm +prints a large, high quality banner on the standard output. +If the message is omitted, it prompts for and +reads one line of its standard input. +If +.Fl w +is given, the output is scrunched down from a width of 132 to +.Ar width , +suitable for a narrow terminal. +.Pp +The output should be printed on paper of the appropriate width, +with no breaks between the pages. +.Sh BUGS +Several ASCII characters are not defined, notably \*[Lt], \*[Gt], [, ], \\, +^, _, {, }, |, and ~. Also, the characters ", ', and \*[Am] are funny +looking (but in a useful way.) +.Pp +The +.Fl w +option is implemented by skipping some rows and columns. +The smaller it gets, the grainier the output. +Sometimes it runs letters together. +.Sh AUTHOR +.An Mark Horton diff --git a/banner/banner.c b/banner/banner.c new file mode 100644 index 0000000..4d2103c --- /dev/null +++ b/banner/banner.c @@ -0,0 +1,1169 @@ +/* $NetBSD: banner.c,v 1.12 2004/01/27 20:30:28 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1980, 1993, 1994\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)banner.c 8.4 (Berkeley) 4/29/95"; +#else +__RCSID("$NetBSD: banner.c,v 1.12 2004/01/27 20:30:28 jsm Exp $"); +#endif +#endif /* not lint */ + +/* + * banner - prints large signs + * banner [-w width] [-d] [-t] message ... + */ + +#include +#include +#include +#include +#include + +#define MAXMSG 1024 +#define DWIDTH 132 +#define NCHARS 128 +#define NBYTES 9271 + +/* Pointers into data_table for each ASCII char */ +const int asc_ptr[NCHARS] = { +/* ^@ */ 0, 0, 0, 0, 0, 0, 0, 0, +/* ^H */ 0, 0, 0, 0, 0, 0, 0, 0, +/* ^P */ 0, 0, 0, 0, 0, 0, 0, 0, +/* ^X */ 0, 0, 0, 0, 0, 0, 0, 0, +/* */ 1, 3, 50, 81, 104, 281, 483, 590, +/* ( */ 621, 685, 749, 851, 862, 893, 898, 921, +/* 0 */1019, 1150, 1200, 1419, 1599, 1744, 1934, 2111, +/* 8 */2235, 2445, 2622, 2659, 0, 2708, 0, 2715, +/* @ */2857, 3072, 3273, 3403, 3560, 3662, 3730, 3785, +/* H */3965, 4000, 4015, 4115, 4281, 4314, 4432, 4548, +/* P */4709, 4790, 4999, 5188, 5397, 5448, 5576, 5710, +/* X */5892, 6106, 6257, 0, 0, 0, 0, 0, +/* ` */ 50, 6503, 6642, 6733, 6837, 6930, 7073, 7157, +/* h */7380, 7452, 7499, 7584, 7689, 7702, 7797, 7869, +/* p */7978, 8069, 8160, 8222, 8381, 8442, 8508, 8605, +/* x */8732, 8888, 9016, 0, 0, 0, 0, 0 +}; + +/* + * Table of stuff to print. Format: + * 128+n -> print current line n times. + * 64+n -> this is last byte of char. + * else, put m chars at position n (where m + * is the next elt in array) and goto second + * next element in array. + */ +const char data_table[NBYTES] = { +/* 0 1 2 3 4 5 6 7 8 9 */ +/* 0 */ 129, 227, 130, 34, 6, 90, 19, 129, 32, 10, +/* 10 */ 74, 40, 129, 31, 12, 64, 53, 129, 30, 14, +/* 20 */ 54, 65, 129, 30, 14, 53, 67, 129, 30, 14, +/* 30 */ 54, 65, 129, 31, 12, 64, 53, 129, 32, 10, +/* 40 */ 74, 40, 129, 34, 6, 90, 19, 129, 194, 130, +/* 50 */ 99, 9, 129, 97, 14, 129, 96, 18, 129, 95, +/* 60 */ 22, 129, 95, 16, 117, 2, 129, 95, 14, 129, +/* 70 */ 96, 11, 129, 97, 9, 129, 99, 6, 129, 194, +/* 80 */ 129, 87, 4, 101, 4, 131, 82, 28, 131, 87, +/* 90 */ 4, 101, 4, 133, 82, 28, 131, 87, 4, 101, +/* 100 */ 4, 131, 193, 129, 39, 1, 84, 27, 129, 38, +/* 110 */ 3, 81, 32, 129, 37, 5, 79, 35, 129, 36, +/* 120 */ 5, 77, 38, 129, 35, 5, 76, 40, 129, 34, +/* 130 */ 5, 75, 21, 103, 14, 129, 33, 5, 74, 19, +/* 140 */ 107, 11, 129, 32, 5, 73, 17, 110, 9, 129, +/* 150 */ 32, 4, 73, 16, 112, 7, 129, 31, 4, 72, +/* 160 */ 15, 114, 6, 129, 31, 4, 72, 14, 115, 5, +/* 170 */ 129, 30, 4, 71, 15, 116, 5, 129, 27, 97, +/* 180 */ 131, 30, 4, 69, 14, 117, 4, 129, 30, 4, +/* 190 */ 68, 15, 117, 4, 132, 30, 4, 68, 14, 117, +/* 200 */ 4, 129, 27, 97, 131, 30, 5, 65, 15, 116, +/* 210 */ 5, 129, 31, 4, 65, 14, 116, 4, 129, 31, +/* 220 */ 6, 64, 15, 116, 4, 129, 32, 7, 62, 16, +/* 230 */ 115, 4, 129, 32, 9, 61, 17, 114, 5, 129, +/* 240 */ 33, 11, 58, 19, 113, 5, 129, 34, 14, 55, +/* 250 */ 21, 112, 5, 129, 35, 40, 111, 5, 129, 36, +/* 260 */ 38, 110, 5, 129, 37, 35, 109, 5, 129, 38, +/* 270 */ 32, 110, 3, 129, 40, 27, 111, 1, 129, 193, +/* 280 */ 129, 30, 4, 103, 9, 129, 30, 7, 100, 15, +/* 290 */ 129, 30, 10, 99, 17, 129, 33, 10, 97, 6, +/* 300 */ 112, 6, 129, 36, 10, 96, 5, 114, 5, 129, +/* 310 */ 39, 10, 96, 4, 115, 4, 129, 42, 10, 95, +/* 320 */ 4, 116, 4, 129, 45, 10, 95, 3, 117, 3, +/* 330 */ 129, 48, 10, 95, 3, 117, 3, 129, 51, 10, +/* 340 */ 95, 4, 116, 4, 129, 54, 10, 96, 4, 115, +/* 350 */ 4, 129, 57, 10, 96, 5, 114, 5, 129, 60, +/* 360 */ 10, 97, 6, 112, 6, 129, 63, 10, 99, 17, +/* 370 */ 129, 66, 10, 100, 15, 129, 69, 10, 103, 9, +/* 380 */ 129, 39, 9, 72, 10, 129, 36, 15, 75, 10, +/* 390 */ 129, 35, 17, 78, 10, 129, 33, 6, 48, 6, +/* 400 */ 81, 10, 129, 32, 5, 50, 5, 84, 10, 129, +/* 410 */ 32, 4, 51, 4, 87, 10, 129, 31, 4, 52, +/* 420 */ 4, 90, 10, 129, 31, 3, 53, 3, 93, 10, +/* 430 */ 129, 31, 3, 53, 3, 96, 10, 129, 31, 4, +/* 440 */ 52, 4, 99, 10, 129, 32, 4, 51, 4, 102, +/* 450 */ 10, 129, 32, 5, 50, 5, 105, 10, 129, 33, +/* 460 */ 6, 48, 6, 108, 10, 129, 35, 17, 111, 10, +/* 470 */ 129, 36, 15, 114, 7, 129, 40, 9, 118, 4, +/* 480 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41, +/* 490 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44, +/* 500 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32, +/* 510 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31, +/* 520 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30, +/* 530 */ 5, 79, 5, 129, 20, 74, 132, 30, 4, 80, +/* 540 */ 4, 129, 31, 3, 79, 4, 129, 31, 4, 79, +/* 550 */ 4, 129, 32, 3, 78, 4, 129, 32, 4, 76, +/* 560 */ 6, 129, 33, 4, 74, 7, 129, 34, 4, 72, +/* 570 */ 8, 129, 35, 5, 72, 7, 129, 37, 5, 73, +/* 580 */ 4, 129, 39, 4, 74, 1, 129, 129, 193, 130, +/* 590 */ 111, 6, 129, 109, 10, 129, 108, 12, 129, 107, +/* 600 */ 14, 129, 97, 2, 105, 16, 129, 99, 22, 129, +/* 610 */ 102, 18, 129, 105, 14, 129, 108, 9, 129, 194, +/* 620 */ 130, 63, 25, 129, 57, 37, 129, 52, 47, 129, +/* 630 */ 48, 55, 129, 44, 63, 129, 41, 69, 129, 38, +/* 640 */ 75, 129, 36, 79, 129, 34, 83, 129, 33, 28, +/* 650 */ 90, 28, 129, 32, 23, 96, 23, 129, 32, 17, +/* 660 */ 102, 17, 129, 31, 13, 107, 13, 129, 30, 9, +/* 670 */ 112, 9, 129, 30, 5, 116, 5, 129, 30, 1, +/* 680 */ 120, 1, 129, 194, 130, 30, 1, 120, 1, 129, +/* 690 */ 30, 5, 116, 5, 129, 30, 9, 112, 9, 129, +/* 700 */ 31, 13, 107, 13, 129, 32, 17, 102, 17, 129, +/* 710 */ 32, 23, 96, 23, 129, 33, 28, 90, 28, 129, +/* 720 */ 34, 83, 129, 36, 79, 129, 38, 75, 129, 41, +/* 730 */ 69, 129, 44, 63, 129, 48, 55, 129, 52, 47, +/* 740 */ 129, 57, 37, 129, 63, 25, 129, 194, 129, 80, +/* 750 */ 4, 130, 80, 4, 129, 68, 2, 80, 4, 94, +/* 760 */ 2, 129, 66, 6, 80, 4, 92, 6, 129, 67, +/* 770 */ 7, 80, 4, 90, 7, 129, 69, 7, 80, 4, +/* 780 */ 88, 7, 129, 71, 6, 80, 4, 87, 6, 129, +/* 790 */ 72, 20, 129, 74, 16, 129, 76, 12, 129, 62, +/* 800 */ 40, 131, 76, 12, 129, 74, 16, 129, 72, 20, +/* 810 */ 129, 71, 6, 80, 4, 87, 6, 129, 69, 7, +/* 820 */ 80, 4, 88, 7, 129, 67, 7, 80, 4, 90, +/* 830 */ 7, 129, 66, 6, 80, 4, 92, 6, 129, 68, +/* 840 */ 2, 80, 4, 94, 2, 129, 80, 4, 130, 193, +/* 850 */ 129, 60, 4, 139, 41, 42, 131, 60, 4, 139, +/* 860 */ 193, 130, 34, 6, 129, 32, 10, 129, 31, 12, +/* 870 */ 129, 30, 14, 129, 20, 2, 28, 16, 129, 22, +/* 880 */ 22, 129, 24, 19, 129, 27, 15, 129, 31, 9, +/* 890 */ 129, 194, 129, 60, 4, 152, 193, 130, 34, 6, +/* 900 */ 129, 32, 10, 129, 31, 12, 129, 30, 14, 131, +/* 910 */ 31, 12, 129, 32, 10, 129, 34, 6, 129, 194, +/* 920 */ 129, 30, 4, 129, 30, 7, 129, 30, 10, 129, +/* 930 */ 33, 10, 129, 36, 10, 129, 39, 10, 129, 42, +/* 940 */ 10, 129, 45, 10, 129, 48, 10, 129, 51, 10, +/* 950 */ 129, 54, 10, 129, 57, 10, 129, 60, 10, 129, +/* 960 */ 63, 10, 129, 66, 10, 129, 69, 10, 129, 72, +/* 970 */ 10, 129, 75, 10, 129, 78, 10, 129, 81, 10, +/* 980 */ 129, 84, 10, 129, 87, 10, 129, 90, 10, 129, +/* 990 */ 93, 10, 129, 96, 10, 129, 99, 10, 129, 102, +/* 1000 */ 10, 129, 105, 10, 129, 108, 10, 129, 111, 10, +/* 1010 */ 129, 114, 7, 129, 117, 4, 129, 193, 129, 60, +/* 1020 */ 31, 129, 53, 45, 129, 49, 53, 129, 46, 59, +/* 1030 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129, +/* 1040 */ 37, 77, 129, 36, 79, 129, 35, 15, 101, 15, +/* 1050 */ 129, 34, 11, 106, 11, 129, 33, 9, 109, 9, +/* 1060 */ 129, 32, 7, 112, 7, 129, 31, 6, 114, 6, +/* 1070 */ 129, 31, 5, 115, 5, 129, 30, 5, 116, 5, +/* 1080 */ 129, 30, 4, 117, 4, 132, 30, 5, 116, 5, +/* 1090 */ 129, 31, 5, 115, 5, 129, 31, 6, 114, 6, +/* 1100 */ 129, 32, 7, 112, 7, 129, 33, 9, 109, 9, +/* 1110 */ 129, 34, 11, 106, 11, 129, 35, 15, 101, 15, +/* 1120 */ 129, 36, 79, 129, 37, 77, 129, 39, 73, 129, +/* 1130 */ 41, 69, 129, 43, 65, 129, 46, 59, 129, 49, +/* 1140 */ 53, 129, 53, 45, 129, 60, 31, 129, 193, 129, +/* 1150 */ 30, 4, 129, 30, 4, 100, 1, 129, 30, 4, +/* 1160 */ 100, 3, 129, 30, 4, 100, 5, 129, 30, 76, +/* 1170 */ 129, 30, 78, 129, 30, 80, 129, 30, 82, 129, +/* 1180 */ 30, 83, 129, 30, 85, 129, 30, 87, 129, 30, +/* 1190 */ 89, 129, 30, 91, 129, 30, 4, 132, 193, 129, +/* 1200 */ 30, 3, 129, 30, 7, 129, 30, 10, 112, 1, +/* 1210 */ 129, 30, 13, 112, 2, 129, 30, 16, 112, 3, +/* 1220 */ 129, 30, 18, 111, 5, 129, 30, 21, 111, 6, +/* 1230 */ 129, 30, 23, 112, 6, 129, 30, 14, 47, 8, +/* 1240 */ 113, 6, 129, 30, 14, 49, 8, 114, 5, 129, +/* 1250 */ 30, 14, 51, 8, 115, 5, 129, 30, 14, 53, +/* 1260 */ 8, 116, 4, 129, 30, 14, 55, 8, 116, 5, +/* 1270 */ 129, 30, 14, 56, 9, 117, 4, 129, 30, 14, +/* 1280 */ 57, 9, 117, 4, 129, 30, 14, 58, 10, 117, +/* 1290 */ 4, 129, 30, 14, 59, 10, 117, 4, 129, 30, +/* 1300 */ 14, 60, 11, 117, 4, 129, 30, 14, 61, 11, +/* 1310 */ 116, 5, 129, 30, 14, 62, 11, 116, 5, 129, +/* 1320 */ 30, 14, 63, 12, 115, 6, 129, 30, 14, 64, +/* 1330 */ 13, 114, 7, 129, 30, 14, 65, 13, 113, 8, +/* 1340 */ 129, 30, 14, 65, 15, 111, 9, 129, 30, 14, +/* 1350 */ 66, 16, 109, 11, 129, 30, 14, 67, 17, 107, +/* 1360 */ 12, 129, 30, 14, 68, 20, 103, 16, 129, 30, +/* 1370 */ 14, 69, 49, 129, 30, 14, 70, 47, 129, 30, +/* 1380 */ 14, 71, 45, 129, 30, 14, 73, 42, 129, 30, +/* 1390 */ 15, 75, 38, 129, 33, 12, 77, 34, 129, 36, +/* 1400 */ 10, 79, 30, 129, 40, 6, 82, 23, 129, 44, +/* 1410 */ 3, 86, 15, 129, 47, 1, 129, 193, 129, 129, +/* 1420 */ 38, 3, 129, 37, 5, 111, 1, 129, 36, 7, +/* 1430 */ 111, 2, 129, 35, 9, 110, 5, 129, 34, 8, +/* 1440 */ 110, 6, 129, 33, 7, 109, 8, 129, 32, 7, +/* 1450 */ 110, 8, 129, 32, 6, 112, 7, 129, 31, 6, +/* 1460 */ 113, 6, 129, 31, 5, 114, 6, 129, 30, 5, +/* 1470 */ 115, 5, 129, 30, 5, 116, 4, 129, 30, 4, +/* 1480 */ 117, 4, 131, 30, 4, 117, 4, 129, 30, 4, +/* 1490 */ 79, 2, 117, 4, 129, 30, 5, 78, 4, 117, +/* 1500 */ 4, 129, 30, 5, 77, 6, 116, 5, 129, 30, +/* 1510 */ 6, 76, 8, 115, 6, 129, 30, 7, 75, 11, +/* 1520 */ 114, 6, 129, 30, 8, 73, 15, 112, 8, 129, +/* 1530 */ 31, 9, 71, 19, 110, 9, 129, 31, 11, 68, +/* 1540 */ 26, 107, 12, 129, 32, 13, 65, 14, 82, 36, +/* 1550 */ 129, 32, 16, 61, 17, 83, 34, 129, 33, 44, +/* 1560 */ 84, 32, 129, 34, 42, 85, 30, 129, 35, 40, +/* 1570 */ 87, 27, 129, 36, 38, 89, 23, 129, 38, 34, +/* 1580 */ 92, 17, 129, 40, 30, 95, 11, 129, 42, 26, +/* 1590 */ 129, 45, 20, 129, 49, 11, 129, 193, 129, 49, +/* 1600 */ 1, 129, 49, 4, 129, 49, 6, 129, 49, 8, +/* 1610 */ 129, 49, 10, 129, 49, 12, 129, 49, 14, 129, +/* 1620 */ 49, 17, 129, 49, 19, 129, 49, 21, 129, 49, +/* 1630 */ 23, 129, 49, 14, 65, 9, 129, 49, 14, 67, +/* 1640 */ 9, 129, 49, 14, 69, 9, 129, 49, 14, 71, +/* 1650 */ 10, 129, 49, 14, 74, 9, 129, 49, 14, 76, +/* 1660 */ 9, 129, 49, 14, 78, 9, 129, 49, 14, 80, +/* 1670 */ 9, 129, 49, 14, 82, 9, 129, 49, 14, 84, +/* 1680 */ 9, 129, 30, 4, 49, 14, 86, 10, 129, 30, +/* 1690 */ 4, 49, 14, 89, 9, 129, 30, 4, 49, 14, +/* 1700 */ 91, 9, 129, 30, 4, 49, 14, 93, 9, 129, +/* 1710 */ 30, 74, 129, 30, 76, 129, 30, 78, 129, 30, +/* 1720 */ 81, 129, 30, 83, 129, 30, 85, 129, 30, 87, +/* 1730 */ 129, 30, 89, 129, 30, 91, 129, 30, 4, 49, +/* 1740 */ 14, 132, 193, 129, 37, 1, 129, 36, 3, 77, +/* 1750 */ 3, 129, 35, 5, 78, 11, 129, 34, 7, 78, +/* 1760 */ 21, 129, 33, 7, 79, 29, 129, 32, 7, 79, +/* 1770 */ 38, 129, 32, 6, 80, 4, 92, 29, 129, 31, +/* 1780 */ 6, 80, 5, 102, 19, 129, 31, 5, 80, 6, +/* 1790 */ 107, 14, 129, 31, 4, 81, 5, 107, 14, 129, +/* 1800 */ 30, 5, 81, 6, 107, 14, 129, 30, 4, 81, +/* 1810 */ 6, 107, 14, 130, 30, 4, 81, 7, 107, 14, +/* 1820 */ 129, 30, 4, 80, 8, 107, 14, 130, 30, 5, +/* 1830 */ 80, 8, 107, 14, 129, 30, 5, 79, 9, 107, +/* 1840 */ 14, 129, 31, 5, 79, 9, 107, 14, 129, 31, +/* 1850 */ 6, 78, 10, 107, 14, 129, 32, 6, 76, 11, +/* 1860 */ 107, 14, 129, 32, 8, 74, 13, 107, 14, 129, +/* 1870 */ 33, 10, 71, 16, 107, 14, 129, 33, 15, 67, +/* 1880 */ 19, 107, 14, 129, 34, 51, 107, 14, 129, 35, +/* 1890 */ 49, 107, 14, 129, 36, 47, 107, 14, 129, 37, +/* 1900 */ 45, 107, 14, 129, 39, 41, 107, 14, 129, 41, +/* 1910 */ 37, 107, 14, 129, 44, 32, 107, 14, 129, 47, +/* 1920 */ 25, 111, 10, 129, 51, 16, 115, 6, 129, 119, +/* 1930 */ 2, 129, 193, 129, 56, 39, 129, 51, 49, 129, +/* 1940 */ 47, 57, 129, 44, 63, 129, 42, 67, 129, 40, +/* 1950 */ 71, 129, 38, 75, 129, 37, 77, 129, 35, 81, +/* 1960 */ 129, 34, 16, 74, 5, 101, 16, 129, 33, 11, +/* 1970 */ 76, 5, 107, 11, 129, 32, 9, 77, 5, 110, +/* 1980 */ 9, 129, 32, 7, 79, 4, 112, 7, 129, 31, +/* 1990 */ 6, 80, 4, 114, 6, 129, 31, 5, 81, 4, +/* 2000 */ 115, 5, 129, 30, 5, 82, 4, 116, 5, 129, +/* 2010 */ 30, 4, 82, 4, 116, 5, 129, 30, 4, 82, +/* 2020 */ 5, 117, 4, 131, 30, 5, 82, 5, 117, 4, +/* 2030 */ 129, 31, 5, 81, 6, 117, 4, 129, 31, 6, +/* 2040 */ 80, 7, 117, 4, 129, 32, 7, 79, 8, 117, +/* 2050 */ 4, 129, 32, 9, 77, 9, 116, 5, 129, 33, +/* 2060 */ 11, 75, 11, 116, 4, 129, 34, 16, 69, 16, +/* 2070 */ 115, 5, 129, 35, 49, 114, 5, 129, 37, 46, +/* 2080 */ 113, 5, 129, 38, 44, 112, 6, 129, 40, 41, +/* 2090 */ 112, 5, 129, 42, 37, 113, 3, 129, 44, 33, +/* 2100 */ 114, 1, 129, 47, 27, 129, 51, 17, 129, 193, +/* 2110 */ 129, 103, 2, 129, 103, 6, 129, 104, 9, 129, +/* 2120 */ 105, 12, 129, 106, 15, 129, 107, 14, 135, 30, +/* 2130 */ 10, 107, 14, 129, 30, 17, 107, 14, 129, 30, +/* 2140 */ 25, 107, 14, 129, 30, 31, 107, 14, 129, 30, +/* 2150 */ 37, 107, 14, 129, 30, 42, 107, 14, 129, 30, +/* 2160 */ 46, 107, 14, 129, 30, 50, 107, 14, 129, 30, +/* 2170 */ 54, 107, 14, 129, 30, 58, 107, 14, 129, 59, +/* 2180 */ 32, 107, 14, 129, 64, 30, 107, 14, 129, 74, +/* 2190 */ 23, 107, 14, 129, 81, 18, 107, 14, 129, 86, +/* 2200 */ 16, 107, 14, 129, 91, 14, 107, 14, 129, 96, +/* 2210 */ 25, 129, 100, 21, 129, 104, 17, 129, 107, 14, +/* 2220 */ 129, 111, 10, 129, 114, 7, 129, 117, 4, 129, +/* 2230 */ 120, 1, 129, 193, 129, 48, 13, 129, 44, 21, +/* 2240 */ 129, 42, 26, 129, 40, 30, 92, 12, 129, 38, +/* 2250 */ 34, 88, 20, 129, 36, 37, 86, 25, 129, 35, +/* 2260 */ 39, 84, 29, 129, 34, 13, 63, 12, 82, 33, +/* 2270 */ 129, 33, 11, 67, 9, 80, 36, 129, 32, 9, +/* 2280 */ 70, 7, 79, 38, 129, 31, 8, 72, 46, 129, +/* 2290 */ 30, 7, 74, 22, 108, 11, 129, 30, 6, 75, +/* 2300 */ 19, 111, 9, 129, 30, 5, 75, 17, 113, 7, +/* 2310 */ 129, 30, 5, 74, 16, 114, 6, 129, 30, 4, +/* 2320 */ 73, 16, 115, 6, 129, 30, 4, 72, 16, 116, +/* 2330 */ 5, 129, 30, 4, 72, 15, 117, 4, 129, 30, +/* 2340 */ 4, 71, 16, 117, 4, 129, 30, 5, 70, 16, +/* 2350 */ 117, 4, 129, 30, 5, 70, 15, 117, 4, 129, +/* 2360 */ 30, 6, 69, 15, 116, 5, 129, 30, 7, 68, +/* 2370 */ 17, 115, 5, 129, 30, 9, 67, 19, 114, 6, +/* 2380 */ 129, 30, 10, 65, 22, 113, 6, 129, 31, 12, +/* 2390 */ 63, 27, 110, 9, 129, 32, 14, 60, 21, 84, +/* 2400 */ 9, 106, 12, 129, 33, 47, 85, 32, 129, 34, +/* 2410 */ 45, 86, 30, 129, 35, 43, 88, 26, 129, 36, +/* 2420 */ 40, 90, 22, 129, 38, 36, 93, 17, 129, 40, +/* 2430 */ 32, 96, 10, 129, 42, 28, 129, 44, 23, 129, +/* 2440 */ 48, 15, 129, 193, 129, 83, 17, 129, 77, 27, +/* 2450 */ 129, 36, 1, 74, 33, 129, 35, 3, 72, 37, +/* 2460 */ 129, 34, 5, 70, 41, 129, 33, 6, 69, 44, +/* 2470 */ 129, 33, 5, 68, 46, 129, 32, 5, 67, 49, +/* 2480 */ 129, 31, 5, 66, 17, 101, 16, 129, 31, 5, +/* 2490 */ 66, 11, 108, 10, 129, 30, 4, 65, 9, 110, +/* 2500 */ 9, 129, 30, 4, 64, 8, 112, 7, 129, 30, +/* 2510 */ 4, 64, 7, 114, 6, 129, 30, 4, 64, 6, +/* 2520 */ 115, 5, 129, 30, 4, 64, 5, 116, 5, 129, +/* 2530 */ 30, 4, 64, 5, 117, 4, 131, 30, 4, 65, +/* 2540 */ 4, 117, 4, 129, 30, 5, 65, 4, 116, 5, +/* 2550 */ 129, 31, 5, 66, 4, 115, 5, 129, 31, 6, +/* 2560 */ 67, 4, 114, 6, 129, 32, 7, 68, 4, 112, +/* 2570 */ 7, 129, 32, 9, 69, 5, 110, 9, 129, 33, +/* 2580 */ 11, 70, 5, 107, 11, 129, 34, 16, 72, 5, +/* 2590 */ 101, 16, 129, 35, 81, 129, 37, 77, 129, 38, +/* 2600 */ 75, 129, 40, 71, 129, 42, 67, 129, 44, 63, +/* 2610 */ 129, 47, 57, 129, 51, 49, 129, 56, 39, 129, +/* 2620 */ 193, 130, 34, 6, 74, 6, 129, 32, 10, 72, +/* 2630 */ 10, 129, 31, 12, 71, 12, 129, 30, 14, 70, +/* 2640 */ 14, 131, 31, 12, 71, 12, 129, 32, 10, 72, +/* 2650 */ 10, 129, 34, 6, 74, 6, 129, 194, 130, 34, +/* 2660 */ 6, 74, 6, 129, 32, 10, 72, 10, 129, 31, +/* 2670 */ 12, 71, 12, 129, 30, 14, 70, 14, 129, 20, +/* 2680 */ 2, 28, 16, 70, 14, 129, 22, 22, 70, 14, +/* 2690 */ 129, 24, 19, 71, 12, 129, 27, 15, 72, 10, +/* 2700 */ 129, 31, 9, 74, 6, 129, 194, 129, 53, 4, +/* 2710 */ 63, 4, 152, 193, 130, 99, 7, 129, 97, 13, +/* 2720 */ 129, 96, 16, 129, 96, 18, 129, 96, 19, 129, +/* 2730 */ 97, 19, 129, 99, 6, 110, 7, 129, 112, 6, +/* 2740 */ 129, 114, 5, 129, 34, 6, 57, 5, 115, 4, +/* 2750 */ 129, 32, 10, 54, 12, 116, 4, 129, 31, 12, +/* 2760 */ 53, 16, 117, 3, 129, 30, 14, 52, 20, 117, +/* 2770 */ 4, 129, 30, 14, 52, 23, 117, 4, 129, 30, +/* 2780 */ 14, 52, 25, 117, 4, 129, 31, 12, 52, 27, +/* 2790 */ 117, 4, 129, 32, 10, 53, 10, 70, 11, 116, +/* 2800 */ 5, 129, 34, 6, 55, 5, 73, 10, 115, 6, +/* 2810 */ 129, 74, 11, 114, 7, 129, 75, 12, 112, 9, +/* 2820 */ 129, 76, 13, 110, 10, 129, 77, 16, 106, 14, +/* 2830 */ 129, 78, 41, 129, 80, 38, 129, 81, 36, 129, +/* 2840 */ 82, 34, 129, 84, 30, 129, 86, 26, 129, 88, +/* 2850 */ 22, 129, 92, 14, 129, 194, 129, 55, 15, 129, +/* 2860 */ 50, 25, 129, 47, 32, 129, 45, 13, 70, 12, +/* 2870 */ 129, 43, 9, 76, 10, 129, 42, 6, 79, 8, +/* 2880 */ 129, 41, 5, 81, 7, 129, 40, 4, 84, 6, +/* 2890 */ 129, 39, 4, 59, 12, 85, 6, 129, 38, 4, +/* 2900 */ 55, 19, 87, 5, 129, 37, 4, 53, 23, 88, +/* 2910 */ 4, 129, 36, 4, 51, 8, 71, 6, 89, 4, +/* 2920 */ 129, 36, 4, 51, 6, 73, 4, 89, 4, 129, +/* 2930 */ 36, 4, 50, 6, 74, 4, 90, 3, 129, 35, +/* 2940 */ 4, 50, 5, 75, 3, 90, 4, 129, 35, 4, +/* 2950 */ 50, 4, 75, 4, 90, 4, 131, 35, 4, 50, +/* 2960 */ 5, 75, 4, 90, 4, 129, 36, 4, 51, 5, +/* 2970 */ 75, 4, 90, 4, 129, 36, 4, 51, 6, 75, +/* 2980 */ 4, 90, 4, 129, 36, 4, 53, 26, 90, 4, +/* 2990 */ 129, 37, 4, 54, 25, 90, 4, 129, 37, 4, +/* 3000 */ 52, 27, 90, 3, 129, 38, 4, 52, 4, 89, +/* 3010 */ 4, 129, 39, 4, 51, 4, 88, 4, 129, 40, +/* 3020 */ 4, 50, 4, 87, 5, 129, 41, 4, 50, 4, +/* 3030 */ 86, 5, 129, 42, 4, 50, 4, 85, 5, 129, +/* 3040 */ 43, 3, 50, 4, 83, 6, 129, 44, 2, 51, +/* 3050 */ 5, 80, 7, 129, 46, 1, 52, 6, 76, 9, +/* 3060 */ 129, 54, 28, 129, 56, 23, 129, 60, 16, 129, +/* 3070 */ 193, 129, 30, 4, 132, 30, 5, 129, 30, 8, +/* 3080 */ 129, 30, 12, 129, 30, 16, 129, 30, 4, 37, +/* 3090 */ 12, 129, 30, 4, 41, 12, 129, 30, 4, 44, +/* 3100 */ 13, 129, 30, 4, 48, 13, 129, 52, 13, 129, +/* 3110 */ 56, 12, 129, 58, 14, 129, 58, 4, 64, 12, +/* 3120 */ 129, 58, 4, 68, 12, 129, 58, 4, 72, 12, +/* 3130 */ 129, 58, 4, 75, 13, 129, 58, 4, 79, 13, +/* 3140 */ 129, 58, 4, 83, 13, 129, 58, 4, 87, 13, +/* 3150 */ 129, 58, 4, 91, 12, 129, 58, 4, 95, 12, +/* 3160 */ 129, 58, 4, 96, 15, 129, 58, 4, 93, 22, +/* 3170 */ 129, 58, 4, 89, 30, 129, 58, 4, 85, 36, +/* 3180 */ 129, 58, 4, 81, 38, 129, 58, 4, 77, 38, +/* 3190 */ 129, 58, 4, 73, 38, 129, 58, 4, 70, 37, +/* 3200 */ 129, 58, 4, 66, 37, 129, 58, 41, 129, 58, +/* 3210 */ 37, 129, 54, 38, 129, 30, 4, 50, 38, 129, +/* 3220 */ 30, 4, 46, 38, 129, 30, 4, 42, 38, 129, +/* 3230 */ 30, 4, 38, 39, 129, 30, 43, 129, 30, 39, +/* 3240 */ 129, 30, 35, 129, 30, 31, 129, 30, 27, 129, +/* 3250 */ 30, 24, 129, 30, 20, 129, 30, 16, 129, 30, +/* 3260 */ 12, 129, 30, 8, 129, 30, 5, 129, 30, 4, +/* 3270 */ 132, 193, 129, 30, 4, 117, 4, 132, 30, 91, +/* 3280 */ 137, 30, 4, 80, 4, 117, 4, 138, 30, 4, +/* 3290 */ 80, 5, 116, 5, 129, 30, 5, 79, 6, 116, +/* 3300 */ 5, 130, 30, 6, 78, 8, 115, 6, 129, 31, +/* 3310 */ 6, 77, 9, 115, 6, 129, 31, 7, 76, 11, +/* 3320 */ 114, 6, 129, 31, 8, 75, 14, 112, 8, 129, +/* 3330 */ 32, 8, 74, 16, 111, 9, 129, 32, 9, 73, +/* 3340 */ 19, 109, 10, 129, 33, 10, 71, 24, 106, 13, +/* 3350 */ 129, 33, 13, 68, 12, 83, 35, 129, 34, 16, +/* 3360 */ 64, 15, 84, 33, 129, 35, 43, 85, 31, 129, +/* 3370 */ 36, 41, 86, 29, 129, 37, 39, 88, 25, 129, +/* 3380 */ 38, 37, 90, 21, 129, 40, 33, 93, 15, 129, +/* 3390 */ 42, 29, 96, 9, 129, 45, 24, 129, 49, 16, +/* 3400 */ 129, 193, 129, 63, 25, 129, 57, 37, 129, 53, +/* 3410 */ 45, 129, 50, 51, 129, 47, 57, 129, 45, 61, +/* 3420 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129, +/* 3430 */ 38, 25, 92, 21, 129, 36, 21, 97, 18, 129, +/* 3440 */ 35, 18, 102, 14, 129, 34, 16, 106, 11, 129, +/* 3450 */ 33, 14, 108, 10, 129, 32, 12, 111, 8, 129, +/* 3460 */ 32, 10, 113, 6, 129, 31, 10, 114, 6, 129, +/* 3470 */ 31, 8, 115, 5, 129, 30, 8, 116, 5, 129, +/* 3480 */ 30, 7, 116, 5, 129, 30, 6, 117, 4, 130, +/* 3490 */ 30, 5, 117, 4, 131, 31, 4, 116, 5, 129, +/* 3500 */ 32, 4, 116, 4, 129, 32, 5, 115, 5, 129, +/* 3510 */ 33, 4, 114, 5, 129, 34, 4, 112, 6, 129, +/* 3520 */ 35, 4, 110, 7, 129, 37, 4, 107, 9, 129, +/* 3530 */ 39, 4, 103, 12, 129, 41, 4, 103, 18, 129, +/* 3540 */ 43, 4, 103, 18, 129, 45, 5, 103, 18, 129, +/* 3550 */ 48, 5, 103, 18, 129, 51, 1, 129, 193, 129, +/* 3560 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, +/* 3570 */ 117, 4, 135, 30, 5, 116, 5, 130, 30, 6, +/* 3580 */ 115, 6, 130, 31, 6, 114, 6, 129, 31, 7, +/* 3590 */ 113, 7, 129, 32, 7, 112, 7, 129, 32, 8, +/* 3600 */ 111, 8, 129, 33, 9, 109, 9, 129, 33, 12, +/* 3610 */ 106, 12, 129, 34, 13, 104, 13, 129, 35, 15, +/* 3620 */ 101, 15, 129, 36, 19, 96, 19, 129, 37, 24, +/* 3630 */ 90, 24, 129, 39, 73, 129, 40, 71, 129, 42, +/* 3640 */ 67, 129, 44, 63, 129, 46, 59, 129, 49, 53, +/* 3650 */ 129, 52, 47, 129, 56, 39, 129, 61, 29, 129, +/* 3660 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 137, +/* 3670 */ 30, 4, 80, 4, 117, 4, 140, 30, 4, 79, +/* 3680 */ 6, 117, 4, 129, 30, 4, 77, 10, 117, 4, +/* 3690 */ 129, 30, 4, 73, 18, 117, 4, 132, 30, 4, +/* 3700 */ 117, 4, 130, 30, 5, 116, 5, 130, 30, 7, +/* 3710 */ 114, 7, 129, 30, 8, 113, 8, 129, 30, 11, +/* 3720 */ 110, 11, 129, 30, 18, 103, 18, 132, 193, 129, +/* 3730 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, +/* 3740 */ 80, 4, 117, 4, 132, 80, 4, 117, 4, 136, +/* 3750 */ 79, 6, 117, 4, 129, 77, 10, 117, 4, 129, +/* 3760 */ 73, 18, 117, 4, 132, 117, 4, 130, 116, 5, +/* 3770 */ 130, 114, 7, 129, 113, 8, 129, 110, 11, 129, +/* 3780 */ 103, 18, 132, 193, 129, 63, 25, 129, 57, 37, +/* 3790 */ 129, 53, 45, 129, 50, 51, 129, 47, 57, 129, +/* 3800 */ 45, 61, 129, 43, 65, 129, 41, 69, 129, 39, +/* 3810 */ 73, 129, 38, 25, 92, 21, 129, 36, 21, 97, +/* 3820 */ 18, 129, 35, 18, 102, 14, 129, 34, 16, 106, +/* 3830 */ 11, 129, 33, 14, 108, 10, 129, 32, 12, 111, +/* 3840 */ 8, 129, 32, 10, 113, 6, 129, 31, 10, 114, +/* 3850 */ 6, 129, 31, 8, 115, 5, 129, 30, 8, 116, +/* 3860 */ 5, 129, 30, 7, 116, 5, 129, 30, 6, 117, +/* 3870 */ 4, 130, 30, 5, 117, 4, 131, 30, 5, 75, +/* 3880 */ 4, 116, 5, 129, 31, 5, 75, 4, 116, 4, +/* 3890 */ 129, 31, 6, 75, 4, 115, 5, 129, 32, 7, +/* 3900 */ 75, 4, 114, 5, 129, 32, 9, 75, 4, 112, +/* 3910 */ 6, 129, 33, 11, 75, 4, 110, 7, 129, 34, +/* 3920 */ 15, 75, 4, 107, 9, 129, 35, 44, 103, 12, +/* 3930 */ 129, 36, 43, 103, 18, 129, 38, 41, 103, 18, +/* 3940 */ 129, 39, 40, 103, 18, 129, 41, 38, 103, 18, +/* 3950 */ 129, 44, 35, 129, 48, 31, 129, 52, 27, 129, +/* 3960 */ 61, 18, 129, 193, 129, 30, 4, 117, 4, 132, +/* 3970 */ 30, 91, 137, 30, 4, 80, 4, 117, 4, 132, +/* 3980 */ 80, 4, 140, 30, 4, 80, 4, 117, 4, 132, +/* 3990 */ 30, 91, 137, 30, 4, 117, 4, 132, 193, 129, +/* 4000 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, +/* 4010 */ 117, 4, 132, 193, 129, 44, 7, 129, 40, 13, +/* 4020 */ 129, 37, 17, 129, 35, 20, 129, 34, 22, 129, +/* 4030 */ 33, 23, 129, 32, 24, 129, 32, 23, 129, 31, +/* 4040 */ 6, 41, 13, 129, 31, 5, 42, 11, 129, 30, +/* 4050 */ 5, 44, 7, 129, 30, 4, 132, 30, 5, 130, +/* 4060 */ 31, 5, 129, 31, 6, 117, 4, 129, 31, 8, +/* 4070 */ 117, 4, 129, 32, 9, 117, 4, 129, 33, 11, +/* 4080 */ 117, 4, 129, 34, 87, 129, 35, 86, 129, 36, +/* 4090 */ 85, 129, 37, 84, 129, 38, 83, 129, 40, 81, +/* 4100 */ 129, 42, 79, 129, 45, 76, 129, 50, 71, 129, +/* 4110 */ 117, 4, 132, 193, 129, 30, 4, 117, 4, 132, +/* 4120 */ 30, 91, 137, 30, 4, 76, 8, 117, 4, 129, +/* 4130 */ 30, 4, 73, 13, 117, 4, 129, 30, 4, 70, +/* 4140 */ 18, 117, 4, 129, 30, 4, 67, 23, 117, 4, +/* 4150 */ 129, 65, 26, 129, 62, 31, 129, 59, 35, 129, +/* 4160 */ 56, 29, 89, 7, 129, 53, 29, 91, 7, 129, +/* 4170 */ 50, 29, 93, 7, 129, 47, 29, 95, 6, 129, +/* 4180 */ 30, 4, 45, 29, 96, 7, 129, 30, 4, 42, +/* 4190 */ 29, 98, 7, 129, 30, 4, 39, 30, 100, 6, +/* 4200 */ 129, 30, 4, 36, 30, 101, 7, 129, 30, 33, +/* 4210 */ 103, 7, 117, 4, 129, 30, 30, 105, 6, 117, +/* 4220 */ 4, 129, 30, 27, 106, 7, 117, 4, 129, 30, +/* 4230 */ 25, 108, 7, 117, 4, 129, 30, 22, 110, 11, +/* 4240 */ 129, 30, 19, 111, 10, 129, 30, 16, 113, 8, +/* 4250 */ 129, 30, 13, 115, 6, 129, 30, 11, 116, 5, +/* 4260 */ 129, 30, 8, 117, 4, 129, 30, 5, 117, 4, +/* 4270 */ 129, 30, 4, 117, 4, 130, 30, 4, 130, 193, +/* 4280 */ 129, 30, 4, 117, 4, 132, 30, 91, 137, 30, +/* 4290 */ 4, 117, 4, 132, 30, 4, 144, 30, 5, 130, +/* 4300 */ 30, 7, 129, 30, 8, 129, 30, 11, 129, 30, +/* 4310 */ 18, 132, 193, 129, 30, 4, 117, 4, 132, 30, +/* 4320 */ 91, 132, 30, 4, 103, 18, 129, 30, 4, 97, +/* 4330 */ 24, 129, 30, 4, 92, 29, 129, 30, 4, 87, +/* 4340 */ 34, 129, 81, 40, 129, 76, 45, 129, 70, 49, +/* 4350 */ 129, 65, 49, 129, 60, 49, 129, 55, 49, 129, +/* 4360 */ 50, 48, 129, 44, 49, 129, 39, 48, 129, 33, +/* 4370 */ 49, 129, 30, 47, 129, 34, 37, 129, 40, 26, +/* 4380 */ 129, 46, 19, 129, 52, 19, 129, 58, 19, 129, +/* 4390 */ 64, 19, 129, 70, 19, 129, 76, 19, 129, 82, +/* 4400 */ 19, 129, 30, 4, 88, 18, 129, 30, 4, 94, +/* 4410 */ 18, 129, 30, 4, 100, 18, 129, 30, 4, 106, +/* 4420 */ 15, 129, 30, 91, 137, 30, 4, 117, 4, 132, +/* 4430 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 132, +/* 4440 */ 30, 4, 107, 14, 129, 30, 4, 104, 17, 129, +/* 4450 */ 30, 4, 101, 20, 129, 30, 4, 99, 22, 129, +/* 4460 */ 96, 25, 129, 93, 28, 129, 91, 28, 129, 88, +/* 4470 */ 29, 129, 85, 29, 129, 82, 29, 129, 79, 29, +/* 4480 */ 129, 76, 29, 129, 74, 29, 129, 71, 29, 129, +/* 4490 */ 68, 29, 129, 65, 29, 129, 62, 29, 129, 60, +/* 4500 */ 29, 129, 57, 29, 129, 54, 29, 129, 51, 29, +/* 4510 */ 129, 49, 28, 129, 46, 29, 129, 43, 29, 129, +/* 4520 */ 40, 29, 117, 4, 129, 37, 29, 117, 4, 129, +/* 4530 */ 35, 29, 117, 4, 129, 32, 29, 117, 4, 129, +/* 4540 */ 30, 91, 132, 117, 4, 132, 193, 129, 63, 25, +/* 4550 */ 129, 57, 37, 129, 53, 45, 129, 50, 51, 129, +/* 4560 */ 47, 57, 129, 45, 61, 129, 43, 65, 129, 41, +/* 4570 */ 69, 129, 39, 73, 129, 38, 21, 92, 21, 129, +/* 4580 */ 36, 18, 97, 18, 129, 35, 14, 102, 14, 129, +/* 4590 */ 34, 11, 106, 11, 129, 33, 10, 108, 10, 129, +/* 4600 */ 32, 8, 111, 8, 129, 32, 6, 113, 6, 129, +/* 4610 */ 31, 6, 114, 6, 129, 31, 5, 115, 5, 129, +/* 4620 */ 30, 5, 116, 5, 130, 30, 4, 117, 4, 132, +/* 4630 */ 30, 5, 116, 5, 130, 31, 5, 115, 5, 129, +/* 4640 */ 31, 6, 114, 6, 129, 32, 6, 113, 6, 129, +/* 4650 */ 32, 8, 111, 8, 129, 33, 10, 108, 10, 129, +/* 4660 */ 34, 11, 106, 11, 129, 35, 14, 102, 14, 129, +/* 4670 */ 36, 18, 97, 18, 129, 38, 21, 92, 21, 129, +/* 4680 */ 39, 73, 129, 41, 69, 129, 43, 65, 129, 45, +/* 4690 */ 61, 129, 47, 57, 129, 50, 51, 129, 53, 45, +/* 4700 */ 129, 57, 37, 129, 63, 25, 129, 193, 129, 30, +/* 4710 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 80, +/* 4720 */ 4, 117, 4, 132, 80, 4, 117, 4, 134, 80, +/* 4730 */ 5, 116, 5, 131, 80, 6, 115, 6, 130, 81, +/* 4740 */ 6, 114, 6, 129, 81, 8, 112, 8, 129, 81, +/* 4750 */ 9, 111, 9, 129, 82, 10, 109, 10, 129, 82, +/* 4760 */ 13, 106, 13, 129, 83, 35, 129, 84, 33, 129, +/* 4770 */ 85, 31, 129, 86, 29, 129, 88, 25, 129, 90, +/* 4780 */ 21, 129, 93, 15, 129, 96, 9, 129, 193, 129, +/* 4790 */ 63, 25, 129, 57, 37, 129, 53, 45, 129, 50, +/* 4800 */ 51, 129, 47, 57, 129, 45, 61, 129, 43, 65, +/* 4810 */ 129, 41, 69, 129, 39, 73, 129, 38, 21, 92, +/* 4820 */ 21, 129, 36, 18, 97, 18, 129, 35, 14, 102, +/* 4830 */ 14, 129, 34, 11, 106, 11, 129, 33, 10, 108, +/* 4840 */ 10, 129, 32, 8, 111, 8, 129, 32, 6, 113, +/* 4850 */ 6, 129, 31, 6, 114, 6, 129, 31, 5, 115, +/* 4860 */ 5, 129, 30, 5, 116, 5, 130, 30, 4, 39, +/* 4870 */ 2, 117, 4, 129, 30, 4, 40, 4, 117, 4, +/* 4880 */ 129, 30, 4, 41, 5, 117, 4, 129, 30, 4, +/* 4890 */ 41, 6, 117, 4, 129, 30, 5, 40, 8, 116, +/* 4900 */ 5, 129, 30, 5, 39, 10, 116, 5, 129, 31, +/* 4910 */ 5, 38, 11, 115, 5, 129, 31, 18, 114, 6, +/* 4920 */ 129, 32, 17, 113, 6, 129, 32, 16, 111, 8, +/* 4930 */ 129, 33, 15, 108, 10, 129, 33, 14, 106, 11, +/* 4940 */ 129, 32, 17, 102, 14, 129, 31, 23, 97, 18, +/* 4950 */ 129, 31, 28, 92, 21, 129, 30, 82, 129, 30, +/* 4960 */ 80, 129, 30, 11, 43, 65, 129, 30, 10, 45, +/* 4970 */ 61, 129, 31, 8, 47, 57, 129, 32, 6, 50, +/* 4980 */ 51, 129, 33, 5, 53, 45, 129, 35, 4, 57, +/* 4990 */ 37, 129, 38, 2, 63, 25, 129, 193, 129, 30, +/* 5000 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 76, +/* 5010 */ 8, 117, 4, 129, 30, 4, 73, 11, 117, 4, +/* 5020 */ 129, 30, 4, 70, 14, 117, 4, 129, 30, 4, +/* 5030 */ 67, 17, 117, 4, 129, 65, 19, 117, 4, 129, +/* 5040 */ 62, 22, 117, 4, 129, 59, 25, 117, 4, 129, +/* 5050 */ 56, 28, 117, 4, 129, 53, 31, 117, 4, 129, +/* 5060 */ 50, 34, 117, 4, 129, 47, 29, 80, 5, 116, +/* 5070 */ 5, 129, 30, 4, 45, 29, 80, 5, 116, 5, +/* 5080 */ 129, 30, 4, 42, 29, 80, 5, 116, 5, 129, +/* 5090 */ 30, 4, 39, 30, 80, 6, 115, 6, 129, 30, +/* 5100 */ 4, 36, 30, 80, 6, 115, 6, 129, 30, 33, +/* 5110 */ 81, 6, 114, 6, 129, 30, 30, 81, 8, 112, +/* 5120 */ 8, 129, 30, 27, 81, 9, 111, 9, 129, 30, +/* 5130 */ 25, 82, 10, 109, 10, 129, 30, 22, 82, 13, +/* 5140 */ 106, 13, 129, 30, 19, 83, 35, 129, 30, 16, +/* 5150 */ 84, 33, 129, 30, 13, 85, 31, 129, 30, 11, +/* 5160 */ 86, 29, 129, 30, 8, 88, 25, 129, 30, 5, +/* 5170 */ 90, 21, 129, 30, 4, 93, 15, 129, 30, 4, +/* 5180 */ 96, 9, 129, 30, 4, 130, 193, 129, 30, 18, +/* 5190 */ 130, 30, 18, 89, 15, 129, 30, 18, 85, 23, +/* 5200 */ 129, 34, 11, 83, 27, 129, 34, 9, 81, 31, +/* 5210 */ 129, 33, 8, 79, 35, 129, 33, 6, 78, 16, +/* 5220 */ 106, 9, 129, 32, 6, 77, 15, 109, 7, 129, +/* 5230 */ 32, 5, 76, 14, 111, 6, 129, 31, 5, 75, +/* 5240 */ 14, 113, 5, 129, 31, 4, 74, 15, 114, 5, +/* 5250 */ 129, 31, 4, 74, 14, 115, 4, 129, 30, 4, +/* 5260 */ 73, 15, 116, 4, 129, 30, 4, 73, 14, 116, +/* 5270 */ 4, 129, 30, 4, 73, 14, 117, 4, 129, 30, +/* 5280 */ 4, 72, 15, 117, 4, 130, 30, 4, 71, 15, +/* 5290 */ 117, 4, 130, 30, 4, 70, 15, 117, 4, 129, +/* 5300 */ 30, 5, 70, 15, 117, 4, 129, 30, 5, 69, +/* 5310 */ 15, 116, 5, 129, 30, 6, 68, 16, 115, 5, +/* 5320 */ 129, 31, 6, 67, 16, 114, 6, 129, 31, 7, +/* 5330 */ 66, 17, 113, 6, 129, 32, 7, 64, 18, 111, +/* 5340 */ 8, 129, 32, 8, 62, 19, 109, 9, 129, 33, +/* 5350 */ 9, 60, 20, 107, 10, 129, 34, 11, 57, 22, +/* 5360 */ 103, 13, 129, 35, 43, 103, 18, 129, 36, 41, +/* 5370 */ 103, 18, 129, 38, 38, 103, 18, 129, 39, 35, +/* 5380 */ 103, 18, 129, 41, 31, 129, 43, 27, 129, 46, +/* 5390 */ 22, 129, 49, 14, 129, 193, 129, 103, 18, 132, +/* 5400 */ 110, 11, 129, 113, 8, 129, 114, 7, 129, 116, +/* 5410 */ 5, 130, 117, 4, 132, 30, 4, 117, 4, 132, +/* 5420 */ 30, 91, 137, 30, 4, 117, 4, 132, 117, 4, +/* 5430 */ 132, 116, 5, 130, 114, 7, 129, 113, 8, 129, +/* 5440 */ 110, 11, 129, 103, 18, 132, 193, 129, 117, 4, +/* 5450 */ 132, 56, 65, 129, 50, 71, 129, 46, 75, 129, +/* 5460 */ 44, 77, 129, 42, 79, 129, 40, 81, 129, 38, +/* 5470 */ 83, 129, 36, 85, 129, 35, 86, 129, 34, 20, +/* 5480 */ 117, 4, 129, 33, 17, 117, 4, 129, 32, 15, +/* 5490 */ 117, 4, 129, 32, 13, 117, 4, 129, 31, 12, +/* 5500 */ 129, 31, 10, 129, 31, 9, 129, 30, 9, 129, +/* 5510 */ 30, 8, 130, 30, 7, 132, 31, 6, 130, 31, +/* 5520 */ 7, 129, 32, 6, 129, 32, 7, 129, 33, 7, +/* 5530 */ 129, 34, 7, 129, 35, 8, 129, 36, 9, 117, +/* 5540 */ 4, 129, 38, 9, 117, 4, 129, 40, 10, 117, +/* 5550 */ 4, 129, 42, 12, 117, 4, 129, 44, 77, 129, +/* 5560 */ 46, 75, 129, 50, 71, 129, 56, 43, 100, 21, +/* 5570 */ 129, 117, 4, 132, 193, 129, 117, 4, 132, 115, +/* 5580 */ 6, 129, 110, 11, 129, 105, 16, 129, 101, 20, +/* 5590 */ 129, 96, 25, 129, 92, 29, 129, 87, 34, 129, +/* 5600 */ 83, 38, 129, 78, 43, 129, 74, 47, 129, 70, +/* 5610 */ 42, 117, 4, 129, 65, 42, 117, 4, 129, 60, +/* 5620 */ 43, 117, 4, 129, 56, 42, 129, 51, 42, 129, +/* 5630 */ 46, 43, 129, 42, 43, 129, 37, 44, 129, 33, +/* 5640 */ 43, 129, 30, 42, 129, 33, 34, 129, 38, 25, +/* 5650 */ 129, 42, 16, 129, 47, 15, 129, 52, 15, 129, +/* 5660 */ 57, 15, 129, 61, 16, 129, 66, 16, 129, 71, +/* 5670 */ 16, 129, 76, 16, 129, 80, 16, 129, 85, 16, +/* 5680 */ 117, 4, 129, 90, 16, 117, 4, 129, 95, 16, +/* 5690 */ 117, 4, 129, 100, 21, 129, 105, 16, 129, 110, +/* 5700 */ 11, 129, 114, 7, 129, 117, 4, 132, 193, 129, +/* 5710 */ 117, 4, 132, 115, 6, 129, 110, 11, 129, 105, +/* 5720 */ 16, 129, 101, 20, 129, 96, 25, 129, 92, 29, +/* 5730 */ 129, 87, 34, 129, 83, 38, 129, 78, 43, 129, +/* 5740 */ 74, 47, 129, 70, 42, 117, 4, 129, 65, 42, +/* 5750 */ 117, 4, 129, 60, 43, 117, 4, 129, 56, 42, +/* 5760 */ 129, 51, 42, 129, 46, 43, 129, 42, 43, 129, +/* 5770 */ 37, 44, 129, 33, 43, 129, 30, 42, 129, 33, +/* 5780 */ 34, 129, 38, 25, 129, 42, 16, 129, 47, 15, +/* 5790 */ 129, 52, 15, 129, 57, 15, 129, 61, 16, 129, +/* 5800 */ 65, 17, 129, 60, 27, 129, 56, 36, 129, 51, +/* 5810 */ 42, 129, 46, 43, 129, 42, 43, 129, 37, 44, +/* 5820 */ 129, 33, 43, 129, 30, 42, 129, 33, 34, 129, +/* 5830 */ 38, 25, 129, 42, 16, 129, 47, 15, 129, 52, +/* 5840 */ 15, 129, 57, 15, 129, 61, 16, 129, 66, 16, +/* 5850 */ 129, 71, 16, 129, 76, 16, 129, 80, 16, 129, +/* 5860 */ 85, 16, 117, 4, 129, 90, 16, 117, 4, 129, +/* 5870 */ 95, 16, 117, 4, 129, 100, 21, 129, 105, 16, +/* 5880 */ 129, 110, 11, 129, 114, 7, 129, 117, 4, 132, +/* 5890 */ 193, 129, 30, 4, 117, 4, 132, 30, 4, 115, +/* 5900 */ 6, 129, 30, 4, 112, 9, 129, 30, 6, 109, +/* 5910 */ 12, 129, 30, 9, 106, 15, 129, 30, 11, 103, +/* 5920 */ 18, 129, 30, 14, 100, 21, 129, 30, 4, 38, +/* 5930 */ 9, 98, 23, 129, 30, 4, 40, 10, 95, 26, +/* 5940 */ 129, 30, 4, 43, 9, 92, 29, 129, 46, 9, +/* 5950 */ 89, 32, 129, 49, 8, 86, 28, 117, 4, 129, +/* 5960 */ 51, 9, 83, 28, 117, 4, 129, 54, 9, 80, +/* 5970 */ 28, 117, 4, 129, 57, 8, 77, 28, 117, 4, +/* 5980 */ 129, 59, 9, 74, 28, 129, 62, 37, 129, 64, +/* 5990 */ 33, 129, 66, 28, 129, 63, 28, 129, 60, 28, +/* 6000 */ 129, 57, 28, 129, 54, 33, 129, 51, 39, 129, +/* 6010 */ 48, 29, 83, 9, 129, 30, 4, 45, 29, 86, +/* 6020 */ 9, 129, 30, 4, 42, 29, 89, 9, 129, 30, +/* 6030 */ 4, 39, 29, 92, 8, 129, 30, 4, 36, 29, +/* 6040 */ 94, 9, 129, 30, 32, 97, 9, 129, 30, 29, +/* 6050 */ 100, 8, 117, 4, 129, 30, 26, 103, 8, 117, +/* 6060 */ 4, 129, 30, 23, 105, 9, 117, 4, 129, 30, +/* 6070 */ 20, 108, 13, 129, 30, 18, 111, 10, 129, 30, +/* 6080 */ 15, 113, 8, 129, 30, 12, 116, 5, 129, 30, +/* 6090 */ 9, 117, 4, 129, 30, 6, 117, 4, 129, 30, +/* 6100 */ 4, 117, 4, 132, 193, 129, 117, 4, 132, 114, +/* 6110 */ 7, 129, 111, 10, 129, 108, 13, 129, 105, 16, +/* 6120 */ 129, 102, 19, 129, 100, 21, 129, 96, 25, 129, +/* 6130 */ 93, 28, 129, 90, 31, 129, 87, 34, 129, 84, +/* 6140 */ 30, 117, 4, 129, 30, 4, 81, 30, 117, 4, +/* 6150 */ 129, 30, 4, 78, 30, 117, 4, 129, 30, 4, +/* 6160 */ 75, 30, 117, 4, 129, 30, 4, 72, 30, 129, +/* 6170 */ 30, 69, 129, 30, 66, 129, 30, 63, 129, 30, +/* 6180 */ 60, 129, 30, 57, 129, 30, 54, 129, 30, 51, +/* 6190 */ 129, 30, 48, 129, 30, 51, 129, 30, 4, 73, +/* 6200 */ 12, 129, 30, 4, 76, 12, 129, 30, 4, 80, +/* 6210 */ 12, 129, 30, 4, 83, 12, 129, 87, 12, 129, +/* 6220 */ 90, 12, 117, 4, 129, 94, 11, 117, 4, 129, +/* 6230 */ 97, 12, 117, 4, 129, 101, 12, 117, 4, 129, +/* 6240 */ 104, 17, 129, 108, 13, 129, 111, 10, 129, 115, +/* 6250 */ 6, 129, 117, 4, 134, 193, 129, 30, 1, 103, +/* 6260 */ 18, 129, 30, 4, 103, 18, 129, 30, 7, 103, +/* 6270 */ 18, 129, 30, 9, 103, 18, 129, 30, 12, 110, +/* 6280 */ 11, 129, 30, 15, 113, 8, 129, 30, 18, 114, +/* 6290 */ 7, 129, 30, 21, 116, 5, 129, 30, 24, 116, +/* 6300 */ 5, 129, 30, 27, 117, 4, 129, 30, 30, 117, +/* 6310 */ 4, 129, 30, 33, 117, 4, 129, 30, 4, 37, +/* 6320 */ 28, 117, 4, 129, 30, 4, 40, 28, 117, 4, +/* 6330 */ 129, 30, 4, 42, 29, 117, 4, 129, 30, 4, +/* 6340 */ 45, 29, 117, 4, 129, 30, 4, 48, 29, 117, +/* 6350 */ 4, 129, 30, 4, 51, 29, 117, 4, 129, 30, +/* 6360 */ 4, 54, 29, 117, 4, 129, 30, 4, 57, 29, +/* 6370 */ 117, 4, 129, 30, 4, 59, 30, 117, 4, 129, +/* 6380 */ 30, 4, 62, 30, 117, 4, 129, 30, 4, 65, +/* 6390 */ 30, 117, 4, 129, 30, 4, 68, 30, 117, 4, +/* 6400 */ 129, 30, 4, 71, 30, 117, 4, 129, 30, 4, +/* 6410 */ 74, 30, 117, 4, 129, 30, 4, 77, 30, 117, +/* 6420 */ 4, 129, 30, 4, 80, 30, 117, 4, 129, 30, +/* 6430 */ 4, 83, 30, 117, 4, 129, 30, 4, 86, 35, +/* 6440 */ 129, 30, 4, 89, 32, 129, 30, 4, 91, 30, +/* 6450 */ 129, 30, 4, 94, 27, 129, 30, 5, 97, 24, +/* 6460 */ 129, 30, 5, 100, 21, 129, 30, 7, 103, 18, +/* 6470 */ 129, 30, 8, 106, 15, 129, 30, 11, 109, 12, +/* 6480 */ 129, 30, 18, 112, 9, 129, 30, 18, 115, 6, +/* 6490 */ 129, 30, 18, 117, 4, 129, 30, 18, 120, 1, +/* 6500 */ 129, 193, 129, 42, 8, 129, 38, 16, 129, 36, +/* 6510 */ 20, 129, 34, 24, 71, 5, 129, 33, 26, 69, +/* 6520 */ 10, 129, 32, 28, 68, 13, 129, 31, 30, 68, +/* 6530 */ 14, 129, 31, 9, 52, 9, 68, 15, 129, 30, +/* 6540 */ 8, 54, 8, 69, 14, 129, 30, 7, 55, 7, +/* 6550 */ 71, 4, 78, 6, 129, 30, 6, 56, 6, 79, +/* 6560 */ 5, 129, 30, 6, 56, 6, 80, 4, 130, 31, +/* 6570 */ 5, 56, 5, 80, 4, 129, 31, 5, 56, 5, +/* 6580 */ 79, 5, 129, 32, 5, 55, 5, 78, 6, 129, +/* 6590 */ 33, 5, 54, 5, 77, 7, 129, 34, 6, 52, +/* 6600 */ 6, 74, 9, 129, 35, 48, 129, 33, 49, 129, +/* 6610 */ 32, 49, 129, 31, 49, 129, 30, 49, 129, 30, +/* 6620 */ 47, 129, 30, 45, 129, 30, 41, 129, 30, 6, +/* 6630 */ 129, 30, 4, 129, 30, 3, 129, 30, 2, 129, +/* 6640 */ 193, 129, 30, 4, 117, 4, 130, 31, 90, 136, +/* 6650 */ 37, 5, 72, 5, 129, 35, 5, 74, 5, 129, +/* 6660 */ 33, 5, 76, 5, 129, 32, 5, 77, 5, 129, +/* 6670 */ 31, 5, 78, 5, 129, 31, 4, 79, 4, 129, +/* 6680 */ 30, 5, 79, 5, 131, 30, 6, 78, 6, 129, +/* 6690 */ 30, 7, 77, 7, 129, 31, 8, 75, 8, 129, +/* 6700 */ 31, 11, 72, 11, 129, 32, 15, 67, 15, 129, +/* 6710 */ 33, 48, 129, 34, 46, 129, 35, 44, 129, 37, +/* 6720 */ 40, 129, 39, 36, 129, 42, 30, 129, 46, 22, +/* 6730 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41, +/* 6740 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44, +/* 6750 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32, +/* 6760 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31, +/* 6770 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30, +/* 6780 */ 5, 79, 5, 129, 30, 4, 80, 4, 133, 31, +/* 6790 */ 3, 79, 4, 129, 31, 4, 79, 4, 129, 32, +/* 6800 */ 3, 78, 4, 129, 32, 4, 76, 6, 129, 33, +/* 6810 */ 4, 74, 7, 129, 34, 4, 72, 8, 129, 35, +/* 6820 */ 5, 72, 7, 129, 37, 5, 73, 4, 129, 39, +/* 6830 */ 4, 74, 1, 129, 129, 193, 129, 46, 22, 129, +/* 6840 */ 42, 30, 129, 39, 36, 129, 37, 40, 129, 35, +/* 6850 */ 44, 129, 34, 46, 129, 33, 48, 129, 32, 15, +/* 6860 */ 67, 15, 129, 31, 11, 72, 11, 129, 31, 8, +/* 6870 */ 75, 8, 129, 30, 7, 77, 7, 129, 30, 6, +/* 6880 */ 78, 6, 129, 30, 5, 79, 5, 131, 31, 4, +/* 6890 */ 79, 4, 129, 31, 5, 78, 5, 129, 32, 5, +/* 6900 */ 77, 5, 129, 33, 5, 76, 5, 129, 35, 5, +/* 6910 */ 74, 5, 117, 4, 129, 37, 5, 72, 5, 117, +/* 6920 */ 4, 129, 30, 91, 136, 30, 4, 130, 193, 129, +/* 6930 */ 48, 18, 129, 43, 28, 129, 41, 32, 129, 39, +/* 6940 */ 36, 129, 37, 40, 129, 35, 44, 129, 34, 46, +/* 6950 */ 129, 33, 13, 55, 4, 68, 13, 129, 32, 9, +/* 6960 */ 55, 4, 73, 9, 129, 32, 7, 55, 4, 75, +/* 6970 */ 7, 129, 31, 6, 55, 4, 77, 6, 129, 31, +/* 6980 */ 5, 55, 4, 78, 5, 129, 30, 5, 55, 4, +/* 6990 */ 79, 5, 129, 30, 4, 55, 4, 80, 4, 132, +/* 7000 */ 30, 4, 55, 4, 79, 5, 129, 31, 3, 55, +/* 7010 */ 4, 78, 5, 129, 31, 4, 55, 4, 77, 6, +/* 7020 */ 129, 32, 3, 55, 4, 75, 7, 129, 32, 4, +/* 7030 */ 55, 4, 73, 9, 129, 33, 4, 55, 4, 68, +/* 7040 */ 13, 129, 34, 4, 55, 25, 129, 35, 5, 55, +/* 7050 */ 24, 129, 37, 5, 55, 22, 129, 39, 4, 55, +/* 7060 */ 20, 129, 55, 18, 129, 55, 16, 129, 55, 11, +/* 7070 */ 129, 193, 129, 80, 4, 129, 30, 4, 80, 4, +/* 7080 */ 130, 30, 78, 129, 30, 82, 129, 30, 85, 129, +/* 7090 */ 30, 87, 129, 30, 88, 129, 30, 89, 129, 30, +/* 7100 */ 90, 130, 30, 4, 80, 4, 115, 6, 129, 30, +/* 7110 */ 4, 80, 4, 117, 4, 129, 80, 4, 105, 6, +/* 7120 */ 117, 4, 129, 80, 4, 103, 10, 116, 5, 129, +/* 7130 */ 80, 4, 102, 19, 129, 80, 4, 101, 19, 129, +/* 7140 */ 101, 19, 129, 101, 18, 129, 102, 16, 129, 103, +/* 7150 */ 12, 129, 105, 6, 129, 193, 129, 12, 10, 59, +/* 7160 */ 11, 129, 9, 16, 55, 19, 129, 7, 20, 53, +/* 7170 */ 23, 129, 6, 7, 23, 5, 32, 6, 51, 27, +/* 7180 */ 129, 4, 7, 25, 16, 50, 29, 129, 3, 6, +/* 7190 */ 27, 16, 49, 31, 129, 2, 6, 28, 16, 48, +/* 7200 */ 33, 129, 1, 6, 27, 18, 47, 35, 129, 1, +/* 7210 */ 6, 27, 31, 71, 12, 129, 1, 5, 26, 15, +/* 7220 */ 44, 10, 75, 8, 129, 1, 5, 25, 14, 45, +/* 7230 */ 7, 77, 7, 129, 1, 5, 25, 13, 45, 5, +/* 7240 */ 79, 5, 129, 1, 5, 24, 14, 45, 4, 80, +/* 7250 */ 4, 129, 1, 5, 24, 13, 45, 4, 80, 4, +/* 7260 */ 129, 1, 5, 23, 14, 45, 4, 80, 4, 129, +/* 7270 */ 1, 5, 23, 13, 45, 4, 80, 4, 129, 1, +/* 7280 */ 6, 22, 13, 45, 5, 79, 5, 129, 1, 6, +/* 7290 */ 21, 14, 45, 7, 77, 7, 129, 1, 7, 21, +/* 7300 */ 13, 46, 8, 75, 8, 129, 1, 8, 20, 13, +/* 7310 */ 46, 12, 71, 12, 129, 1, 10, 18, 15, 47, +/* 7320 */ 35, 129, 2, 30, 48, 33, 129, 3, 29, 49, +/* 7330 */ 32, 129, 4, 27, 50, 31, 129, 5, 25, 51, +/* 7340 */ 27, 80, 2, 86, 4, 129, 7, 21, 53, 23, +/* 7350 */ 80, 3, 85, 6, 129, 9, 17, 55, 19, 80, +/* 7360 */ 12, 129, 12, 12, 59, 11, 81, 11, 129, 82, +/* 7370 */ 10, 129, 84, 7, 129, 86, 4, 129, 193, 129, +/* 7380 */ 30, 4, 117, 4, 130, 30, 91, 136, 30, 4, +/* 7390 */ 72, 5, 129, 30, 4, 74, 5, 129, 75, 5, +/* 7400 */ 129, 76, 5, 129, 76, 6, 129, 77, 6, 130, +/* 7410 */ 77, 7, 130, 76, 8, 129, 30, 4, 75, 9, +/* 7420 */ 129, 30, 4, 72, 12, 129, 30, 54, 129, 30, +/* 7430 */ 53, 130, 30, 52, 129, 30, 51, 129, 30, 49, +/* 7440 */ 129, 30, 46, 129, 30, 42, 129, 30, 4, 130, +/* 7450 */ 193, 129, 30, 4, 80, 4, 129, 30, 4, 80, +/* 7460 */ 4, 100, 6, 129, 30, 54, 98, 10, 129, 30, +/* 7470 */ 54, 97, 12, 129, 30, 54, 96, 14, 131, 30, +/* 7480 */ 54, 97, 12, 129, 30, 54, 98, 10, 129, 30, +/* 7490 */ 54, 100, 6, 129, 30, 4, 130, 193, 129, 7, +/* 7500 */ 6, 129, 4, 11, 129, 3, 13, 129, 2, 14, +/* 7510 */ 129, 1, 15, 130, 1, 3, 6, 9, 129, 1, +/* 7520 */ 3, 7, 6, 129, 1, 3, 130, 1, 4, 129, +/* 7530 */ 1, 5, 80, 4, 129, 1, 7, 80, 4, 100, +/* 7540 */ 6, 129, 2, 82, 98, 10, 129, 3, 81, 97, +/* 7550 */ 12, 129, 4, 80, 96, 14, 129, 5, 79, 96, +/* 7560 */ 14, 129, 7, 77, 96, 14, 129, 10, 74, 97, +/* 7570 */ 12, 129, 14, 70, 98, 10, 129, 19, 65, 100, +/* 7580 */ 6, 129, 193, 129, 30, 4, 117, 4, 130, 30, +/* 7590 */ 91, 136, 30, 4, 57, 9, 129, 30, 4, 55, +/* 7600 */ 12, 129, 52, 17, 129, 50, 20, 129, 48, 24, +/* 7610 */ 129, 46, 27, 129, 44, 21, 69, 6, 129, 41, +/* 7620 */ 22, 70, 6, 80, 4, 129, 30, 4, 39, 21, +/* 7630 */ 72, 6, 80, 4, 129, 30, 4, 36, 22, 73, +/* 7640 */ 11, 129, 30, 26, 75, 9, 129, 30, 23, 76, +/* 7650 */ 8, 129, 30, 21, 78, 6, 129, 30, 19, 79, +/* 7660 */ 5, 129, 30, 16, 80, 4, 129, 30, 14, 80, +/* 7670 */ 4, 129, 30, 12, 129, 30, 10, 129, 30, 7, +/* 7680 */ 129, 30, 5, 129, 30, 4, 130, 193, 129, 30, +/* 7690 */ 4, 117, 4, 130, 30, 91, 136, 30, 4, 130, +/* 7700 */ 193, 129, 30, 4, 80, 4, 130, 30, 54, 136, +/* 7710 */ 30, 4, 72, 5, 129, 30, 4, 74, 5, 129, +/* 7720 */ 75, 5, 129, 76, 5, 129, 30, 4, 75, 7, +/* 7730 */ 129, 30, 4, 74, 9, 129, 30, 54, 132, 30, +/* 7740 */ 53, 129, 30, 52, 129, 30, 51, 129, 30, 48, +/* 7750 */ 129, 30, 4, 72, 5, 129, 30, 4, 74, 5, +/* 7760 */ 129, 75, 5, 129, 76, 5, 129, 30, 4, 75, +/* 7770 */ 7, 129, 30, 4, 74, 9, 129, 30, 54, 132, +/* 7780 */ 30, 53, 129, 30, 52, 129, 30, 51, 129, 30, +/* 7790 */ 48, 129, 30, 4, 130, 193, 129, 30, 4, 80, +/* 7800 */ 4, 130, 30, 54, 136, 30, 4, 72, 5, 129, +/* 7810 */ 30, 4, 74, 5, 129, 75, 5, 129, 76, 5, +/* 7820 */ 129, 76, 6, 129, 77, 6, 130, 77, 7, 130, +/* 7830 */ 76, 8, 129, 30, 4, 75, 9, 129, 30, 4, +/* 7840 */ 72, 12, 129, 30, 54, 129, 30, 53, 130, 30, +/* 7850 */ 52, 129, 30, 51, 129, 30, 49, 129, 30, 46, +/* 7860 */ 129, 30, 42, 129, 30, 4, 130, 193, 129, 48, +/* 7870 */ 18, 129, 43, 28, 129, 41, 32, 129, 39, 36, +/* 7880 */ 129, 37, 40, 129, 35, 44, 129, 34, 46, 129, +/* 7890 */ 33, 13, 68, 13, 129, 32, 9, 73, 9, 129, +/* 7900 */ 32, 7, 75, 7, 129, 31, 6, 77, 6, 129, +/* 7910 */ 31, 5, 78, 5, 129, 30, 5, 79, 5, 129, +/* 7920 */ 30, 4, 80, 4, 132, 30, 5, 79, 5, 130, +/* 7930 */ 31, 5, 78, 5, 129, 31, 6, 77, 6, 129, +/* 7940 */ 32, 7, 75, 7, 129, 32, 9, 73, 9, 129, +/* 7950 */ 33, 13, 68, 13, 129, 34, 46, 129, 35, 44, +/* 7960 */ 129, 37, 40, 129, 39, 36, 129, 41, 32, 129, +/* 7970 */ 43, 28, 129, 48, 18, 129, 193, 129, 1, 3, +/* 7980 */ 80, 4, 130, 1, 83, 137, 37, 5, 72, 5, +/* 7990 */ 129, 35, 5, 74, 5, 129, 33, 5, 76, 5, +/* 8000 */ 129, 32, 5, 77, 5, 129, 31, 5, 78, 5, +/* 8010 */ 129, 31, 4, 79, 4, 129, 30, 5, 79, 5, +/* 8020 */ 131, 30, 6, 78, 6, 129, 30, 7, 77, 7, +/* 8030 */ 129, 31, 8, 75, 8, 129, 31, 11, 72, 11, +/* 8040 */ 129, 32, 15, 67, 15, 129, 33, 48, 129, 34, +/* 8050 */ 46, 129, 35, 44, 129, 37, 40, 129, 39, 36, +/* 8060 */ 129, 42, 30, 129, 46, 22, 129, 193, 129, 46, +/* 8070 */ 22, 129, 42, 30, 129, 39, 36, 129, 37, 40, +/* 8080 */ 129, 35, 44, 129, 34, 46, 129, 33, 48, 129, +/* 8090 */ 32, 15, 67, 15, 129, 31, 11, 72, 11, 129, +/* 8100 */ 31, 8, 75, 8, 129, 30, 7, 77, 7, 129, +/* 8110 */ 30, 6, 78, 6, 129, 30, 5, 79, 5, 131, +/* 8120 */ 31, 4, 79, 4, 129, 31, 5, 78, 5, 129, +/* 8130 */ 32, 5, 77, 5, 129, 33, 5, 76, 5, 129, +/* 8140 */ 35, 5, 74, 5, 129, 37, 5, 72, 5, 129, +/* 8150 */ 1, 83, 136, 1, 3, 80, 4, 130, 193, 129, +/* 8160 */ 30, 4, 80, 4, 130, 30, 54, 136, 30, 4, +/* 8170 */ 68, 6, 129, 30, 4, 70, 6, 129, 71, 7, +/* 8180 */ 129, 72, 7, 129, 73, 7, 129, 74, 7, 129, +/* 8190 */ 74, 8, 129, 75, 8, 130, 69, 15, 129, 67, +/* 8200 */ 17, 129, 66, 18, 129, 65, 19, 130, 65, 18, +/* 8210 */ 130, 66, 16, 129, 67, 13, 129, 69, 8, 129, +/* 8220 */ 193, 129, 30, 13, 64, 8, 129, 30, 13, 61, +/* 8230 */ 14, 129, 30, 13, 59, 18, 129, 30, 13, 57, +/* 8240 */ 22, 129, 33, 8, 56, 24, 129, 32, 7, 55, +/* 8250 */ 26, 129, 32, 6, 54, 28, 129, 31, 6, 53, +/* 8260 */ 16, 77, 6, 129, 31, 5, 53, 14, 79, 4, +/* 8270 */ 129, 30, 5, 52, 14, 80, 4, 129, 30, 5, +/* 8280 */ 52, 13, 80, 4, 129, 30, 4, 52, 13, 80, +/* 8290 */ 4, 129, 30, 4, 52, 12, 80, 4, 129, 30, +/* 8300 */ 4, 51, 13, 80, 4, 130, 30, 4, 50, 13, +/* 8310 */ 79, 5, 129, 30, 4, 50, 13, 78, 5, 129, +/* 8320 */ 30, 5, 49, 14, 77, 6, 129, 31, 4, 49, +/* 8330 */ 13, 76, 6, 129, 31, 5, 48, 14, 75, 7, +/* 8340 */ 129, 32, 5, 47, 14, 73, 8, 129, 32, 6, +/* 8350 */ 45, 16, 71, 13, 129, 33, 27, 71, 13, 129, +/* 8360 */ 34, 26, 71, 13, 129, 35, 24, 71, 13, 129, +/* 8370 */ 37, 20, 129, 39, 16, 129, 43, 9, 129, 193, +/* 8380 */ 129, 80, 4, 131, 41, 56, 129, 37, 60, 129, +/* 8390 */ 35, 62, 129, 33, 64, 129, 32, 65, 129, 31, +/* 8400 */ 66, 129, 30, 67, 130, 30, 11, 80, 4, 129, +/* 8410 */ 30, 9, 80, 4, 129, 30, 8, 80, 4, 129, +/* 8420 */ 31, 7, 80, 4, 129, 31, 6, 129, 32, 5, +/* 8430 */ 129, 33, 5, 129, 35, 4, 129, 38, 3, 129, +/* 8440 */ 193, 129, 80, 4, 130, 42, 42, 129, 38, 46, +/* 8450 */ 129, 35, 49, 129, 33, 51, 129, 32, 52, 129, +/* 8460 */ 31, 53, 130, 30, 54, 129, 30, 12, 129, 30, +/* 8470 */ 9, 129, 30, 8, 129, 30, 7, 130, 31, 6, +/* 8480 */ 130, 32, 6, 129, 33, 5, 129, 34, 5, 129, +/* 8490 */ 35, 5, 80, 4, 129, 37, 5, 80, 4, 129, +/* 8500 */ 30, 54, 136, 30, 4, 130, 193, 129, 80, 4, +/* 8510 */ 130, 77, 7, 129, 74, 10, 129, 70, 14, 129, +/* 8520 */ 66, 18, 129, 62, 22, 129, 59, 25, 129, 55, +/* 8530 */ 29, 129, 51, 33, 129, 47, 37, 129, 44, 32, +/* 8540 */ 80, 4, 129, 40, 32, 80, 4, 129, 36, 32, +/* 8550 */ 129, 32, 33, 129, 30, 31, 129, 33, 24, 129, +/* 8560 */ 36, 17, 129, 40, 12, 129, 44, 12, 129, 48, +/* 8570 */ 12, 129, 51, 13, 129, 55, 13, 129, 59, 13, +/* 8580 */ 80, 4, 129, 63, 13, 80, 4, 129, 67, 17, +/* 8590 */ 129, 71, 13, 129, 74, 10, 129, 78, 6, 129, +/* 8600 */ 80, 4, 131, 193, 129, 80, 4, 130, 77, 7, +/* 8610 */ 129, 74, 10, 129, 70, 14, 129, 66, 18, 129, +/* 8620 */ 62, 22, 129, 59, 25, 129, 55, 29, 129, 51, +/* 8630 */ 33, 129, 47, 37, 129, 44, 32, 80, 4, 129, +/* 8640 */ 40, 32, 80, 4, 129, 36, 32, 129, 32, 33, +/* 8650 */ 129, 30, 31, 129, 33, 24, 129, 36, 17, 129, +/* 8660 */ 40, 12, 129, 44, 12, 129, 47, 13, 129, 44, +/* 8670 */ 20, 129, 40, 28, 129, 36, 31, 129, 32, 32, +/* 8680 */ 129, 30, 30, 129, 33, 24, 129, 36, 17, 129, +/* 8690 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51, +/* 8700 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129, +/* 8710 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13, +/* 8720 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131, +/* 8730 */ 193, 129, 30, 4, 80, 4, 130, 30, 4, 79, +/* 8740 */ 5, 129, 30, 5, 77, 7, 129, 30, 6, 74, +/* 8750 */ 10, 129, 30, 8, 72, 12, 129, 30, 11, 69, +/* 8760 */ 15, 129, 30, 13, 67, 17, 129, 30, 4, 37, +/* 8770 */ 8, 64, 20, 129, 30, 4, 39, 8, 62, 22, +/* 8780 */ 129, 41, 8, 59, 25, 129, 43, 8, 57, 27, +/* 8790 */ 129, 45, 8, 55, 22, 80, 4, 129, 47, 27, +/* 8800 */ 80, 4, 129, 49, 23, 129, 47, 22, 129, 44, +/* 8810 */ 23, 129, 42, 22, 129, 30, 4, 39, 27, 129, +/* 8820 */ 30, 4, 37, 31, 129, 30, 27, 62, 8, 129, +/* 8830 */ 30, 25, 64, 8, 129, 30, 22, 66, 8, 80, +/* 8840 */ 4, 129, 30, 20, 68, 8, 80, 4, 129, 30, +/* 8850 */ 17, 70, 8, 80, 4, 129, 30, 15, 73, 11, +/* 8860 */ 129, 30, 12, 75, 9, 129, 30, 10, 77, 7, +/* 8870 */ 129, 30, 7, 79, 5, 129, 30, 5, 80, 4, +/* 8880 */ 129, 30, 4, 80, 4, 130, 193, 129, 4, 5, +/* 8890 */ 80, 4, 129, 2, 9, 80, 4, 129, 1, 11, +/* 8900 */ 77, 7, 129, 1, 12, 74, 10, 129, 1, 12, +/* 8910 */ 70, 14, 129, 1, 12, 66, 18, 129, 1, 11, +/* 8920 */ 62, 22, 129, 2, 9, 59, 25, 129, 4, 11, +/* 8930 */ 55, 29, 129, 7, 12, 51, 33, 129, 10, 12, +/* 8940 */ 47, 37, 129, 14, 12, 44, 32, 80, 4, 129, +/* 8950 */ 17, 13, 40, 32, 80, 4, 129, 21, 13, 36, +/* 8960 */ 32, 129, 25, 40, 129, 29, 32, 129, 33, 24, +/* 8970 */ 129, 36, 17, 129, 40, 12, 129, 44, 12, 129, +/* 8980 */ 48, 12, 129, 51, 13, 129, 55, 13, 129, 59, +/* 8990 */ 13, 80, 4, 129, 63, 13, 80, 4, 129, 67, +/* 9000 */ 17, 129, 71, 13, 129, 74, 10, 129, 78, 6, +/* 9010 */ 129, 80, 4, 131, 193, 129, 30, 1, 71, 13, +/* 9020 */ 129, 30, 3, 71, 13, 129, 30, 6, 71, 13, +/* 9030 */ 129, 30, 9, 75, 9, 129, 30, 11, 77, 7, +/* 9040 */ 129, 30, 14, 79, 5, 129, 30, 17, 79, 5, +/* 9050 */ 129, 30, 19, 80, 4, 129, 30, 22, 80, 4, +/* 9060 */ 129, 30, 25, 80, 4, 129, 30, 27, 80, 4, +/* 9070 */ 129, 30, 4, 36, 24, 80, 4, 129, 30, 4, +/* 9080 */ 38, 25, 80, 4, 129, 30, 4, 41, 24, 80, +/* 9090 */ 4, 129, 30, 4, 44, 24, 80, 4, 129, 30, +/* 9100 */ 4, 46, 25, 80, 4, 129, 30, 4, 49, 25, +/* 9110 */ 80, 4, 129, 30, 4, 52, 24, 80, 4, 129, +/* 9120 */ 30, 4, 54, 30, 129, 30, 4, 57, 27, 129, +/* 9130 */ 30, 4, 59, 25, 129, 30, 4, 62, 22, 129, +/* 9140 */ 30, 4, 65, 19, 129, 30, 5, 67, 17, 129, +/* 9150 */ 30, 5, 70, 14, 129, 30, 7, 73, 11, 129, +/* 9160 */ 30, 9, 76, 8, 129, 30, 13, 78, 6, 129, +/* 9170 */ 30, 13, 81, 3, 129, 30, 13, 129, 193, 2, +/* 9180 */ 9, 59, 25, 129, 4, 11, 55, 29, 129, 7, +/* 9190 */ 12, 51, 33, 129, 10, 12, 47, 37, 129, 14, +/* 9200 */ 12, 44, 32, 80, 4, 129, 17, 13, 40, 32, +/* 9210 */ 80, 4, 129, 21, 13, 36, 32, 129, 25, 40, +/* 9220 */ 129, 29, 32, 129, 33, 24, 129, 36, 17, 129, +/* 9230 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51, +/* 9240 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129, +/* 9250 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13, +/* 9260 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131, +/* 9270 */ 193 +}; + +char line[DWIDTH]; +char message[MAXMSG]; +char print[DWIDTH]; +int debug, i, j, linen, max, nchars, pc, term, trace, x, y; +int width = DWIDTH; /* -w option: scrunch letters to 80 columns */ + + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + int ch; + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + while ((ch = getopt(argc, argv, "w:td")) != -1) + switch (ch) { + case 'd': + debug = 1; + break; + case 't': + trace = 1; + break; + case 'w': + width = atoi(optarg); + if (width <= 0) + errx(1, "illegal argument for -w option"); + break; + case '?': + default: + (void)fprintf(stderr, "usage: banner [-w width]\n"); + exit(1); + } + argc -= optind; + argv += optind; + + for (i = 0; i < width; i++) { + j = i * 132 / width; + print[j] = 1; + } + + /* Have now read in the data. Next get the message to be printed. */ + if (*argv) { + strcpy(message, *argv); + while (*++argv) { + strcat(message, " "); + strcat(message, *argv); + } + nchars = strlen(message); + } else { + if (isatty(fileno(stdin))) + fprintf(stderr,"Message: "); + (void)fgets(message, sizeof(message), stdin); + nchars = strlen(message); + message[nchars--] = '\0'; /* get rid of newline */ + } + + /* some debugging print statements */ + if (debug) { + printf("int asc_ptr[128] = {\n"); + for (i = 0; i < 128; i++) { + printf("%4d, ",asc_ptr[i]); + if ((i+1) % 8 == 0) + printf("\n"); + } + printf("};\nchar data_table[NBYTES] = {\n"); + printf(" /* "); + for (i = 0; i < 10; i++) printf(" %3d ",i); + printf(" */\n"); + for (i = 0; i < NBYTES; i += 10) { + printf("/* %4d */ ",i); + for (j = i; j < i+10; j++) { + x = data_table[j] & 0377; + printf(" %3d, ",x); + } + putchar('\n'); + } + printf("};\n"); + } + + /* check message to make sure it's legal */ + j = 0; + for (i = 0; i < nchars; i++) + if ((u_char) message[i] >= NCHARS || + asc_ptr[(u_char) message[i]] == 0) { + warnx("The character '%c' is not in my character set", + message[i]); + j++; + } + if (j) + exit(1); + + if (trace) + printf("Message '%s' is OK\n",message); + /* Now have message. Print it one character at a time. */ + + for (i = 0; i < nchars; i++) { + if (trace) + printf("Char #%d: %c\n", i, message[i]); + for (j = 0; j < DWIDTH; j++) line[j] = ' '; + pc = asc_ptr[(u_char) message[i]]; + term = 0; + max = 0; + linen = 0; + while (!term) { + if (pc < 0 || pc > NBYTES) { + printf("bad pc: %d\n",pc); + exit(1); + } + x = data_table[pc] & 0377; + if (trace) + printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x); + if (x >= 128) { + if (x>192) term++; + x = x & 63; + while (x--) { + if (print[linen++]) { + for (j=0; j <= max; j++) + if (print[j]) + putchar(line[j]); + putchar('\n'); + } + } + for (j = 0; j < DWIDTH; j++) line[j] = ' '; + pc++; + } + else { + y = data_table[pc+1]; + /* compensate for narrow teminals */ +#ifdef notdef + x = (x*width + (DWIDTH/2)) / DWIDTH; + y = (y*width + (DWIDTH/2)) / DWIDTH; +#endif + max = x+y; + while (x < max) line[x++] = '#'; + pc += 2; + if (trace) + printf("x=%d, y=%d, max=%d\n",x,y,max); + } + } + } + + exit(0); +} diff --git a/battlestar/Makefile.bsd b/battlestar/Makefile.bsd new file mode 100644 index 0000000..424f29a --- /dev/null +++ b/battlestar/Makefile.bsd @@ -0,0 +1,15 @@ +# $NetBSD: Makefile,v 1.9 2001/10/19 03:06:09 tv Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= battlestar +SRCS= battlestar.c command1.c command2.c command3.c command4.c \ + command5.c command6.c command7.c \ + init.c cypher.c getcom.c parse.c room.c save.c fly.c misc.c \ + globals.c dayfile.c nightfile.c dayobjs.c nightobjs.c words.c +MAN= battlestar.6 +DPADD= ${LIBCURSES} +LDADD= -lcurses +HIDEGAME=hidegame +SETGIDGAME=yes + +.include diff --git a/battlestar/Makefrag b/battlestar/Makefrag new file mode 100644 index 0000000..cdbc08d --- /dev/null +++ b/battlestar/Makefrag @@ -0,0 +1,38 @@ +# Makefrag - makefile fragment for battlestar +# +# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +battlestar_DEFS := $(FGETLN_DEFS) +battlestar_DIRS := $(GAMESDIR) $(MAN6DIR) + +battlestar_all: battlestar/battlestar battlestar/battlestar.6 + +battlestar_install: battlestar_all + $(INSTALL_SCORE_GAME) battlestar/battlestar $(INSTALL_PREFIX)$(GAMESDIR)/battlestar + $(HIDE_GAME) battlestar + $(INSTALL_MANUAL) battlestar/battlestar.6 + $(INSTALL_SCORE_FILE) $(BATTLESTAR_SCOREFILE) diff --git a/battlestar/battlestar.6 b/battlestar/battlestar.6 new file mode 100644 index 0000000..0d1602b --- /dev/null +++ b/battlestar/battlestar.6 @@ -0,0 +1,174 @@ +.\" $NetBSD: battlestar.6,v 1.14 2003/08/07 09:37:00 agc Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)battlestar.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd September 7, 2000 +.Dt BATTLESTAR 6 +.Os +.Sh NAME +.Nm battlestar +.Nd a tropical adventure game +.Sh SYNOPSIS +.Nm +.Op Fl r +.Op Ar saved-file +.Sh DESCRIPTION +.Nm +is an adventure game in the classic style. +However, it's slightly less of a puzzle and more a game of exploration. +There are a few magical words in the game, but on the whole, simple English +should suffice to make one's desires understandable to the parser. +.Sh THE SETTING +In the days before the darkness came, when battlestars ruled the heavens... +.Bd -literal -offset indent +Three He made and gave them to His daughters, +Beautiful nymphs, the goddesses of the waters. +One to bring good luck and simple feats of wonder, +Two to wash the lands and churn the waves asunder, +Three to rule the world and purge the skies with thunder. +.Ed +.Pp +In those times great wizards were known and their powers were beyond belief. +They could take any object from thin air, and, uttering the word +.Sq su +could disappear. +.Pp +In those times men were known for their lust for gold and desire to +wear fine weapons. +Swords and coats of mail were fashioned that could withstand a laser blast. +.Pp +But when the darkness fell, the rightful reigns were toppled. +Swords and helms and heads of state went rolling across the grass. +The entire fleet of battlestars was reduced to a single ship. +.Sh SAMPLE COMMANDS +.Bd -literal -offset indent +take --- take an object +drop --- drop an object + +wear --- wear an object you are holding +draw --- carry an object you are wearing + +put on --- take an object and wear it +take off -- draw an object and drop it + +throw \*[Lt]object\*[Gt] \*[Lt]direction\*[Gt] + +! \*[Lt]shell esc\*[Gt] +.Ed +.Sh IMPLIED OBJECTS +.Bd -literal -offset indent +\*[Gt]-: take watermelon +watermelon: +Taken. +\*[Gt]-: eat +watermelon: +Eaten. +\*[Gt]-: take knife and sword and apple, drop all +knife: +Taken. +broadsword: +Taken. +apple: +Taken. +knife: +Dropped. +broadsword: +Dropped. +apple: +Dropped. +\*[Gt]-: get +knife: +Taken. +.Ed +.Pp +Notice that the "shadow" of the next word stays around if you +want to take advantage of it. +That is, saying "take knife" and then "drop" +will drop the knife you just took. +.Sh SCORE \*[Am] INVEN +The two commands +.Dq score +and +.Dq inven +will print out your current status in the game. +.Sh SAVING A GAME +The command +.Dq save +will save your game in a file called +.Pa .Bstar +in your home directory by default. +You can recover a saved game by using the +.Fl r +option when you start up the +game, or by giving the name of the saved file as an argument. +Save files will be saved to and restored from your home directory unless a +path is specified - i.e., +.Dq Li battlestar -r savedgame +will look for +.Pa savedgame +in your home directory, but +.Dq Li battlestar -r ./savedgame +will look in the current directory. +.Dq Li battlestar -r +will look for the default file, +.Pa .Bstar +in your home directory. +.Sh DIRECTIONS +The compass directions N, S, E, and W can be used if you have a compass. +If you don't have a compass, you'll have to say R, L, A, or B, which +stand for Right, Left, Ahead, and Back. +Directions printed in room descriptions are +always printed in R, L, A, and B relative directions. +.Sh HISTORY +I wrote Battlestar in 1979 in order to experiment with the niceties of +the C Language. +Most interesting things that happen in the game are hardwired into the +code, so don't send me any hate mail about it! +Instead, enjoy art for art's sake! +.Sh AUTHOR +.An David Riggle +.Sh INSPIRATION \*[Am] ASSISTANCE +.Bl -item -compact +.It +Chris Guthrie +.It +Peter Da Silva +.It +Kevin Brown +.It +Edward Wang +.It +Ken Arnold \*[Am] Company +.El +.Sh BUGS +Countless. +.Sh FAN MAIL +Send to edward%ucbarpa@berkeley.arpa, chris%ucbcory@berkeley.arpa, +riggle.pa@xerox.arpa. diff --git a/battlestar/battlestar.c b/battlestar/battlestar.c new file mode 100644 index 0000000..ed62590 --- /dev/null +++ b/battlestar/battlestar.c @@ -0,0 +1,106 @@ +/* $NetBSD: battlestar.c,v 1.14 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1983, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)battlestar.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: battlestar.c,v 1.14 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +/* + * Battlestar - a stellar-tropical adventure game + * + * Originally written by His Lordship, Admiral David W. Horatio Riggle, + * on the Cory PDP-11/70, University of California, Berkeley. + */ + +#include "extern.h" + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char **argv; +{ + char mainbuf[LINELENGTH]; + char *next; + + /* Open the score file then revoke setgid privileges */ + open_score_file(); + setregid(getgid(), getgid()); + + if (argc < 2) + initialize(NULL); + else if (strcmp(argv[1], "-r") == 0) + initialize((argc > 2) ? argv[2] : DEFAULT_SAVE_FILE); + else + initialize(argv[1]); +start: + news(); + if (beenthere[position] <= ROOMDESC) + beenthere[position]++; + if (notes[LAUNCHED]) + crash(); /* decrements fuel & crash */ + if (matchlight) { + puts("Your match splutters out."); + matchlight = 0; + } + if (!notes[CANTSEE] || testbit(inven, LAMPON) || + testbit(location[position].objects, LAMPON)) { + writedes(); + printobjs(); + } else + puts("It's too dark to see anything in here!"); + whichway(location[position]); +run: + next = getcom(mainbuf, sizeof mainbuf, ">-: ", + "Please type in something."); + for (wordcount = 0; next && wordcount < NWORD - 1; wordcount++) + next = getword(next, words[wordcount], -1); + parse(); + switch (cypher()) { + case -1: + goto run; + case 0: + goto start; + default: + errx(1, "bad return from cypher(): please submit a bug report"); + } +} diff --git a/battlestar/command1.c b/battlestar/command1.c new file mode 100644 index 0000000..2ecf181 --- /dev/null +++ b/battlestar/command1.c @@ -0,0 +1,269 @@ +/* $NetBSD: command1.c,v 1.2 2003/08/07 09:37:00 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com1.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command1.c,v 1.2 2003/08/07 09:37:00 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +moveplayer(thataway, token) + int thataway, token; +{ + wordnumber++; + if ((!notes[CANTMOVE] && !notes[LAUNCHED]) || + testbit(location[position].objects, LAND) || + (fuel > 0 && notes[LAUNCHED])) { + if (thataway) { + position = thataway; + newway(token); + ourtime++; + } else { + puts("You can't go this way."); + newway(token); + whichway(location[position]); + return (0); + } + } else { + if (notes[CANTMOVE] && !notes[LAUNCHED]) + puts("You aren't able to move; you better drop something."); + else + puts("You are out of fuel; now you will rot in space forever!"); + } + return (1); +} + +void +convert(tothis) /* Converts day to night and vice versa. */ + int tothis; /* Day objects are permanent. Night objects + * are added */ +{ /* at dusk, and subtracted at dawn. */ + const struct objs *p; + unsigned int i, j; + + if (tothis == TONIGHT) { + for (i = 1; i <= NUMOFROOMS; i++) + for (j = 0; j < NUMOFWORDS; j++) + nightfile[i].objects[j] = dayfile[i].objects[j]; + for (p = nightobjs; p->room != 0; p++) + setbit(nightfile[p->room].objects, p->obj); + location = nightfile; + } else { + for (i = 1; i <= NUMOFROOMS; i++) + for (j = 0; j < NUMOFWORDS; j++) + dayfile[i].objects[j] = nightfile[i].objects[j]; + for (p = nightobjs; p->room != 0; p++) + clearbit(dayfile[p->room].objects, p->obj); + location = dayfile; + } +} + +void +news() +{ + int n; + int hurt; + + if (ourtime > 30 && position < 32) { + puts("An explosion of shuddering magnitude splinters bulkheads and"); + puts("ruptures the battlestar's hull. You are sucked out into the"); + puts("frozen void of space and killed."); + die(); + } + if (ourtime > 20 && position < 32) + puts("Explosions rock the battlestar."); + if (ourtime > snooze) { + puts("You drop from exhaustion..."); + zzz(); + } + if (ourtime > snooze - 5) + puts("You're getting tired."); + if (ourtime > (rythmn + CYCLE)) { + if (location == nightfile) { + convert(TODAY); + if (OUTSIDE && ourtime - rythmn - CYCLE < 10) { + puts("Dew lit sunbeams stretch out from a watery sunrise and herald the dawn."); + puts("You awake from a misty dream-world into stark reality."); + puts("It is day."); + } + } else { + convert(TONIGHT); + clearbit(location[POOLS].objects, BATHGOD); + if (OUTSIDE && ourtime - rythmn - CYCLE < 10) { + puts("The dying sun sinks into the ocean, leaving a blood-stained sunset."); + puts("The sky slowly fades from orange to violet to black. A few stars"); + puts("flicker on, and it is night."); + puts("The world seems completely different at night."); + } + } + rythmn = ourtime - ourtime % CYCLE; + } + if (!wiz && !tempwiz) + if ((testbit(inven, TALISMAN) || testbit(wear, TALISMAN)) && (testbit(inven, MEDALION) || testbit(wear, MEDALION)) && (testbit(inven, AMULET) || testbit(wear, AMULET))) { + tempwiz = 1; + puts("The three amulets glow and reenforce each other in power.\nYou are now a wizard."); + } + if (testbit(location[position].objects, ELF)) { + printf("%s\n", objdes[ELF]); + fight(ELF, rnd(30)); + } + if (testbit(location[position].objects, DARK)) { + printf("%s\n", objdes[DARK]); + fight(DARK, 100); + } + if (testbit(location[position].objects, WOODSMAN)) { + printf("%s\n", objdes[WOODSMAN]); + fight(WOODSMAN, 50); + } + switch (position) { + + case 267: + case 257: /* entering a cave */ + case 274: + case 246: + notes[CANTSEE] = 1; + break; + case 160: + case 216: /* leaving a cave */ + case 230: + case 231: + case 232: + notes[CANTSEE] = 0; + break; + } + if (testbit(location[position].objects, GIRL)) + meetgirl = 1; + if (meetgirl && CYCLE * 1.5 - ourtime < 10) { + setbit(location[GARDEN].objects, GIRLTALK); + setbit(location[GARDEN].objects, LAMPON); + setbit(location[GARDEN].objects, ROPE); + } + if (position == DOCK && (beenthere[position] || ourtime > CYCLE)) { + clearbit(location[DOCK].objects, GIRL); + clearbit(location[DOCK].objects, MAN); + } + if (meetgirl && ourtime - CYCLE * 1.5 > 10) { + clearbit(location[GARDEN].objects, GIRLTALK); + clearbit(location[GARDEN].objects, LAMPON); + clearbit(location[GARDEN].objects, ROPE); + meetgirl = 0; + } + if (testbit(location[position].objects, CYLON)) { + puts("Oh my God, you're being shot at by an alien spacecraft!"); + printf("The targeting computer says we have %d seconds to attack!\n", + ourclock); + fflush(stdout); + sleep(1); + if (!visual()) { + hurt = rnd(NUMOFINJURIES); + injuries[hurt] = 1; + puts("Laser blasts sear the cockpit, and the alien veers off in a victory roll."); + puts("The viper shudders under a terrible explosion."); + printf("I'm afraid you have suffered %s.\n", ouch[hurt]); + } else + clearbit(location[position].objects, CYLON); + } + if (injuries[SKULL] && injuries[INCISE] && injuries[NECK]) { + puts("I'm afraid you have suffered fatal injuries."); + die(); + } + for (n = 0; n < NUMOFINJURIES; n++) + if (injuries[n] == 1) { + injuries[n] = 2; + if (WEIGHT > 5) + WEIGHT -= 5; + else + WEIGHT = 0; + } + if (injuries[ARM] == 2) { + if (CUMBER > 5) + CUMBER -= 5; + else + CUMBER = 0; + injuries[ARM]++; + } + if (injuries[RIBS] == 2) { + if (CUMBER > 2) + CUMBER -= 2; + else + CUMBER = 0; + injuries[RIBS]++; + } + if (injuries[SPINE] == 2) { + WEIGHT = 0; + injuries[SPINE]++; + } + if (carrying > WEIGHT || encumber > CUMBER) + notes[CANTMOVE] = 1; + else + notes[CANTMOVE] = 0; +} + +void +crash() +{ + int hurt1, hurt2; + + fuel--; + if (!location[position].flyhere || + (testbit(location[position].objects, LAND) && fuel <= 0)) { + if (!location[position].flyhere) + puts("You're flying too low. We're going to crash!"); + else { + puts("You're out of fuel. We'll have to crash land!"); + if (!location[position].down) { + puts("Your viper strikes the ground and explodes into fiery fragments."); + puts("Thick black smoke billows up from the wreckage."); + die(); + } + position = location[position].down; + } + notes[LAUNCHED] = 0; + setbit(location[position].objects, CRASH); + ourtime += rnd(CYCLE / 4); + puts("The viper explodes into the ground and you lose consciousness..."); + zzz(); + hurt1 = rnd(NUMOFINJURIES - 2) + 2; + hurt2 = rnd(NUMOFINJURIES - 2) + 2; + injuries[hurt1] = 1; + injuries[hurt2] = 1; + injuries[0] = 1;/* abrasions */ + injuries[1] = 1;/* lacerations */ + printf("I'm afraid you have suffered %s and %s.\n", + ouch[hurt1], ouch[hurt2]); + } +} diff --git a/battlestar/command2.c b/battlestar/command2.c new file mode 100644 index 0000000..9d56f21 --- /dev/null +++ b/battlestar/command2.c @@ -0,0 +1,349 @@ +/* $NetBSD: command2.c,v 1.2 2003/08/07 09:37:00 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com2.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command2.c,v 1.2 2003/08/07 09:37:00 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +wearit() +{ /* synonyms = {sheathe, sheath} */ + int firstnumber, value; + + firstnumber = wordnumber; + wordnumber++; + while (wordnumber <= wordcount && (wordtype[wordnumber] == OBJECT || + wordtype[wordnumber] == NOUNS) && wordvalue[wordnumber] != DOOR) { + value = wordvalue[wordnumber]; + if (value >= 0 && objsht[value] == NULL) + break; + switch (value) { + + case -1: + puts("Wear what?"); + return (firstnumber); + + default: + printf("You can't wear %s%s!\n", + A_OR_AN_OR_BLANK(value), objsht[value]); + return (firstnumber); + + case KNIFE: + /* case SHIRT: */ + case ROBE: + case LEVIS: /* wearable things */ + case SWORD: + case MAIL: + case HELM: + case SHOES: + case PAJAMAS: + case COMPASS: + case LASER: + case AMULET: + case TALISMAN: + case MEDALION: + case ROPE: + case RING: + case BRACELET: + case GRENADE: + + if (testbit(inven, value)) { + clearbit(inven, value); + setbit(wear, value); + carrying -= objwt[value]; + encumber -= objcumber[value]; + ourtime++; + printf("You are now wearing %s%s.\n", + A_OR_AN_OR_THE(value), objsht[value]); + } else + if (testbit(wear, value)) + printf("You are already wearing the %s.\n", + objsht[value]); + else + printf("You aren't holding the %s.\n", + objsht[value]); + if (wordnumber < wordcount - 1 && + wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (firstnumber); + } /* end switch */ + } /* end while */ + puts("Don't be ridiculous."); + return (firstnumber); +} + +int +put() +{ /* synonyms = {buckle, strap, tie} */ + if (wordvalue[wordnumber + 1] == ON) { + wordvalue[++wordnumber] = PUTON; + wordtype[wordnumber] = VERB; + return (cypher()); + } + if (wordvalue[wordnumber + 1] == DOWN) { + wordvalue[++wordnumber] = DROP; + wordtype[wordnumber] = VERB; + return (cypher()); + } + puts("I don't understand what you want to put."); + return (-1); + +} + +int +draw() +{ /* synonyms = {pull, carry} */ + return (take(wear)); +} + +int +use() +{ + wordnumber++; + if (wordvalue[wordnumber] == AMULET && testbit(inven, AMULET) && + position != FINAL) { + puts("The amulet begins to glow."); + if (testbit(inven, MEDALION)) { + puts("The medallion comes to life too."); + if (position == 114) { + location[position].down = 160; + whichway(location[position]); + puts("The waves subside and it is possible to descend to the sea cave now."); + ourtime++; + return (-1); + } + } + puts("A light mist falls over your eyes and the sound of purling water trickles in"); + puts("your ears. When the mist lifts you are standing beside a cool stream."); + if (position == 229) + position = 224; + else + position = 229; + ourtime++; + notes[CANTSEE] = 0; + return (0); + } else if (position == FINAL) + puts("The amulet won't work in here."); + else if (wordvalue[wordnumber] == COMPASS && testbit(inven, COMPASS)) + printf("Your compass points %s.\n", truedirec(NORTH, '-')); + else if (wordvalue[wordnumber] == COMPASS) + puts("You aren't holding the compass."); + else if (wordvalue[wordnumber] == AMULET) + puts("You aren't holding the amulet."); + else + puts("There is no apparent use."); + return (-1); +} + +void +murder() +{ + int n; + + for (n = 0; !((n == SWORD || n == KNIFE || n == TWO_HANDED || n == MACE || n == CLEAVER || n == BROAD || n == CHAIN || n == SHOVEL || n == HALBERD) && testbit(inven, n)) && n < NUMOFOBJECTS; n++); + if (n == NUMOFOBJECTS) { + if (testbit(inven, LASER)) { + printf("Your laser should do the trick.\n"); + wordnumber++; + switch(wordvalue[wordnumber]) { + case NORMGOD: + case TIMER: + case NATIVE: + case MAN: + wordvalue[--wordnumber] = SHOOT; + cypher(); + break; + case -1: + puts("Kill what?"); + break; + default: + if (wordtype[wordnumber] != OBJECT || + wordvalue[wordnumber] == EVERYTHING) + puts("You can't kill that!"); + else + printf("You can't kill %s%s!\n", + A_OR_AN_OR_BLANK(wordvalue[wordnumber]), + objsht[wordvalue[wordnumber]]); + break; + } + } else + puts("You don't have suitable weapons to kill."); + } else { + printf("Your %s should do the trick.\n", objsht[n]); + wordnumber++; + switch (wordvalue[wordnumber]) { + + case NORMGOD: + if (testbit(location[position].objects, BATHGOD)) { + puts("The goddess's head slices off. Her corpse floats in the water."); + clearbit(location[position].objects, BATHGOD); + setbit(location[position].objects, DEADGOD); + power += 5; + notes[JINXED]++; + } else + if (testbit(location[position].objects, NORMGOD)) { + puts("The goddess pleads but you strike her mercilessly. Her broken body lies in a\npool of blood."); + clearbit(location[position].objects, NORMGOD); + setbit(location[position].objects, DEADGOD); + power += 5; + notes[JINXED]++; + if (wintime) + live(); + } else + puts("I don't see her anywhere."); + break; + case TIMER: + if (testbit(location[position].objects, TIMER)) { + puts("The old man offers no resistance."); + clearbit(location[position].objects, TIMER); + setbit(location[position].objects, DEADTIME); + power++; + notes[JINXED]++; + } else + puts("Who?"); + break; + case NATIVE: + if (testbit(location[position].objects, NATIVE)) { + puts("The girl screams as you cut her body to shreds. She is dead."); + clearbit(location[position].objects, NATIVE); + setbit(location[position].objects, DEADNATIVE); + power += 5; + notes[JINXED]++; + } else + puts("What girl?"); + break; + case MAN: + if (testbit(location[position].objects, MAN)) { + puts("You strike him to the ground, and he coughs up blood."); + puts("Your fantasy is over."); + die(); + } + case -1: + puts("Kill what?"); + break; + + default: + if (wordtype[wordnumber] != OBJECT || + wordvalue[wordnumber] == EVERYTHING) + puts("You can't kill that!"); + else + printf("You can't kill the %s!\n", + objsht[wordvalue[wordnumber]]); + } + } +} + +void +ravage() +{ + while (wordtype[++wordnumber] != NOUNS && wordnumber <= wordcount) + continue; + if (wordtype[wordnumber] == NOUNS && (testbit(location[position].objects, wordvalue[wordnumber]) + || (wordvalue[wordnumber] == NORMGOD && testbit(location[position].objects, BATHGOD)))) { + ourtime++; + switch (wordvalue[wordnumber]) { + case NORMGOD: + puts("You attack the goddess, and she screams as you beat her. She falls down"); + if (testbit(location[position].objects, BATHGOD)) + puts("crying and tries to cover her nakedness."); + else + puts("crying and tries to hold her torn and bloodied dress around her."); + power += 5; + pleasure += 8; + ego -= 10; + wordnumber--; + godready = -30000; + murder(); + win = -30000; + break; + case NATIVE: + puts("The girl tries to run, but you catch her and throw her down. Her face is"); + puts("bleeding, and she screams as you tear off her clothes."); + power += 3; + pleasure += 5; + ego -= 10; + wordnumber--; + murder(); + if (rnd(100) < 50) { + puts("Her screams have attracted attention. I think we are surrounded."); + setbit(location[ahead].objects, WOODSMAN); + setbit(location[ahead].objects, DEADWOOD); + setbit(location[ahead].objects, MALLET); + setbit(location[back].objects, WOODSMAN); + setbit(location[back].objects, DEADWOOD); + setbit(location[back].objects, MALLET); + setbit(location[left].objects, WOODSMAN); + setbit(location[left].objects, DEADWOOD); + setbit(location[left].objects, MALLET); + setbit(location[right].objects, WOODSMAN); + setbit(location[right].objects, DEADWOOD); + setbit(location[right].objects, MALLET); + } + break; + default: + puts("You are perverted."); + } + } else + puts("Who?"); +} + +int +follow() +{ + if (followfight == ourtime) { + puts("The Dark Lord leaps away and runs down secret tunnels and corridors."); + puts("You chase him through the darkness and splash in pools of water."); + puts("You have cornered him. His laser sword extends as he steps forward."); + position = FINAL; + fight(DARK, 75); + setbit(location[position].objects, TALISMAN); + setbit(location[position].objects, AMULET); + return (0); + } else + if (followgod == ourtime) { + puts("The goddess leads you down a steamy tunnel and into a high, wide chamber."); + puts("She sits down on a throne."); + position = 268; + setbit(location[position].objects, NORMGOD); + notes[CANTSEE] = 1; + return (0); + } else + puts("There is no one to follow."); + return (-1); +} diff --git a/battlestar/command3.c b/battlestar/command3.c new file mode 100644 index 0000000..0279193 --- /dev/null +++ b/battlestar/command3.c @@ -0,0 +1,317 @@ +/* $NetBSD: command3.c,v 1.2 2003/08/07 09:37:00 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com3.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command3.c,v 1.2 2003/08/07 09:37:00 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +void +dig() +{ + if (testbit(inven, SHOVEL)) { + puts("OK"); + ourtime++; + switch (position) { + case 144: /* copse near beach */ + if (!notes[DUG]) { + setbit(location[position].objects, DEADWOOD); + setbit(location[position].objects, COMPASS); + setbit(location[position].objects, KNIFE); + setbit(location[position].objects, MACE); + notes[DUG] = 1; + } + break; + + default: + puts("Nothing happens."); + } + } else + puts("You don't have a shovel."); +} + +int +jump() +{ + int n; + + switch (position) { + default: + puts("Nothing happens."); + return (-1); + + case 242: + position = 133; + break; + case 214: + case 215: + case 162: + case 159: + position = 145; + break; + case 232: + position = FINAL; + break; + case 3: + position = 1; + break; + case 172: + position = 201; + } + puts("Ahhhhhhh..."); + injuries[12] = injuries[8] = injuries[7] = injuries[6] = 1; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) { + clearbit(inven, n); + setbit(location[position].objects, n); + } + carrying = 0; + encumber = 0; + return (0); +} + +void +bury() +{ + int value; + + if (testbit(inven, SHOVEL)) { + while (wordtype[++wordnumber] != OBJECT && wordtype[wordnumber] != NOUNS && wordnumber < wordcount) + continue; + value = wordvalue[wordnumber]; + if (wordtype[wordnumber] == NOUNS && (testbit(location[position].objects, value) || value == BODY)) + switch (value) { + case BODY: + wordtype[wordnumber] = OBJECT; + if (testbit(inven, MAID) || testbit(location[position].objects, MAID)) + value = MAID; + if (testbit(inven, DEADWOOD) || testbit(location[position].objects, DEADWOOD)) + value = DEADWOOD; + if (testbit(inven, DEADGOD) || testbit(location[position].objects, DEADGOD)) + value = DEADGOD; + if (testbit(inven, DEADTIME) || testbit(location[position].objects, DEADTIME)) + value = DEADTIME; + if (testbit(inven, DEADNATIVE) || testbit(location[position].objects, DEADNATIVE)) + value = DEADNATIVE; + break; + + case NATIVE: + case NORMGOD: + puts("She screams as you wrestle her into the hole."); + case TIMER: + power += 7; + ego -= 10; + case AMULET: + case MEDALION: + case TALISMAN: + wordtype[wordnumber] = OBJECT; + break; + + default: + puts("Wha..?"); + } + if (wordtype[wordnumber] == OBJECT && position > 88 && (testbit(inven, value) || testbit(location[position].objects, value))) { + puts("Buried."); + if (testbit(inven, value)) { + clearbit(inven, value); + carrying -= objwt[value]; + encumber -= objcumber[value]; + } + clearbit(location[position].objects, value); + switch (value) { + case MAID: + case DEADWOOD: + case DEADNATIVE: + case DEADTIME: + case DEADGOD: + ego += 2; + printf("The %s should rest easier now.\n", objsht[value]); + } + } else + puts("It doesn't seem to work."); + } else + puts("You aren't holding a shovel."); +} + +void +drink() +{ + int n; + + if (testbit(inven, POTION)) { + puts("The cool liquid runs down your throat but turns to fire and you choke."); + puts("The heat reaches your limbs and tingles your spirit. You feel like falling"); + puts("asleep."); + clearbit(inven, POTION); + WEIGHT = MAXWEIGHT; + CUMBER = MAXCUMBER; + for (n = 0; n < NUMOFINJURIES; n++) + injuries[n] = 0; + ourtime++; + zzz(); + } else + puts("I'm not thirsty."); +} + +int +shoot() +{ + int firstnumber, value; + + firstnumber = wordnumber; + if (!testbit(inven, LASER)) + puts("You aren't holding a blaster."); + else { + wordnumber++; + while (wordnumber <= wordcount && wordtype[wordnumber] == OBJECT) { + value = wordvalue[wordnumber]; + printf("%s:\n", objsht[value]); + if (testbit(location[position].objects, value)) { + clearbit(location[position].objects, value); + ourtime++; + printf("The %s explode%s\n", objsht[value], + (is_plural_object(value) ? "." : "s.")); + if (value == BOMB) + die(); + } else + printf("I don't see any %s around here.\n", objsht[value]); + if (wordnumber < wordcount - 1 && wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (firstnumber); + } + /* special cases with their own return()'s */ + + if (wordnumber <= wordcount && wordtype[wordnumber] == NOUNS) { + ourtime++; + switch (wordvalue[wordnumber]) { + + case DOOR: + switch (position) { + case 189: + case 231: + puts("The door is unhinged."); + location[189].north = 231; + location[231].south = 189; + whichway(location[position]); + break; + case 30: + puts("The wooden door splinters."); + location[30].west = 25; + whichway(location[position]); + break; + case 31: + puts("The laser blast has no effect on the door."); + break; + case 20: + puts("The blast hits the door and it explodes into flame. The magnesium burns"); + puts("so rapidly that we have no chance to escape."); + die(); + default: + puts("Nothing happens."); + } + break; + + case NORMGOD: + if (testbit(location[position].objects, BATHGOD)) { + puts("The goddess is hit in the chest and splashes back against the rocks."); + puts("Dark blood oozes from the charred blast hole. Her naked body floats in the"); + puts("pools and then off downstream."); + clearbit(location[position].objects, BATHGOD); + setbit(location[180].objects, DEADGOD); + power += 5; + ego -= 10; + notes[JINXED]++; + } else + if (testbit(location[position].objects, NORMGOD)) { + puts("The blast catches the goddess in the stomach, knocking her to the ground."); + puts("She writhes in the dirt as the agony of death taunts her."); + puts("She has stopped moving."); + clearbit(location[position].objects, NORMGOD); + setbit(location[position].objects, DEADGOD); + power += 5; + ego -= 10; + notes[JINXED]++; + if (wintime) + live(); + break; + } else + puts("I don't see any goddess around here."); + break; + + case TIMER: + if (testbit(location[position].objects, TIMER)) { + puts("The old man slumps over the bar."); + power++; + ego -= 2; + notes[JINXED]++; + clearbit(location[position].objects, TIMER); + setbit(location[position].objects, DEADTIME); + } else + puts("What old-timer?"); + break; + case MAN: + if (testbit(location[position].objects, MAN)) { + puts("The man falls to the ground with blood pouring all over his white suit."); + puts("Your fantasy is over."); + die(); + } else + puts("What man?"); + break; + case NATIVE: + if (testbit(location[position].objects, NATIVE)) { + puts("The girl is blown backwards several feet and lies in a pool of blood."); + clearbit(location[position].objects, NATIVE); + setbit(location[position].objects, DEADNATIVE); + power += 5; + ego -= 2; + notes[JINXED]++; + } else + puts("There is no girl here."); + break; + case -1: + puts("Shoot what?"); + break; + + default: + printf("You can't shoot the %s.\n", objsht[wordvalue[wordnumber]]); + } + } else + puts("You must be a looney."); + } + return (firstnumber); +} diff --git a/battlestar/command4.c b/battlestar/command4.c new file mode 100644 index 0000000..b791114 --- /dev/null +++ b/battlestar/command4.c @@ -0,0 +1,417 @@ +/* $NetBSD: command4.c,v 1.2 2003/08/07 09:37:00 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com4.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command4.c,v 1.2 2003/08/07 09:37:00 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +take(from) + unsigned int from[]; +{ + int firstnumber, heavy, bulky, value; + + firstnumber = wordnumber; + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == OFF) { + wordnumber++; + wordvalue[wordnumber] = TAKEOFF; + wordtype[wordnumber] = VERB; + return (cypher()); + } else { + wordnumber++; + while (wordnumber <= wordcount && wordtype[wordnumber] == OBJECT) { + value = wordvalue[wordnumber]; + printf("%s:\n", objsht[value]); + heavy = (carrying + objwt[value]) <= WEIGHT; + bulky = (encumber + objcumber[value]) <= CUMBER; + if ((testbit(from, value) || wiz || tempwiz) && heavy && bulky && !testbit(inven, value)) { + setbit(inven, value); + carrying += objwt[value]; + encumber += objcumber[value]; + ourtime++; + if (testbit(from, value)) + printf("Taken.\n"); + else + printf("Zap! Taken from thin air.\n"); + clearbit(from, value); + if (value == MEDALION) + win--; + } else if (testbit(inven, value)) + printf("You're already holding %s%s.\n", + A_OR_AN_OR_BLANK(value), + objsht[value]); + else if (!testbit(from, value)) + printf("I don't see any %s around here.\n", objsht[value]); + else if (!heavy) + printf("The %s %stoo heavy.\n", objsht[value], + IS_OR_ARE(value)); + else + printf("The %s %stoo cumbersome to hold.\n", + objsht[value], IS_OR_ARE(value)); + if (wordnumber < wordcount - 1 && wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (firstnumber); + } + } + /* special cases with their own return()'s */ + + if (wordnumber <= wordcount && wordtype[wordnumber] == NOUNS) + switch (wordvalue[wordnumber]) { + + case SWORD: + if (testbit(from, SWORD)) { + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } + if (testbit(from, TWO_HANDED)) { + wordvalue[wordnumber] = TWO_HANDED; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } + wordvalue[wordnumber] = BROAD; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + + case BODY: + if (testbit(from, MAID)) { + wordvalue[wordnumber] = MAID; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } else if (testbit(from, DEADWOOD)) { + wordvalue[wordnumber] = DEADWOOD; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } else if (testbit(from, DEADNATIVE)) { + wordvalue[wordnumber] = DEADNATIVE; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } else { + if (testbit(from, DEADGOD)) { + wordvalue[wordnumber] = DEADGOD; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } else { + wordvalue[wordnumber] = DEADTIME; + wordtype[wordnumber--] = OBJECT; + return (take(from)); + } + } + break; + + case AMULET: + if (testbit(location[position].objects, AMULET)) { + puts("The amulet is warm to the touch, and its beauty catches your breath."); + puts("A mist falls over your eyes, but then it is gone. Sounds seem clearer"); + puts("and sharper but far away as if in a dream. The sound of purling water"); + puts("reaches you from afar. The mist falls again, and your heart leaps in horror."); + puts("The gold freezes your hands and fathomless darkness engulfs your soul."); + } + wordtype[wordnumber--] = OBJECT; + return (take(from)); + + case MEDALION: + if (testbit(location[position].objects, MEDALION)) { + puts("The medallion is warm, and it rekindles your spirit with the warmth of life."); + puts("Your amulet begins to glow as the medallion is brought near to it, and together\nthey radiate."); + } + wordtype[wordnumber--] = OBJECT; + return (take(from)); + + case TALISMAN: + if (testbit(location[position].objects, TALISMAN)) { + puts("The talisman is cold to the touch, and it sends a chill down your spine."); + } + wordtype[wordnumber--] = OBJECT; + return (take(from)); + + case NORMGOD: + if (testbit(location[position].objects, BATHGOD) && (testbit(wear, AMULET) || testbit(inven, AMULET))) { + puts("She offers a delicate hand, and you help her out of the sparkling springs."); + puts("Water droplets like liquid silver bedew her golden skin, but when they part"); + puts("from her, they fall as teardrops. She wraps a single cloth around her and"); + puts("ties it at the waist. Around her neck hangs a golden amulet."); + puts("She bids you to follow her, and walks away."); + pleasure++; + followgod = ourtime; + clearbit(location[position].objects, BATHGOD); + } else + if (!testbit(location[position].objects, BATHGOD)) + puts("You're in no position to take her."); + else + puts("She moves away from you."); + break; + + default: + puts("It doesn't seem to work."); + } + else + puts("You've got to be kidding."); + return (firstnumber); +} + +int +throw(name) + const char *name; +{ + unsigned int n; + int deposit = 0; + int first, value; + + first = wordnumber; + if (drop(name) != -1) { + switch (wordvalue[wordnumber]) { + + case AHEAD: + deposit = ahead; + break; + + case BACK: + deposit = back; + break; + + case LEFT: + deposit = left; + break; + + case RIGHT: + deposit = right; + break; + + case UP: + deposit = location[position].up * (location[position].access || position == FINAL); + break; + + case DOWN: + deposit = location[position].down; + break; + } + wordnumber = first + 1; + while (wordnumber <= wordcount) { + value = wordvalue[wordnumber]; + if (deposit && testbit(location[position].objects, value)) { + clearbit(location[position].objects, value); + if (value != GRENADE) + setbit(location[deposit].objects, value); + else { + puts("A thundering explosion nearby sends up a cloud of smoke and shrapnel."); + for (n = 0; n < NUMOFWORDS; n++) + location[deposit].objects[n] = 0; + setbit(location[deposit].objects, CHAR); + } + if (value == ROPE && position == FINAL) + location[position].access = 1; + switch (deposit) { + case 189: + case 231: + puts("The stone door is unhinged."); + location[189].north = 231; + location[231].south = 189; + break; + case 30: + puts("The wooden door is blown open."); + location[30].west = 25; + break; + case 31: + puts("The door is not damaged."); + } + } else + if (value == GRENADE && testbit(location[position].objects, value)) { + puts("You are blown into shreds when your grenade explodes."); + die(); + } + if (wordnumber < wordcount - 1 && wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (first); + } + return (first); + } + return (first); +} + +int +drop(name) + const char *name; +{ + + int firstnumber, value; + + firstnumber = wordnumber; + wordnumber++; + while (wordnumber <= wordcount && (wordtype[wordnumber] == OBJECT || wordtype[wordnumber] == NOUNS)) { + value = wordvalue[wordnumber]; + if (value == BODY) { /* special case */ + wordtype[wordnumber] = OBJECT; + if (testbit(inven, MAID) || testbit(location[position].objects, MAID)) + value = MAID; + else if (testbit(inven, DEADWOOD) || testbit(location[position].objects, DEADWOOD)) + value = DEADWOOD; + else if (testbit(inven, DEADGOD) || testbit(location[position].objects, DEADGOD)) + value = DEADGOD; + else if (testbit(inven, DEADTIME) || testbit(location[position].objects, DEADTIME)) + value = DEADTIME; + else if (testbit(inven, DEADNATIVE) || testbit(location[position].objects, DEADNATIVE)) + value = DEADNATIVE; + } + if (wordtype[wordnumber] == NOUNS && value == DOOR) { + if (*name == 'K') + puts("You hurt your foot."); + else + puts("You're not holding a door."); + } else if (objsht[value] == NULL) { + if (*name == 'K') + puts("That's not for kicking!"); + else + puts("You don't have that."); + } else { + printf("%s:\n", objsht[value]); + if (testbit(inven, value)) { + clearbit(inven, value); + carrying -= objwt[value]; + encumber -= objcumber[value]; + if (value == BOMB) { + puts("The bomb explodes. A blinding white light and immense concussion obliterate us."); + die(); + } + if (value != AMULET && value != MEDALION && value != TALISMAN) + setbit(location[position].objects, value); + else + tempwiz = 0; + ourtime++; + if (*name == 'K') + puts("Drop kicked."); + else + printf("%s.\n", name); + } else { + if (*name != 'K') { + printf("You aren't holding the %s.\n", objsht[value]); + if (testbit(location[position].objects, value)) { + if (*name == 'T') + puts("Kicked instead."); + else if (*name == 'G') + puts("Given anyway."); + } + } else if (testbit(location[position].objects, value)) + puts("Kicked."); + else if (testbit(wear, value)) + puts("Not while it's being worn."); + else + puts("Not found."); + } + } + if (wordnumber < wordcount - 1 && wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (firstnumber); + } + puts("Do what?"); + return (-1); +} + +int +takeoff() +{ + wordnumber = take(wear); + return (drop("Dropped")); +} + +int +puton() +{ + wordnumber = take(location[position].objects); + return (wearit()); +} + +int +eat() +{ + int firstnumber, value; + + firstnumber = wordnumber; + wordnumber++; + while (wordnumber <= wordcount) { + value = wordvalue[wordnumber]; + if (wordtype[wordnumber] != OBJECT || objsht[value] == NULL) + value = -2; + switch (value) { + + case -2: + puts("You can't eat that!"); + return (firstnumber); + + case -1: + puts("Eat what?"); + return (firstnumber); + + default: + printf("You can't eat %s%s!\n", + A_OR_AN_OR_BLANK(value), objsht[value]); + return (firstnumber); + + case PAPAYAS: + case PINEAPPLE: + case KIWI: + case COCONUTS: /* eatable things */ + case MANGO: + + printf("%s:\n", objsht[value]); + if (testbit(inven, value) && + ourtime > ate - CYCLE && + testbit(inven, KNIFE)) { + clearbit(inven, value); + carrying -= objwt[value]; + encumber -= objcumber[value]; + ate = max(ourtime, ate) + CYCLE / 3; + snooze += CYCLE / 10; + ourtime++; + puts("Eaten. You can explore a little longer now."); + } else if (!testbit(inven, value)) + printf("You aren't holding the %s.\n", objsht[value]); + else if (!testbit(inven, KNIFE)) + puts("You need a knife."); + else + puts("You're stuffed."); + if (wordnumber < wordcount - 1 && wordvalue[++wordnumber] == AND) + wordnumber++; + else + return (firstnumber); + } /* end switch */ + } /* end while */ + return (firstnumber); +} diff --git a/battlestar/command5.c b/battlestar/command5.c new file mode 100644 index 0000000..17d3c10 --- /dev/null +++ b/battlestar/command5.c @@ -0,0 +1,376 @@ +/* $NetBSD: command5.c,v 1.2 2003/08/07 09:37:00 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com5.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command5.c,v 1.2 2003/08/07 09:37:00 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +void +kiss() +{ + while (wordtype[++wordnumber] != NOUNS && wordnumber <= wordcount) + continue; + /* The goddess must be "taken" first if bathing. */ + if (wordtype[wordnumber] == NOUNS && wordvalue[wordnumber] == NORMGOD + && testbit(location[position].objects, BATHGOD)) { + wordvalue[--wordnumber] = TAKE; + cypher(); + return; + } + if (wordtype[wordnumber] == NOUNS) { + if (testbit(location[position].objects, wordvalue[wordnumber])) { + pleasure++; + printf("Kissed.\n"); + switch (wordvalue[wordnumber]) { + case NORMGOD: + switch (godready++) { + case 0: + puts("She squirms and avoids your advances."); + break; + case 1: + puts("She is coming around; she didn't fight it as much."); + break; + case 2: + puts("She's beginning to like it."); + break; + default: + puts("She's gone limp."); + + } + break; + case NATIVE: + puts("Her lips are warm and her body robust. She pulls you down to the ground."); + break; + case TIMER: + puts("The old man blushes."); + break; + case MAN: + puts("The dwarf punches you in the kneecap."); + break; + default: + pleasure--; + } + } else + puts("I see nothing like that here."); + } else + puts("I'd prefer not to."); +} + +void +love() +{ + int n; + + while (wordtype[++wordnumber] != NOUNS && wordnumber <= wordcount) + continue; + if (wordtype[wordnumber] == NOUNS) { + if ((testbit(location[position].objects, BATHGOD) || + testbit(location[position].objects, NORMGOD)) && + wordvalue[wordnumber] == NORMGOD) { + if (loved) { + printf("Loved.\n"); + return; + } + if (godready >= 2) { + puts("She cuddles up to you, and her mouth starts to work:\n'That was my sister's amulet. The lovely goddess, Purl, was she. The Empire\ncaptured her just after the Darkness came. My other sister, Vert, was killed\nby the Dark Lord himself. He took her amulet and warped its power.\nYour quest was foretold by my father before he died, but to get the Dark Lord's\namulet you must use cunning and skill. I will leave you my amulet,"); + puts("which you may use as you wish. As for me, I am the last goddess of the\nwaters. My father was the Island King, and the rule is rightfully mine.'\n\nShe pulls the throne out into a large bed."); + power++; + pleasure += 15; + ego++; + if (card(injuries, NUMOFINJURIES)) { + puts("Her kisses revive you; your wounds are healed.\n"); + for (n = 0; n < NUMOFINJURIES; n++) + injuries[n] = 0; + WEIGHT = MAXWEIGHT; + CUMBER = MAXCUMBER; + } + printf("Goddess:\n"); + if (!loved) + setbit(location[position].objects, MEDALION); + loved = 1; + ourtime += 10; + printf("Loved.\n"); + zzz(); + return; + } else { + puts("You wish!"); + return; + } + } + if (testbit(location[position].objects, wordvalue[wordnumber])) { + if (wordvalue[wordnumber] == NATIVE) { + puts("The girl is easy prey. She peels off her sarong and indulges you."); + power++; + pleasure += 5; + printf("Girl:\n"); + ourtime += 10; + printf("Loved.\n"); + zzz(); + } + if (wordvalue[wordnumber] == MAN || + wordvalue[wordnumber] == BODY || + wordvalue[wordnumber] == ELF || + wordvalue[wordnumber] == TIMER) + puts("Kinky!"); + else + puts("It doesn't seem to work."); + } else + puts("Where's your lover?"); + } else + puts("It doesn't seem to work."); +} + +int +zzz() +{ + int oldtime; + int n; + + oldtime = ourtime; + if ((snooze - ourtime) < (0.75 * CYCLE)) { + ourtime += 0.75 * CYCLE - (snooze - ourtime); + printf(""); + for (n = 0; n < ourtime - oldtime; n++) + printf("."); + printf("\n"); + snooze += 3 * (ourtime - oldtime); + if (notes[LAUNCHED]) { + fuel -= (ourtime - oldtime); + if (location[position].down) { + position = location[position].down; + crash(); + } else + notes[LAUNCHED] = 0; + } + if (OUTSIDE && rnd(100) < 50) { + puts("You are awakened abruptly by the sound of someone nearby."); + switch (rnd(4)) { + case 0: + if (ucard(inven)) { + n = rnd(NUMOFOBJECTS); + while (!testbit(inven, n)) + n = rnd(NUMOFOBJECTS); + clearbit(inven, n); + if (n != AMULET && n != MEDALION && n != TALISMAN) + setbit(location[position].objects, n); + carrying -= objwt[n]; + encumber -= objcumber[n]; + } + puts("A fiendish little Elf is stealing your treasures!"); + fight(ELF, 10); + break; + case 1: + setbit(location[position].objects, DEADWOOD); + break; + case 2: + setbit(location[position].objects, HALBERD); + break; + default: + break; + } + } + } else + return (0); + return (1); +} + +void +chime() +{ + if ((ourtime / CYCLE + 1) % 2 && OUTSIDE) + switch ((ourtime % CYCLE) / (CYCLE / 7)) { + case 0: + puts("It is just after sunrise."); + break; + case 1: + puts("It is early morning."); + break; + case 2: + puts("It is late morning."); + break; + case 3: + puts("It is near noon."); + break; + case 4: + puts("It is early afternoon."); + break; + case 5: + puts("It is late afternoon."); + break; + case 6: + puts("It is near sunset."); + break; + } + else if (OUTSIDE) + switch ((ourtime % CYCLE) / (CYCLE / 7)) { + case 0: + puts("It is just after sunset."); + break; + case 1: + puts("It is early evening."); + break; + case 2: + puts("The evening is getting old."); + break; + case 3: + puts("It is near midnight."); + break; + case 4: + puts("These are the wee hours of the morning."); + break; + case 5: + puts("The night is waning."); + break; + case 6: + puts("It is almost morning."); + break; + } + else + puts("I can't tell the time in here."); +} + +int +give() +{ + int obj = -1, result = -1, person = 0, firstnumber, last1, last2; + + last1 = last2 = 0; + firstnumber = wordnumber; + while (wordtype[++wordnumber] != OBJECT && wordvalue[wordnumber] != AMULET && wordvalue[wordnumber] != MEDALION && wordvalue[wordnumber] != TALISMAN && wordnumber <= wordcount) + continue; + if (wordnumber <= wordcount) { + obj = wordvalue[wordnumber]; + if (obj == EVERYTHING) + wordtype[wordnumber] = -1; + last1 = wordnumber; + } + wordnumber = firstnumber; + while ((wordtype[++wordnumber] != NOUNS || wordvalue[wordnumber] == obj) && wordnumber <= wordcount); + if (wordtype[wordnumber] == NOUNS) { + person = wordvalue[wordnumber]; + last2 = wordnumber; + } + /* Setting wordnumber to last1 - 1 looks wrong if last1 is 0, e.g., + * plain `give'. However, detecting this case is liable to detect + * `give foo' as well, which would give a confusing error. We + * need to make sure the -1 value can cause no problems if it arises. + * If in the below we get to the drop("Given") then drop will look + * at word 0 for an object to give, and fail, which is OK; then + * result will be -1 and we get to the end, where wordnumber gets + * set to something more sensible. If we get to "I don't think + * that is possible" then again wordnumber is set to something + * sensible. The wordnumber we leave with still isn't right if + * you include words the game doesn't know in your command, but + * that's no worse than what other commands than give do in + * the same place. */ + wordnumber = last1 - 1; + if (person && testbit(location[position].objects, person)) { + if (person == NORMGOD && godready < 2 && !(obj == RING || obj == BRACELET)) + puts("The goddess won't look at you."); + else + result = drop("Given"); + } else { + puts("I don't think that is possible."); + wordnumber = max(last1, last2) + 1; + return (0); + } + if (result != -1 && (testbit(location[position].objects, obj) || obj == AMULET || obj == MEDALION || obj == TALISMAN)) { + clearbit(location[position].objects, obj); + ourtime++; + ego++; + switch (person) { + case NATIVE: + puts("She accepts it shyly."); + ego += 2; + break; + case NORMGOD: + if (obj == RING || obj == BRACELET) { + puts("She takes the charm and puts it on. A little kiss on the cheek is"); + puts("your reward."); + ego += 5; + godready += 3; + } + if (obj == AMULET || obj == MEDALION || obj == TALISMAN) { + win++; + ego += 5; + power -= 5; + if (win >= 3) { + puts("The powers of the earth are now legitimate. You have destroyed the Darkness"); + puts("and restored the goddess to her throne. The entire island celebrates with"); + puts("dancing and spring feasts. As a measure of her gratitude, the goddess weds you"); + puts("in the late summer and crowns you Prince Liverwort, Lord of Fungus."); + puts("\nBut, as the year wears on and autumn comes along, you become restless and"); + puts("yearn for adventure. The goddess, too, realizes that the marriage can't last."); + puts("She becomes bored and takes several more natives as husbands. One evening,"); + puts("after having been out drinking with the girls, she kicks the throne particularly"); + puts("hard and wakes you up. (If you want to win this game, you're going to have to\nshoot her!)"); + clearbit(location[position].objects, MEDALION); + wintime = ourtime; + } + } + break; + case TIMER: + if (obj == COINS) { + puts("He fingers the coins for a moment and then looks up agape. `Kind you are and"); + puts("I mean to repay you as best I can.' Grabbing a pencil and cocktail napkin...\n"); + printf("+-----------------------------------------------------------------------------+\n"); + printf("| xxxxxxxx\\ |\n"); + printf("| xxxxx\\ CLIFFS |\n"); + printf("| FOREST xxx\\ |\n"); + printf("| \\\\ x\\ OCEAN |\n"); + printf("| || x\\ |\n"); + printf("| || ROAD x\\ |\n"); + printf("| || x\\ |\n"); + printf("| SECRET || ......... |\n"); + printf("| - + - || ........ |\n"); + printf("| ENTRANCE || ... BEACH |\n"); + printf("| || ... E |\n"); + printf("| || ... | |\n"); + printf("| // ... N <-- + --- S |\n"); + printf("| PALM GROVE // ... | |\n"); + printf("| // ... W |\n"); + printf("+-----------------------------------------------------------------------------+\n"); + puts("\n`This map shows a secret entrance to the catacombs."); + puts("You will know when you arrive because I left an old pair of shoes there.'"); + } + break; + } + } + wordnumber = max(last1, last2) + 1; + return (firstnumber); +} diff --git a/battlestar/command6.c b/battlestar/command6.c new file mode 100644 index 0000000..3986336 --- /dev/null +++ b/battlestar/command6.c @@ -0,0 +1,270 @@ +/* $NetBSD: command6.c,v 1.2 2003/08/07 09:37:01 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com6.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command6.c,v 1.2 2003/08/07 09:37:01 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" +#include "pathnames.h" + +int +launch() +{ + if (testbit(location[position].objects, VIPER) && !notes[CANTLAUNCH]) { + if (fuel > 4) { + clearbit(location[position].objects, VIPER); + position = location[position].up; + notes[LAUNCHED] = 1; + ourtime++; + fuel -= 4; + puts("You climb into the viper and prepare for launch."); + puts("With a touch of your thumb the turbo engines ignite, thrusting you back into\nyour seat."); + return (1); + } else + puts("Not enough fuel to launch."); + } else + puts("Can't launch."); + return (0); +} + +int +land() +{ + if (notes[LAUNCHED] && testbit(location[position].objects, LAND) && + location[position].down) { + notes[LAUNCHED] = 0; + position = location[position].down; + setbit(location[position].objects, VIPER); + fuel -= 2; + ourtime++; + puts("You are down."); + return (1); + } else + puts("You can't land here."); + return (0); +} + +void +die() +{ /* endgame */ + printf("bye.\nYour rating was %s.\n", rate()); + post(' '); + exit(0); +} + +void +diesig(dummy) + int dummy __attribute__((__unused__)); +{ + die(); +} + +void +live() +{ + puts("\nYou win!"); + post('!'); + exit(0); +} + +static FILE *score_fp; + +void +open_score_file() +{ + score_fp = fopen(_PATH_SCORE, "a"); + if (score_fp == NULL && getenv("BATTLESTAR_QUIET") == NULL) + warn("open %s for append", _PATH_SCORE); + if (score_fp != NULL && fileno(score_fp) < 3) + exit(1); +} + +void +post(ch) + char ch; +{ + time_t tv; + char *date; + sigset_t sigset, osigset; + + sigemptyset(&sigset); + sigaddset(&sigset, SIGINT); + sigprocmask(SIG_BLOCK, &sigset, &osigset); + tv = time(NULL); + date = ctime(&tv); + date[24] = '\0'; + if (score_fp != NULL) { + fprintf(score_fp, "%s %8s %c%20s", date, username, ch, rate()); + if (wiz) + fprintf(score_fp, " wizard\n"); + else + if (tempwiz) + fprintf(score_fp, " WIZARD!\n"); + else + fprintf(score_fp, "\n"); + } + sigprocmask(SIG_SETMASK, &osigset, (sigset_t *) 0); +} + +const char * +rate() +{ + int score; + + score = max(max(pleasure, power), ego); + if (score == pleasure) { + if (score < 5) + return ("novice"); + else if (score < 20) + return ("junior voyeur"); + else if (score < 35) + return ("Don Juan"); + else + return ("Marquis De Sade"); + } else if (score == power) { + if (score < 5) + return ("serf"); + else if (score < 8) + return ("Samurai"); + else if (score < 13) + return ("Klingon"); + else if (score < 22) + return ("Darth Vader"); + else + return ("Sauron the Great"); + } else { + if (score < 5) + return ("Polyanna"); + else if (score < 10) + return ("philanthropist"); + else if (score < 20) + return ("Tattoo"); + else + return ("Mr. Roarke"); + } +} + +int +drive() +{ + if (testbit(location[position].objects, CAR)) { + puts("You hop in the car and turn the key. There is a perceptible grating noise,"); + puts("and an explosion knocks you unconscious..."); + clearbit(location[position].objects, CAR); + setbit(location[position].objects, CRASH); + injuries[5] = injuries[6] = injuries[7] = injuries[8] = 1; + ourtime += 15; + zzz(); + return (0); + } else + puts("There is nothing to drive here."); + return (-1); +} + +int +ride() +{ + if (testbit(location[position].objects, HORSE)) { + puts("You climb onto the stallion and kick it in the guts. The stupid steed launches"); + puts("forward through bush and fern. You are thrown and the horse gallops off."); + clearbit(location[position].objects, HORSE); + while (!(position = rnd(NUMOFROOMS + 1)) || !OUTSIDE || !beenthere[position] || location[position].flyhere) + continue; + setbit(location[position].objects, HORSE); + if (location[position].north) + position = location[position].north; + else if (location[position].south) + position = location[position].south; + else if (location[position].east) + position = location[position].east; + else + position = location[position].west; + return (0); + } else + puts("There is no horse here."); + return (-1); +} + +void +light() +{ /* synonyms = {strike, smoke} *//* for + * matches, cigars */ + if (testbit(inven, MATCHES) && matchcount) { + puts("Your match splutters to life."); + ourtime++; + matchlight = 1; + matchcount--; + if (position == 217) { + puts("The whole bungalow explodes with an intense blast."); + die(); + } + } else + puts("You're out of matches."); +} + +void +dooropen() +{ /* synonyms = {open, unlock} */ + wordnumber++; + if (wordnumber <= wordcount && wordtype[wordnumber] == NOUNS + && wordvalue[wordnumber] == DOOR) { + switch(position) { + case 189: + case 231: + if (location[189].north == 231) + puts("The door is already open."); + else + puts("The door does not budge."); + break; + case 30: + if (location[30].west == 25) + puts("The door is gone."); + else + puts("The door is locked tight."); + break; + case 31: + puts("That's one immovable door."); + break; + case 20: + puts("The door is already ajar."); + break; + default: + puts("What door?"); + } + } else + puts("That doesn't open."); +} diff --git a/battlestar/command7.c b/battlestar/command7.c new file mode 100644 index 0000000..d483245 --- /dev/null +++ b/battlestar/command7.c @@ -0,0 +1,263 @@ +/* $NetBSD: command7.c,v 1.2 2003/08/07 09:37:01 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)com7.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: command7.c,v 1.2 2003/08/07 09:37:01 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +fight(enemy, strength) + int enemy, strength; +{ + int lifeline = 0; + int hurt; + char auxbuf[LINELENGTH]; + char *next; + int i; + int exhaustion; + + exhaustion = 0; +fighton: + ourtime++; + snooze -= 5; + if (snooze > ourtime) + exhaustion = CYCLE / (snooze - ourtime); + else { + puts("You collapse exhausted, and he pulverizes your skull."); + die(); + } + if (snooze - ourtime < 20) + puts("You look tired! I hope you're able to fight."); + next = getcom(auxbuf, LINELENGTH, "-: ", 0); + for (i = 0; next && i < 10; i++) + next = getword(next, words[i], -1); + parse(); + switch (wordvalue[wordnumber]) { + + case KILL: + case SMITE: + if (testbit(inven, TWO_HANDED)) + hurt = rnd(70) - 2 * card(injuries, NUMOFINJURIES) - ucard(wear) - exhaustion; + else if (testbit(inven, SWORD) || testbit(inven, BROAD)) + hurt = rnd(50) % (WEIGHT - carrying) - card(injuries, NUMOFINJURIES) - encumber - exhaustion; + else if (testbit(inven, KNIFE) || testbit(inven, MALLET) || testbit(inven, CHAIN) || testbit(inven, MACE) || testbit(inven, HALBERD)) + hurt = rnd(15) - card(injuries, NUMOFINJURIES) - exhaustion; + else + hurt = rnd(7) - encumber; + if (hurt < 5) + switch (rnd(3)) { + + case 0: + puts("You swung wide and missed."); + break; + case 1: + puts("He checked your blow. CLASH! CLANG!"); + break; + case 2: + puts("His filthy tunic hangs by one less thread."); + break; + } + else if (hurt < 10) { + switch (rnd(3)) { + case 0: + puts("He's bleeding."); + break; + case 1: + puts("A trickle of blood runs down his face."); + break; + case 2: + puts("A huge purple bruise is forming on the side of his face."); + break; + } + lifeline++; + } else if (hurt < 20) { + switch (rnd(3)) { + case 0: + puts("He staggers back quavering."); + break; + case 1: + puts("He jumps back with his hand over the wound."); + break; + case 2: + puts("His shirt falls open with a swath across the chest."); + break; + } + lifeline += 5; + } else if (hurt < 30) { + switch (rnd(3)) { + case 0: + printf("A bloody gash opens up on his %s side.\n", (rnd(2) ? "left" : "right")); + break; + case 1: + puts("The steel bites home and scrapes along his ribs."); + break; + case 2: + puts("You pierce him, and his breath hisses through clenched teeth."); + break; + } + lifeline += 10; + } else if (hurt < 40) { + switch (rnd(3)) { + case 0: + puts("You smite him to the ground."); + if (strength - lifeline > 20) + puts("But in a flurry of steel he regains his feet!"); + break; + case 1: + puts("The force of your blow sends him to his knees."); + puts("His arm swings lifeless at his side."); + break; + case 2: + puts("Clutching his blood drenched shirt, he collapses stunned."); + break; + } + lifeline += 20; + } else { + switch (rnd(3)) { + case 0: + puts("His ribs crack under your powerful swing, flooding his lungs with blood."); + break; + case 1: + puts("You shatter his upheld arm in a spray of blood. The blade continues deep"); + puts("into his back, severing the spinal cord."); + lifeline += 25; + break; + case 2: + puts("With a mighty lunge the steel slides in, and gasping, he falls to the ground."); + lifeline += 25; + break; + } + lifeline += 30; + } + break; + + case BACK: + if (enemy == DARK && lifeline > strength * 0.33) { + puts("He throws you back against the rock and pummels your face."); + if (testbit(inven, AMULET) || testbit(wear, AMULET)) { + printf("Lifting the amulet from you, "); + if (testbit(inven, MEDALION) || testbit(wear, MEDALION)) { + puts("his power grows and the walls of\nthe earth tremble."); + puts("When he touches the medallion, your chest explodes and the foundations of the\nearth collapse."); + puts("The planet is consumed by darkness."); + die(); + } + if (testbit(inven, AMULET)) { + clearbit(inven, AMULET); + carrying -= objwt[AMULET]; + encumber -= objcumber[AMULET]; + } else + clearbit(wear, AMULET); + puts("he flees down the dark caverns."); + clearbit(location[position].objects, DARK); + injuries[SKULL] = 1; + followfight = ourtime; + return (0); + } else { + puts("I'm afraid you have been killed."); + die(); + } + } else { + puts("You escape stunned and disoriented from the fight."); + puts("A victorious bellow echoes from the battlescene."); + if (back && position != back) + moveplayer(back, BACK); + else if (ahead && position != ahead) + moveplayer(ahead, AHEAD); + else if (left && position != left) + moveplayer(left, LEFT); + else if (right && position != right) + moveplayer(right, RIGHT); + else + moveplayer(location[position].down, AHEAD); + return (0); + } + + case SHOOT: + if (testbit(inven, LASER)) { + if (strength - lifeline <= 50) { + printf("The %s took a direct hit!\n", objsht[enemy]); + lifeline += 50; + } else { + puts("With his bare hand he deflects the laser blast and whips the pistol from you!"); + clearbit(inven, LASER); + setbit(location[position].objects, LASER); + carrying -= objwt[LASER]; + encumber -= objcumber[LASER]; + } + } else + puts("Unfortunately, you don't have a blaster handy."); + break; + + case DROP: + case DRAW: + cypher(); + ourtime--; + break; + + default: + puts("You don't have a chance; he is too quick."); + break; + + } + if (lifeline >= strength) { + printf("You have killed the %s.\n", objsht[enemy]); + if (enemy == ELF || enemy == DARK) + puts("A watery black smoke consumes his body and then vanishes with a peal of thunder!"); + clearbit(location[position].objects, enemy); + power += 2; + notes[JINXED]++; + return (0); + } + puts("He attacks..."); + /* Some embellishments. */ + hurt = rnd(NUMOFINJURIES) - (testbit(inven, SHIELD) != 0) - (testbit(wear, MAIL) != 0) - (testbit(wear, HELM) != 0); + hurt += (testbit(wear, AMULET) != 0) + (testbit(wear, MEDALION) != 0) + (testbit(wear, TALISMAN) != 0); + hurt = hurt < 0 ? 0 : hurt; + hurt = hurt >= NUMOFINJURIES ? NUMOFINJURIES - 1 : hurt; + if (!injuries[hurt]) { + injuries[hurt] = 1; + printf("I'm afraid you have suffered %s.\n", ouch[hurt]); + } else + puts("You emerge unscathed."); + if (injuries[SKULL] && injuries[INCISE] && injuries[NECK]) { + puts("I'm afraid you have suffered fatal injuries."); + die(); + } + goto fighton; +} diff --git a/battlestar/cypher.c b/battlestar/cypher.c new file mode 100644 index 0000000..5131dca --- /dev/null +++ b/battlestar/cypher.c @@ -0,0 +1,560 @@ +/* $NetBSD: cypher.c,v 1.22 2003/08/07 09:37:01 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)cypher.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: cypher.c,v 1.22 2003/08/07 09:37:01 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +cypher() +{ + int n; + int junk; + int lflag = -1; + char buffer[10]; + char *filename, *rfilename; + size_t filename_len; + + while (wordnumber <= wordcount) { + if (wordtype[wordnumber] != VERB && + !(wordtype[wordnumber] == OBJECT && wordvalue[wordnumber] == KNIFE)) { + printf("%s: How's that?\n", + (wordnumber == wordcount) ? words[0] : words[wordnumber]); + return (-1); + } + + switch (wordvalue[wordnumber]) { + + case AUXVERB: + /* + * Take the following word as the verb (e.g. + * "make love", "climb up"). + */ + wordnumber++; + continue; + + case UP: + if (location[position].access || wiz || tempwiz) { + if (!location[position].access) + puts("Zap! A gust of wind lifts you up."); + if (!moveplayer(location[position].up, AHEAD)) + return (-1); + } else { + puts("There is no way up."); + return (-1); + } + lflag = 0; + break; + + case DOWN: + if (!moveplayer(location[position].down, AHEAD)) + return (-1); + lflag = 0; + break; + + case LEFT: + if (!moveplayer(left, LEFT)) + return (-1); + lflag = 0; + break; + + case RIGHT: + if (!moveplayer(right, RIGHT)) + return (-1); + lflag = 0; + break; + + case AHEAD: + if (!moveplayer(ahead, AHEAD)) + return (-1); + lflag = 0; + break; + + case BACK: + if (!moveplayer(back, BACK)) + return (-1); + lflag = 0; + break; + + case SHOOT: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(location[position].objects, n) && objsht[n]) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = shoot(); + } + if (!things) + puts("Nothing to shoot at!"); + wordnumber++; + wordnumber++; + } else + shoot(); + break; + + case TAKE: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(location[position].objects, n) && objsht[n]) { + things++; + wordvalue[wordnumber + 1] = n; + /* Some objects (type NOUNS) + * have special treatment in + * take(). For these we + * must set the type to NOUNS. + * However for SWORD and BODY + * all it does is find which + * of many objects is meant, + * so we need do nothing here. + * BATHGOD must become + * NORMGOD as well. NOUNS + * with no special case + * must be included here to + * get the right error. DOOR + * cannot occur as an object + * so need not be included. */ + switch(n) { + case BATHGOD: + wordvalue[wordnumber + 1] = NORMGOD; + /* FALLTHROUGH */ + case NORMGOD: + case AMULET: + case MEDALION: + case TALISMAN: + case MAN: + case TIMER: + case NATIVE: + wordtype[wordnumber + 1] = NOUNS; + break; + default: + wordtype[wordnumber + 1] = OBJECT; + } + wordnumber = take(location[position].objects); + } + wordnumber++; + wordnumber++; + if (!things) + puts("Nothing to take!"); + } else + take(location[position].objects); + break; + + case DROP: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = drop("Dropped"); + } + wordnumber++; + wordnumber++; + if (!things) + puts("Nothing to drop!"); + } else + drop("Dropped"); + break; + + case KICK: + case THROW: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things, wv; + things = 0; + wv = wordvalue[wordnumber]; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n) || + (testbit(location[position].objects, n) && objsht[n])) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = throw(wordvalue[wordnumber] == KICK ? "Kicked" : "Thrown"); + } + wordnumber += 2; + if (!things) + printf("Nothing to %s!\n", wv == KICK ? "kick" : "throw"); + } else + throw(wordvalue[wordnumber] == KICK ? "Kicked" : "Thrown"); + break; + + case TAKEOFF: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(wear, n)) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = takeoff(); + } + wordnumber += 2; + if (!things) + puts("Nothing to take off!"); + } else + takeoff(); + break; + + case DRAW: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(wear, n)) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = draw(); + } + wordnumber += 2; + if (!things) + puts("Nothing to draw!"); + } else + draw(); + break; + + case PUTON: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(location[position].objects, n) && objsht[n]) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = puton(); + } + wordnumber += 2; + if (!things) + puts("Nothing to put on!"); + } else + puton(); + break; + + case WEARIT: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = wearit(); + } + wordnumber += 2; + if (!things) + puts("Nothing to wear!"); + } else + wearit(); + break; + + case EAT: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) { + things++; + wordvalue[wordnumber + 1] = n; + wordnumber = eat(); + } + wordnumber += 2; + if (!things) + puts("Nothing to eat!"); + } else + eat(); + break; + + case PUT: + put(); + break; + + case INVEN: + if (ucard(inven)) { + puts("You are holding:\n"); + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) + printf("\t%s\n", objsht[n]); + if (WEIGHT == 0) + printf("\n= %d kilogram%s (can't lift any weight%s)\n", + carrying, + (carrying == 1 ? "." : "s."), + (carrying ? " or move with what you have" : "")); + else + printf("\n= %d kilogram%s (%d%%)\n", + carrying, + (carrying == 1 ? "." : "s."), + carrying * 100 / WEIGHT); + if (CUMBER == 0) + printf("Your arms can't pick anything up.\n"); + else + printf("Your arms are %d%% full.\n", + encumber * 100 / CUMBER); + } else + puts("You aren't carrying anything."); + + if (ucard(wear)) { + puts("\nYou are wearing:\n"); + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(wear, n)) + printf("\t%s\n", objsht[n]); + } else + puts("\nYou are stark naked."); + if (card(injuries, NUMOFINJURIES)) { + puts("\nYou have suffered:\n"); + for (n = 0; n < NUMOFINJURIES; n++) + if (injuries[n]) + printf("\t%s\n", ouch[n]); + printf("\nYou can still carry up to %d kilogram%s\n", WEIGHT, (WEIGHT == 1 ? "." : "s.")); + } else + puts("\nYou are in perfect health."); + wordnumber++; + break; + + case USE: + lflag = use(); + break; + + case OPEN: + if (wordnumber < wordcount && wordvalue[wordnumber + 1] == EVERYTHING) { + int things; + things = 0; + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(inven, n)) { + things++; + wordvalue[wordnumber + 1] = n; + dooropen(); + } + wordnumber += 2; + if (!things) + puts("Nothing to open!"); + } else + dooropen(); + break; + + case LOOK: + if (!notes[CANTSEE] || testbit(inven, LAMPON) || + testbit(location[position].objects, LAMPON) + || matchlight) { + beenthere[position] = 2; + writedes(); + printobjs(); + if (matchlight) { + puts("\nYour match splutters out."); + matchlight = 0; + } + } else + puts("I can't see anything."); + return (-1); + break; + + case SU: + if (wiz || tempwiz) { + printf("\nRoom (was %d) = ", position); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &position); + printf("Time (was %d) = ", ourtime); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &ourtime); + printf("Fuel (was %d) = ", fuel); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &fuel); + printf("Torps (was %d) = ", torps); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &torps); + printf("CUMBER (was %d) = ", CUMBER); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &CUMBER); + printf("WEIGHT (was %d) = ", WEIGHT); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &WEIGHT); + printf("Clock (was %d) = ", ourclock); + fgets(buffer, 10, stdin); + if (*buffer != '\n') + sscanf(buffer, "%d", &ourclock); + printf("Wizard (was %d, %d) = ", wiz, tempwiz); + fgets(buffer, 10, stdin); + if (*buffer != '\n') { + sscanf(buffer, "%d", &junk); + if (!junk) + tempwiz = wiz = 0; + } + printf("\nDONE.\n"); + return (0); + } else + puts("You aren't a wizard."); + break; + + case SCORE: + printf("\tPLEASURE\tPOWER\t\tEGO\n"); + printf("\t%3d\t\t%3d\t\t%3d\n\n", pleasure, power, ego); + printf("This gives you the rating of %s in %d turns.\n", rate(), ourtime); + printf("You have visited %d out of %d rooms this run (%d%%).\n", card(beenthere, NUMOFROOMS), NUMOFROOMS, card(beenthere, NUMOFROOMS) * 100 / NUMOFROOMS); + break; + + case KNIFE: + case KILL: + murder(); + break; + + case UNDRESS: + case RAVAGE: + ravage(); + break; + + case SAVE: + printf("\nSave file name (default %s): ", + DEFAULT_SAVE_FILE); + filename = fgetln(stdin, &filename_len); + if (filename_len == 0 + || (filename_len == 1 && filename[0] == '\n')) + rfilename = save_file_name(DEFAULT_SAVE_FILE, + strlen(DEFAULT_SAVE_FILE)); + else { + if (filename[filename_len - 1] == '\n') + filename_len--; + rfilename = save_file_name(filename, + filename_len); + } + save(rfilename); + free(rfilename); + break; + + case VERBOSE: + verbose = 1; + printf("[Maximum verbosity]\n"); + break; + + case BRIEF: + verbose = 0; + printf("[Standard verbosity]\n"); + break; + + case FOLLOW: + lflag = follow(); + break; + + case GIVE: + give(); + break; + + case KISS: + kiss(); + break; + + case LOVE: + love(); + break; + + case RIDE: + lflag = ride(); + break; + + case DRIVE: + lflag = drive(); + break; + + case LIGHT: + light(); + break; + + case LAUNCH: + if (!launch()) + return (-1); + else + lflag = 0; + break; + + case LANDIT: + if (!land()) + return (-1); + else + lflag = 0; + break; + + case TIME: + chime(); + break; + + case SLEEP: + zzz(); + break; + + case DIG: + dig(); + break; + + case JUMP: + lflag = jump(); + break; + + case BURY: + bury(); + break; + + case SWIM: + puts("Surf's up!"); + break; + + case DRINK: + drink(); + break; + + case QUIT: + die(); + + default: + puts("How's that?"); + return (-1); + break; + + } + if (wordnumber < wordcount && *words[wordnumber++] == ',') + continue; + else + return (lflag); + } + return (lflag); +} diff --git a/battlestar/dayfile.c b/battlestar/dayfile.c new file mode 100644 index 0000000..36fbc09 --- /dev/null +++ b/battlestar/dayfile.c @@ -0,0 +1,1483 @@ +/* $NetBSD: dayfile.c,v 1.12 2003/08/07 09:37:01 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)dayfile.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: dayfile.c,v 1.12 2003/08/07 09:37:01 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +struct room dayfile[] = { + {0, {0}, 0, {0} }, + /* 1 */ + {"You are in the main hangar.", + {5, 2, 9, 3, 3, 1, 0, 0}, + "This is a huge bay where many fighters and cargo craft lie. Alarms are \n\ +sounding and fighter pilots are running to their ships. Above is a gallery\n\ +overlooking the bay. The scream of turbo engines is coming from +. The rest\n\ +of the hangar is +. There is an exit +.*\n", {0} }, + /* 2 */ + {"This is the landing bay.", + {1, 0, 10, 0, 0, 0, 0, 0}, + "Ships are landing here, some heavily damaged. Enemy fighters continually\n\ +strafe this vulnerable port. The main hangar is +. *\n\ +There is an exit +.*\n", {0} }, + /* 3 */ + {"You are in the gallery.", + {4, 0, 0, 0, 0, 0, 1, 0}, + "From here a view of the entire landing bay reveals that our battlestar\n\ +is near destruction. Fires are spreading out of control and laser blasts\n\ +lick at the shadows. The control room is +. ***\n", {0} }, + /* 4 */ + {"You are in the control room.", + {0, 3, 0, 0, 0, 0, 5, 0}, + "Several frantic technicians are flipping switches wildly but otherwise\n\ +this room seems fairly deserted. A weapons locker has been left open.\n\ +A staircase leads down. * There is a way -. ** \n", {0} }, + /* 5 */ + {"This is the launch room.", + {6, 1, 7, 0, 4, 1, 0, 0}, + "From the launch tubes here fighters blast off into space. Only one is left,\n\ +and it is guarded by two fierce men. A staircase leads up from here.\n\ +There is a cluttered workbench +. From the main hangar come sounds of great\n\ +explosions. The main hangar is +. The viper launch tubes are -.*\n", {0} }, + /* 6 */ + {"You are at the workbench.", + {0, 5, 7, 0, 0, 0, 0, 0}, + "Strange and unwieldy tools are arranged here including a lunch box \n\ +and pneumatic wrenches and turbo sprocket rockets.*\n\ +The launch room is +. The remaining viper is +.*\n", {0} }, + /* 7 */ + {"You are in the viper launch tube.", + {0, 5, 0, 5, 32, 0, 0, 0}, + "The two guards are eyeing you warily! ****\n", {0} }, + /* 8 */ + {"This is a walk in closet.", + {22, 0, 0, 0, 0, 0, 0, 0}, + "A wardrobe of immense magnitude greets the eye. Furs and robes of kings\n\ +hang on rack after rack. Silken gowns, capes woven with spun gold, and \n\ +delicate synthetic fabrics are stowed here. The bedroom is +.***\n", {0} }, + /* 9 */ + {"You are in a wide hallway leading to the main hangar.", + {0, 0, 11, 1, 0, 0, 0, 0}, + "The walls and ceiling here have been blasted through in several places.\n\ +It looks as if quite a battle has been fought for possession of the landing bay\n\ +Gaping corpses litter the floor.** The hallway continues +.\n\ +The main hangar is +.\n", {0} }, + /* 10 */ + {"You are in a wide hallway leading to the landing bay.", + {0, 0, 12, 2, 0, 0, 0, 0}, + "Most of the men and supplies needed in the main hangar come through this\n\ +corridor, but the wounded are forced to use it too. It very dank and\n\ +crowded here, and the floor is slippery with blood.**\n\ +The hallway continues -. The landing bay is +.\n", {0} }, + /* 11 */ + {"The hallway is very congested with rubble here.", + {0, 0, 0, 9, 13, 1, 0, 0}, + "It is too choked with broken steel girders and other debris to continue\n\ +on much farther. Above, the ceiling has caved in and it is possible to \n\ +climb up. There is not much chance to go -, -, or -.\n\ +But the hallway seems clearer +.\n", {0} }, + /* 12 */ + {"A wide hallway and a more narrow walkway meet here.", + {14, 15, 0, 10, 0, 0, 0, 0}, + "The intersection is crowded with the many wounded who have come up\n\ +the wide hallway and continued +. The walkway is less crowded +.\n\ +The wide hallway goes *-.\n", {0} }, + /* 13 */ + {"You are in what was once an elegant stateroom.", + {16, 0, 0, 0, 0, 0, 11, 0}, + "Whoever lived in this stateroom, he and his female companion\n\ +were mercilessly slain in their sleep. Clothes, trinkets and personal\n\ +belongings are scattered all across the floor. Through a hole in the\n\ +collapsed floor I can see a hallway below. A door is +.***\n", {0} }, + /* 14 */ + {"You're at the entrance to the sick bay.", + {17, 12, 18, 0, 0, 0, 0, 0}, + "The wounded are entering the sick bay in loudly moaning files.\n\ +The walkway continues - and +. A doctor is motioning for you to \n\ +come to the -. *\n", {0} }, + /* 15 */ + {"You're in the walkway.", + {12, 19, 0, 0, 0, 0, 0, 0}, + "Most of the men and supplies were coming from the armory. The walkway\n\ +continues -. The armory is +.**\n", {0} }, + /* 16 */ + {"These are the executive suites of the battlestar.", + {20, 13, 21, 22, 23, 1, 24, 0}, + "Luxurious staterooms carpeted with crushed velvet and adorned with beaten\n\ +gold open onto this parlor. A wide staircase with ivory banisters leads\n\ +up or down. This parlor leads into a hallway +. The bridal suite is\n\ ++. Other rooms lie - and +.\n", {0} }, + /* 17 */ + {"You're in a long dimly lit hallway.", + {0, 14, 25, 0, 0, 0, 0, 0}, + "This part of the walkway is deserted. There is a dead end +. The\n\ +entrance to the sickbay is +. The walkway turns sharply -.*\n", {0} }, + /* 18 */ + {"This is the sick bay.", + {0, 0, 0, 14, 0, 0, 0, 0}, + "Sinister nurses with long needles and pitiful aim probe the depths of suffering\n\ +here. Only the mortally wounded receive medical attention on a battlestar,\n\ +but afterwards they are thrown into the incinerators along with the rest.**\n\ +Nothing but death and suffering +. The walkway is +.\n", {0} }, + /* 19 */ + {"You're in the armory.", + {15, 26, 0, 0, 0, 0, 0, 0}, + "An armed guard is stationed here 365 sectars a yarn to protect the magazine.\n\ +The walkway is +. The magazine is +.**\n", {0} }, + /* 20 */ + {"The hallway ends here at the presidential suite.", + {27, 16, 0, 0, 0, 0, 0, 0}, + "The door to this suite is made from solid magnesium, and the entryway is\n\ +inlaid with diamonds and fire opals. The door is ajar +. The hallway\n\ +goes -.**\n", {0} }, + /* 21 */ + {"This is the maid's utility room.", + {0, 0, 0, 16, 0, 0, 0, 0}, + "What a gruesome sight! The maid has been brutally drowned in a bucket of\n\ +Pine Sol and repeatedly stabbed in the back with a knife.***\n\ +The hallway is +.\n", {0} }, + /* 22 */ + {"This is a luxurious stateroom.", + {0, 8, 16, 0, 0, 0, 0, 0}, + "The floor is carpeted with a soft animal fur and the great wooden furniture\n\ +is inlaid with strips of platinum and gold. Electronic equipment built\n\ +into the walls and ceiling is flashing wildly. The floor shudders and\n\ +the sounds of dull explosions rumble though the room. From a window in\n\ +the wall + comes a view of darkest space. There is a small adjoining\n\ +room +, and a doorway +.*\n", {0} }, + /* 23 */ + {"You are at the entrance to the dining hall.", + {0, 0, 28, 0, 0, 0, 16, 0}, + "A wide staircase with ebony banisters leads down here.**\n\ +The dining hall is -.*\n", {0} }, + /* 24 */ + {"This was once the first class lounge.", + {0, 0, 29, 0, 16, 1, 0, 0}, + "There is much rubble and destruction here that was not apparent elsewhere.\n\ +The walls and ceilings have broken in in some places. A staircase with\n\ +red coral banisters leads up. It is impossible to go - or -.\n\ +It seems a little clearer +.*\n", {0} }, + /* 25 */ + {"You are in a narrow stairwell.", + {0, 17, 0, 0, 30, 1, 0, 0}, + "These dusty and decrepit stairs lead up. There is no way -. The\n\ +hallway turns sharply -.**\n", {0} }, + /* 26 */ + {"You are in the magazine.", + {19, 0, 0, 0, 0, 0, 0, 0}, + "Rows and rows of neatly stacked ammunition for laser pistols and grenade\n\ +launchers are here. The armory is +.***\n", {0} }, + /* 27 */ + {"You're in the presidential suite.", + {0, 20, 0, 0, 0, 0, 0, 0}, + "Apparently the president has been assassinated. A scorched figure lies\n\ +face downward on the carpet clutching his chest.*\n\ +The hallway leads -.**\n", {0} }, + /* 28 */ + {"You are in the dining hall.", + {0, 30, 31, 23, 0, 0, 0, 0}, + "This was the scene of a mass suicide. Hundreds of ambassadors and assorted\n\ +dignitaries sit slumped over their breakfast cereal. I suppose the news\n\ +of the cylon attack killed them. There is a strange chill in this room. I\n\ +would not linger here. * The kitchen is +. Entrances + and +.\n", {0} }, + /* 29 */ + {"The debris is very thick here.", + {0, 11, 0, 24, 0, 0, 0, 0}, + "Broken furniture, fallen girders, and other rubble block the way.\n\ +There is not much chance to continue -, -, or -.\n\ +It would be best to go -.\n", {0} }, + /* 30 */ + {"You are in the kitchen.", + {28, 0, 0, 0, 0, 0, 0, 0}, + "This room is full of shining stainless steel and burnished bronze cookware. An \n\ +assortment of tropical fruits and vegetables as well as fine meats and cheeses \n\ +lies on a sterling platter. The chef, unfortunately, has been skewered like a \n\ +side of beef. The dining room is +. ** There is a locked door +.\n", {0} }, + /* 31 */ + {"You are in an arched entry leading to the dining room.", + {0, 0, 0, 28, 0, 0, 0, 0}, + "The door leading out is bolted shut from the outside and is very strong.***\n\ +The dining room is +.\n", {0} }, + /* 32 */ + {"You are in space.", + {33, 34, 35, 36, 37, 1, 33, 1}, + "****\n", {0} }, + /* 33 */ + {"You are in space.", + {38, 32, 39, 40, 41, 1, 42, 1}, + "****\n", {0} }, + /* 34 */ + {"You are in space.", + {32, 44, 45, 46, 47, 1, 48, 1}, + "****\n", {0} }, + /* 35 */ + {"You are in space.", + {40, 45, 49, 32, 50, 1, 51, 1}, + "****\n", {0} }, + /* 36 */ + {"You are in space.", + {41, 46, 32, 52, 53, 1, 54, 1}, + "****\n", {0} }, + /* 37 */ + {"You are in space.", + {42, 47, 50, 53, 55, 1, 32, 1}, + "****\n", {0} }, + /* 38 */ + {"You are in space.", + {43, 48, 51, 54, 32, 1, 56, 1}, + "****\n", {0} }, + /* 39 */ + {"You are in space.", + {57, 33, 40, 41, 42, 1, 43, 1}, + "****\n", {0} }, + /* 40 */ + {"You are in space.", + {39, 35, 57, 33, 58, 1, 59, 1}, + "****\n", {0} }, + /* 41 */ + {"You are in space.", + {39, 36, 33, 59, 60, 1, 61, 1}, + "****\n", {0} }, + /* 42 */ + {"You are in space.", + {39, 37, 58, 60, 62, 1, 33, 1}, + "****\n", {0} }, + /* 43 */ + {"You are in space.", + {39, 38, 59, 61, 33, 1, 63, 1}, + "****\n", {0} }, + /* 44 */ + {"You are in space.", + {34, 64, 45, 46, 47, 1, 48, 1}, + "****\n", {0} }, + /* 45 */ + {"You are in space.", + {35, 44, 49, 34, 50, 1, 51, 1}, + "****\n", {0} }, + /* 46 */ + {"You are in space.", + {36, 44, 34, 52, 53, 1, 54, 1}, + "****\n", {0} }, + /* 47 */ + {"You are in space.", + {37, 44, 50, 53, 55, 1, 34, 1}, + "****\n", {0} }, + /* 48 */ + {"You are in space.", + {38, 44, 51, 54, 34, 1, 56, 1}, + "****\n", {0} }, + /* 49 */ + {"You are in space.", + {49, 49, 52, 35, 49, 1, 49, 1}, + "****\n", {0} }, + /* 50 */ + {"You are in space.", + {58, 47, 49, 37, 55, 1, 35, 1}, + "****\n", {0} }, + /* 51 */ + {"You are in space.", + {59, 48, 49, 38, 35, 1, 56, 1}, + "****\n", {0} }, + /* 52 */ + {"You are in space.", + {52, 52, 36, 49, 52, 1, 52, 1}, + "****\n", {0} }, + /* 53 */ + {"You are in space.", + {60, 46, 37, 52, 55, 1, 36, 1}, + "****\n", {0} }, + /* 54 */ + {"You are in space.", + {61, 48, 38, 52, 36, 1, 56, 1}, + "****\n", {0} }, + /* 55 */ + {"You are in space.", + {62, 55, 55, 55, 56, 1, 37, 1}, + "****\n", {0} }, + /* 56 */ + {"You are in space.", + {56, 56, 56, 56, 38, 1, 55, 1}, + "****\n", {0} }, + /* 57 */ + {"You are in space.", + {65, 39, 57, 57, 57, 1, 57, 1}, + "****\n", {0} }, + /* 58 */ + {"You are in space.", + {39, 50, 49, 42, 62, 1, 40, 1}, + "****\n", {0} }, + /* 59 */ + {"You are in space.", + {39, 51, 49, 43, 40, 1, 63, 1}, + "****\n", {0} }, + /* 60 */ + {"You are in space.", + {39, 53, 43, 59, 62, 1, 41, 1}, + "****\n", {0} }, + /* 61 */ + {"You are in space.", + {39, 54, 43, 59, 41, 1, 56, 1}, + "****\n", {0} }, + /* 62 */ + {"You are in space.", + {39, 55, 62, 62, 56, 1, 42, 1}, + "****\n", {0} }, + /* 63 */ + {"You are in space.", + {39, 56, 35, 36, 43, 1, 55, 1}, + "****\n", {0} }, + /* 64 */ + {"You are in space.", + {44, 66, 66, 66, 66, 1, 66, 1}, + "****\n", {0} }, + /* 65 */ + {"You are in space.", + {67, 57, 67, 67, 67, 1, 67, 1}, + "****\n", {0} }, + /* 66 */ + {"You are in space.", + {64, 68, 68, 68, 68, 1, 68, 1}, + "****\n", {0} }, + /* 67 */ + {"You are orbiting a small blue planet.", + {67, 67, 67, 67, 65, 1, 69, 1}, + "****\n", {0} }, + /* 68 */ + {"You are orbiting a tropical planet.", + {68, 68, 68, 68, 66, 1, 70, 1}, + "****\n", {0} }, + /* 69 */ + {"You are flying through a dense fog.", + {69, 69, 69, 69, 69, 1, 69, 1}, + "A cold grey sea of mist is swirling around the windshield and water droplets\n\ +are spewing from the wingtips. Ominous shadows loom in the darkness and it\n\ +feels as if a trap is closing around us. I have lost all sense of direction.\n\ +****\n", {0} }, + /* 70 */ + {"You are approaching an island.", + {71, 72, 73, 74, 68, 1, 0, 1}, + "Coconut palms, sword ferns, orchids, and other lush vegetation drape this\n\ +jagged island carved seemingly from pure emerald and set in a turquoise\n\ +sea. The land rises sharply +. There is a nice beach* +.*\n", {0} }, + /* 71 */ + {"You are flying over a mountainous region.", + {75, 73, 76, 77, 68, 1, 0, 1}, + "Below is a magnificent canyon with deep gorges, high pinnacles and\n\ +waterfalls plummeting hundreds of feet into mist. Everything in sight\n\ +is carpeted with a tropical green.* The ocean is +.**\n", {0} }, + /* 72 */ + {"You are flying over the ocean.", + {74, 78, 78, 78, 68, 1, 0, 1}, + "You bank over the water and your wingtips dip low to the green waves. The\n\ +sea is very shallow here and the white coral beds beneath us teem with \n\ +colorful fish.****\n", {0} }, + /* 73 */ + {"You are flying over the beach.", + {71, 72, 79, 74, 68, 1, 80, 1}, + "A warm gentle surf caresses the white coral beach here. The land rises\n\ +sharply +.* The beach is lost in low cliffs and rocks +.*\n", {0} }, + /* 74 */ + {"You are flying over a large lagoon.", + {81, 72, 73, 82, 68, 1, 0, 1}, + "Encircled by a coral reef, the palms and ferns in this sheltered spot\n\ +have grown down to the water's very brink which winds tortuously inland.\n\ +There looks like a small village +.***\n", {0} }, + /* 75 */ + {"You are flying over a gently sloping plane.", + {83, 71, 84, 85, 68, 1, 0, 1}, + "This is where several alluvial fans and ancient lava flows have run\n\ +together forming a fertile plane choked with vegetation. It would be\n\ +impossible to land safely here.* The terrain is more rugged +.**\n", {0} }, + /* 76 */ + {"You are flying through a gorge.", + {0, 0, 86, 71, 68, 1, 102, 1}, + "This narrow, steep sided canyon is lined with waving ferns. The floor is of\n\ +light gravel with many freshets pouring from the walls and running along it.\n\ +The gorge leads to the sea** +, and to a tumultuous origin +.\n", {0} }, + /* 77 */ + {"You are flying over a plantation.", + {85, 81, 71, 88, 68, 1, 89, 1}, + "Rows of palms, papayas, mangoes, kiwi, as well as smaller fields of sugar\n\ +cane and pineapple are growing here. It might be possible to land here, but\n\ +I wouldn't advise it.* There looks like two small settlements + \n\ +and *+.\n", {0} }, + /* 78 */ + {"You are over the ocean.", + {72, 78, 79, 74, 68, 1, 0, 1}, + "The deep green swells foam and roll into the shore **+*.\n", {0} }, + /* 79 */ + {"You are flying along the coast.", + {86, 72, 90, 73, 68, 1, 91, 1}, + "The coastline here is very rocky with little or no sand. The surf in some\n\ +places is violent and explodes in a shower of sparkling spray.\n\ +There is a winding road below which closely follows the shore. ****\n", {0} }, + /* 80 */ + {"This is a beautiful coral beach.", + {106, 0, 107, 108, 73, 0, 0, 0}, + "Fine silver sand kissed lightly by warm tropical waters stretches at least\n\ +30 meters here from the ocean to under gently swaying palms +.***\n", {0} }, + /* 81 */ + {"You are flying over a small fishing village.", + {77, 74, 71, 82, 68, 1, 92, 1}, + "A few thatched huts a short distance from the water and row of more modern\n\ +bungalows on either side of a dirt road are all that is here. The road\n\ +continues on ***+.\n", {0} }, + /* 82 */ + {"You are flying over a clearing.", + {88, 72, 74, 87, 68, 1, 93, 1}, + "There is a dock here (big enough for a seaplane) leading to a grassy\n\ +meadow and a road. Some people are having a party down there. Below is\n\ +a good landing site. ****\n", {0} }, + /* 83 */ + {"You are flying over the shore.", + {94, 75, 95, 96, 68, 1, 0, 1}, + "Rocky lava flows or coarse sandy beaches are all that is here except for\n\ +sparse herbs and weeds.****\n", {0} }, + /* 84 */ + {"You are flying in a wide valley.", + {95, 97, 86, 75, 68, 1, 98, 1}, + "This is a shallow valley yet the floor is obscured by a thick mist.\n\ +The valley opens to the sea +. The mist grows thicker +.**\n", {0} }, + /* 85 */ + {"You are flying near the shore.", + {96, 77, 75, 99, 68, 1, 0, 1}, + "Very tall palm trees growing in neatly planted rows march off from the \n\ +water here towards the hills and down to the flat lands *+.*\n\ +There is a nice beach +.\n", {0} }, + /* 86 */ + {"You are flying around the very tip of the island.", + {95, 79, 90, 84, 68, 1, 0, 1}, + "There is no beach here for sheer cliffs rise several hundred feet\n\ +to a tree covered summit. Far below, the blue sea gnaws voraciously at\n\ +the roots of these cliffs. The island bends around +** and +.\n", {0} }, + /* 87 */ + {"You are flying along the coastline.", + {99, 82, 88, 100, 68, 1, 101, 1}, + "There is a narrow strip of sand here lined with ferns and shrubs, but very\n\ +few trees. The beach is barley wide enough to land on. The beach continues\n\ +on -.* There are some buildings +.*\n", {0} }, + /* 88 */ + {"You are flying over several cottages and buildings", + {99, 82, 77, 87, 68, 1, 103, 1}, + "The grounds here are landscaped with palm trees, ferns, orchids, and beds of\n\ +flowering plumeria and antheriums. Directly below is a small ornate white\n\ +house with a belltower, a lush green lawn, and a spurting fountain.\n\ +Small dirt roads go + and +.**\n", {0} }, + /* 89 */ + {"You are in a field of sugar cane.", + {109, 110, 111, 112, 77, 0, 0, 0}, + "These strong, thick canes give little shelter but many cuts and scrapes.\n\ +There are some large trees ***+.\n", {0} }, + /* 90 */ + {"You are flying over the ocean.", + {95, 78, 90, 86, 68, 1, 0, 1}, + "The water is a placid turquoise and so clear that fish and sharks\n\ +many fathoms below are clearly visible.****\n", {0} }, + /* 91 */ + {"You are on the coast road.", + {113, 114, 115, 116, 79, 0, 0, 0}, + "The road winds close to the shore here and the sound of crashing surf is\n\ +deafening.* The water is +. The road continues - and -.\n", {0} }, + /* 92 */ + {"You are on the main street of the village.", + {117, 118, 119, 120, 81, 0, 0, 0}, + "Thatched roofs and outrigger canoes, palm trees and vacation bungalows, and\n\ +comely natives in a tropical paradise all make this a fantasy come true.\n\ +There is an open bungalow +.* The road continues - and -.\n", {0} }, + /* 93 */ + {"You are at the sea plane dock.", + {121, 122, 123, 124, 82, 0, 0, 0}, + "Native girls with skin of gold, clad only in fragrant leis and lavalavas,\n\ +line the dockside to greet you. A couple of ukulele=plucking islanders and a\n\ +keyboard player are adding appropriate music. A road crosses the clearing \n\ ++*. There are some tables set up +.*\n", {0} }, + /* 94 */ + {"You are flying over the ocean.", + {94, 83, 95, 96, 68, 1, 0, 1}, + "Sea weeds and kelp surge in the waves off shore here. The ocean becomes \n\ +much deeper +.***\n", {0} }, + /* 95 */ + {"You are flying along the coast.", + {94, 84, 86, 83, 68, 1, 0, 1}, + "The land is very low here with a river running into the sea +. There\n\ +is a wide valley opening up +. The very tip of the island is +.*\n", {0} }, + /* 96 */ + {"You are flying along the coast.", + {94, 85, 83, 99, 68, 1, 0, 1}, + "There are some secluded sandy stretches of beach here, but too many rocky\n\ +outcroppings of lava to land. There is a nicer beach ***+.\n", {0} }, + /* 97 */ + {"You are lost in a sea of fog.", + {97, 104, 97, 97, 97, 1, 0, 1}, + "What have you gotten us into?\n\ +I can't see a thing! ****\n", {0} }, + /* 98 */ + {"You are on a gravel wash.", + {125, 126, 127, 128, 84, 0, 0, 0}, + "The sound of cascading water is the background for a diluted chorus of \n\ +gurgling, splashing, and enchantingly delicate singing. Great billows\n\ +of steam are rising *+.**\n", {0} }, + /* 99 */ + {"You are flying over a wide beach.", + {96, 88, 85, 87, 68, 1, 105, 1}, + "Unlike the leeward beaches, few coconut palms grow here but a well groomed\n\ +lawn and garden with traipsing stone walks leads down to the sand.*\n\ +There are some buildings +. Some trees are growing +.*\n", {0} }, + /* 100 */ + {"You are flying over the ocean.", + {100, 100, 87, 100, 68, 1, 0, 1}, + "The sea is a perfectly clear blue with a white sandy bottom. No coral\n\ +grows underwater here, but the force of the waves is broken by the steep\n\ +incline.****\n", {0} }, + /* 101 */ + {"You are on a narrow strip of sand.", + {129, 130, 131, 0, 87, 0, 0, 0}, + "Rather coarse sand makes this beach very steep and only a few meters wide.\n\ +A fresh ocean breeze is rustling the ferns **+.*\n", {0} }, + /* 102 */ + {"This is Fern Canyon.", + {0, 0, 132, 133, 76, 0, 0, 0}, + "Delicate waving ferns flourish here, suckled by warm water dripping from \n\ +every fissure and crevice in the solid rock walls.\n\ +The canyon winds **-, and -.\n", {0} }, + /* 103 */ + {"This is the front lawn.", + {134, 135, 136, 137, 88, 0, 0, 0}, + "There is a small fountain here where the driveway meets the lawn.\n\ +Across the driveway, +, is an ornate white house with and elegant \n\ +woodworking. The bargeboards are carved with fylfots, the ancient \n\ +symbols of luck. Even a bell tower has been built here.* There is a \n\ +road + which turns into the driveway.*\n", {0} }, + /* 104 */ + {"You have just crossed the crest of a mountain.", + {97, 79, 86, 71, 68, 1, 0, 1}, + "The fog vanished mysteriously as we flew over the crest.*\n\ +Far + I can see the ocean.**\n", {0} }, + /* 105 */ + {"You are on a sandy beach.", + {138, 139, 140, 0, 99, 0, 0, 0}, + "This is the only good beach on the weather side of the island. Fine coral\n\ +sand, a fresh sea breeze, and dramatic surf add to its appeal.**\n\ +Stone steps lead to the gardens +.*\n", {0} }, + /* 106 */ + {"You are among palm trees near the shore.", + {141, 80, 142, 143, 73, 0, 0, 0}, + "Arching coconut palms laden with fruit provide a canopy for the glistening\n\ +white sand and sparse grasses growing here. The forest grows denser +.\n\ +The ocean is +.**\n", {0} }, + /* 107 */ + {"You are walking along the beach.", + {144, 0, 145, 80, 73, 0, 0, 0}, + "The warm tropical waters nuzzle your ankles as you walk. Above is a fiercely\n\ +blue sky. The slope of the sand is so gentle that two hundred meters\n\ +offshore the water is only knee deep.** There are some rocks +.*\n", {0} }, + /* 108 */ + {"You are walking along the beach.", + {146, 0, 80, 147, 73, 0, 0, 0}, + "Many beautiful shells have been washed up here including bright yellow \n\ +cowries, chocolate colored murex, orange conches, striped tritons and the\n\ +deadly cone shells.****\n", {0} }, + /* 109 */ + {"You are in a papaya grove.", + {148, 89, 149, 150, 77, 0, 0, 0}, + "Green slender trees no taller than three meters bulge with their\n\ +orange succulent fruit. There are some tall trees +.***\n", {0} }, + /* 110 */ + {"You are in a field of pineapple.", + {89, 151, 152, 153, 77, 0, 0, 0}, + "The sharp dagger like pineapple leaves can pierce the flesh and hold fast\n\ +a skewered victim with tiny barbs.* The field ends +.**\n", {0} }, + /* 111 */ + {"You are in a field of kiwi plants.", + {149, 154, 155, 89, 77, 0, 0, 0}, + "Round hairy fruit hang from staked vines here. There are some trees +\n\ +and +. The field ends in a dirt road +.*\n", {0} }, + /* 112 */ + {"You are in a large grove of coconuts.", + {150, 153, 89, 156, 77, 0, 0, 0}, + "These trees are much taller than any growing near the shore plus the fat,\n\ +juicy coconuts have been selectively cultivated. The grove continues\n\ ++, +, *and +.\n", {0} }, + /* 113 */ + {"You are in the woods.", + {157, 91, 158, 116, 79, 0, 0, 0}, + "Tropical undergrowth makes the going rough here. Sword ferns give no strong\n\ +foot hold and the dangling vines would gladly throttle one. Strange cackling\n\ +noises are coming from somewhere +.***\n", {0} }, + /* 114 */ + {"You are at the shore.", + {91, 0, 159, 145, 79, 0, 0, 0}, + "Explosions of surf jetting out of underwater tunnels here make it\n\ +impossible to climb down to a small cave entrance below. Only at rare\n\ +minus tides would it be possible to enter.*** The beach is better +.\n", {0} }, + /* 115 */ + {"You are on the coast road.", + {158, 161, 162, 91, 79, 0, 0, 0}, + "The road is beginning to turn inland.* I can hear the surf +. The road\n\ +continues +.*\n", {0} }, + /* 116 */ + {"The road winds deeper into the trees.", + {163, 142, 91, 164, 79, 0, 0, 0}, + "Only narrow sunbeams filter through the foliage above. The moist rich earth\n\ +has nurtured a myriad of trees, shrubs, and flowers to grow here. The\n\ +road continues - and *- from here.*\n", {0} }, + /* 117 */ + {"This is the front porch of the bungalow.", + {165, 92, 0, 0, 81, 0, 0, 0}, + "These wooden steps and porch are very bucolic. A little woven mat on the \n\ +doorstep reads \"Don't Tread on Me\". The open front door is +.\n\ +A stone walk leads to the main street +.**\n", {0} }, + /* 118 */ + {"You are on a path leading to the lagoon.", + {92, 166, 167, 168, 81, 0, 0, 0}, + "This path trampled fern, grass, sapling, and anything else that got in its\n\ +way.* The water is +.**\n", {0} }, + /* 119 */ + {"This is a dirt road.", + {169, 118, 170, 92, 81, 0, 0, 0}, + "**The road continues on - here for some distance. A village is +.\n", {0} }, + /* 120 */ + {"You are on a dirt road.", + {171, 118, 92, 172, 81, 0, 0, 0}, + "**There is a small village +. The road continues +.\n", {0} }, + /* 121 */ + {"You are on a dirt road.", + {173, 93, 174, 175, 82, 0, 0, 0}, + "The light tan soil of the road contrasts artistically with the lush green\n\ +vegetation and searing blue sky.* There is a clearing and many people +.\n\ +The road continues - and -.\n", {0} }, + /* 122 */ + {"You are at the seaplane dock.", + {93, 0, 176, 177, 82, 0, 0, 0}, + "Several muscular, bronze skinned men greet you warmly as you pass under\n\ +a thatched shelter above the dock here. Polynesian hospitality.\n\ +There is a clearing +.* A trail runs around the lagoon + and +.\n", {0} }, + /* 123 */ + {"There are some tables on the lawn here.", + {121, 122, 123, 93, 82, 0, 0, 0}, + "Hors d'oeuvres, canapes, mixed drinks, and various narcotic drugs along with\n\ +cartons of Di Gel fill the tables to overflowing. Several other guests are\n\ +conversing and talking excitedly****.\n", {0} }, + /* 124 */ + {"You are nosing around in the bushes.", + {124, 124, 93, 124, 82, 0, 0, 0}, + "There is little here but some old beer cans. You are making fools out of\n\ +us in front of the other guests.** It would be best to go -.*\n", {0} }, + /* 125 */ + {"You are walking in a dry stream bed.", + {178, 98, 179, 0, 84, 0, 0, 0}, + "The large cobblestones are difficult to walk on. No sunlight reaches\n\ +below a white canopy of fog seemingly generated from *+. A dirt path \n\ +along the wash is +. A high bank is impossible to climb +.\n", {0} }, + /* 126 */ + {"You are at the thermal pools.", + {98, 0, 180, 181, 84, 0, 0, 0}, + "Several steaming fumaroles and spluttering geysers drenched by icy mountain\n\ +waters from a nearby waterfall heat half a dozen natural pools to a\n\ +delicious 42 degrees. Enchantingly beautiful singing seems to flow from the\n\ +water itself as it tumbles down the falls.*** There is a mossy entrance\n\ +to a cave +.\n", {0} }, + /* 127 */ + {"You are in the woods.", + {127, 180, 182, 98, 84, 0, 0, 0}, + "Coniferous trees girded by wild huckleberries, elderberries, salmonberries\n\ +and thimbleberries enjoy a less tropical climate here in the high mountains.\n\ +*The sound of rushing water is coming from +.**\n", {0} }, + /* 128 */ + {"You are on a dirt trail.", + {179, 181, 98, 0, 84, 0, 0, 0}, + "The trail seems to start here and head -.** High cliffs border the \n\ +trail +.\n", {0} }, + /* 129 */ + {"You are walking along the beach.", + {183, 101, 184, 0, 87, 0, 0, 0}, + "A rather unnerving surf explodes onto the beach here and dashes itself into\n\ +spray on the steep incline. The beach continues + and +.**\n", {0} }, + /* 130 */ + {"You are walking along the beach.", + {101, 185, 186, 0, 87, 0, 0, 0}, + "This is not a very nice beach. The coarse sand hurts my feet.****\n", {0} }, + /* 131 */ + {"You are walking through some ferns.", + {184, 186, 187, 101, 87, 0, 0, 0}, + "This is a wide field growing only ferns and small shrubs.** The \n\ +ocean is *+.\n", {0} }, + /* 132 */ + {"You are in a narrow canyon.", + {0, 0, 188, 102, 76, 0, 0, 0}, + "The steep sides here squeeze a little freshet through a gauntlet like\n\ +series of riffles and pools.****\n", {0} }, + /* 133 */ + {"The canyon is much wider here.", + {0, 0, 102, 189, 76, 0, 0, 0}, + "The sheer rock walls rise 10 meters to the forest above. A slender \n\ +waterfall careens away from the face of the rock high above and showers\n\ +the gravel floor with sparkling raindrops.** The canyon continues -\n\ +and -.\n", {0} }, + /* 134 */ + {"You are on the front porch of the cottage.", + {190, 103, 0, 0, 0, 0, 0, 0}, + "Several giggling native girls came running down the steps as you approached\n\ +and headed on down the road. On the fern rimmed porch is a small table with\n\ +matching white wrought iron chairs cushioned with red velvet. The front\n\ +door leads -. The lawn and fountain are +.**\n", {0} }, + /* 135 */ + {"You are in a palm grove.", + {103, 191, 192, 105, 88, 0, 0, 0}, + "****\n", {0} }, + /* 136 */ + {"You are on a dirt road.", + {193, 192, 245, 103, 88, 0, 0, 0}, + "There is a large village +. The road cleaves a coconut plantation +.\n\ +A small dirt road goes -, and a driveway peels off +.\n", {0} }, + /* 137 */ + {"You are in a field of small shrubs.", + {184, 186, 103, 187, 88, 0, 0, 0}, + "**Pine and other coniferous saplings have been planted here. The rich brown\n\ +soil is well tilled and watered. Across a large lawn, there is a small\n\ +cottage +. I can feel a delicious sea breeze blowing from +.\n", {0} }, + /* 138 */ + {"The beach is pretty rocky here.", + {194, 105, 195, 0, 96, 0, 0, 0}, + "Dangerous surf and lava outcroppings make this a treacherous strand.\n\ +The beach is nicer* +.**\n", {0} }, + /* 139 */ + {"The beach is almost 10 meters wide here.", + {105, 183, 196, 0, 99, 0, 0, 0}, + "The sand has become more coarse and the beach steeper.* It gets \n\ +worse +.**\n", {0} }, + /* 140 */ + {"You are in the gardens.", + {195, 196, 197, 105, 99, 0, 0, 0}, + "Lush green lawns studded with palms and benches stretch as far as the eye\n\ +can see.** A path leads -. Stone steps lead down to the beach +.\n", {0} }, + /* 141 */ + {"You are on the coast road.", + {198, 106, 163, 199, 73, 0, 0, 0}, + "The forest is dense on either side and conceals the road from anyone\n\ +approaching it.** The road continues - and -.\n", {0} }, + /* 142 */ + {"You are in the forest.", + {116, 107, 91, 106, 73, 0, 0, 0}, + "There are trees and ferns all around.****\n", {0} }, + /* 143 */ + {"You are in the forest.", + {199, 108, 106, 146, 73, 0, 0, 0}, + "There are trees and ferns all around.****\n", {0} }, + /* 144 */ + {"You are in a copse.", + {142, 107, 145, 80, 0, 0, 0, 0}, + "This is a secret hidden thicket only noticeable from the beach. Someone\n\ +has been digging here recently.****\n", {0} }, + /* 145 */ + {"You are at the tide pools.", + {91, 0, 114, 107, 79, 0, 0, 0}, + "These rocks and pools are the home for many sea anemones and crustaceans.\n\ +**The surf is very rough +. There is a nice beach +.\n", {0} }, + /* 146 */ + {"You are in the forest.", + {199, 108, 143, 0, 73, 0, 0, 0}, + "This is a shallow depression sheltered from the wind by a thick growth of \n\ +thorny shrubs. It looks like someone has camped here. There is a fire pit\n\ +with some dry sticks and grass nearby.* The beach is +.* The thorny\n\ +shrubs block the way -.\n", {0} }, + /* 147 */ + {"You are at the mouth of the lagoon.", + {200, 0, 108, 201, 74, 0, 0, 0}, + "The beach ends here where the coral reef rises to form a wide lagoon\n\ +bending inland. A path winds around the lagoon to the -.*\n\ +The beach continues on -. Only water lies +.\n", {0} }, + /* 148 */ + {"You are in a breadfruit grove.", + {202, 109, 203, 204, 77, 0, 0, 0}, + "The tall trees bend leisurely in the breeze, holding many round breadfruits\n\ +close to their large serrated leaves. There are coconut palms +,\n\ +*+, and +.\n", {0} }, + /* 149 */ + {"You are in a grove of mango trees.", + {203, 111, 205, 109, 77, 0, 0, 0}, + "The juicy yellow red fruits are nearly ripe on the trees here. There are\n\ +some coconut palms +. There are some vines +. There is a road +.*\n", {0} }, + /* 150 */ + {"You are in a grove of coconut palms.", + {204, 112, 109, 206, 77, 0, 0, 0}, + "All I can see around us are palm trees.****\n", {0} }, + /* 151 */ + {"You are in a coconut grove.", + {110, 207, 208, 209, 77, 0, 0, 0}, + "There are countless trees here.****\n", {0} }, + /* 152 */ + {"You are in a field of pineapple.", + {154, 208, 210, 110, 77, 0, 0, 0}, + "The sharp leaves are cutting me to ribbons. There is a road **+.\n\ +More pineapple +.\n", {0} }, + /* 153 */ + {"You are in a coconut grove.", + {112, 209, 110, 211, 77, 0, 0, 0}, + "There is a field of pineapple **+.*\n", {0} }, + /* 154 */ + {"You are on the edge of a kiwi and pineapple field.", + {111, 152, 155, 110, 77, 0, 0, 0}, + "An irrigation ditch separates the two fields here. There is a road **+.*\n", {0} }, + /* 155 */ + {"This is a dirt road.", + {205, 210, 212, 111, 77, 0, 0, 0}, + "The road runs - and - here.**\n", {0} }, + /* 156 */ + {"You are in a palm grove.", + {206, 211, 112, 213, 77, 0, 0, 0}, + "There are palm trees all around us.****\n", {0} }, + /* 157 */ + {"You are on the edge of a small clearing.", + {157, 113, 157, 157, 79, 0, 0, 0}, + "The ground is rather marshy here and darting in and out of the many tussocks\n\ +is a flock of wild chicken like fowl.****\n", {0} }, + /* 158 */ + {"You are in the woods.", + {158, 115, 215, 113, 79, 0, 0, 0}, + "You have walked a long way and found only trees. ****\n", {0} }, + /* 159 */ + {"You are walking along the shore.", + {115, 0, 214, 114, 86, 0, 0, 0}, + "You are now about 10 meters above the surf on a gently rising cliffside.**\n\ +The land rises +. There is a beach far +.\n", {0} }, + /* 160 */ + {"You are just inside the entrance to the sea cave.", + {246, 114, 0, 0, 114, 1, 0, 0}, + "The sound of water dripping in darkness and the roar of the ocean just outside\n\ +create a very unwelcoming atmosphere inside this cave. Only on rare occasions\n\ +such as this is it possible to enter the forbidden catacombs... The cave\n\ +continues -.***\n", {0} }, + /* 161 */ + {"You are in a secret nook beside the road.", + {115, 159, 162, 91, 79, 0, 0, 0}, + "Hidden from all but the most stalwart snoopers are some old clothes, empty\n\ +beer cans and a trash baggie full of used Huggies and ordure. Lets get\n\ +back to the road +.***\n", {0} }, + /* 162 */ + {"You are on the coast road.", + {215, 214, 0, 115, 86, 0, 0, 0}, + "The road turns abruptly - here, avoiding the cliffs near the shore\n\ ++ and +.*\n", {0} }, + /* 163 */ + {"You are on a dirt road.", + {216, 116, 113, 141, 79, 0, 0, 0}, + "The roadside is choked with broad leaved plants fighting for every breath of\n\ +sunshine. The palm trees are taller than at the shore yet bend over the road \n\ +forming a canopy. The road continues *- and *-.\n", {0} }, + /* 164 */ + {"You have discovered a hidden thicket near the road.", + {163, 142, 116, 106, 73, 0, 0, 0}, + "Stuffed into a little bundle here is a bloody silken robe and many beer cans.\n\ +*Some droplets of blood and a major spill sparkle farther +.\n\ +The road is +.*\n", {0} }, + /* 165 */ + {"You are in the living room.", + {0, 117, 217, 218, 0, 0, 0, 0}, + "A decorative entry with fresh flowers and wall to wall carpeting leads into\n\ +the living room here where a couch and two chairs converge with an end table.\n\ +*The exit is +.* The bedroom is +.\n", {0} }, + /* 166 */ + {"You are at the lagoon.", + {118, 0, 167, 168, 81, 0, 0, 0}, + "There are several outrigger canoes pulled up on a small beach here and a\n\ +catch of colorful fish is drying in the sun. There are paths leading \n\ +off -*, -, and -.\n", {0} }, + /* 167 */ + {"You are at the lagoon.", + {118, 0, 170, 166, 81, 0, 0, 0}, + "This is a grassy little spot near the water. A sightly native girl is frolicking\n\ +in the water close to shore here.** The path continues - and -. \n", {0} }, + /* 168 */ + {"You are at the lagoon.", + {118, 0, 166, 172, 81, 0, 0, 0}, + "The path meanders through tussocks of grass, ferns, and thorny bushes here\n\ +and continues on **- and -.\n", {0} }, + /* 169 */ + {"You are in the woods.", + {219, 119, 220, 92, 81, 0, 0, 0}, + "There are plenty of ferns and thorny bushes here! ****\n", {0} }, + /* 170 */ + {"You are on a dirt road.", + {220, 167, 199, 119, 74, 0, 0, 0}, + "The road winds rather close to a large lagoon here and many sedges and tall\n\ +grasses line the shoulder *+. The road continues - and -.\n", {0} }, + /* 171 */ + {"You are in the woods beside the road.", + {221, 120, 92, 222, 81, 0, 0, 0}, + "The forest grows darker +. The road is +.**\n", {0} }, + /* 172 */ + {"The road crosses the lagoon here.", + {222, 0, 120, 174, 81, 0, 0, 0}, + "Coursing through the trees, the road at this point bridges a watery finger\n\ +of the lagoon.* The water is +. The road continues - and -.\n", {0} }, + /* 173 */ + {"You are in a coconut palm grove.", + {223, 121, 224, 225, 82, 0, 0, 0}, + "The tall palms are planted about 30 feet apart with a hardy deep green grass\n\ +filling the spaces in between. There are tire tracks through the grass. The\n\ +grove continues -. There is a road +.**\n", {0} }, + /* 174 */ + {"You are walking along a dirt road.", + {224, 176, 172, 121, 82, 0, 0, 0}, + "You are nearing the lagoon.** The road continues - and -.\n", {0} }, + /* 175 */ + {"You are on a dirt road.", + {225, 177, 121, 226, 82, 0, 0, 0}, + "The road turns abruptly - here, entering a grove of palm trees.* The road\n\ +also continues - toward the lagoon.*\n", {0} }, + /* 176 */ + {"You are on a trail running around the lagoon.", + {172, 0, 0, 122, 82, 0, 0, 0}, + "The dark waters brush the trail here and the path crosses a bridge +.\n\ +There is deep water + and +. The trail continues -.\n", {0} }, + /* 177 */ + {"This is the mouth of the lagoon.", + {175, 0, 122, 227, 82, 0, 0, 0}, + "The coral reef wraps around a natural bay here to create a wide lagoon which\n\ +winds tortuously inland.** A trail goes around the lagoon +. The beach\n\ +is +.\n", {0} }, + /* 178 */ + {"You are in a dry stream bed.", + {0, 125, 0, 0, 84, 0, 0, 0}, + "The dry wash drains over a tall precipice here into a turbid morass below. The\n\ +most noisome stench imaginable is wafting up to defile our nostrils. Above,\n\ +the lurid sun glows brown through a strange mist.* The only direction \n\ +I'm going is -.**\n", {0} }, + /* 179 */ + {"You are on a dirt path along the wash.", + {0, 128, 125, 228, 84, 0, 0, 0}, + "This path looks more like a deer trail. It scampers away ***+.\n", {0} }, + /* 180 */ + {"The thermal pools flow into a stream here.", + {127, 0, 229, 126, 84, 0, 0, 0}, + "The gurgling hot waters pour over boulders into a swiftly flowing\n\ +stream **+. The pools are +.\n", {0} }, + /* 181 */ + {"You are at the entrance to a cave.", + {128, 230, 126, 0, 84, 0, 0, 0}, + "A tall narrow fissure in the rock cliffs here has become a well traveled\n\ +passage way. A hoof beaten dirt path leads directly into it. A curl of\n\ +steam is trailing from a corner of the fissure's gaping mouth. The path\n\ +leads - and -. The pools are +.*\n", {0} }, + /* 182 */ + {"You are in the woods.", + {182, 229, 182, 127, 84, 0, 0, 0}, + "Wild berry bushes plump with fruit and thorns tangle your every effort to\n\ +proceed.* The sound of rushing water is +.**\n", {0} }, + /* 183 */ + {"You are walking along the beach.", + {139, 129, 184, 0, 99, 0, 0, 0}, + "Some dunes here progress inland and make it impossible to get very far in that\n\ +direction. The beach continues - and -.* The ocean is +.\n", {0} }, + /* 184 */ + {"You are in the dunes.", + {183, 101, 184, 129, 87, 0, 0, 0}, + "The endless rolling and pitching sand dunes are enough to make one very queasy!\n\ +The only way I'm going is ***+.\n", {0} }, + /* 185 */ + {"This is a lousy beach.", + {130, 0, 0, 0, 87, 0, 0, 0}, + "Volcanic and viciously sharp bitted grains of sand here bite like cold steel\n\ +into my tender feet. I refuse to continue on. Let's get out of here. The\n\ +beach is better +.***\n", {0} }, + /* 186 */ + {"You are in a field of sparse ferns.", + {131, 185, 187, 130, 87, 0, 0, 0}, + "The lava rock outcroppings here will support few plants. There is more \n\ +vegetation +. There is a nice beach +.* The ocean is +.\n", {0} }, + /* 187 */ + {"You are in the woods.", + {131, 131, 137, 131, 87, 0, 0, 0}, + "Young trees and tall shrubs grow densely together at this distance from the \n\ +shore.** The trees grow thicker +.*\n", {0} }, + /* 188 */ + {"The canyon is no wider than a foot here.", + {0, 0, 0, 132, 0, 0, 0, 0}, + "The freshet is gushing through the narrow trough, but the canyon has grown\n\ +too narrow to follow it any farther.*** I guess we'll have to go -.\n", {0} }, + /* 189 */ + {"You are in a narrow part of the canyon.", + {0, 0, 133, 232, 76, 0, 0, 0}, + "The two sheer sides are no more than a few meters apart here. There is a stone\n\ +door in the wall +. The gravelly floor runs with tiny rivulets seeping \n\ +from the ground itself.* The canyon continues - and -.\n", {0} }, + /* 190 */ + {"You are in the drawing room.", + {0, 134, 0, 0, 0, 0, 0, 0}, + "Exquisitely decorated with plants and antique furniture of superb\n\ +craftsmanship, the parlor reflects its owner's impeccable taste. The tropical\n\ +sun is streaming in through open shutters *+. There doesn't seem \n\ +to be anybody around. A large immaculate oaken desk is visible in the\n\ +study and it even has a old fashioned telephone to complete the decor.**\n", {0} }, + /* 191 */ + {"You are in a palm grove.", + {135, 191, 233, 191, 88, 0, 0, 0}, + "Grassy rows of palms stretch as far as I can see.** There is a road +.*\n", {0} }, + /* 192 */ + {"You are on a dirt road.", + {136, 233, 234, 135, 88, 0, 0, 0}, + "The road winds through a coconut palm grove here. It continues on - \n\ +and -.**\n", {0} }, + /* 193 */ + {"The road leads to several large buildings here.", + {235, 136, 236, 237, 88, 0, 0, 0}, + "There is a clubhouse +,* a large barn and stable +, and a garage of \n\ +similar construct to the barn +.\n", {0} }, + /* 194 */ + {"This part of the beach is impassable.", + {0, 138, 0, 0, 96, 0, 0, 0}, + "The huge rocks and thunderous surf here would pound our frail bodies to pulp\n\ +in an instant.* The only direction I'm going is -.**\n", {0} }, + /* 195 */ + {"You are in the gardens.", + {195, 140, 197, 138, 96, 0, 0, 0}, + "So much green grass is a pleasure to the eyes.****\n", {0} }, + /* 196 */ + {"You are in the gardens.", + {140, 183, 197, 139, 99, 0, 0, 0}, + "Beautiful flowers and shrubs surround a little goldfish pond.****\n", {0} }, + /* 197 */ + {"You are on a stone walk in the garden.", + {195, 196, 238, 140, 99, 0, 0, 0}, + "The walk leads to a road **+.*\n", {0} }, + /* 198 */ + {"You are in the forest near the road.", + {198, 141, 216, 198, 73, 0, 0, 0}, + "There are many thorny bushes here!****\n", {0} }, + /* 199 */ + {"You are at a fork in the road.", + {239, 146, 141, 170, 73, 0, 0, 0}, + "Two roads come together in the forest here. One runs -,* the other \n\ +runs - and -.\n", {0} }, + /* 200 */ + {"You are on a dirt path around the lagoon.", + {170, 147, 146, 0, 74, 0, 0, 0}, + "The still waters reflect bending palms and a cloudless sky. It looks like\n\ +the path runs into a clearing +. The path continues -.**\n", {0} }, + /* 201 */ + {"You are drowning in the lagoon.", + {201, 201, 147, 201, 74, 0, 0, 0}, + "I suggest you get out before you become waterlogged.****\n", {0} }, + /* 202 */ + {"You are in a coconut palm grove.", + {202, 148, 203, 204, 77, 0, 0, 0}, + "****\n", {0} }, + /* 203 */ + {"You are in a palm grove.", + {202, 149, 205, 148, 77, 0, 0, 0}, + "****\n", {0} }, + /* 204 */ + {"You are in a palm grove.", + {202, 150, 148, 206, 77, 0, 0, 0}, + "****\n", {0} }, + /* 205 */ + {"You are on a dirt road.", + {203, 155, 212, 149, 77, 0, 0, 0}, + "*This road ends here at a palm grove but continues on - for quite\n\ +some way.**\n", {0} }, + /* 206 */ + {"You are in a coconut palm grove.", + {204, 156, 150, 213, 77, 0, 0, 0}, + "****\n", {0} }, + /* 207 */ + {"You are in a coconut grove.", + {151, 219, 208, 209, 77, 0, 0, 0}, + "*The grove ends +.**\n", {0} }, + /* 208 */ + {"You are in a coconut grove.", + {152, 207, 239, 151, 77, 0, 0, 0}, + "**There is a dirt road +.*\n", {0} }, + /* 209 */ + {"You are in a coconut grove.", + {153, 207, 151, 211, 77, 0, 0, 0}, + "****\n", {0} }, + /* 210 */ + {"This is a dirt road.", + {205, 239, 212, 154, 77, 0, 0, 0}, + "The road continues - and -.**\n", {0} }, + /* 211 */ + {"You are in a coconut grove.", + {153, 209, 153, 213, 77, 0, 0, 0}, + "****\n", {0} }, + /* 212 */ + {"You are in the woods near the road.", + {205, 210, 212, 155, 77, 0, 0, 0}, + "There are many thorny bushes here!****\n", {0} }, + /* 213 */ + {"You are in a coconut grove.", + {213, 213, 156, 234, 88, 0, 0, 0}, + "***The grove ends in a clearing +.\n", {0} }, + /* 214 */ + {"You are walking along some high cliffs.", + {162, 0, 0, 159, 86, 0, 0, 0}, + "The island bends sharply + here with high cliffs -\n\ +and -. The cliffs are lower +.\n", {0} }, + /* 215 */ + {"You are at the coast road turn around.", + {0, 162, 0, 158, 90, 0, 0, 0}, + "The coast road ends here in a lookout with a view of 100 kilometers of blue\n\ +sea and 100 meters of rugged cliff. Far below the waves crash against rocks.\n\ +****\n", {0} }, + /* 216 */ + {"You are in the woods near the road.", + {216, 163, 216, 198, 79, 0, 257, 0}, + "These thorny bushes are killing me.****\n", {0} }, + /* 217 */ + {"You are in the kitchen.", + {0, 0, 0, 165, 0, 0, 0, 0}, + "A small gas stove and a refrigerator are all the only appliances here. The\n\ +gas oven has been left on and the whole room is reeking with natural gas.\n\ +One spark from a match and.... The door out is ***+.\n", {0} }, + /* 218 */ + {"You are in the bedroom.", + {0, 0, 165, 0, 0, 0, 0, 0}, + "A soft feather comforter on top of layers of Answer blankets make this a very\n\ +luxurious place to sleep indeed. There are also some end tables and a dresser\n\ +here.** The living room is +.*\n", {0} }, + /* 219 */ + {"You are in the woods.", + {207, 169, 220, 221, 81, 0, 0, 0}, + "There seems to be a clearing +.***\n", {0} }, + /* 220 */ + {"You are in the woods near the road.", + {219, 170, 239, 169, 81, 0, 0, 0}, + "*As far as I can tell, there are two roads + and +.*\n", {0} }, + /* 221 */ + {"You are in the woods.", + {207, 171, 219, 222, 81, 0, 0, 0}, + "The forest is clearer +.***\n", {0} }, + /* 222 */ + {"You are on the lagoon's inland finger.", + {0, 172, 171, 172, 81, 0, 0, 0}, + "It is impossible to follow the lagoon any farther inland because of sharp\n\ +and very painful sedges.* The road is +.**\n", {0} }, + /* 223 */ + {"You are in a grassy coconut grove.", + {240, 173, 224, 241, 82, 0, 0, 0}, + "The tall palms provide a perfect canopy for the lush green grass.***\n\ +There is a road +.\n", {0} }, + /* 224 */ + {"You are near the lagoon's inland finger.", + {0, 174, 0, 173, 82, 0, 0, 0}, + "Very sharp sedges make it impossible to follow the lagoon any farther inland.\n\ +*There is a road +.**\n", {0} }, + /* 225 */ + {"You are on a dirt road.", + {241, 175, 173, 226, 82, 0, 0, 0}, + "The road winds through a coconut grove here and continues - and -.**\n", {0} }, + /* 226 */ + {"You are in the woods near the road.", + {226, 226, 175, 226, 82, 0, 0, 0}, + "**The road is +.*\n", {0} }, + /* 227 */ + {"This is a beach?", + {227, 227, 177, 0, 82, 0, 0, 0}, + "Hard jagged rocks that pierce with every footstep hardly comprise a beach.**\n\ +Let's go -.*\n", {0} }, + /* 228 */ + {"The trail is lost in the woods here.", + {241, 241, 179, 241, 84, 0, 0, 0}, + "I suppose the animals that use this trail all depart in different directions\n\ +when they get this far into the woods.** The trail goes -.*\n", {0} }, + /* 229 */ + {"You are on the bank of a stream.", + {182, 0, 242, 180, 84, 0, 0, 0}, + "The stream falls over several small boulders here and continues on **-.*\n", {0} }, + /* 230 */ + {"You are just inside the cave.", + {181, 267, 0, 0, 0, 0, 0, 0}, + "A steamy hot breath is belching from the depths of the earth within.* The\n\ +cave continues -.**\n", {0} }, + /* 231 */ + {"You are just inside the cave entrance.", + {274, 0, 0, 0, 0, 0, 0, 0}, + "The air is hot and sticky inside. The cave continues -. There is a \n\ +stone door in the wall +. A wooden sign in the dust reads in old elven\n\ +runes, \"GSRF KDIRE NLVEMP!\".**\n", {0} }, + /* 232 */ + {"You are at the edge of a huge chasm.", + {0, 0, 189, 0, 76, 0, 0, 0}, + "Several hundred feet down I can see the glimmer of placid water. The\n\ +rivulets drain over the edge and trickle down into the depths. It is \n\ +impossible to climb down without a rope.** The canyon continues -.*\n", {0} }, + /* 233 */ + {"You are on a dirt road.", + {192, 241, 240, 191, 88, 0, 0, 0}, + "The road winds through a coconut grove here. The road continues on -\n\ +and -.**\n", {0} }, + /* 234 */ + {"You are in a coconut palm grove near the road.", + {193, 233, 213, 192, 88, 0, 0, 0}, + "***The road is +.\n", {0} }, + /* 235 */ + {"You are at the clubhouse.", + {0, 193, 0, 0, 0, 0, 0, 0}, + "The clubhouse is built over the most inland part of the lagoon. Tropical\n\ +bananas and fragrant frangipani grow along the grassy shore. Walking across\n\ +the short wooden bridge, we enter. Along one wall is a bar with only a few\n\ +people seated at it. The restaurant and dance floor are closed off with\n\ +a 2 inch nylon rope. ****\n", {0} }, + /* 236 */ + {"You are in the stables.", + {0, 0, 0, 193, 0, 0, 0, 0}, + "Neighing horses snacking on hay and oats fill the stalls on both sides of\n\ +the barn. It is rather warm in here but that is not the most offensive\n\ +part. The old boards of the barn part just enough to let in dust laden\n\ +shafts of light. Flies swarm overhead and strafe the ground for dung.\n\ +My nose is beginning to itch. ****\n", {0} }, + /* 237 */ + {"You are in the old garage.", + {0, 0, 193, 0, 0, 0, 0, 0}, + "This is an old wooden building of the same vintage as the stables. Beneath\n\ +a sagging roof stand gardening tools and greasy rags. Parked in the center\n\ +is an underpowered Plymouth Volare' with a red and white striped golf cart\n\ +roof. ****\n", {0} }, + /* 238 */ + {"You are on a dirt road.", + {197, 197, 243, 197, 85, 0, 0, 0}, + "The road leads to a beautiful formal garden laced with stone walks and tropical\n\ +flowers and trees.** The road continues -. A walk leads -.\n", {0} }, + /* 239 */ + {"You are on a dirt road.", + {210, 199, 198, 220, 73, 0, 0, 0}, + "The road runs - and -.**\n", {0} }, + /* 240 */ + {"You are in a coconut grove near the road.", + {234, 223, 234, 233, 88, 0, 0, 0}, + "***The road is +.\n", {0} }, + /* 241 */ + {"You are on a dirt road.", + {233, 225, 223, 226, 82, 0, 0, 0}, + "The road continues - and -.**\n", {0} }, + /* 242 */ + {"The stream plummets over a cliff here.", + {182, 0, 0, 229, 84, 0, 0, 0}, + "Falling 10 agonizing meters into spray, only droplets of the stream are\n\ +left to dance off the floor below. I thought I saw a sparkle of gold\n\ +at the bottom of the falls, but now it is gone. There is no way down,\n\ +even with a strong rope. ****\n", {0} }, + /* 243 */ + {"You are on a dirt road.", + {0, 0, 244, 238, 85, 0, 0, 0}, + "**The road continues - and -.\n", {0} }, + /* 244 */ + {"You are on a dirt road.", + {0, 245, 0, 243, 88, 0, 0, 0}, + "*The road continues -* and -.\n", {0} }, + /* 245 */ + {"You are on a dirt road.", + {244, 234, 213, 136, 88, 0, 0, 0}, + "The road goes -* and *-.\n", {0} }, + /* 246 */ + {"You are in a low passage.", + {247, 160, 0, 0, 0, 0, 0, 0}, + "The passage is partially flooded here and it may be hazardous to proceed.\n\ +Water is surging from the tunnel and heading out to sea. Strange moaning\n\ +noises rise above the rushing of the water. They are as thin as a whispering\n\ +wind yet penetrate to my very soul. I think we have come too far...\n\ +The passage continues -.***\n", {0} }, + /* 247 */ + {"The walls are very close together here.", + {248, 0, 0, 0, 0, 0, 0, 0}, + "I can barely squeeze through the jagged opening. Slimy sea weeds provide\n\ +no footing at all. This tunnel seems to be an ancient lava tube. There is\n\ +a large room -.***\n", {0} }, + /* 248 */ + {"You are in the cathedral room.", + {249, 251, 249, 251, 0, 0, 0, 0}, + "Your light casts ghostly shadows on the walls but cannot pierce the \n\ +engulfing darkness overhead. The sound of water dripping echoes in the void.\n\ +*I can see no passages leading out of this room. We have definitely\n\ +come too far.*** \n", {0} }, + /* 249 */ + {"You are walking through a very round tunnel.", + {252, 0, 0, 0, 252, 1, 0, 0}, + "The round walls of this tunnel are amazingly smooth to the touch. A little\n\ +trickle of water flows down the center. The tunnel climbs steadily +.\n\ +The cave is beginning to flood again! Let's get out of here! ***\n", {0} }, + /* 250 */ + {"You are in the cathedral anteroom.", + {0, 0, 0, 248, 253, 1, 0, 0}, + "This small chamber with a flat stone floor is to one side of the cathedral \n\ +room. We appear to be at the bottom of a tall narrow shaft. There are many \n\ +puddles of water here. A staircase hewn from solid rock and black lava \n\ +leads up.*** The cathedral room is +.\n", {0} }, + /* 251 */ + {"You are in a wide chamber.", + {0, 0, 248, 254, 0, 0, 0, 0}, + "Water is sprinkling from the ceiling here. A shallow pool populated by a \n\ +myriad of blind white creatures sparkles in your light. Tiny shrimp and\n\ +crabs scurry away, frightened by the blinding rays.** The cave \n\ +continues - and -.\n", {0} }, + /* 252 */ + {"You are at the top of a sloping passage.", + {0, 0, 255, 256, 257, 1, 0, 0}, + "There is much algae growing here, both green and brown specimens. \n\ +Water from an underground sea surges and splashes against the slope of\n\ +the rock. The walls glisten with shiny minerals. High above, light\n\ +filters in through a narrow shaft.** A hallway here runs -\n\ +and -.\n", {0} }, + /* 253 */ + {"You are in an elaborately tiled room.", + {0, 0, 258, 0, 0, 0, 250, 0}, + "Large colorful tiles plate the floor and walls. The ceiling is a mosaic\n\ +of gems set in gold. Hopefully it is only our footsteps that are echoing in\n\ +this hollow chamber.** The room continues -. A stone staircase\n\ +leads down.*\n", {0} }, + /* 254 */ + {"You are at a dead end.", + {0, 0, 251, 0, 0, 0, 0, 0}, + "The walls here are alive with dark mussels. They click their shells menacingly\n\ +if we disturb them. ** The only exit is +.*\n", {0} }, + /* 255 */ + {"The tunnel is very low here.", + {0, 0, 259, 252, 0, 0, 0, 0}, + "I practically have to crawl on my knees to pass through this opening. The\n\ +air is stiflingly damp, but I can't hear any sounds of water dripping.**\n\ +The crawlspace continues -. The tunnel seems wider +.\n", {0} }, + /* 256 */ + {"This is the supply room.", + {0, 0, 252, 0, 0, 0, 0, 0}, + "Picks and shovels line the walls here, as well as hard hats, boxes of\n\ +dynamite, and a cartload of very high grade gold and silver ore.** \n\ +A tunnel leads off +.*\n", {0} }, + /* 257 */ + {"You have found a secret entrance to the catacombs.", + {0, 0, 0, 0, 216, 1, 252, 0}, + "I have a sickening feeling that we should not have entered the catacombs.\n\ +Below is a wet, seaweed covered floor. Above is a way out. ****\n", {0} }, + /* 258 */ + {"You are in the catacombs.", + {0, 0, 260, 253, 0, 0, 0, 0}, + "Ornate tombs and piles of treasure line the walls. Long spears with many\n\ +blades, fine swords and coats of mail, heaps of coins, jewelry, pottery, \n\ +and golden statues are tribute of past kings and queens.** The catacombs\n\ +continue - and -.\n", {0} }, + /* 259 */ + {"You are crawling on your stomach.", + {0, 0, 261, 255, 0, 0, 0, 0}, + "The passage is quite narrow and jagged, but the rock is no longer lava.\n\ +It appears to be a form of granite.** The crawlspace continues -, \n\ +but I would just as soon go -.\n", {0} }, + /* 260 */ + {"You are in the Sepulcher.", + {0, 0, 0, 258, 0, 0, 0, 0}, + "A single tomb is here. Encrusted with diamonds and opals, and secured with \n\ +straps of a very hard, untarnished silver, this tomb must be of a great king.\n\ +Vases overflowing with gold coins stand nearby. A line of verse on the wall\n\ +reads, \"Three he made and gave them to his daughters.\"****\n", {0} }, + /* 261 */ + {"The passage is wider here.", + {0, 0, 0, 259, 0, 0, 0, 0}, + "You are at the top of a flooded shaft. About a meter below the edge,\n\ +dark water rises and falls to the rhythm of the sea. A ladder goes\n\ +down into water here.*** A small crawlspace goes -.\n", {0} }, + /* 262 */ + {"You are at the bottom of a ladder.", + {0, 0, 0, 0, 261, 1, 263, 0}, + "This is a narrow platform to rest on before we continue either up or down this\n\ +rickety wooden ladder.****\n", {0} }, + /* 263 */ + {"You are standing in several inches of water.", + {264, 0, 265, 266, 262, 1, 0, 0}, + "This seems to be a working mine. Many different tunnels wander off following\n\ +glowing veins of precious metal. The floor is flooded here since we must\n\ +be nearly at sea level. A ladder leads up. ****\n", {0} }, + /* 264 */ + {"The tunnel here is blocked by broken rocks.", + {0, 263, 0, 0, 0, 0, 0, 0}, + "The way is blocked, but if you had some dynamite, we might be able to blast our\n\ +way through.* The passage goes -.**\n", {0} }, + /* 265 */ + {"The tunnel is too flooded to proceed.", + {0, 0, 0, 263, 0, 0, 0, 0}, + "Hidden shafts could swallow us if we tried to continue on down this tunnel.\n\ +The flooding is already up to my waist. Large crystals overhead shimmer\n\ +rainbows of reflected light.*** Let's go -.\n", {0} }, + /* 266 */ + {"The mine is less flooded here.", + {0, 0, 263, 0, 0, 0, 0, 0}, + "A meandering gold laden vein of quartz and blooming crystals of diamonds\n\ +and topaz burst from the walls of the cave. A passage goes -.***\n", {0} }, + /* 267 */ + {"You are inside the cave.", + {230, 268, 0, 0, 0, 0, 0, 0}, + "A hot steam swirls around our heads, and the walls are warm to the touch.\n\ +The trail winds + and +.**\n", {0} }, + /* 268 */ + {"You are in a rather large chamber.", + {267, 0, 0, 269, 0, 0, 269, 0}, + "Beds of ferns and palm leaves make several cozy nests along the walls. In the\n\ +center of the room is a throne of gold and silver which pulls out into a bed\n\ +of enormous size.*** A passageway - leads down.\n", {0} }, + /* 269 */ + {"You are walking along the edge of a huge abyss.", + {0, 0, 268, 0, 268, 1, 270, 0}, + "Steam is rising in great clouds from the immeasurable depths. A very narrow\n\ +trail winds down.** There is a tunnel +.*\n", {0} }, + /* 270 */ + {"You are on the edge of a huge abyss.", + {0, 0, 0, 0, 269, 1, 271, 0}, + "The trail winds farther down.****\n", {0} }, + /* 271 */ + {"You are winding your way along the abyss.", + {0, 0, 0, 0, 270, 1, 272, 0}, + "The trail continues up and down.****\n", {0} }, + /* 272 */ + {"You are on a wide shelf near the steamy abyss.", + {0, 273, 0, 0, 271, 1, 0, 0}, + "The stifling hot cave seems even hotter to me, staring down into this misty \n\ +abyss. A trail winds up.* A passageway leads -.**\n", {0} }, + /* 273 */ + {"You are in a wide tunnel leading to a fuming abyss.", + {272, 274, 0, 0, 0, 0, 0, 0}, + "The passageway winds through many beautiful formations of crystals and\n\ +sparkling minerals. The tunnel continues - and -.**\n", {0} }, + /* 274 */ + {"You are in a tunnel.", + {273, 231, 0, 0, 0, 0, 0, 0}, + "It is very warm in here. The smell of steam and hot rocks permeates the place.\n\ +The cave continues - and -.**\n", {0} }, + /* 275 */ + {"You are at the bottom of a pit.", + {0, 0, 0, 0, 232, 0, 0, 0}, + "I can see daylight far up at the mouth of the pit. A cool draft wafts down.\n\ +There doesn't seem to be any way out, and I don't remember how we came in.\n\ +If you had a rope it might be possible to climb out. ****\n", {0} }, +}; diff --git a/battlestar/dayobjs.c b/battlestar/dayobjs.c new file mode 100644 index 0000000..12f7095 --- /dev/null +++ b/battlestar/dayobjs.c @@ -0,0 +1,141 @@ +/* $NetBSD: dayobjs.c,v 1.9 2003/08/07 09:37:01 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)dayobjs.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: dayobjs.c,v 1.9 2003/08/07 09:37:01 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +const struct objs dayobjs[] = { + {236, HORSE}, + {237, CAR}, + {275, POT}, + {275, BAR}, + {275, BLOCK}, + {260, COINS}, + {266, DARK}, + {235, TIMER}, + {51, 51}, + {59, 51}, + {48, 51}, + {66, 52}, + {65, 52}, + {19, BOMB}, + {167, NATIVE}, + {21, KNIFE}, + {30, KNIFE}, + {30, CLEAVER}, + {260, SWORD}, + {70, LAND}, + {71, LAND}, + {72, LAND}, + {73, LAND}, + {74, LAND}, + {75, LAND}, + {76, LAND}, + {77, LAND}, + {78, LAND}, + {79, LAND}, + {81, LAND}, + {82, LAND}, + {83, LAND}, + {84, LAND}, + {85, LAND}, + {86, LAND}, + {87, LAND}, + {88, LAND}, + {90, LAND}, + {95, LAND}, + {96, LAND}, + {97, LAND}, + {99, LAND}, + {100, LAND}, + {104, LAND}, + {172, WOODSMAN}, + {172, DEADWOOD}, + {172, MALLET}, + {146, ELF}, + {146, HALBERD}, + {146, SHIELD}, + {190, TWO_HANDED}, + {190, POTION}, + {142, BROAD}, + {258, MAIL}, + {258, HELM}, + {21, MAID}, + {7, VIPER}, + {216, SHOES}, + {64, CYLON}, + {36, CYLON}, + {49, CYLON}, + {8, ROBE}, + {13, AMULET}, + {20, LASER}, + {126, BATHGOD}, + {26, GRENADE}, + {256, GRENADE}, + {237, CHAIN}, + {237, COMPASS}, + {218, LEVIS}, + {164, MACE}, + {137, SHOVEL}, + {11, COINS}, + {24, MATCHES}, + {235, MATCHES}, + {93, MAN}, + {109, PAPAYAS}, + {110, PINEAPPLE}, + {152, PINEAPPLE}, + {154, PINEAPPLE}, + {111, KIWI}, + {149, MANGO}, + {112, COCONUTS}, + {150, COCONUTS}, + {151, COCONUTS}, + {153, COCONUTS}, + {192, COCONUTS}, + {204, COCONUTS}, + {207, COCONUTS}, + {209, COCONUTS}, + {213, COCONUTS}, + {240, COCONUTS}, + {218, RING}, + {130, BRACELET}, + {93, GIRL}, + {268, LAMPON}, + {0, 0} +}; diff --git a/battlestar/extern.h b/battlestar/extern.h new file mode 100644 index 0000000..3c9c9c4 --- /dev/null +++ b/battlestar/extern.h @@ -0,0 +1,387 @@ +/* $NetBSD: extern.h,v 1.30 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)externs.h 8.1 (Berkeley) 5/31/93 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BITS (8 * sizeof (int)) + +#define OUTSIDE (position > 68 && position < 246 && position != 218) +#define rnd(x) (rand() % (x)) +#define max(a,b) ((a) < (b) ? (b) : (a)) +#define testbit(array, index) (array[index/BITS] & (1 << (index % BITS))) +#define setbit(array, index) (array[index/BITS] |= (1 << (index % BITS))) +#define clearbit(array, index) (array[index/BITS] &= ~(1 << (index % BITS))) + + /* well known rooms */ +#define FINAL 275 +#define GARDEN 197 +#define POOLS 126 +#define DOCK 93 + + /* word types */ +#define VERB 0 +#define OBJECT 1 +#define NOUNS 2 +#define PREPS 3 +#define ADJS 4 +#define CONJ 5 + + /* words numbers */ +#define KNIFE 0 +#define SWORD 1 +#define LAND 2 +#define WOODSMAN 3 +#define TWO_HANDED 4 +#define CLEAVER 5 +#define BROAD 6 +#define MAIL 7 +#define HELM 8 +#define SHIELD 9 +#define MAID 10 +#define BODY 10 +#define VIPER 11 +#define LAMPON 12 +#define SHOES 13 +#define CYLON 14 +#define PAJAMAS 15 +#define ROBE 16 +#define AMULET 17 +#define MEDALION 18 +#define TALISMAN 19 +#define DEADWOOD 20 +#define MALLET 21 +#define LASER 22 +#define BATHGOD 23 +#define NORMGOD 24 +#define GRENADE 25 +#define CHAIN 26 +#define ROPE 27 +#define LEVIS 28 +#define MACE 29 +#define SHOVEL 30 +#define HALBERD 31 +#define COMPASS 32 +#define CRASH 33 +#define ELF 34 +#define FOOT 35 +#define COINS 36 +#define MATCHES 37 +#define MAN 38 +#define PAPAYAS 39 +#define PINEAPPLE 40 +#define KIWI 41 +#define COCONUTS 42 +#define MANGO 43 +#define RING 44 +#define POTION 45 +#define BRACELET 46 +#define GIRL 47 +#define GIRLTALK 48 +#define DARK 49 +#define TIMER 50 +#define CHAR 53 +#define BOMB 54 +#define DEADGOD 55 +#define DEADTIME 56 +#define DEADNATIVE 57 +#define NATIVE 58 +#define HORSE 59 +#define CAR 60 +#define POT 61 +#define BAR 62 +#define BLOCK 63 +#define NUMOFOBJECTS 64 + /* non-objects below */ +#define UP 1000 +#define DOWN 1001 +#define AHEAD 1002 +#define BACK 1003 +#define RIGHT 1004 +#define LEFT 1005 +#define TAKE 1006 +#define USE 1007 +#define LOOK 1008 +#define QUIT 1009 +#define NORTH 1010 +#define SOUTH 1011 +#define EAST 1012 +#define WEST 1013 +#define SU 1014 +#define DROP 1015 +#define TAKEOFF 1016 +#define DRAW 1017 +#define PUTON 1018 +#define WEARIT 1019 +#define PUT 1020 +#define INVEN 1021 +#define EVERYTHING 1022 +#define AND 1023 +#define KILL 1024 +#define RAVAGE 1025 +#define UNDRESS 1026 +#define THROW 1027 +#define LAUNCH 1028 +#define LANDIT 1029 +#define LIGHT 1030 +#define FOLLOW 1031 +#define KISS 1032 +#define LOVE 1033 +#define GIVE 1034 +#define SMITE 1035 +#define SHOOT 1036 +#define ON 1037 +#define OFF 1038 +#define TIME 1039 +#define SLEEP 1040 +#define DIG 1041 +#define EAT 1042 +#define SWIM 1043 +#define DRINK 1044 +#define DOOR 1045 +#define SAVE 1046 +#define RIDE 1047 +#define DRIVE 1048 +#define SCORE 1049 +#define BURY 1050 +#define JUMP 1051 +#define KICK 1052 +#define OPEN 1053 +#define VERBOSE 1054 +#define BRIEF 1055 +#define AUXVERB 1056 + + /* injuries */ +#define ARM 6 /* broken arm */ +#define RIBS 7 /* broken ribs */ +#define SPINE 9 /* broken back */ +#define SKULL 11 /* fractured skull */ +#define INCISE 10 /* deep incisions */ +#define NECK 12 /* broken NECK */ +#define NUMOFINJURIES 13 + + /* notes */ +#define CANTLAUNCH 0 +#define LAUNCHED 1 +#define CANTSEE 2 +#define CANTMOVE 3 +#define JINXED 4 +#define DUG 5 +#define NUMOFNOTES 6 + +/* Number of times room description shown. */ +#define ROOMDESC 3 + + /* fundamental constants */ +#define NUMOFROOMS 275 +#define NUMOFWORDS ((NUMOFOBJECTS + BITS - 1) / BITS) +#define LINELENGTH 81 + +#define TODAY 0 +#define TONIGHT 1 +#define CYCLE 100 + + /* initial variable values */ +#define TANKFULL 250 +#define TORPEDOES 10 +#define MAXWEIGHT 60 +#define MAXCUMBER 10 + +/* + * These are flags for objects in the objflags array. OBJ_PLURAL means + * that the object short name is plural; OBJ_AN that it begins with a + * vowel sound so should be preceded by "an" instead of "a"; OBJ_PERSON + * that it is a living person; OBJ_NONOBJ that it is not an object (to + * which any game action can be applied) at all (e.g. footsteps, asteroids). + * Any individual object has at most one of OBJ_PERSON and OBJ_NONOBJ. + */ +#define OBJ_PLURAL 1 +#define OBJ_AN 2 +#define OBJ_PERSON 4 +#define OBJ_NONOBJ 8 + +struct room { + const char *name; + int link[8]; +#define north link[0] +#define south link[1] +#define east link[2] +#define west link[3] +#define up link[4] +#define access link[5] +#define down link[6] +#define flyhere link[7] + const char *desc; + unsigned int objects[NUMOFWORDS]; +}; +extern struct room dayfile[]; +extern struct room nightfile[]; +extern struct room *location; + + /* object characteristics */ +extern const char *const objdes[NUMOFOBJECTS]; +extern const char *const objsht[NUMOFOBJECTS]; +extern const char *const ouch[NUMOFINJURIES]; +extern const int objwt[NUMOFOBJECTS]; +extern const int objcumber[NUMOFOBJECTS]; +extern const int objflags[NUMOFOBJECTS]; +#define is_plural_object(n) (objflags[(n)] & OBJ_PLURAL) +/* + * These macros yield words to use with objects (followed but not preceded + * by spaces, or with no spaces if the expansion is the empty string). + */ +#define A_OR_AN(n) (objflags[(n)] & OBJ_AN ? "an " : "a ") +#define A_OR_AN_OR_THE(n) (is_plural_object((n)) ? "the " : A_OR_AN((n))) +#define A_OR_AN_OR_BLANK(n) (is_plural_object((n)) ? "" : A_OR_AN((n))) +#define IS_OR_ARE(n) (is_plural_object((n)) ? "are " : "is ") + + /* current input line */ +#define WORDLEN 15 +#define NWORD 20 /* words per line */ +extern char words[NWORD][WORDLEN]; +extern int wordvalue[NWORD]; +extern int wordtype[NWORD]; +extern int wordcount, wordnumber; + + /* state of the game */ +extern int ourtime; +extern int position; +extern int direction; +extern int left, right, ahead, back; +extern int ourclock, fuel, torps; +extern int carrying, encumber; +extern int rythmn; +extern int followfight; +extern int ate; +extern int snooze; +extern int meetgirl; +extern int followgod; +extern int godready; +extern int win; +extern int wintime; +extern int wiz; +extern int tempwiz; +extern int matchlight, matchcount; +extern int loved; +extern int pleasure, power, ego; +extern int WEIGHT; +extern int CUMBER; +extern int notes[NUMOFNOTES]; +extern unsigned int inven[NUMOFWORDS]; +extern unsigned int wear[NUMOFWORDS]; +extern char beenthere[NUMOFROOMS + 1]; +extern char injuries[NUMOFINJURIES]; +extern int verbose; + +extern const char *username; + +struct wlist { + const char *string; + int value, article; + struct wlist *next; +}; +extern struct wlist wlist[]; + +struct objs { + short room; + short obj; +}; +extern const struct objs dayobjs[]; +extern const struct objs nightobjs[]; + +#define DEFAULT_SAVE_FILE ".Bstar" + +void bury(void); +int card(const char *, int); +void chime(void); +void convert(int); +void crash(void); +int cypher(void); +void die(void) __attribute__((__noreturn__)); +void diesig(int) __attribute__((__noreturn__)); +void dig(void); +void dooropen(void); +int draw(void); +void drink(void); +int drive(void); +int drop(const char *); +int eat(void); +int fight(int, int); +int follow(void); +char *getcom(char *, int, const char *, const char *); +char *getword(char *, char *, int); +int give(void); +void initialize(const char *); +int jump(void); +void kiss(void); +int land(void); +int launch(void); +void light(void); +void live(void) __attribute__((__noreturn__)); +void love(void); +int moveplayer(int, int); +void murder(void); +void news(void); +void newway(int); +void open_score_file(void); +void parse(void); +void post(char); +void printobjs(void); +int put(void); +int puton(void); +const char *rate(void); +void ravage(void); +void restore(const char *); +int ride(void); +void save(const char *); +char *save_file_name(const char *, size_t); +int shoot(void); +int take(unsigned int[]); +int takeoff(void); +int throw(const char *); +const char *truedirec(int, char); +int ucard(const unsigned int *); +int use(void); +int visual(void); +int wearit(void); +void whichway(struct room); +void wordinit(void); +void writedes(void); +int zzz(void); diff --git a/battlestar/fly.c b/battlestar/fly.c new file mode 100644 index 0000000..ee0bf90 --- /dev/null +++ b/battlestar/fly.c @@ -0,0 +1,299 @@ +/* $NetBSD: fly.c,v 1.12 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)fly.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: fly.c,v 1.12 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" +#undef UP +#include + +#define MIDR (LINES/2 - 1) +#define MIDC (COLS/2 - 1) + +static int row, column; +static int dr = 0, dc = 0; +static char destroyed; +int ourclock = 120; /* time for all the flights in the game */ +static char cross = 0; +static sig_t oldsig; + +static void blast(void); +static void endfly(void); +static void moveenemy(int); +static void notarget(void); +static void screen(void); +static void succumb(int); +static void target(void); + +static void +succumb(dummy) + int dummy __attribute__((__unused__)); +{ + if (oldsig == SIG_DFL) { + endfly(); + exit(1); + } + if (oldsig != SIG_IGN) { + endfly(); + (*oldsig) (SIGINT); + } +} + +int +visual() +{ + destroyed = 0; + if (initscr() == NULL) { + puts("Whoops! No more memory..."); + return (0); + } + oldsig = signal(SIGINT, succumb); + cbreak(); + noecho(); + screen(); + row = rnd(LINES - 3) + 1; + column = rnd(COLS - 2) + 1; + moveenemy(0); + for (;;) { + switch (getchar()) { + + case 'h': + case 'r': + dc = -1; + fuel--; + break; + + case 'H': + case 'R': + dc = -5; + fuel -= 10; + break; + + case 'l': + dc = 1; + fuel--; + break; + + case 'L': + dc = 5; + fuel -= 10; + break; + + case 'j': + case 'u': + dr = 1; + fuel--; + break; + + case 'J': + case 'U': + dr = 5; + fuel -= 10; + break; + + case 'k': + case 'd': + dr = -1; + fuel--; + break; + + case 'K': + case 'D': + dr = -5; + fuel -= 10; + break; + + case '+': + if (cross) { + cross = 0; + notarget(); + } else + cross = 1; + break; + + case ' ': + case 'f': + if (torps) { + torps -= 2; + blast(); + if (row == MIDR && column - MIDC < 2 && MIDC - column < 2) { + destroyed = 1; + alarm(0); + } + } else + mvaddstr(0, 0, "*** Out of torpedoes. ***"); + break; + + case 'q': + endfly(); + return (0); + + default: + mvaddstr(0, 26, "Commands = r,R,l,L,u,U,d,D,f,+,q"); + continue; + + case EOF: + break; + } + if (destroyed) { + endfly(); + return (1); + } + if (ourclock <= 0) { + endfly(); + die(); + } + } +} + +static void +screen() +{ + int r, c, n; + int i; + + clear(); + i = rnd(100); + for (n = 0; n < i; n++) { + r = rnd(LINES - 3) + 1; + c = rnd(COLS); + mvaddch(r, c, '.'); + } + mvaddstr(LINES - 1 - 1, 21, "TORPEDOES FUEL TIME"); + refresh(); +} + +static void +target() +{ + int n; + + move(MIDR, MIDC - 10); + addstr("------- + -------"); + for (n = MIDR - 4; n < MIDR - 1; n++) { + mvaddch(n, MIDC, '|'); + mvaddch(n + 6, MIDC, '|'); + } +} + +static void +notarget() +{ + int n; + + move(MIDR, MIDC - 10); + addstr(" "); + for (n = MIDR - 4; n < MIDR - 1; n++) { + mvaddch(n, MIDC, ' '); + mvaddch(n + 6, MIDC, ' '); + } +} + +static void +blast() +{ + int n; + + alarm(0); + move(LINES - 1, 24); + printw("%3d", torps); + for (n = LINES - 1 - 2; n >= MIDR + 1; n--) { + mvaddch(n, MIDC + MIDR - n, '/'); + mvaddch(n, MIDC - MIDR + n, '\\'); + refresh(); + } + mvaddch(MIDR, MIDC, '*'); + for (n = LINES - 1 - 2; n >= MIDR + 1; n--) { + mvaddch(n, MIDC + MIDR - n, ' '); + mvaddch(n, MIDC - MIDR + n, ' '); + refresh(); + } + alarm(1); +} + +static void +moveenemy(dummy) + int dummy __attribute__((__unused__)); +{ + double d; + int oldr, oldc; + + oldr = row; + oldc = column; + if (fuel > 0) { + if (row + dr <= LINES - 3 && row + dr > 0) + row += dr; + if (column + dc < COLS - 1 && column + dc > 0) + column += dc; + } else + if (fuel < 0) { + fuel = 0; + mvaddstr(0, 60, "*** Out of fuel ***"); + } + d = (double) ((row - MIDR) * (row - MIDR) + (column - MIDC) * (column - MIDC)); + if (d < 16) { + row += (rnd(9) - 4) % (4 - abs(row - MIDR)); + column += (rnd(9) - 4) % (4 - abs(column - MIDC)); + } + ourclock--; + mvaddstr(oldr, oldc - 1, " "); + if (cross) + target(); + mvaddstr(row, column - 1, "/-\\"); + move(LINES - 1, 24); + printw("%3d", torps); + move(LINES - 1, 42); + printw("%3d", fuel); + move(LINES - 1, 57); + printw("%3d", ourclock); + refresh(); + signal(SIGALRM, moveenemy); + alarm(1); +} + +static void +endfly() +{ + alarm(0); + signal(SIGALRM, SIG_DFL); + mvcur(0, COLS - 1, LINES - 1, 0); + endwin(); + setvbuf(stdout, NULL, _IOLBF, BUFSIZ); /* Needed for ncurses */ + signal(SIGTSTP, SIG_DFL); + signal(SIGINT, oldsig); +} diff --git a/battlestar/getcom.c b/battlestar/getcom.c new file mode 100644 index 0000000..1b60e11 --- /dev/null +++ b/battlestar/getcom.c @@ -0,0 +1,123 @@ +/* $NetBSD: getcom.c,v 1.12 2004/11/05 21:30:31 dsl Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)getcom.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: getcom.c,v 1.12 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +char * +getcom(buf, size, prompt, error) + char *buf; + int size; + const char *prompt, *error; +{ + for (;;) { + fputs(prompt, stdout); + if (fgets(buf, size, stdin) == 0) { + if (feof(stdin)) + die(); + clearerr(stdin); + continue; + } + while (isspace((unsigned char)*buf)) + buf++; + if (*buf) + break; + if (error) + puts(error); + } + /* If we didn't get to the end of the line, don't read it in next time. */ + if (buf[strlen(buf) - 1] != '\n') { + int i; + while ((i = getchar()) != '\n' && i != EOF) + continue; + } + return (buf); +} + + +/* + * shifts to UPPERCASE if flag > 0, lowercase if flag < 0, + * and leaves it unchanged if flag = 0 + */ +char * +getword(buf1, buf2, flag) + char *buf1, *buf2; + int flag; +{ + int cnt; + + cnt = 1; + while (isspace((unsigned char)*buf1)) + buf1++; + if (*buf1 != ',') { + if (!*buf1) { + *buf2 = 0; + return (0); + } + while (cnt < WORDLEN && *buf1 && !isspace((unsigned char)*buf1) && *buf1 != ',') + if (flag < 0) { + if (isupper((unsigned char)*buf1)) { + *buf2++ = tolower((unsigned char)*buf1++); + cnt++; + } else { + *buf2++ = *buf1++; + cnt++; + } + } else if (flag > 0) { + if (islower((unsigned char)*buf1)) { + *buf2++ = toupper((unsigned char)*buf1++); + cnt++; + } else { + *buf2++ = *buf1++; + cnt++; + } + } else { + *buf2++ = *buf1++; + cnt++; + } + if (cnt == WORDLEN) + while (*buf1 && !isspace((unsigned char)*buf1)) + buf1++; + } else + *buf2++ = *buf1++; + *buf2 = '\0'; + while (isspace((unsigned char)*buf1)) + buf1++; + return (*buf1 ? buf1 : NULL); +} diff --git a/battlestar/globals.c b/battlestar/globals.c new file mode 100644 index 0000000..262b23e --- /dev/null +++ b/battlestar/globals.c @@ -0,0 +1,276 @@ +/* $NetBSD: globals.c,v 1.19 2003/08/07 09:37:02 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)globals.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: globals.c,v 1.19 2003/08/07 09:37:02 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int WEIGHT = MAXWEIGHT; +int CUMBER = MAXCUMBER; + +const char *const objdes[NUMOFOBJECTS] = { + "There is a knife here.", + "There are an exquisitely crafted sword and scabbard here.", + NULL, /* Can land from here. */ + "There is a fierce woodsman here brandishing a heavy mallet.", + "There is an unwieldy two-handed sword here.", + "There is a bloody meat cleaver here.", + "A rusty broadsword is lying here.", + "There is an ancient coat of finely woven mail here.", + "There is a old dented helmet with an ostrich plume here.", + "There is a shield of some native tribe here.", + "The maid's body is lying here. She was murdered!", + "There is a Viper ready for launch here.", + "A kerosene lantern is burning luridly here.", + "An old pair of shoes has been discarded here.", + NULL, /* Cylon. */ + "There is a pair of pajamas here.", + "A kingly robe of royal purple and spun gold is draped here.", + "There is a strange golden amulet on the floor here.", + "A medallion of solid gold shimmers on the ground nearby.", + "A talisman of gold is lying here.", + "A dead woodsman has fallen here. He was savagely murdered.", + "A heavy wooden mallet lies nearby.", + "There is a laser pistol here.", + "A flower-like young goddess is bathing in the hot mineral pools. She is \nwatching you, but continues to steep and sing softly.", + "The goddess is reclining on a bed of ferns and studying you intently.", + "There is a grenade here.", + "There is a length of heavy chain here.", + "There is a stout rope here.", + "There is a pair of Levi's here.", + "A bloody mace is lying on the ground here.", + "There is a shovel here.", + "A long, sharp halberd is propped up here.", + "There is a compass here.", + "Wreckage and smoldering debris from a crash litter the ground here.", + "A woodland Elf armed with a shield and deadly halberd lunges toward you!", + "I think I hear footsteps behind us.", + "There are a few coins here.", + "There are some matches here.", + "An unctuous man in a white suit and a dwarf are standing here.", + "There are some ripe papayas here.", + "There is a ripe pineapple here.", + "There are some kiwi fruit here.", + "There are some coconuts here.", + "There is a ripe mango here.", + "There is a sparkling diamond ring here.", + "There is a colorful pink potion in a small crystal vial here.", + "A gold bracelet is on the ground here.", + "A swarthy woman with stern features pulls you aside from the crowd,\n'I must talk to you -- but not here. Meet me at midnight in the gardens.'", + "The swarthy woman has been awaiting you anxiously. 'I must warn you that the\nIsland has anticipated your Quest. You will not be welcomed. The Darkness is\nstrong where you must search. Seek not the shadows save only at night, for\nthen are they the weakest. In the mountains far from here a canyon winds\nwith ferns and streams and forgotten vines. There you must go. Take this\nrope.'", + "Out from the shadows a figure leaps! His black cape swirls around, and he\nholds a laser sword at your chest. 'So, you have come to fulfill the Quest.\nHa! Your weapons are no match for me!'", + "An old-timer with one eye missing and no money for a drink sits at the bar.", + "You are flying through an asteroid field!", + "A planet is nearby.", + "The ground is charred here.", + "There is a thermonuclear warhead here.", + "The fragile, beautiful young goddess lies here. You murdered her horribly.", + "The old-timer is lying here. He is dead.", + "The native girl's body is lying here.", + "A native girl is sitting here.", + "A gorgeous white stallion is standing here.", + "The keys are in the ignition.", + "A pot of pearls and jewels is sitting here.", + "A bar of solid gold is here.", + "There is a 10 kilogram diamond block here." + +}; + +const char *const objsht[NUMOFOBJECTS] = { + "knife", + "fine sword", + NULL, /* Can land from here. */ + "Woodsman", + "two-handed sword", + "meat cleaver", + "broadsword", + "coat of mail", + "plumed helmet", + "shield", + "maid's body", + "viper", + "lantern", + "shoes", + NULL, /* Cylon. */ + "pajamas", + "robe", + "amulet", + "medallion", + "talisman", + "woodsman's body", + "wooden mallet", + "laser", + NULL, /* Bathing goddess. */ + NULL, /* Goddess. */ + "grenade", + "chain", + "rope", + "levis", + "mace", + "shovel", + "halberd", + "compass", + NULL, /* Crash debris. */ + "Elf", + NULL, /* Footsteps. */ + "coins", + "match book", + NULL, /* Man and dwarf. */ + "papayas", + "pineapple", + "kiwi", + "coconuts", + "mango", + "ring", + "potion", + "bracelet", + NULL, /* Swarthy woman. */ + NULL, /* Swarthy woman (with message). */ + "Dark Lord", + NULL, /* Old-timer. */ + NULL, /* Asteroid field. */ + NULL, /* Planet nearby. */ + NULL, /* Charred ground. */ + "warhead", + "goddess's body", + "old-timer's body", + "girl's body", + NULL, /* Native girl. */ + "stallion", + "car", + "pot of jewels", + "bar of gold", + "diamond block" +}; + +const char *const ouch[NUMOFINJURIES] = { + "some minor abrasions", + "some minor lacerations", + "a minor puncture wound", + "a minor amputation", + "a sprained wrist", + "a fractured ankle and shattered kneecap", + "a broken arm and dislocated shoulder", + "a few broken ribs", + "a broken leg and torn ligaments", + "a broken back and ruptured spleen", + "some deep incisions and a loss of blood", + "a fractured skull and mashed face", + "a broken neck" +}; + +const int objwt[NUMOFOBJECTS] = { + 1, 5, 0, 10, 15, 2, 10, 10, + 3, 5, 50, 2500, 2, 1, 100, 1, + 2, 1, 1, 1, 60, 10, 5, 0, + 50, 5, 15, 5, 1, 20, 10, 10, + 0, 0, 0, 0, 1, 0, 0, 1, + 1, 1, 2, 1, 0, 0, 0, 0, + 0, 0, 100, 0, 0, 0, 55, 47, + 50, 45, 45, 100, 2000, 30, 20, 10 +}; + +const int objcumber[NUMOFOBJECTS] = { + 1, 5, 0, 150, 10, 1, 5, 2, + 2, 1, 5, 10, 1, 1, 10, 1, + 1, 1, 1, 1, 7, 5, 4, 0, + 0, 1, 1, 1, 1, 5, 4, 4, + 1, 0, 0, 0, 1, 0, 0, 1, + 1, 1, 3, 1, 0, 0, 1, 0, + 0, 0, 10, 0, 0, 0, 7, 8, + 10, 8, 8, 10, 10, 3, 1, 2 +}; + +const int objflags[NUMOFOBJECTS] = { + 0, 0, OBJ_NONOBJ, OBJ_PERSON, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, OBJ_PLURAL, OBJ_NONOBJ, OBJ_PLURAL, + 0, OBJ_AN, 0, 0, + 0, 0, 0, OBJ_PERSON, + OBJ_PERSON, 0, 0, 0, + OBJ_PLURAL, 0, 0, 0, + 0, 0, OBJ_AN|OBJ_PERSON, OBJ_NONOBJ, + OBJ_PLURAL, 0, OBJ_PERSON, OBJ_PLURAL, + 0, 0, OBJ_PLURAL, 0, + 0, 0, 0, OBJ_PERSON, + OBJ_PERSON, OBJ_PERSON, OBJ_PERSON, OBJ_NONOBJ, + OBJ_NONOBJ, OBJ_NONOBJ, 0, 0, + OBJ_AN, 0, OBJ_PERSON, 0, + 0, 0, 0, 0 +}; + +int win = 1; +int matchcount = 20; +int followgod = -1; +int followfight = -1; + +struct room *location; + + /* current input line */ +char words[NWORD][WORDLEN]; +int wordvalue[NWORD]; +int wordtype[NWORD]; +int wordcount, wordnumber; + + /* state of the game */ +int ourtime; +int position; +int direction; +int left, right, ahead, back; +int fuel, torps; +int carrying, encumber; +int rythmn; +int ate; +int snooze; +int meetgirl; +int godready; +int wintime; +int wiz; +int tempwiz; +int matchlight; +int loved; +int pleasure, power, ego; +int notes[NUMOFNOTES]; +unsigned int inven[NUMOFWORDS]; +unsigned int wear[NUMOFWORDS]; +char beenthere[NUMOFROOMS + 1]; +char injuries[NUMOFINJURIES]; +int verbose = 0; + +const char *username; diff --git a/battlestar/init.c b/battlestar/init.c new file mode 100644 index 0000000..e904aad --- /dev/null +++ b/battlestar/init.c @@ -0,0 +1,145 @@ +/* $NetBSD: init.c,v 1.14 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)init.c 8.4 (Berkeley) 4/30/95"; +#else +__RCSID("$NetBSD: init.c,v 1.14 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +static int checkout(const char *); +static const char *getutmp(void); +static int wizard(const char *); + +void +initialize(filename) + const char *filename; +{ + const struct objs *p; + char *savefile; + + puts("Version 4.2, fall 1984."); + puts("First Adventure game written by His Lordship, the honorable"); + puts("Admiral D.W. Riggle\n"); + location = dayfile; + srand(getpid()); + username = getutmp(); + wordinit(); + if (filename == NULL) { + direction = NORTH; + ourtime = 0; + snooze = CYCLE * 1.5; + position = 22; + setbit(wear, PAJAMAS); + fuel = TANKFULL; + torps = TORPEDOES; + for (p = dayobjs; p->room != 0; p++) + setbit(location[p->room].objects, p->obj); + } else { + savefile = save_file_name(filename, strlen(filename)); + restore(savefile); + free(savefile); + } + wiz = wizard(username); + signal(SIGINT, diesig); +} + +static const char * +getutmp() +{ + struct passwd *ptr; + + ptr = getpwuid(getuid()); + if (ptr == NULL) + return ""; + else + return strdup(ptr->pw_name); +} + +/* Hereditary wizards. A configuration file might make more sense. */ +static const char *const list[] = { + "riggle", + "chris", + "edward", + "comay", + "yee", + "dmr", + "ken", + 0 +}; + +static const char *const badguys[] = { + "wnj", + "root", + "ted", + 0 +}; + +static int +wizard(uname) + const char *uname; +{ + int flag; + + if ((flag = checkout(uname)) != 0) + printf("You are the Great wizard %s.\n", uname); + return flag; +} + +static int +checkout(uname) + const char *uname; +{ + const char *const *ptr; + + for (ptr = list; *ptr; ptr++) + if (strcmp(*ptr, uname) == 0) + return 1; + for (ptr = badguys; *ptr; ptr++) + if (strcmp(*ptr, uname) == 0) { + printf("You are the Poor anti-wizard %s. Good Luck!\n", + uname); + CUMBER = 3; + WEIGHT = 9; /* that'll get him! */ + ourclock = 10; + setbit(location[7].objects, WOODSMAN); /* viper room */ + setbit(location[20].objects, WOODSMAN); /* laser " */ + setbit(location[13].objects, DARK); /* amulet " */ + setbit(location[8].objects, ELF); /* closet */ + return 0; /* anything else, Chris? */ + } + return 0; +} diff --git a/battlestar/misc.c b/battlestar/misc.c new file mode 100644 index 0000000..5bcbacb --- /dev/null +++ b/battlestar/misc.c @@ -0,0 +1,67 @@ +/* $NetBSD: misc.c,v 1.8 2003/08/07 09:37:02 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)misc.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: misc.c,v 1.8 2003/08/07 09:37:02 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +int +card(array, size) /* for beenthere, injuries */ + const char *array; + int size; +{ + const char *end = array + size; + int i = 0; + + while (array < end) + if (*array++) + i++; + return (i); +} + +int +ucard(array) + const unsigned int *array; +{ + int j = 0, n; + + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(array, n)) + j++; + return (j); +} diff --git a/battlestar/nightfile.c b/battlestar/nightfile.c new file mode 100644 index 0000000..696d96d --- /dev/null +++ b/battlestar/nightfile.c @@ -0,0 +1,1457 @@ +/* $NetBSD: nightfile.c,v 1.12 2003/08/07 09:37:02 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)nightfile.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: nightfile.c,v 1.12 2003/08/07 09:37:02 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +struct room nightfile[] = { + {0, {0}, 0, {0} }, + /* 1 */ + {"You are in the main hangar.", + {5, 2, 9, 3, 3, 1, 0, 0}, + "This is a huge bay where many fighters and cargo craft lie. Alarms are \n\ +sounding and fighter pilots are running to their ships. Above is a gallery\n\ +overlooking the bay. The scream of turbo engines is coming from +. The rest\n\ +of the hangar is +. There is an exit +.*\n", {0} }, + /* 2 */ + {"This is the landing bay.", + {1, 0, 10, 0, 0, 0, 0, 0}, + "Ships are landing here, some heavily damaged. Enemy fighters continually\n\ +strafe this vulnerable port. The main hangar is +. *\n\ +There is an exit +.*\n", {0} }, + /* 3 */ + {"You are in the gallery.", + {4, 0, 0, 0, 0, 0, 1, 0}, + "From here a view of the entire landing bay reveals that our battlestar\n\ +is near destruction. Fires are spreading out of control and laser blasts\n\ +lick at the shadows. The control room is +. ***\n", {0} }, + /* 4 */ + {"You are in the control room.", + {0, 3, 0, 0, 0, 0, 5, 0}, + "Several frantic technicians are flipping switches wildly but otherwise\n\ +this room seems fairly deserted. A weapons locker has been left open.\n\ +A staircase leads down. * There is a way -. ** \n", {0} }, + /* 5 */ + {"This is the launch room.", + {6, 1, 7, 0, 4, 1, 0, 0}, + "From the launch tubes here fighters blast off into space. Only one is left,\n\ +and it is guarded by two fierce men. A staircase leads up from here.\n\ +There is a cluttered workbench +. From the main hangar come sounds of great\n\ +explosions. The main hangar is +. The viper launch tubes are -.*\n", {0} }, + /* 6 */ + {"You are at the workbench.", + {0, 5, 7, 0, 0, 0, 0, 0}, + "Strange and unwieldy tools are arranged here including a lunch box \n\ +and pneumatic wrenches and turbo sprocket rockets.*\n\ +The launch room is +. The remaining viper is +.*\n", {0} }, + /* 7 */ + {"You are in the viper launch tube.", + {0, 5, 0, 5, 32, 0, 0, 0}, + "The two guards are eyeing you warily! ****\n", {0} }, + /* 8 */ + {"This is a walk in closet.", + {22, 0, 0, 0, 0, 0, 0, 0}, + "A wardrobe of immense magnitude greets the eye. Furs and robes of kings\n\ +hang on rack after rack. Silken gowns, capes woven with spun gold, and \n\ +delicate synthetic fabrics are stowed here. The bedroom is +.***\n", {0} }, + /* 9 */ + {"You are in a wide hallway leading to the main hangar.", + {0, 0, 11, 1, 0, 0, 0, 0}, + "The walls and ceiling here have been blasted through in several places.\n\ +It looks as if quite a battle has been fought for possession of the landing bay\n\ +Gaping corpses litter the floor.** The hallway continues +.\n\ +The main hangar is +.\n", {0} }, + /* 10 */ + {"You are in a wide hallway leading to the landing bay.", + {0, 0, 12, 2, 0, 0, 0, 0}, + "Most of the men and supplies needed in the main hangar come through this\n\ +corridor, but the wounded are forced to use it too. It very dank and\n\ +crowded here, and the floor is slippery with blood.**\n\ +The hallway continues -. The landing bay is +.\n", {0} }, + /* 11 */ + {"The hallway is very congested with rubble here.", + {0, 0, 0, 9, 13, 1, 0, 0}, + "It is too choked with broken steel girders and other debris to continue\n\ +on much farther. Above, the ceiling has caved in and it is possible to \n\ +climb up. There is not much chance to go -, -, or -.\n\ +But the hallway seems clearer +.\n", {0} }, + /* 12 */ + {"A wide hallway and a more narrow walkway meet here.", + {14, 15, 0, 10, 0, 0, 0, 0}, + "The intersection is crowded with the many wounded who have come up\n\ +the wide hallway and continued +. The walkway is less crowded +.\n\ +The wide hallway goes *-.\n", {0} }, + /* 13 */ + {"You are in what was once an elegant stateroom.", + {16, 0, 0, 0, 0, 0, 11, 0}, + "Whoever lived in this stateroom, he and his female companion\n\ +were mercilessly slain in their sleep. Clothes, trinkets and personal\n\ +belongings are scattered all across the floor. Through a hole in the\n\ +collapsed floor I can see a hallway below. A door is +.***\n", {0} }, + /* 14 */ + {"You're at the entrance to the sick bay.", + {17, 12, 18, 0, 0, 0, 0, 0}, + "The wounded are entering the sick bay in loudly moaning files.\n\ +The walkway continues - and +. A doctor is motioning for you to \n\ +come to the -. *\n", {0} }, + /* 15 */ + {"You're in the walkway.", + {12, 19, 0, 0, 0, 0, 0, 0}, + "Most of the men and supplies were coming from the armory. The walkway\n\ +continues -. The armory is +.**\n", {0} }, + /* 16 */ + {"These are the executive suites of the battlestar.", + {20, 13, 21, 22, 23, 1, 24, 0}, + "Luxurious staterooms carpeted with crushed velvet and adorned with beaten\n\ +gold open onto this parlor. A wide staircase with ivory banisters leads\n\ +up or down. This parlor leads into a hallway +. The bridal suite is\n\ ++. Other rooms lie - and +.\n", {0} }, + /* 17 */ + {"You're in a long dimly lit hallway.", + {0, 14, 25, 0, 0, 0, 0, 0}, + "This part of the walkway is deserted. There is a dead end +. The\n\ +entrance to the sickbay is +. The walkway turns sharply -.*\n", {0} }, + /* 18 */ + {"This is the sick bay.", + {0, 0, 0, 14, 0, 0, 0, 0}, + "Sinister nurses with long needles and pitiful aim probe the depths of suffering\n\ +here. Only the mortally wounded receive medical attention on a battlestar,\n\ +but afterwards they are thrown into the incinerators along with the rest.**\n\ +Nothing but death and suffering +. The walkway is +.\n", {0} }, + /* 19 */ + {"You're in the armory.", + {15, 26, 0, 0, 0, 0, 0, 0}, + "An armed guard is stationed here 365 sectars a yarn to protect the magazine.\n\ +The walkway is +. The magazine is +.**\n", {0} }, + /* 20 */ + {"The hallway ends here at the presidential suite.", + {27, 16, 0, 0, 0, 0, 0, 0}, + "The door to this suite is made from solid magnesium, and the entryway is\n\ +inlaid with diamonds and fire opals. The door is ajar +. The hallway\n\ +goes -.**\n", {0} }, + /* 21 */ + {"This is the maid's utility room.", + {0, 0, 0, 16, 0, 0, 0, 0}, + "What a gruesome sight! The maid has been brutally drowned in a bucket of\n\ +Pine Sol and repeatedly stabbed in the back with a knife.***\n\ +The hallway is +.\n", {0} }, + /* 22 */ + {"This is a luxurious stateroom.", + {0, 8, 16, 0, 0, 0, 0, 0}, + "The floor is carpeted with a soft animal fur and the great wooden furniture\n\ +is inlaid with strips of platinum and gold. Electronic equipment built\n\ +into the walls and ceiling is flashing wildly. The floor shudders and\n\ +the sounds of dull explosions rumble though the room. From a window in\n\ +the wall + comes a view of darkest space. There is a small adjoining\n\ +room +, and a doorway +.*\n", {0} }, + /* 23 */ + {"You are at the entrance to the dining hall.", + {0, 0, 28, 0, 0, 0, 16, 0}, + "A wide staircase with ebony banisters leads down here.**\n\ +The dining hall is -.*\n", {0} }, + /* 24 */ + {"This was once the first class lounge.", + {0, 0, 29, 0, 16, 1, 0, 0}, + "There is much rubble and destruction here that was not apparent elsewhere.\n\ +The walls and ceilings have broken in in some places. A staircase with\n\ +red coral banisters leads up. It is impossible to go - or -.\n\ +It seems a little clearer +.*\n", {0} }, + /* 25 */ + {"You are in a narrow stairwell.", + {0, 17, 0, 0, 30, 1, 0, 0}, + "These dusty and decrepit stairs lead up. There is no way -. The\n\ +hallway turns sharply -.**\n", {0} }, + /* 26 */ + {"You are in the magazine.", + {19, 0, 0, 0, 0, 0, 0, 0}, + "Rows and rows of neatly stacked ammunition for laser pistols and grenade\n\ +launchers are here. The armory is +.***\n", {0} }, + /* 27 */ + {"You're in the presidential suite.", + {0, 20, 0, 0, 0, 0, 0, 0}, + "Apparently the president has been assassinated. A scorched figure lies\n\ +face downward on the carpet clutching his chest.*\n\ +The hallway leads -.**\n", {0} }, + /* 28 */ + {"You are in the dining hall.", + {0, 30, 31, 23, 0, 0, 0, 0}, + "This was the scene of a mass suicide. Hundreds of ambassadors and assorted\n\ +dignitaries sit slumped over their breakfast cereal. I suppose the news\n\ +of the cylon attack killed them. There is a strange chill in this room. I\n\ +would not linger here. * The kitchen is +. Entrances + and +.\n", {0} }, + /* 29 */ + {"The debris is very thick here.", + {0, 11, 0, 24, 0, 0, 0, 0}, + "Broken furniture, fallen girders, and other rubble block the way.\n\ +There is not much chance to continue -, -, or -.\n\ +It would be best to go -.\n", {0} }, + /* 30 */ + {"You are in the kitchen.", + {28, 0, 0, 0, 0, 0, 0, 0}, + "This room is full of shining stainless steel and burnished bronze cookware. An \n\ +assortment of tropical fruits and vegetables as well as fine meats and cheeses \n\ +lies on a sterling platter. The chef, unfortunately, has been skewered like a \n\ +side of beef. The dining room is +. ** There is a locked door +.\n", {0} }, + /* 31 */ + {"You are in an arched entry leading to the dining room.", + {0, 0, 0, 28, 0, 0, 0, 0}, + "The door leading out is bolted shut from the outside and is very strong.***\n\ +The dining room is +.\n", {0} }, + /* 32 */ + {"You are in space.", + {33, 34, 35, 36, 37, 1, 33, 1}, + "****\n", {0} }, + /* 33 */ + {"You are in space.", + {38, 32, 39, 40, 41, 1, 42, 1}, + "****\n", {0} }, + /* 34 */ + {"You are in space.", + {32, 44, 45, 46, 47, 1, 48, 1}, + "****\n", {0} }, + /* 35 */ + {"You are in space.", + {40, 45, 49, 32, 50, 1, 51, 1}, + "****\n", {0} }, + /* 36 */ + {"You are in space.", + {41, 46, 32, 52, 53, 1, 54, 1}, + "****\n", {0} }, + /* 37 */ + {"You are in space.", + {42, 47, 50, 53, 55, 1, 32, 1}, + "****\n", {0} }, + /* 38 */ + {"You are in space.", + {43, 48, 51, 54, 32, 1, 56, 1}, + "****\n", {0} }, + /* 39 */ + {"You are in space.", + {57, 33, 40, 41, 42, 1, 43, 1}, + "****\n", {0} }, + /* 40 */ + {"You are in space.", + {39, 35, 57, 33, 58, 1, 59, 1}, + "****\n", {0} }, + /* 41 */ + {"You are in space.", + {39, 36, 33, 59, 60, 1, 61, 1}, + "****\n", {0} }, + /* 42 */ + {"You are in space.", + {39, 37, 58, 60, 62, 1, 33, 1}, + "****\n", {0} }, + /* 43 */ + {"You are in space.", + {39, 38, 59, 61, 33, 1, 63, 1}, + "****\n", {0} }, + /* 44 */ + {"You are in space.", + {34, 64, 45, 46, 47, 1, 48, 1}, + "****\n", {0} }, + /* 45 */ + {"You are in space.", + {35, 44, 49, 34, 50, 1, 51, 1}, + "****\n", {0} }, + /* 46 */ + {"You are in space.", + {36, 44, 34, 52, 53, 1, 54, 1}, + "****\n", {0} }, + /* 47 */ + {"You are in space.", + {37, 44, 50, 53, 55, 1, 34, 1}, + "****\n", {0} }, + /* 48 */ + {"You are in space.", + {38, 44, 51, 54, 34, 1, 56, 1}, + "****\n", {0} }, + /* 49 */ + {"You are in space.", + {49, 49, 52, 35, 49, 1, 49, 1}, + "****\n", {0} }, + /* 50 */ + {"You are in space.", + {58, 47, 49, 37, 55, 1, 35, 1}, + "****\n", {0} }, + /* 51 */ + {"You are in space.", + {59, 48, 49, 38, 35, 1, 56, 1}, + "****\n", {0} }, + /* 52 */ + {"You are in space.", + {52, 52, 36, 49, 52, 1, 52, 1}, + "****\n", {0} }, + /* 53 */ + {"You are in space.", + {60, 46, 37, 52, 55, 1, 36, 1}, + "****\n", {0} }, + /* 54 */ + {"You are in space.", + {61, 48, 38, 52, 36, 1, 56, 1}, + "****\n", {0} }, + /* 55 */ + {"You are in space.", + {62, 55, 55, 55, 56, 1, 37, 1}, + "****\n", {0} }, + /* 56 */ + {"You are in space.", + {56, 56, 56, 56, 38, 1, 55, 1}, + "****\n", {0} }, + /* 57 */ + {"You are in space.", + {65, 39, 57, 57, 57, 1, 57, 1}, + "****\n", {0} }, + /* 58 */ + {"You are in space.", + {39, 50, 49, 42, 62, 1, 40, 1}, + "****\n", {0} }, + /* 59 */ + {"You are in space.", + {39, 51, 49, 43, 40, 1, 63, 1}, + "****\n", {0} }, + /* 60 */ + {"You are in space.", + {39, 53, 43, 59, 62, 1, 41, 1}, + "****\n", {0} }, + /* 61 */ + {"You are in space.", + {39, 54, 43, 59, 41, 1, 56, 1}, + "****\n", {0} }, + /* 62 */ + {"You are in space.", + {39, 55, 62, 62, 56, 1, 42, 1}, + "****\n", {0} }, + /* 63 */ + {"You are in space.", + {39, 56, 35, 36, 43, 1, 55, 1}, + "****\n", {0} }, + /* 64 */ + {"You are in space.", + {44, 66, 66, 66, 66, 1, 66, 1}, + "****\n", {0} }, + /* 65 */ + {"You are in space.", + {67, 57, 67, 67, 67, 1, 67, 1}, + "****\n", {0} }, + /* 66 */ + {"You are in space.", + {64, 68, 68, 68, 68, 1, 68, 1}, + "****\n", {0} }, + /* 67 */ + {"You are orbiting a small blue planet.", + {67, 67, 67, 67, 65, 1, 69, 1}, + "****\n", {0} }, + /* 68 */ + {"You are orbiting a tropical planet.", + {68, 68, 68, 68, 66, 1, 70, 1}, + "****\n", {0} }, + /* 69 */ + {"You are flying through a dense fog.", + {69, 69, 69, 69, 69, 1, 69, 1}, + "A cold grey sea of mist is swirling around the windshield and water droplets\n\ +are spewing from the wingtips. Ominous shadows loom in the darkness and it\n\ +feels as if a trap is closing around us. I have lost all sense of direction.\n\ +****\n", {0} }, + /* 70 */ + {"You are approaching an island.", + {71, 72, 73, 74, 68, 1, 0, 1}, + "Feather palms outlined by mellow moonlight and a silvery black ocean line\n\ +the perimeter of the island. Mighty mountains of emerald and amethyst rise\n\ +like jagged teeth from black gums. The land rises sharply +. The shore\n\ +line stretches on *+.*\n", {0} }, + /* 71 */ + {"You are flying over a mountainous region.", + {75, 73, 76, 77, 68, 1, 0, 1}, +"Below is a shadow=filled canyon with looming spires and pinnacles and\n\ +luminous waterfalls plummeting down beyond sight. **The ocean is +.*\n", {0} }, + /* 72 */ + {"You are flying over the ocean.", + {74, 78, 78, 78, 68, 1, 0, 1}, + "You bank over the water and your wingtips dip low to the green waves. The\n\ +sea is very shallow here and the white coral beds beneath us teem with \n\ +shadowy fish.****\n", {0} }, + /* 73 */ + {"You are flying over the beach.", + {71, 72, 79, 74, 68, 1, 80, 1}, + "A warm gentle surf caresses the beach here. The land rises\n\ +sharply +.* The beach is lost in low cliffs +.*\n", {0} }, + /* 74 */ + {"You are flying over a large lagoon.", + {81, 72, 73, 82, 68, 1, 0, 1}, + "The water's brink winds tortuously inland. There are some lights +.***\n", {0} }, + /* 75 */ + {"You are flying over a gently sloping plane.", + {83, 71, 84, 85, 68, 1, 0, 1}, + "The ground appears to be choked with vegetation.* The terrain is more\n\ +rugged +.**\n", {0} }, + /* 76 */ + {"You are flying through a gorge.", + {0, 0, 86, 71, 68, 1, 102, 1}, + "This is a narrow, steep sided canyon lined with plants. The stars above\n\ +glisten through the over hanging trees. The gorge leads to the\n\ +sea** +, and to a tumultuous origin +.\n", {0} }, + /* 77 */ + {"You are flying over a plantation.", + {85, 81, 71, 88, 68, 1, 89, 1}, + "It might be possible to land here, but not in the dark.* There are some lights\n\ ++ and *+.\n", {0} }, + /* 78 */ + {"You are over the ocean.", + {72, 78, 79, 74, 68, 1, 0, 1}, + "The deep green swells foam and roll into the shore **+*.\n", {0} }, + /* 79 */ + {"You are flying along the coast.", + {86, 72, 90, 73, 68, 1, 91, 1}, + "The coastline here is very rocky. The surf in some places is violent\n\ +and explodes in a shower of sparkling, moonlit spray. ****\n", {0} }, + /* 80 */ + {"This is a beautiful coral beach.", + {106, 0, 107, 108, 73, 0, 0, 0}, + "Fine silver sand kissed lightly by warm tropical waters and illuminated\n\ +by a huge tropical moon stretches at least 30 meters inland.\n\ +Gently swaying palm trees are +.***\n", {0} }, + /* 81 */ + {"You are flying over a small fishing village.", + {77, 74, 71, 82, 68, 1, 92, 1}, + "A few thatched huts lit with torches and bonfires line a road below.\n\ +The road continues on ***+.\n", {0} }, + /* 82 */ + {"You are flying over a clearing.", + {88, 72, 74, 87, 68, 1, 93, 1}, + "There is a dock here (big enough for a seaplane) leading to a clearing.\n\ +The still waters of the lagoon reflects our orange turbo thrusters.****\n", {0} }, + /* 83 */ + {"You are flying over the shore.", + {94, 75, 95, 96, 68, 1, 0, 1}, + "Rocky lava flows have overtaken the beach here.****\n", {0} }, + /* 84 */ + {"You are flying in a wide valley.", + {95, 97, 86, 75, 68, 1, 98, 1}, + "This is a shallow valley yet the floor is obscured by a thick mist.\n\ +The valley opens into blackness +. The mist grows thicker +.**\n", {0} }, + /* 85 */ + {"You are flying near the shore.", + {96, 77, 75, 99, 68, 1, 0, 1}, + "Very tall trees growing in neatly planted rows march off from the \n\ +water here towards the hills and down to the flat lands *+.**\n", {0} }, + /* 86 */ + {"You are flying around the very tip of the island.", + {95, 79, 90, 84, 68, 1, 0, 1}, + "Sheer cliffs rise several hundred feet to a tree covered summit. Far below,\n\ +the grey sea gnaws voraciously at the roots of these cliffs. The island bends\n\ +around +** and +.\n", {0} }, + /* 87 */ + {"You are flying along the coastline.", + {99, 82, 88, 100, 68, 1, 101, 1}, + "This is a narrow strip of sand lined with very few trees. The stars above\n\ +flicker through wisps of clouds. The beach continues on -.* There\n\ +are some lights +.*\n", {0} }, + /* 88 */ + {"You are flying over several cottages and buildings", + {99, 82, 77, 87, 68, 1, 103, 1}, + "Directly below is small ornate house lit up with spot lights and decorative\n\ +bulbs. A bell tower and a spurting fountain are nearby. Small dirt roads go\n\ ++ and +.**\n", {0} }, + /* 89 */ + {"You are in a field of sugar cane.", + {109, 110, 111, 112, 77, 0, 0, 0}, + "These strong, thick canes give little shelter but many cuts and scrapes.\n\ +There are some large trees ***+.\n", {0} }, + /* 90 */ + {"You are flying over the ocean.", + {95, 78, 90, 86, 68, 1, 0, 1}, + "The water is a placid ebony.****\n", {0} }, + /* 91 */ + {"You are on the coast road.", + {113, 114, 115, 116, 79, 0, 0, 0}, + "The road winds close to the shore here. The trees on either side press close\n\ +in the darkness and seem to be watching us.** The road continues -\n\ +and -.\n", {0} }, + /* 92 */ + {"You are on the main street of the village.", + {117, 118, 119, 120, 81, 0, 0, 0}, + "The natives are having a festive luau here. Beautiful dancers gyrate in the\n\ +torchlight to the rhythm of wooden drums. A suckling pig is sizzling in a\n\ +bed of coals and ti leaves are spread with poi and tropical fruits. Several\n\ +natives have come over to you and want you to join in the festivities.\n\ +There is a light burning in a bungalow +.***\n", {0} }, + /* 93 */ + {"You are at the sea plane dock.", + {121, 122, 123, 124, 82, 0, 0, 0}, + "The clearing is deserted. The grass is wet with the evening dew +.*\n\ +There is something set up +.*\n", {0} }, + /* 94 */ + {"You are flying over the ocean.", + {94, 83, 95, 96, 68, 1, 0, 1}, + "The black waves surge off shore here. The ocean becomes much calmer +.***\n", {0} }, + /* 95 */ + {"You are flying along the coast.", + {94, 84, 86, 83, 68, 1, 0, 1}, + "The land is very low here with a river running into the sea +. There\n\ +is a wide valley opening up +, but a strange mist is flowing out of it.\n\ +The very tip of the island is +.*\n", {0} }, + /* 96 */ + {"You are flying along the coast.", + {94, 85, 83, 99, 68, 1, 0, 1}, + "The coast here is cluttered with rocky outcroppings.****\n", {0} }, + /* 97 */ + {"You are lost in a sea of fog.", + {97, 104, 97, 97, 97, 1, 0, 1}, + "What have you gotten us into?\n\ +I can't see a thing! ****\n", {0} }, + /* 98 */ + {"You are on a gravel wash.", + {125, 126, 127, 128, 84, 0, 0, 0}, + "It is very dark here. A cool breeze is blowing from +. No moonlight can\n\ +reach below a thick canopy of fog above. The sound of cascading water is\n\ +coming from +.**\n", {0} }, + /* 99 */ + {"You are flying over a wide beach.", + {96, 88, 85, 87, 68, 1, 105, 1}, + "There are some lighted buildings *+. Some trees are growing +.*\n", {0} }, + /* 100 */ + {"You are flying over the ocean.", + {100, 100, 87, 100, 68, 1, 0, 1}, + "The black waves surge and splash against the rocky shore.****\n", {0} }, + /* 101 */ + {"You are on a narrow strip of sand.", + {129, 130, 131, 0, 87, 0, 0, 0}, + "Rather coarse sand makes this beach very steep and only a few meters wide.\n\ +A fresh ocean breeze is rustling the ferns **+.*\n", {0} }, + /* 102 */ + {"This is Fern Canyon.", + {0, 0, 132, 133, 76, 0, 0, 0}, + "Delicate waving ferns flourish here, suckled by warm water dripping from \n\ +every fissure and crevice in the solid rock walls. The stars above sparkle\n\ +through a thin mist. The canyon winds **-, and -.\n", {0} }, + /* 103 */ + {"This is the front lawn.", + {134, 135, 136, 137, 88, 0, 0, 0}, + "There is a small fountain lighted with green and yellow bulbs here where\n\ +the driveway meets the lawn. Across the driveway, +, is an ornate white\n\ +house lit with gas lamps. A bell tower here is awash in pale blue.* There\n\ +is a road + which turns into the driveway.*\n", {0} }, + /* 104 */ + {"You have just crossed the crest of a mountain.", + {97, 79, 86, 71, 68, 1, 0, 1}, + "The fog vanished mysteriously as we flew over the crest.*\n\ +Far + I can see the ocean sparkling in the moonlight.**\n", {0} }, + /* 105 */ + {"You are on a sandy beach.", + {138, 139, 140, 0, 99, 0, 0, 0}, + "Fine coral sand, a fresh sea breeze, and dramatic surf add to this beach's\n\ +appeal.** Stone steps lead to a lighted path in the gardens +.*\n", {0} }, + /* 106 */ + {"You are among palm trees near the shore.", + {141, 80, 142, 143, 73, 0, 0, 0}, + "Arching coconut palms laden with fruit provide a canopy for the glistening\n\ +white sand and sparse, dew covered grasses growing here. The forest grows\n\ +denser +. Crickets are chirping loudly here. The ocean is +.**\n", {0} }, + /* 107 */ + {"You are walking along the beach.", + {144, 0, 145, 80, 73, 0, 0, 0}, + "The warm tropical waters nuzzle your ankles as you walk. Above is a gorgeous\n\ +starscape. The battlestar must be up there somewhere. The slope of the sand\n\ +is so gentle that the surf only slides up the sand.** There are some rocks\n\ ++.*\n", {0} }, + /* 108 */ + {"You are walking along the beach.", + {146, 0, 80, 147, 73, 0, 0, 0}, + "The tide is out very far tonight, and it is possible to explore hidden rocks\n\ +and caves not ordinarily accessible. Rich beds of seaweed have been exposed\n\ +to the cool night air.****\n", {0} }, + /* 109 */ + {"You are in a papaya grove.", + {148, 89, 149, 150, 77, 0, 0, 0}, + "Slender trees with their large seven lobed leaves bulge with succulent fruit.\n\ +There are some tall trees +.***\n", {0} }, + /* 110 */ + {"You are in a field of pineapple.", + {89, 151, 152, 153, 77, 0, 0, 0}, + "The sharp dagger like pineapple leaves can pierce the flesh and hold fast\n\ +a skewered victim with tiny barbs.* The field ends +.**\n", {0} }, + /* 111 */ + {"You are in a field of kiwi plants.", + {149, 154, 155, 89, 77, 0, 0, 0}, + "Round hairy fruit hang from staked vines here. There are some trees +\n\ +and +. The field ends in a road +.*\n", {0} }, + /* 112 */ + {"You are in a large grove of coconuts.", + {150, 153, 89, 156, 77, 0, 0, 0}, + "These trees are much taller than any growing near the shore and the shadows\n\ +are also deeper. It's hard to keep my sense of direction.****\n", {0} }, + /* 113 */ + {"You are in the woods.", + {157, 91, 158, 116, 79, 0, 0, 0}, + "Tropical undergrowth makes the going rough here. Sword ferns give no strong\n\ +foot hold and the dangling vines would gladly throttle one. The darkness is\n\ +so intense here that we stand in utter blackness.****\n", {0} }, + /* 114 */ + {"You are at the shore.", + {91, 0, 159, 145, 79, 0, 160, 0}, + "The low minus tide tonight might make it possible to climb down to a\n\ +small cave entrance below. Large rocks would usually churn the waves\n\ +asunder.*** The beach goes -.\n", {0} }, + /* 115 */ + {"You are on the coast road.", + {158, 161, 162, 91, 79, 0, 0, 0}, + "The road is beginning to turn slightly -. I can hear the surf +. The road\n\ +continues into the dark forest +.*\n", {0} }, + /* 116 */ + {"The road winds deeper into the trees.", + {163, 142, 91, 164, 79, 0, 0, 0}, + "Only narrow moonbeams filter through the dense foliage above. The moist rich\n\ +earth has nurtured a myriad of slugs, snakes, and spiders to grow here. The\n\ +road continues - and *- into the shadows.*\n", {0} }, + /* 117 */ + {"This is the front porch of the bungalow.", + {165, 92, 0, 0, 81, 0, 0, 0}, + "The veranda is lit by a small yellow bug light. The door leads -.\n\ +The stone walk down to the luau is lined with burning torches +. That\n\ +roast pig smells good.**\n", {0} }, + /* 118 */ + {"You are on a path leading to the lagoon.", + {92, 166, 167, 168, 81, 0, 0, 0}, + "This path winds through the underbrush and towards the lagoon *+. The\n\ +broad faced moon peeps though the branches above. The sound of drums echos\n\ +in the woods.**\n", {0} }, + /* 119 */ + {"This is a dirt road.", + {169, 118, 170, 92, 81, 0, 0, 0}, + "**The road continues on - here for some distance. A bonfire and party light\n\ +up the night sky +.\n", {0} }, + /* 120 */ + {"You are on a dirt road.", + {171, 118, 92, 172, 81, 0, 0, 0}, + "**There is a village +. A huge bonfire licks at the trees, and a celebration\n\ +of some sort is going on there. The smell of luscious cooking is tantalizing\n\ +my flared nostrils. The road continues +.\n", {0} }, + /* 121 */ + {"You are on a dirt road.", + {173, 93, 174, 175, 82, 0, 0, 0}, + "This is a wide grassy clearing bedewed with droplets of evening mist. The\n\ +trees alongside the road moan and whisper as we pass. They seem annoyed at\n\ +our presence. **The road continues - and -.\n", {0} }, + /* 122 */ + {"You are at the seaplane dock.", + {93, 0, 176, 177, 82, 0, 0, 0}, + "Not a living thing stirs the calm surface of the lagoon. The wooden planks\n\ +creak unnaturally as we tread on them. The dock reaches a clearing +.\n\ +A dark trail leads around the lagoon **+.\n", {0} }, + /* 123 */ + {"There are some tables on the lawn here.", + {121, 122, 123, 93, 82, 0, 0, 0}, + "Some tables are strewn on the wet lawn.****\n", {0} }, + /* 124 */ + {"You are nosing around in the bushes.", + {124, 124, 93, 124, 82, 0, 0, 0}, + "There is little here but some old beer cans. It is damp and dirty in here.\n\ +I think I stepped in something unpleasant. It would be best to go **-.*\n", {0} }, + /* 125 */ + {"You are walking in a dry stream bed.", + {178, 98, 179, 0, 84, 0, 0, 0}, + "The large cobblestones are difficult to walk on. No starlight reaches\n\ +below a black canopy of fog seemingly engulfing the whole island. A dirt\n\ +path along the wash is **+. The high bank is impossible to climb +.\n", {0} }, + /* 126 */ + {"You are at the thermal pools.", + {98, 0, 180, 181, 84, 0, 0, 0}, + "Odd spluttering and belching water splashes up around the rocks here.\n\ +A spectacular waterfall nearby tumbles down as a river of effervescent\n\ +bubbles. The air is quite warm and a cave entrance ***+ spews steam.\n", {0} }, + /* 127 */ + {"You are in the woods.", + {127, 180, 182, 98, 84, 0, 0, 0}, + "It is pitch black in the forest here and my pant leg is caught on something.\n\ +There may be poison oak here. What was that? A lantern just flickered by in\n\ +the dark! The sound of rushing water is coming from *+.**\n", {0} }, + /* 128 */ + {"You are on a dirt trail.", + {179, 181, 98, 0, 84, 0, 0, 0}, +"The trail seems to start here and head towards the forest +.** High,\n\ +dark cliffs border the trail +. Some crickets are chirping\n\ +noisily.\n", {0} }, + /* 129 */ + {"You are walking along the beach.", + {183, 101, 184, 0, 87, 0, 0, 0}, + "The surf is rather tame tonight. The beach continues + and +.**\n", {0} }, + /* 130 */ + {"You are walking along the beach.", + {101, 185, 186, 0, 87, 0, 0, 0}, + "This is not a very nice beach. The coarse sand hurts my feet.****\n", {0} }, + /* 131 */ + {"You are walking through some ferns.", + {184, 186, 187, 101, 87, 0, 0, 0}, + "This is a wide field growing only ferns and small shrubs.** In the dark\n\ +it would be all to easy to stumble into a venomous snake. The ocean is\n\ +*+.\n", {0} }, + /* 132 */ + {"You are in a narrow canyon.", + {0, 0, 188, 102, 76, 0, 0, 0}, + "The steep sides here squeeze a little freshet through a gauntlet like\n\ +series of riffles and pools. The cool mountain air is refreshing.****\n", {0} }, + /* 133 */ + {"The canyon is much wider here.", + {0, 0, 102, 189, 76, 0, 0, 0}, + "The sheer rock walls rise 10 meters into darkness. A slender waterfall\n\ +careens away from the face of the rock high above and showers the gravel\n\ +floor with sparkling raindrops.** The canyon continues -\n\ +and -.\n", {0} }, + /* 134 */ + {"You are on the front porch of the cottage.", + {190, 103, 0, 0, 0, 0, 0, 0}, + "The veranda is deserted. A table and chair are the only things on the porch.\n\ +Inside the house is a parlor lighted with an elegant chandelier. The door\n\ +leads -. The lawn and fountain are +.**\n", {0} }, + /* 135 */ + {"You are in a palm grove.", + {103, 191, 192, 105, 88, 0, 0, 0}, + "Crickets are chirping in the cool night air.****\n", {0} }, + /* 136 */ + {"You are on a dirt road.", + {193, 192, 245, 103, 88, 0, 0, 0}, + "There are many bright lights +. The road cleaves the darkness +.\n\ +A small dirt road goes -, and a driveway peels off +.\n", {0} }, + /* 137 */ + {"You are in a field of small shrubs.", + {184, 186, 103, 187, 88, 0, 0, 0}, + "**Pine and other coniferous saplings are growing here. The rich brown\n\ +soil is well watered. Across a large lawn +, there is a small cottage lighted\n\ +with spot lights and gas lamps. A cool land breeze is blowing.*\n", {0} }, + /* 138 */ + {"The beach is pretty rocky here.", + {194, 105, 195, 0, 96, 0, 0, 0}, + "The tide is very low tonight. The beach is nicer *+.**\n", {0} }, + /* 139 */ + {"The beach is almost 10 meters wide here.", + {105, 183, 196, 0, 99, 0, 0, 0}, + "The sand has become more coarse and the beach steeper.****\n", {0} }, + /* 140 */ + {"You are in the gardens.", + {195, 196, 197, 105, 99, 0, 0, 0}, + "Shadowy expanses of lawn and leaf have been groomed and manicured here.\n\ +The night sky is glowing with a full moon.** A lighted path leads -.\n\ +Stone steps lead down to the beach +.\n", {0} }, + /* 141 */ + {"You are on the coast road.", + {198, 106, 163, 199, 73, 0, 0, 0}, + "The forest is dense on either side. The trees seem to be actually squeezing\n\ +together to keep us from passing. A feeling of enmity is in the air.**\n\ +The road continues - and -.\n", {0} }, + /* 142 */ + {"You are in the forest.", + {116, 107, 91, 106, 73, 0, 0, 0}, + "I suppose there are trees and ferns all around, but it is too dark to see.****\n", {0} }, + /* 143 */ + {"You are in the forest.", + {199, 108, 106, 146, 73, 0, 0, 0}, + "There are shadowy trees and ferns all around.****\n", {0} }, + /* 144 */ + {"You are in a copse.", + {142, 107, 145, 80, 0, 0, 0, 0}, + "This is a secret hidden thicket only noticeable from the beach. In the\n\ +moonlight, I can tell that someone has been digging here recently.****\n", {0} }, + /* 145 */ + {"You are at the tide pools.", + {91, 0, 114, 107, 79, 0, 0, 0}, + "These rocks and pools are the home for many sea anemones and crustaceans.\n\ +They are exposed because of the low tide. There is a beach ***+.\n", {0} }, + /* 146 */ + {"You are in the forest.", + {199, 108, 143, 0, 73, 0, 0, 0}, + "This is a shallow depression sheltered from the wind by a thick growth of \n\ +thorny shrubs. It looks like someone is camping here. There is a fire pit\n\ +with warm, crackling flames and coals here.* The beach is +.* The thorny\n\ +shrubs block the way -.\n", {0} }, + /* 147 */ + {"You are at the mouth of the lagoon.", + {200, 0, 108, 201, 74, 0, 0, 0}, + "The beach ends here where the coral reef rises to form a wide lagoon.\n\ +A path winds around the lagoon to the -.* The beach continues\n\ +on -. Only water lies +.\n", {0} }, + /* 148 */ + {"You are in a breadfruit grove.", + {202, 109, 203, 204, 77, 0, 0, 0}, + "The tall trees bend leisurely in the breeze, holding many round breadfruits\n\ +close to their large serrated leaves. There are coconut palms +,\n\ +*+, and +.\n", {0} }, + /* 149 */ + {"You are in a grove of mango trees.", + {203, 111, 205, 109, 77, 0, 0, 0}, + "The trees are not tall enough to obscure the view and the bright moonlight\n\ +makes it fairly easy to see.****\n", {0} }, + /* 150 */ + {"You are in a grove of coconut palms.", + {204, 112, 109, 206, 77, 0, 0, 0}, + "All I can see around us are trees and ominous shapes darting in and out of the\n\ +shadows.****\n", {0} }, + /* 151 */ + {"You are in a coconut grove.", + {110, 207, 208, 209, 77, 0, 0, 0}, + "There are countless trees here.****\n", {0} }, + /* 152 */ + {"You are in a field of pineapple.", + {154, 208, 210, 110, 77, 0, 0, 0}, + "The sharp leaves are cutting me to ribbons. There is a road **+.*\n", {0} }, + /* 153 */ + {"You are in a coconut grove.", + {112, 209, 110, 211, 77, 0, 0, 0}, + "There is a field of something **+.*\n", {0} }, + /* 154 */ + {"You are on the edge of a kiwi and pineapple field.", + {111, 152, 155, 110, 77, 0, 0, 0}, + "An irrigation ditch separates the two fields here. There is a road **+.*\n", {0} }, + /* 155 */ + {"This is a dirt road.", + {205, 210, 212, 111, 77, 0, 0, 0}, + "The road runs - and - here. It is very dark in the forest.**\n", {0} }, + /* 156 */ + {"You are in a palm grove.", + {206, 211, 112, 213, 77, 0, 0, 0}, + "There are trees all around us.****\n", {0} }, + /* 157 */ + {"You are on the edge of a small clearing.", + {157, 113, 157, 157, 79, 0, 0, 0}, + "The ground is rather marshy here and the darkness is intense. A swarm of\n\ +ravenous mosquitoes has descended upon you and has sent you quaking to your\n\ +knees.****\n", {0} }, + /* 158 */ + {"You are in the woods.", + {158, 115, 215, 113, 79, 0, 0, 0}, + "You have walked a long way and found only spider webs. ****\n", {0} }, + /* 159 */ + {"You are walking along the shore.", + {115, 0, 214, 114, 86, 0, 0, 0}, + "You are now about 10 meters above the surf on a gently rising cliffside.**\n\ +The land rises +. There is a beach far +.\n", {0} }, + /* 160 */ + {"You are just inside the entrance to the sea cave.", + {246, 114, 0, 0, 114, 1, 0, 0}, + "The sound of water dripping in darkness and the roar of the ocean just outside\n\ +create a very unwelcoming atmosphere inside this cave. Only on rare occasions\n\ +such as this is it possible to enter the forbidden catacombs... The cave\n\ +continues -.***\n", {0} }, + /* 161 */ + {"You are in a secret nook beside the road.", + {115, 159, 162, 91, 79, 0, 0, 0}, + "This little thicket is hidden from the road in the shadows of the forest.\n\ +From here we have a clear view of any traffic along the road. A great hollow\n\ +tree stuffed with something is nearby. The road is +.***\n", {0} }, + /* 162 */ + {"You are on the coast road.", + {215, 214, 0, 115, 86, 0, 0, 0}, + "The road turns abruptly - here, wandering deeper into the black forest.***\n", {0} }, + /* 163 */ + {"You are on a dirt road.", + {216, 116, 113, 141, 79, 0, 0, 0}, + "We are walking through a tunnel of unfriendly trees and shrubs. The tall\n\ +ones bend over the roadway and reach down with their branches to grab us.\n\ +Broad leafed plants at the roadside whisper in the darkness. Something\n\ +just darted across the road and into the bushes *+. Let's go *-.\n", {0} }, + /* 164 */ + {"You have discovered a hidden thicket near the road.", + {163, 142, 116, 106, 73, 0, 0, 0}, + "I would think it best to stay on the road. The forest seems very unfriendly\n\ +at night. The road is **+.*\n", {0} }, + /* 165 */ + {"You are in the living room.", + {0, 117, 217, 218, 0, 0, 0, 0}, + "A decorative entry with fresh flowers and wall to wall carpeting leads into\n\ +the living room here where a couch and two chairs converge with an end table.\n\ +*The exit is +.* The bedroom is +.\n", {0} }, + /* 166 */ + {"You are at the lagoon.", + {118, 0, 167, 168, 81, 0, 0, 0}, + "A small beach here is deserted except for some fishing nets. It is very\n\ +peaceful at the lagoon at night. The sound of native drums is carried on\n\ +the night breeze. There are paths leading off into darkness +,\n\ +*+, and +.\n", {0} }, + /* 167 */ + {"You are at the lagoon.", + {118, 0, 170, 166, 81, 0, 0, 0}, + "The grass near the water is moist with the refreshing evening dew. Far away,\n\ +drums reverberate in the forest.** The path continues + and +.\n", {0} }, + /* 168 */ + {"You are at the lagoon.", + {118, 0, 166, 172, 81, 0, 0, 0}, + "The path meanders through shadows of tussocks of grass, ferns, and thorny\n\ +bushes here and continues on **- and -.\n", {0} }, + /* 169 */ + {"You are in the woods.", + {219, 119, 220, 92, 81, 0, 0, 0}, + "There are plenty of ferns and thorny bushes here! Spider webs and probing\n\ +branches snare us as we stumble along in the pitch black night.****\n", {0} }, + /* 170 */ + {"You are on a dirt road.", + {220, 167, 199, 119, 74, 0, 0, 0}, + "The road winds rather close to a large lagoon here and many sedges and tall\n\ +loom in the darkness *+. The road continues - and -.\n", {0} }, + /* 171 */ + {"You are in the woods beside the road.", + {221, 120, 92, 222, 81, 0, 0, 0}, + "The forest grows darker +. The road is +.**\n", {0} }, + /* 172 */ + {"The road crosses the lagoon here.", + {222, 0, 120, 174, 81, 0, 0, 0}, + "Strange mists rising from the water engulf a rickety old enclosed bridge here.\n\ +Spider webs catch our hair as we pass through its rotting timbers. I felt\n\ +something drop on my neck. The road delves into the accursed forest\n\ +**+ and +.\n", {0} }, + /* 173 */ + {"You are in a coconut palm grove.", + {223, 121, 224, 225, 82, 0, 0, 0}, + "The tall palms are planted about 30 feet apart and the starry sky is clearly\n\ +visible above. A low growing grass carpets the ground all around. The grove\n\ +continues +.***\n", {0} }, + /* 174 */ + {"You are walking along a dirt road.", + {224, 176, 172, 121, 82, 0, 0, 0}, + "You are near misty patch of the roadway **+. The road continues -.\n", {0} }, + /* 175 */ + {"You are on a dirt road.", + {225, 177, 121, 226, 82, 0, 0, 0}, + "The road turns abruptly - here, splitting a grove of palm trees.* In the\n\ +starlight I can also discern that the road continues - toward the lagoon.*\n", {0} }, + /* 176 */ + {"You are on a trail running around the lagoon.", + {172, 0, 0, 122, 82, 0, 0, 0}, + "The dark waters brush the trail here and the path crosses an old bridge\n\ ++. There is deep water + and +. The trail continues -.\n", {0} }, + /* 177 */ + {"This is the mouth of the lagoon.", + {175, 0, 122, 227, 82, 0, 0, 0}, + "The coral reef wraps around a natural bay here to create a wide lagoon which\n\ +winds tortuously inland.** A trail goes around the lagoon +.\n\ +The beach is -.\n", {0} }, + /* 178 */ + {"You are in a dry stream bed.", + {0, 125, 0, 0, 84, 0, 0, 0}, + "The dry wash drains over a tall precipice here into a turbid morass below. The\n\ +most noisome stench imaginable is wafting up to defile our nostrils. Above,\n\ +the blackness is intense and a strange mist engulfs the island.* Let's go\n\ +-.**\n", {0} }, + /* 179 */ + {"You are on a dirt path along the wash.", + {0, 128, 125, 228, 84, 0, 0, 0}, + "The trail winds along the gravel wash and delves into the forest ***+.\n", {0} }, + /* 180 */ + {"The thermal pools flow into a stream here.", + {127, 0, 229, 126, 84, 0, 0, 0}, + "The gurgling hot waters pour over boulders into a swiftly flowing\n\ +stream **+. The pools are +.\n", {0} }, + /* 181 */ + {"You are at the entrance to a cave.", + {128, 230, 126, 0, 84, 0, 0, 0}, + "A torch lights the entrance to the cave. Deep inside I can see shadows moving.\n\ +A path goes + from here. The entrance is +.**\n", {0} }, + /* 182 */ + {"You are in the woods.", + {182, 229, 182, 127, 84, 0, 0, 0}, + "Thorns tangle your every effort to proceed.* The sound of rushing water is\n\ ++.**\n", {0} }, + /* 183 */ + {"You are walking along the beach.", + {139, 129, 184, 0, 99, 0, 0, 0}, + "Some dunes here progress inland and make it impossible to get very far in that\n\ +direction. The beach continues - and -.* The ocean is +.\n", {0} }, + /* 184 */ + {"You are in the dunes.", + {183, 101, 184, 129, 87, 0, 0, 0}, + "The endless rolling and pitching sand dunes are enough to make one very queasy!\n\ +The sand is cool and the stars are bright at the ocean. The only way I'm going\n\ +is ***+.\n", {0} }, + /* 185 */ + {"This is a lousy beach.", + {130, 0, 0, 0, 87, 0, 0, 0}, + "Volcanic and viciously sharp bitted grains of sand here bite like cold steel\n\ +into my tender feet. I refuse to continue on. Let's get out of here. The\n\ +beach is better +.***\n", {0} }, + /* 186 */ + {"You are in a field of sparse ferns.", + {131, 185, 187, 130, 87, 0, 0, 0}, + "The lava rock outcroppings here will support few plants. There is more \n\ +vegetation +.** The ocean is +.\n", {0} }, + /* 187 */ + {"You are in the woods.", + {131, 131, 137, 131, 87, 0, 0, 0}, + "Young trees and tall shrubs grow densely together here.\n\ +They grow thicker **+.*\n", {0} }, + /* 188 */ + {"The canyon is no wider than a foot here.", + {0, 0, 0, 132, 0, 0, 0, 0}, + "The freshet is gushing through the narrow trough, but the canyon has grown\n\ +too narrow to follow it any farther.*** I guess we'll have to go -.\n", {0} }, + /* 189 */ + {"You are in a narrow part of the canyon.", + {0, 0, 133, 232, 76, 0, 0, 0}, + "The two sheer sides are no more than a few meters apart here. There is a stone\n\ +door in the wall +. The gravelly floor runs with tiny rivulets seeping \n\ +from the ground itself.* The canyon continues - and -.\n", {0} }, + /* 190 */ + {"You are in the drawing room.", + {0, 134, 0, 0, 0, 0, 0, 0}, + "Exquisitely decorated with plants and antique furniture of superb\n\ +craftsmanship, the parlor reflects its owner's impeccable taste. The tropical\n\ +night air pours in through open shutters *+. There doesn't seem \n\ +to be anybody around. A large immaculate oaken desk is visible in the\n\ +study and it even has a old fashioned telephone to complete the decor.**\n", {0} }, + /* 191 */ + {"You are in a palm grove.", + {135, 191, 233, 191, 88, 0, 0, 0}, + "Grassy rows of dew covered palms stretch as far as I can see.**\n\ +There is a road +.*\n", {0} }, + /* 192 */ + {"You are on a dirt road.", + {136, 233, 234, 135, 88, 0, 0, 0}, + "The road winds through a coconut palm grove here. It continues on - \n\ +and -.**\n", {0} }, + /* 193 */ + {"The road leads to several large buildings here.", + {235, 136, 236, 237, 88, 0, 0, 0}, + "There is a lighted clubhouse +,* a large barn and stable +, and a\n\ +garage of similar construct to the barn +.\n", {0} }, + /* 194 */ + {"This part of the beach is impassable.", + {0, 138, 0, 0, 96, 0, 0, 0}, + "The see is calm tonight. The beach goes *-.**\n", {0} }, + /* 195 */ + {"You are in the gardens.", + {195, 140, 197, 138, 96, 0, 0, 0}, + "Dew beaded grass sparkles in the moonlight. Tiny lamps beside the path light\n\ +the way to the ocean ***+.\n", {0} }, + /* 196 */ + {"You are in the gardens.", + {140, 183, 197, 139, 99, 0, 0, 0}, + "Beautiful flowers and shrubs surround a lighted goldfish pond.****\n", {0} }, + /* 197 */ + {"You are on a stone walk in the garden.", + {195, 196, 238, 140, 99, 0, 0, 0}, + "The walk leads to a road **+.*\n", {0} }, + /* 198 */ + {"You are in the forest near the road.", + {198, 141, 216, 198, 73, 0, 0, 0}, + "There are many thorny bushes here!****\n", {0} }, + /* 199 */ + {"You are at a fork in the road.", + {239, 146, 141, 170, 73, 0, 0, 0}, + "Two roads come together in the darkness here. One runs -,* the other \n\ +runs - and -.\n", {0} }, + /* 200 */ + {"You are on a dirt path around the lagoon.", + {170, 147, 146, 0, 74, 0, 0, 0}, + "The still waters reflect bending palms and a starry sky. It looks like\n\ +the path runs into a clearing +. The path continues -.**\n", {0} }, + /* 201 */ + {"You are drowning in the lagoon.", + {201, 201, 147, 201, 74, 0, 0, 0}, + "I suggest you get out before you become waterlogged.****\n", {0} }, + /* 202 */ + {"You are in a coconut palm grove.", + {202, 148, 203, 204, 77, 0, 0, 0}, + "****\n", {0} }, + /* 203 */ + {"You are in a palm grove.", + {202, 149, 205, 148, 77, 0, 0, 0}, + "****\n", {0} }, + /* 204 */ + {"You are in a palm grove.", + {202, 150, 148, 206, 77, 0, 0, 0}, + "****\n", {0} }, + /* 205 */ + {"You are on a dirt road.", + {203, 155, 212, 149, 77, 0, 0, 0}, + "*This road ends here at a palm grove but continues on - for quite\n\ +some way.**\n", {0} }, + /* 206 */ + {"You are in a coconut palm grove.", + {204, 156, 150, 213, 77, 0, 0, 0}, + "****\n", {0} }, + /* 207 */ + {"You are in a coconut grove.", + {151, 219, 208, 209, 77, 0, 0, 0}, + "*The grove ends +.**\n", {0} }, + /* 208 */ + {"You are in a coconut grove.", + {152, 207, 239, 151, 77, 0, 0, 0}, + "**There is a dirt road +.*\n", {0} }, + /* 209 */ + {"You are in a coconut grove.", + {153, 207, 151, 211, 77, 0, 0, 0}, + "****\n", {0} }, + /* 210 */ + {"This is a dirt road.", + {205, 239, 212, 154, 77, 0, 0, 0}, + "The road continues - and -.**\n", {0} }, + /* 211 */ + {"You are in a coconut grove.", + {153, 209, 153, 213, 77, 0, 0, 0}, + "****\n", {0} }, + /* 212 */ + {"You are in the woods near the road.", + {205, 210, 212, 155, 77, 0, 0, 0}, + "There are many thorny bushes here!****\n", {0} }, + /* 213 */ + {"You are in a coconut grove.", + {213, 213, 156, 234, 88, 0, 0, 0}, + "***The grove ends in a clearing +.\n", {0} }, + /* 214 */ + {"You are walking along some high cliffs.", + {162, 0, 0, 159, 86, 0, 0, 0}, + "The island bends sharply + here with high cliffs -\n\ +and -. The cliffs are lower +.\n", {0} }, + /* 215 */ + {"You are at the coast road turn around.", + {0, 162, 0, 158, 90, 0, 0, 0}, + "The coast road ends here in a lookout with a view of the ocean.\n\ +Far below, the waves crash against the rocks.\n\ +****\n", {0} }, + /* 216 */ + {"You are in the woods near the road.", + {216, 163, 216, 198, 79, 0, 257, 0}, + "These thorny bushes are killing me.****\n", {0} }, + /* 217 */ + {"You are in the kitchen.", + {0, 0, 0, 165, 0, 0, 0, 0}, + "A small gas stove and a refrigerator are all the only appliances here. The\n\ +gas oven has been left on and the whole room is reeking with natural gas.\n\ +One spark from a match and.... The door out is ***+.\n", {0} }, + /* 218 */ + {"You are in the bedroom.", + {0, 0, 165, 0, 0, 0, 0, 0}, + "A soft feather comforter on top of layers of Answer blankets make this a very\n\ +luxurious place to sleep indeed. There are also some end tables and a dresser\n\ +here.** The living room is +.*\n", {0} }, + /* 219 */ + {"You are in the woods.", + {207, 169, 220, 221, 81, 0, 0, 0}, + "The darkness is intense, but there seems to be a clearing +.***\n", {0} }, + /* 220 */ + {"You are in the woods near the road.", + {219, 170, 239, 169, 81, 0, 0, 0}, + "*As far as I can tell, there are two roads + and +.*\n", {0} }, + /* 221 */ + {"You are in the woods.", + {207, 171, 219, 222, 81, 0, 0, 0}, + "The spider webs thin out and the forest is clearer +.***\n", {0} }, + /* 222 */ + {"You are on the lagoon's inland finger.", + {0, 172, 171, 172, 81, 0, 0, 0}, + "It is impossible to follow the lagoon any farther inland because of sharp\n\ +and very painful sedges.* The road is +.**\n", {0} }, + /* 223 */ + {"You are in a grassy coconut grove.", + {240, 173, 224, 241, 82, 0, 0, 0}, + "The tall palms provide a ghostly canopy for the sandy ground covering.****\n", {0} }, + /* 224 */ + {"You are near the lagoon's inland finger.", + {0, 174, 0, 173, 82, 0, 0, 0}, + "Very sharp sedges make it impossible to follow the lagoon any farther inland.\n\ +*There is a road +.**\n", {0} }, + /* 225 */ + {"You are on a dirt road.", + {241, 175, 173, 226, 82, 0, 0, 0}, + "The road winds through a coconut grove here and continues - and -.**\n", {0} }, + /* 226 */ + {"You are in the woods near the road.", + {226, 226, 175, 226, 82, 0, 0, 0}, + "**The road is +.*\n", {0} }, + /* 227 */ + {"This is a beach?", + {227, 227, 177, 0, 82, 0, 0, 0}, + "Hard jagged rocks that pierce with every footstep hardly comprise a beach.**\n\ +Let's go -.*\n", {0} }, + /* 228 */ + {"The trail is lost in the woods here.", + {241, 241, 179, 241, 84, 0, 0, 0}, + "The trail goes **-.*\n", {0} }, + /* 229 */ + {"You are on the bank of a stream.", + {182, 0, 242, 180, 84, 0, 0, 0}, + "The stream falls over several small boulders here and continues on **-.*\n", {0} }, + /* 230 */ + {"You are just inside the cave.", + {181, 267, 0, 0, 0, 0, 0, 0}, + "A steamy hot breath is belching from the depths of the earth within.* The\n\ +cave continues -.**\n", {0} }, + /* 231 */ + {"You are just inside the cave entrance.", + {274, 0, 0, 0, 0, 0, 0, 0}, + "The air is hot and sticky inside. The cave continues -. There is a \n\ +stone door in the wall +. A wooden sign in the dust warns in old elven\n\ +runes, \"GSRF KDIRE NLVEMP!\".**\n", {0} }, + /* 232 */ + {"You are at the edge of a huge chasm.", + {0, 0, 189, 0, 76, 0, 0, 0}, + "Several hundred feet down I can see the glimmer of placid water. The\n\ +rivulets drain over the edge and trickle down into the depths. It is \n\ +impossible to climb down.** The canyon continues -.*\n", {0} }, + /* 233 */ + {"You are on a dirt road.", + {192, 241, 240, 191, 88, 0, 0, 0}, + "The road winds through a coconut grove here. The road continues on into the\n\ +shadows - and -.**\n", {0} }, + /* 234 */ + {"You are in a coconut palm grove near the road.", + {193, 233, 213, 192, 88, 0, 0, 0}, + "***The road is +.\n", {0} }, + /* 235 */ + {"You are at the clubhouse.", + {0, 193, 0, 0, 0, 0, 0, 0}, + "The clubhouse is built over the most inland part of the lagoon. Tropical\n\ +bananas and fragrant frangipani grow along the grassy shore. Walking across\n\ +the short wooden bridge, we enter. Along one wall is a bar crowded with people.\n\ +The restaurant and disco dance floor are filled to capacity. A rock group\n\ +electrocutes itself to the satisfaction of the audience.****\n", {0} }, + /* 236 */ + {"You are in the stables.", + {0, 0, 0, 193, 0, 0, 0, 0}, + "Neighing horses snacking on hay and oats fill the stalls on both sides of\n\ +the barn. It is rather warm in here but that is not the most offensive\n\ +part.****\n", {0} }, + /* 237 */ + {"You are in the old garage.", + {0, 0, 193, 0, 0, 0, 0, 0}, + "This is an old wooden building of the same vintage as the stables. Beneath\n\ +a sagging roof stand gardening tools and greasy rags. Parked in the center\n\ +is an underpowered Plymouth Volare' with a red and white striped golf cart\n\ +roof. ****\n", {0} }, + /* 238 */ + {"You are on a dirt road.", + {197, 197, 243, 197, 85, 0, 0, 0}, + "The road leads to a formal garden laced with lighted stone walks and tropical\n\ +flowers and trees.** The road continues -. A walk leads -.\n", {0} }, + /* 239 */ + {"You are on a dirt road.", + {210, 199, 198, 220, 73, 0, 0, 0}, + "The road runs - and -.**\n", {0} }, + /* 240 */ + {"You are in a coconut grove near the road.", + {234, 223, 234, 233, 88, 0, 0, 0}, + "***The road is +.\n", {0} }, + /* 241 */ + {"You are on a dirt road.", + {233, 225, 223, 226, 82, 0, 0, 0}, + "The road continues - and -.**\n", {0} }, + /* 242 */ + {"The stream plummets over a cliff here.", + {182, 0, 0, 229, 84, 0, 0, 0}, + "Falling 10 agonizing meters into darkness, only droplets of the stream must\n\ +be left to dance off the floor below. There is no way down, even with a\n\ +strong rope. ****\n", {0} }, + /* 243 */ + {"You are on a dirt road.", + {0, 0, 244, 238, 85, 0, 0, 0}, + "**The road continues - and -.\n", {0} }, + /* 244 */ + {"You are on a dirt road.", + {0, 245, 0, 243, 88, 0, 0, 0}, + "*The road continues -* and -.\n", {0} }, + /* 245 */ + {"You are on a dirt road.", + {244, 234, 213, 136, 88, 0, 0, 0}, + "The road goes -* and *-.\n", {0} }, + /* 246 */ + {"You are in a low passage.", + {247, 160, 0, 0, 0, 0, 0, 0}, + "The ceiling here sparkles with iridescent gems and minerals. Colorful starfish\n\ +and sea anemones cling to the slippery walls and floor. The passage continues\n\ ++.***\n", {0} }, + /* 247 */ + {"The walls are very close together here.", + {248, 246, 0, 0, 0, 0, 0, 0}, + "I can barely squeeze through the jagged opening. Slimy sea weeds provide\n\ +no footing at all. This tunnel seems to be an ancient lava tube. There is\n\ +a large room +.***\n", {0} }, + /* 248 */ + {"You are in the cathedral room.", + {249, 247, 250, 251, 0, 0, 0, 0}, + "Your light casts ghostly shadows on the walls but cannot pierce the \n\ +engulfing darkness overhead. The sound of water dripping echoes in the void.\n\ +*I can see no passages leading out of this room.*** \n", {0} }, + /* 249 */ + {"You are walking through a very round tunnel.", + {252, 248, 0, 0, 252, 1, 0, 0}, + "The round walls of this tunnel are amazingly smooth to the touch. A little\n\ +trickle of water flows down the center. The tunnel climbs steadily +.\n\ +There is a large room +.**\n", {0} }, + /* 250 */ + {"You are in the cathedral anteroom.", + {0, 0, 0, 248, 253, 1, 0, 0}, + "This small chamber with a flat stone floor is to one side of the cathedral \n\ +room. We appear to be at the bottom of a tall narrow shaft. There are many \n\ +puddles of water here. A staircase hewn from solid rock and black lava \n\ +leads up.*** The cathedral room is -.\n", {0} }, + /* 251 */ + {"You are in a wide chamber.", + {0, 0, 248, 254, 0, 0, 0, 0}, + "Water is sprinkling from the ceiling here. A shallow pool populated by a \n\ +myriad of blind white creatures sparkles in your light. Tiny shrimp and\n\ +crabs scurry away, frightened by the blinding rays.** The cave \n\ +continues + and +.\n", {0} }, + /* 252 */ + {"You are at the top of a sloping passage.", + {0, 249, 255, 256, 257, 1, 249, 0}, + "There is much algae growing here, both green and brown specimens. I suspect\n\ +that we are near the high tide zone, but no light can get in here. The walls\n\ +glisten with shiny minerals.** A hallway here runs + and -.\n", {0} }, + /* 253 */ + {"You are in an elaborately tiled room.", + {0, 0, 258, 0, 0, 0, 250, 0}, + "Large colorful tiles plate the floor and walls. The ceiling is a mosaic\n\ +of gems set in gold. Hopefully it is only our footsteps that are echoing in\n\ +this hollow chamber.** The room continues -. A stone staircase leads\n\ +down.*\n", {0} }, + /* 254 */ + {"You are at a dead end.", + {0, 0, 251, 0, 0, 0, 0, 0}, + "The walls here are alive with dark mussels. They click their shells menacingly\n\ +if we disturb them.** The only exit is +.*\n", {0} }, + /* 255 */ + {"The tunnel is very low here.", + {0, 0, 259, 252, 0, 0, 0, 0}, + "You practically have to crawl on your knees to pass through this opening. The\n\ +air is stiflingly damp, but you can't hear any sounds of water dripping.**\n\ +The crawlspace continues -. The tunnel seems wider +.\n", {0} }, + /* 256 */ + {"This is the supply room.", + {0, 0, 252, 0, 0, 0, 0, 0}, + "Picks and shovels line the walls here, as well as hard hats, boxes of\n\ +dynamite, and a cartload of very high grade gold and silver ore.** \n\ +A tunnel leads off +.*\n", {0} }, + /* 257 */ + {"You have found a secret entrance to the catacombs", + {0, 0, 0, 0, 216, 1, 252, 0}, + "Below is a wet, seaweed covered floor. Above is a way out.****\n", {0} }, + /* 258 */ + {"You are in the catacombs.", + {0, 0, 260, 253, 0, 0, 0, 0}, + "Ornate tombs and piles of treasure line the walls. Long spears with many\n\ +blades, fine swords and coats of mail, heaps of coins, jewelry, pottery, \n\ +and golden statues are tribute past kings and queens.** The catacombs\n\ +continue - and -.\n", {0} }, + /* 259 */ + {"You are crawling on your stomach.", + {0, 0, 261, 255, 0, 0, 0, 0}, + "The passage is quite narrow and jagged, but the rock is no longer lava.\n\ +It appears to be a form of granite.** The crawlspace continues -, \n\ +but I would just as soon go -.\n", {0} }, + /* 260 */ + {"You are in the Sepulcher.", + {0, 0, 0, 258, 0, 0, 0, 0}, + "A single tomb is here. Encrusted with diamonds and opals, and secured with \n\ +straps of a very hard, untarnished silver, this tomb must be of a great king.\n\ +Vases overflowing with gold coins stand nearby. A line of verse on the wall\n\ +reads, \"Three he made and gave them to his daughters.\"****\n", {0} }, + /* 261 */ + {"The passage is wider here.", + {0, 0, 0, 259, 0, 0, 262, 0}, + "A ladder goes down into darkness here.*** A small crawlspace goes -.\n", {0} }, + /* 262 */ + {"You are at the bottom of a ladder.", + {0, 0, 0, 0, 261, 1, 263, 0}, + "This is a narrow platform to rest on before we continue either up or down this\n\ +rickety wooden ladder.****\n", {0} }, + /* 263 */ + {"You are standing in several inches of water.", + {264, 0, 265, 266, 262, 1, 0, 0}, + "This seems to be a working mine. Many different tunnels wander off following\n\ +glowing veins of precious metal. The floor is flooded here since we must\n\ +be nearly at sea level. A ladder leads up.****\n", {0} }, + /* 264 */ + {"The tunnel here is blocked by broken rocks.", + {0, 263, 0, 0, 0, 0, 0, 0}, + "The way is blocked, but if you had some dynamite, we might be able to blast our\n\ +way through.* The passage goes -.**\n", {0} }, + /* 265 */ + {"The tunnel is too flooded to proceed.", + {0, 0, 0, 263, 0, 0, 0, 0}, + "Hidden shafts could swallow us if we tried to continue on down this tunnel.\n\ +The flooding is already up to my waist. Large crystals overhead shimmer\n\ +rainbows of reflected light.*** Let's go -.\n", {0} }, + /* 266 */ + {"The mine is less flooded here.", + {0, 0, 263, 0, 0, 0, 0, 0}, + "A meandering gold laden vein of quartz and blooming crystals of diamonds\n\ +and topaz burst from the walls of the cave. A passage goes -.***\n", {0} }, + /* 267 */ + {"You are inside the cave.", + {230, 268, 0, 0, 0, 0, 0, 0}, + "A hot steam swirls around our heads, and the walls are warm to the touch.\n\ +The trail winds - and -.**\n", {0} }, + /* 268 */ + {"You are in a rather large chamber.", + {267, 0, 0, 269, 0, 0, 269, 0}, + "Beds of ferns and palm leaves make several cozy nests along the walls. In the\n\ +center of the room is a throne of gold and silver.*** A passageway leads\n\ +down and +.\n", {0} }, + /* 269 */ + {"You are walking along the edge of a huge abyss.", + {0, 0, 268, 0, 268, 1, 270, 0}, + "Steam is rising in great clouds from the immeasurable depths. A very narrow\n\ +trail winds down.** There is a tunnel -.*\n", {0} }, + /* 270 */ + {"You are on the edge of a huge abyss.", + {0, 0, 0, 0, 269, 1, 271, 0}, + "The trail winds farther down.****\n", {0} }, + /* 271 */ + {"You are winding your way along the abyss.", + {0, 0, 0, 0, 270, 1, 272, 0}, + "The trail continues up and down.****\n", {0} }, + /* 272 */ + {"You are on a wide shelf near the steamy abyss.", + {0, 273, 0, 0, 271, 1, 0, 0}, + "The stifling hot cave seems even hotter to me, staring down into this misty \n\ +abyss. A trail winds up.* A passageway leads -.**\n", {0} }, + /* 273 */ + {"You are in a wide tunnel leading to a fuming abyss.", + {272, 274, 0, 0, 0, 0, 0, 0}, + "The passageway winds through many beautiful formations of crystals and\n\ +sparkling minerals. The tunnel continues - and -.**\n", {0} }, + /* 274 */ + {"You are in a tunnel.", + {273, 231, 0, 0, 0, 0, 0, 0}, + "It is very warm in here. The smell of steam and hot rocks permeates the place.\n\ +The cave continues - and -.**\n", {0} }, + /* 275 */ + {"You are at the bottom of a pit.", + {0, 0, 0, 0, 232, 0, 0, 0}, + "At the top of the pit, a single star can be seen in the night sky. There\n\ +doesn't appear to be any way to get out without a rope. I don't remember\n\ +how we got here.****\n", {0} }, +}; diff --git a/battlestar/nightobjs.c b/battlestar/nightobjs.c new file mode 100644 index 0000000..706ea5c --- /dev/null +++ b/battlestar/nightobjs.c @@ -0,0 +1,103 @@ +/* $NetBSD: nightobjs.c,v 1.9 2003/08/07 09:37:03 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)nightobjs.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: nightobjs.c,v 1.9 2003/08/07 09:37:03 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +const struct objs nightobjs[] = { + {218, PAJAMAS}, + {235, NATIVE}, + {92, PAPAYAS}, + {92, PINEAPPLE}, + {92, KIWI}, + {92, MANGO}, + {92, NATIVE}, + {92, MAN}, + {181, LAMPON}, + {236, LAMPON}, + {92, LAMPON}, + {216, WOODSMAN}, + {216, DEADWOOD}, + {216, MALLET}, + {168, WOODSMAN}, + {168, DEADWOOD}, + {168, MALLET}, + {170, WOODSMAN}, + {170, DEADWOOD}, + {170, MALLET}, + {124, SHIELD}, + {124, HALBERD}, + {124, ELF}, + {144, SHIELD}, + {144, HALBERD}, + {144, ELF}, + {113, SHIELD}, + {113, HALBERD}, + {113, ELF}, + {161, SHIELD}, + {161, HALBERD}, + {161, ELF}, + {169, SHIELD}, + {169, HALBERD}, + {169, ELF}, + {182, SHIELD}, + {182, HALBERD}, + {182, ELF}, + {198, SHIELD}, + {198, HALBERD}, + {198, ELF}, + {212, SHIELD}, + {212, HALBERD}, + {212, ELF}, + {216, SHIELD}, + {216, HALBERD}, + {216, ELF}, + {226, SHIELD}, + {226, HALBERD}, + {226, ELF}, + {228, SHIELD}, + {228, HALBERD}, + {228, ELF}, + {68, CYLON}, + {144, SHOVEL}, + {249, FOOT}, + {250, FOOT}, + {93, PAPAYAS}, + {0, 0} +}; diff --git a/battlestar/parse.c b/battlestar/parse.c new file mode 100644 index 0000000..c1505a3 --- /dev/null +++ b/battlestar/parse.c @@ -0,0 +1,187 @@ +/* $NetBSD: parse.c,v 1.14 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)parse.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: parse.c,v 1.14 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +#define HASHSIZE 256 +#define HASHMUL 81 +#define HASHMASK (HASHSIZE - 1) + +static int hash(const char *); +static void install(struct wlist *); +static struct wlist *lookup(const char *); + +static struct wlist *hashtab[HASHSIZE]; + +void +wordinit() +{ + struct wlist *w; + + for (w = wlist; w->string; w++) + install(w); +} + +static int +hash(s) + const char *s; +{ + int hashval = 0; + + while (*s) { + hashval += *s++; + hashval *= HASHMUL; + hashval &= HASHMASK; + } + return hashval; +} + +static struct wlist * +lookup(s) + const char *s; +{ + struct wlist *wp; + + for (wp = hashtab[hash(s)]; wp != NULL; wp = wp->next) + if (*s == *wp->string && strcmp(s, wp->string) == 0) + return wp; + return NULL; +} + +static void +install(wp) + struct wlist *wp; +{ + int hashval; + + if (lookup(wp->string) == NULL) { + hashval = hash(wp->string); + wp->next = hashtab[hashval]; + hashtab[hashval] = wp; + } else + printf("Multiply defined %s.\n", wp->string); +} + +void +parse() +{ + struct wlist *wp; + int n; + int flag; + + wordnumber = 0; /* for cypher */ + for (n = 0; n <= wordcount; n++) { + if ((wp = lookup(words[n])) == NULL) { + wordvalue[n] = -1; + wordtype[n] = -1; + } else { + wordvalue[n] = wp->value; + wordtype[n] = wp->article; + } + } + /* We never use adjectives for anything, so yank them all. */ + for (n = 1; n < wordcount; n++) + if (wordtype[n] == ADJS) { + int i; + for (i = n + 1; i < wordcount; i++) { + wordtype[i - 1] = wordtype[i]; + wordvalue[i - 1] = wordvalue[i]; + strcpy(words[i - 1], words[i]); + } + wordcount--; + } + /* Don't let a comma mean AND if followed by a verb. */ + for (n = 0; n < wordcount; n++) + if (wordvalue[n] == AND && words[n][0] == ',' + && wordtype[n + 1] == VERB) { + wordvalue[n] = -1; + wordtype[n] = -1; + } + /* Trim "AND AND" which can happen naturally at the end of a + * comma-delimited list. + */ + for (n = 1; n < wordcount; n++) + if (wordvalue[n - 1] == AND && wordvalue[n] == AND) { + int i; + for (i = n + 1; i < wordcount; i++) { + wordtype[i - 1] = wordtype[i]; + wordvalue[i - 1] = wordvalue[i]; + strcpy(words[i - 1], words[i]); + } + wordcount--; + } + + /* If there is a sequence (NOUN | OBJECT) AND EVERYTHING + * then move all the EVERYTHINGs to the beginning, since that's where + * they're expected. We can't get rid of the NOUNs and OBJECTs in + * case they aren't in EVERYTHING (i.e. not here or nonexistent). + */ + flag = 1; + while (flag) { + flag = 0; + for (n = 1; n < wordcount; n++) + if ((wordtype[n - 1] == NOUNS || wordtype[n - 1] == OBJECT) && + wordvalue[n] == AND && wordvalue[n + 1] == EVERYTHING) { + char tmpword[WORDLEN]; + wordvalue[n + 1] = wordvalue[n - 1]; + wordvalue[n - 1] = EVERYTHING; + wordtype[n + 1] = wordtype[n - 1]; + wordtype[n - 1] = OBJECT; + strcpy(tmpword, words[n - 1]); + strcpy(words[n - 1], words[n + 1]); + strcpy(words[n + 1], tmpword); + flag = 1; + } + /* And trim EVERYTHING AND EVERYTHING. */ + for (n = 1; n < wordcount; n++) + if (wordvalue[n - 1] == EVERYTHING && + wordvalue[n] == AND && wordvalue[n + 1] == EVERYTHING) { + int i; + for (i = n + 1; i < wordcount; i++) { + wordtype[i - 1] = wordtype[i + 1]; + wordvalue[i - 1] = wordvalue[i + 1]; + strcpy(words[i - 1], words[i + 1]); + } + wordcount--; + wordcount--; + flag = 1; + } + } +} diff --git a/battlestar/pathnames.h.in b/battlestar/pathnames.h.in new file mode 100644 index 0000000..8e15a9d --- /dev/null +++ b/battlestar/pathnames.h.in @@ -0,0 +1,34 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:03 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define _PATH_SCORE "@battlestar_scorefile@" diff --git a/battlestar/room.c b/battlestar/room.c new file mode 100644 index 0000000..5cbaf85 --- /dev/null +++ b/battlestar/room.c @@ -0,0 +1,240 @@ +/* $NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)room.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +void +writedes() +{ + int compass; + const char *p; + int c; + + printf("\n\t%s\n", location[position].name); + if (beenthere[position] < ROOMDESC || verbose) { + compass = NORTH; + for (p = location[position].desc; (c = *p++) != 0;) + if (c != '-' && c != '*' && c != '+') { + if (c == '=') + putchar('-'); + else + putchar(c); + } else { + if (c != '*') + printf(truedirec(compass, c)); + compass++; + } + } +} + +void +printobjs() +{ + unsigned int *p = location[position].objects; + int n; + + printf("\n"); + for (n = 0; n < NUMOFOBJECTS; n++) + if (testbit(p, n) && objdes[n]) + puts(objdes[n]); +} + +void +whichway(here) + struct room here; +{ + switch (direction) { + + case NORTH: + left = here.west; + right = here.east; + ahead = here.north; + back = here.south; + break; + + case SOUTH: + left = here.east; + right = here.west; + ahead = here.south; + back = here.north; + break; + + case EAST: + left = here.north; + right = here.south; + ahead = here.east; + back = here.west; + break; + + case WEST: + left = here.south; + right = here.north; + ahead = here.west; + back = here.east; + break; + + } +} + +const char * +truedirec(way, option) + int way; + char option; +{ + switch (way) { + + case NORTH: + switch (direction) { + case NORTH: + return ("ahead"); + case SOUTH: + return (option == '+' ? "behind you" : + "back"); + case EAST: + return ("left"); + case WEST: + return ("right"); + } + + case SOUTH: + switch (direction) { + case NORTH: + return (option == '+' ? "behind you" : + "back"); + case SOUTH: + return ("ahead"); + case EAST: + return ("right"); + case WEST: + return ("left"); + } + + case EAST: + switch (direction) { + case NORTH: + return ("right"); + case SOUTH: + return ("left"); + case EAST: + return ("ahead"); + case WEST: + return (option == '+' ? "behind you" : + "back"); + } + + case WEST: + switch (direction) { + case NORTH: + return ("left"); + case SOUTH: + return ("right"); + case EAST: + return (option == '+' ? "behind you" : + "back"); + case WEST: + return ("ahead"); + } + + default: + printf("Error: room %d. More than four directions wanted.", position); + return ("!!"); + } +} + +void +newway(thisway) + int thisway; +{ + switch (direction) { + + case NORTH: + switch (thisway) { + case LEFT: + direction = WEST; + break; + case RIGHT: + direction = EAST; + break; + case BACK: + direction = SOUTH; + break; + } + break; + case SOUTH: + switch (thisway) { + case LEFT: + direction = EAST; + break; + case RIGHT: + direction = WEST; + break; + case BACK: + direction = NORTH; + break; + } + break; + case EAST: + switch (thisway) { + case LEFT: + direction = NORTH; + break; + case RIGHT: + direction = SOUTH; + break; + case BACK: + direction = WEST; + break; + } + break; + case WEST: + switch (thisway) { + case LEFT: + direction = SOUTH; + break; + case RIGHT: + direction = NORTH; + break; + case BACK: + direction = EAST; + break; + } + break; + } +} diff --git a/battlestar/save.c b/battlestar/save.c new file mode 100644 index 0000000..0ed15a9 --- /dev/null +++ b/battlestar/save.c @@ -0,0 +1,199 @@ +/* $NetBSD: save.c,v 1.11 2003/08/07 09:37:03 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)save.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: save.c,v 1.11 2003/08/07 09:37:03 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +void +restore(filename) + const char *filename; +{ + int n; + int tmp; + FILE *fp; + + if (filename == NULL) + exit(1); /* Error determining save file name. */ + if ((fp = fopen(filename, "r")) == 0) { + err(1, "fopen %s", filename); + } + fread(&WEIGHT, sizeof WEIGHT, 1, fp); + fread(&CUMBER, sizeof CUMBER, 1, fp); + fread(&ourclock, sizeof ourclock, 1, fp); + fread(&tmp, sizeof tmp, 1, fp); + location = tmp ? dayfile : nightfile; + for (n = 1; n <= NUMOFROOMS; n++) { + fread(location[n].link, sizeof location[n].link, 1, fp); + fread(location[n].objects, sizeof location[n].objects, 1, fp); + } + fread(inven, sizeof inven, 1, fp); + fread(wear, sizeof wear, 1, fp); + fread(injuries, sizeof injuries, 1, fp); + fread(notes, sizeof notes, 1, fp); + fread(&direction, sizeof direction, 1, fp); + fread(&position, sizeof position, 1, fp); + fread(&ourtime, sizeof ourtime, 1, fp); + fread(&fuel, sizeof fuel, 1, fp); + fread(&torps, sizeof torps, 1, fp); + fread(&carrying, sizeof carrying, 1, fp); + fread(&encumber, sizeof encumber, 1, fp); + fread(&rythmn, sizeof rythmn, 1, fp); + fread(&followfight, sizeof followfight, 1, fp); + fread(&ate, sizeof ate, 1, fp); + fread(&snooze, sizeof snooze, 1, fp); + fread(&meetgirl, sizeof meetgirl, 1, fp); + fread(&followgod, sizeof followgod, 1, fp); + fread(&godready, sizeof godready, 1, fp); + fread(&win, sizeof win, 1, fp); + fread(&wintime, sizeof wintime, 1, fp); + fread(&matchlight, sizeof matchlight, 1, fp); + fread(&matchcount, sizeof matchcount, 1, fp); + fread(&loved, sizeof loved, 1, fp); + fread(&pleasure, sizeof pleasure, 1, fp); + fread(&power, sizeof power, 1, fp); + /* We must check the last read, to catch truncated save files */ + if (fread(&ego, sizeof ego, 1, fp) < 1) + errx(1, "save file %s too short", filename); + fclose(fp); +} + +void +save(filename) + const char *filename; +{ + int n; + int tmp; + FILE *fp; + + if (filename == NULL) + return; /* Error determining save file name. */ + if ((fp = fopen(filename, "w")) == NULL) { + warn("fopen %s", filename); + return; + } + printf("Saved in %s.\n", filename); + fwrite(&WEIGHT, sizeof WEIGHT, 1, fp); + fwrite(&CUMBER, sizeof CUMBER, 1, fp); + fwrite(&ourclock, sizeof ourclock, 1, fp); + tmp = location == dayfile; + fwrite(&tmp, sizeof tmp, 1, fp); + for (n = 1; n <= NUMOFROOMS; n++) { + fwrite(location[n].link, sizeof location[n].link, 1, fp); + fwrite(location[n].objects, sizeof location[n].objects, 1, fp); + } + fwrite(inven, sizeof inven, 1, fp); + fwrite(wear, sizeof wear, 1, fp); + fwrite(injuries, sizeof injuries, 1, fp); + fwrite(notes, sizeof notes, 1, fp); + fwrite(&direction, sizeof direction, 1, fp); + fwrite(&position, sizeof position, 1, fp); + fwrite(&ourtime, sizeof ourtime, 1, fp); + fwrite(&fuel, sizeof fuel, 1, fp); + fwrite(&torps, sizeof torps, 1, fp); + fwrite(&carrying, sizeof carrying, 1, fp); + fwrite(&encumber, sizeof encumber, 1, fp); + fwrite(&rythmn, sizeof rythmn, 1, fp); + fwrite(&followfight, sizeof followfight, 1, fp); + fwrite(&ate, sizeof ate, 1, fp); + fwrite(&snooze, sizeof snooze, 1, fp); + fwrite(&meetgirl, sizeof meetgirl, 1, fp); + fwrite(&followgod, sizeof followgod, 1, fp); + fwrite(&godready, sizeof godready, 1, fp); + fwrite(&win, sizeof win, 1, fp); + fwrite(&wintime, sizeof wintime, 1, fp); + fwrite(&matchlight, sizeof matchlight, 1, fp); + fwrite(&matchcount, sizeof matchcount, 1, fp); + fwrite(&loved, sizeof loved, 1, fp); + fwrite(&pleasure, sizeof pleasure, 1, fp); + fwrite(&power, sizeof power, 1, fp); + fwrite(&ego, sizeof ego, 1, fp); + fflush(fp); + if (ferror(fp)) + warn("fwrite %s", filename); + fclose(fp); +} + +/* + * Given a save file name (possibly from fgetln, so without terminating NUL), + * determine the name of the file to be saved to by adding the HOME + * directory if the name does not contain a slash. Name will be allocated + * with malloc(3). + */ +char * +save_file_name(filename, len) + const char *filename; + size_t len; +{ + char *home; + char *newname; + size_t tmpl; + + if (memchr(filename, '/', len)) { + newname = malloc(len + 1); + if (newname == NULL) { + warn(NULL); + return NULL; + } + memcpy(newname, filename, len); + newname[len] = 0; + } else { + home = getenv("HOME"); + if (home != NULL) { + tmpl = strlen(home); + newname = malloc(tmpl + len + 2); + if (newname == NULL) { + warn(NULL); + return NULL; + } + memcpy(newname, home, tmpl); + newname[tmpl] = '/'; + memcpy(newname + tmpl + 1, filename, len); + newname[tmpl + len + 1] = 0; + } else { + newname = malloc(len + 1); + if (newname == NULL) { + warn(NULL); + return NULL; + } + memcpy(newname, filename, len); + newname[len] = 0; + } + } + return newname; +} diff --git a/battlestar/words.c b/battlestar/words.c new file mode 100644 index 0000000..8f6266a --- /dev/null +++ b/battlestar/words.c @@ -0,0 +1,216 @@ +/* $NetBSD: words.c,v 1.11 2003/08/07 09:37:03 agc Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)words.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: words.c,v 1.11 2003/08/07 09:37:03 agc Exp $"); +#endif +#endif /* not lint */ + +#include "extern.h" + +struct wlist wlist[] = { + { "knife", KNIFE, OBJECT, NULL }, + { "sword", SWORD, NOUNS, NULL }, + { "scabbard", SWORD, OBJECT, NULL }, + { "fine", SWORD, OBJECT, NULL }, + { "two-handed", TWO_HANDED, OBJECT, NULL }, + { "cleaver", CLEAVER, OBJECT, NULL }, + { "broadsword", BROAD, OBJECT, NULL }, + { "mail", MAIL, OBJECT, NULL }, + { "coat", MAIL, OBJECT, NULL }, + { "helmet", HELM, OBJECT, NULL }, + { "shield", SHIELD, OBJECT, NULL }, + { "maid", MAID, OBJECT, NULL }, + { "maid's", MAID, OBJECT, NULL }, + { "body", BODY, NOUNS, NULL }, + { "viper", VIPER, OBJECT, NULL }, + { "lamp", LAMPON, OBJECT, NULL }, + { "lantern", LAMPON, OBJECT, NULL }, + { "shoes", SHOES, OBJECT, NULL }, + { "pajamas", PAJAMAS, OBJECT, NULL }, + { "robe", ROBE, OBJECT, NULL }, + { "amulet", AMULET, NOUNS, NULL }, + { "medallion", MEDALION, NOUNS, NULL }, + { "talisman", TALISMAN, NOUNS, NULL }, + { "woodsman", DEADWOOD, OBJECT, NULL }, + { "woodsman's", DEADWOOD, OBJECT, NULL }, + { "mallet", MALLET, OBJECT, NULL }, + { "laser", LASER, OBJECT, NULL }, + { "pistol", LASER, OBJECT, NULL }, + { "blaster", LASER, OBJECT, NULL }, + { "gun", LASER, OBJECT, NULL }, + { "goddess", NORMGOD, NOUNS, NULL }, + { "grenade", GRENADE, OBJECT, NULL }, + { "chain", CHAIN, OBJECT, NULL }, + { "rope", ROPE, OBJECT, NULL }, + { "levis", LEVIS, OBJECT, NULL }, + { "pants", LEVIS, OBJECT, NULL }, + { "mace", MACE, OBJECT, NULL }, + { "shovel", SHOVEL, OBJECT, NULL }, + { "halberd", HALBERD, OBJECT, NULL }, + { "compass", COMPASS, OBJECT, NULL }, + { "elf", ELF, OBJECT, NULL }, + { "coins", COINS, OBJECT, NULL }, + { "matches", MATCHES, OBJECT, NULL }, + { "match", MATCHES, OBJECT, NULL }, + { "book", MATCHES, OBJECT, NULL }, + { "man", MAN, NOUNS, NULL }, + { "papaya", PAPAYAS, OBJECT, NULL }, + { "papayas", PAPAYAS, OBJECT, NULL }, + { "pineapple", PINEAPPLE, OBJECT, NULL }, + { "kiwi", KIWI, OBJECT, NULL }, + { "coconut", COCONUTS, OBJECT, NULL }, + { "coconuts", COCONUTS, OBJECT, NULL }, + { "mango", MANGO, OBJECT, NULL }, + { "ring", RING, OBJECT, NULL }, + { "potion", POTION, OBJECT, NULL }, + { "bracelet", BRACELET, OBJECT, NULL }, + { "timer", TIMER, NOUNS, NULL }, + { "bomb", BOMB, OBJECT, NULL }, + { "warhead", BOMB, OBJECT, NULL }, + { "girl", NATIVE, NOUNS, NULL }, + { "native", NATIVE, NOUNS, NULL }, + { "horse", HORSE, OBJECT, NULL }, + { "stallion", HORSE, OBJECT, NULL }, + { "car", CAR, OBJECT, NULL }, + { "volare", CAR, OBJECT, NULL }, + { "pot", POT, OBJECT, NULL }, + { "jewels", POT, OBJECT, NULL }, + { "bar", BAR, OBJECT, NULL }, + { "diamond", BLOCK, OBJECT, NULL }, + { "block", BLOCK, OBJECT, NULL }, + { "up", UP, VERB, NULL }, + { "u", UP, VERB, NULL }, + { "down", DOWN, VERB, NULL }, + { "d", DOWN, VERB, NULL }, + { "ahead", AHEAD, VERB, NULL }, + { "a", AHEAD, VERB, NULL }, + { "back", BACK, VERB, NULL }, + { "b", BACK, VERB, NULL }, + { "right", RIGHT, VERB, NULL }, + { "r", RIGHT, VERB, NULL }, + { "left", LEFT, VERB, NULL }, + { "l", LEFT, VERB, NULL }, + { "take", TAKE, VERB, NULL }, + { "get", TAKE, VERB, NULL }, + { "use", USE, VERB, NULL }, + { "look", LOOK, VERB, NULL }, + { "lo", LOOK, VERB, NULL }, + { "quit", QUIT, VERB, NULL }, + { "q", QUIT, VERB, NULL }, + { "su", SU, VERB, NULL }, + { "drop", DROP, VERB, NULL }, + { "draw", DRAW, VERB, NULL }, + { "pull", DRAW, VERB, NULL }, + { "carry", DRAW, VERB, NULL }, + { "wear", WEARIT, VERB, NULL }, + { "sheathe", WEARIT, VERB, NULL }, + { "put", PUT, VERB, NULL }, + { "buckle", PUT, VERB, NULL }, + { "strap", PUT, VERB, NULL }, + { "tie", PUT, VERB, NULL }, + { "inven", INVEN, VERB, NULL }, + { "i", INVEN, VERB, NULL }, + { "everything", EVERYTHING, OBJECT, NULL }, + { "all", EVERYTHING, OBJECT, NULL }, + { "and", AND, CONJ, NULL }, + { ",", AND, CONJ, NULL }, + { "kill", KILL, VERB, NULL }, + { "fight", KILL, VERB, NULL }, + { "ravage", RAVAGE, VERB, NULL }, + { "rape", RAVAGE, VERB, NULL }, + { "undress", UNDRESS, VERB, NULL }, + { "throw", THROW, VERB, NULL }, + { "launch", LAUNCH, VERB, NULL }, + { "land", LANDIT, VERB, NULL }, + { "light", LIGHT, VERB, NULL }, + { "strike", LIGHT, VERB, NULL }, + { "follow", FOLLOW, VERB, NULL }, + { "chase", FOLLOW, VERB, NULL }, + { "kiss", KISS, VERB, NULL }, + { "love", LOVE, VERB, NULL }, + { "fuck", LOVE, VERB, NULL }, + { "give", GIVE, VERB, NULL }, + { "smite", SMITE, VERB, NULL }, + { "attack", SMITE, VERB, NULL }, + { "swing", SMITE, VERB, NULL }, + { "stab", SMITE, VERB, NULL }, + { "slice", SMITE, VERB, NULL }, + { "cut", SMITE, VERB, NULL }, + { "hack", SMITE, VERB, NULL }, + { "shoot", SHOOT, VERB, NULL }, + { "blast", SHOOT, VERB, NULL }, + { "open", OPEN, VERB, NULL }, + { "unlock", OPEN, VERB, NULL }, + { "on", ON, PREPS, NULL }, + { "off", OFF, PREPS, NULL }, + { "time", TIME, VERB, NULL }, + { "sleep", SLEEP, VERB, NULL }, + { "dig", DIG, VERB, NULL }, + { "eat", EAT, VERB, NULL }, + { "swim", SWIM, VERB, NULL }, + { "drink", DRINK, VERB, NULL }, + { "door", DOOR, NOUNS, NULL }, + { "verbose", VERBOSE, VERB, NULL }, + { "brief", BRIEF, VERB, NULL }, + { "save", SAVE, VERB, NULL }, + { "ride", RIDE, VERB, NULL }, + { "mount", RIDE, VERB, NULL }, + { "drive", DRIVE, VERB, NULL }, + { "start", DRIVE, VERB, NULL }, + { "score", SCORE, VERB, NULL }, + { "points", SCORE, VERB, NULL }, + { "bury", BURY, VERB, NULL }, + { "jump", JUMP, VERB, NULL }, + { "kick", KICK, VERB, NULL }, + { "kerosene", 0, ADJS, NULL }, + { "plumed", 0, ADJS, NULL }, + { "ancient", 0, ADJS, NULL }, + { "golden", 0, ADJS, NULL }, + { "gold", 0, ADJS, NULL }, + { "ostrich", 0, ADJS, NULL }, + { "rusty", 0, ADJS, NULL }, + { "old", 0, ADJS, NULL }, + { "dented", 0, ADJS, NULL }, + { "blue", 0, ADJS, NULL }, + { "purple", 0, ADJS, NULL }, + { "kingly", 0, ADJS, NULL }, + { "the", 0, ADJS, NULL }, + { "climb", AUXVERB, VERB, NULL }, + { "move", AUXVERB, VERB, NULL }, + { "make", AUXVERB, VERB, NULL }, + { "to", 0, ADJS, NULL }, + { NULL, 0, 0, NULL } +}; diff --git a/bcd/Makefile.bsd b/bcd/Makefile.bsd new file mode 100644 index 0000000..5b3237f --- /dev/null +++ b/bcd/Makefile.bsd @@ -0,0 +1,10 @@ +# $NetBSD: Makefile,v 1.4 1995/03/21 15:08:10 cgd Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= bcd +MAN= bcd.6 +MLINKS= bcd.6 morse.6 bcd.6 ppt.6 +HIDEGAME=hidegame + +.include + diff --git a/bcd/Makefrag b/bcd/Makefrag new file mode 100644 index 0000000..0e62ea5 --- /dev/null +++ b/bcd/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for bcd +# +# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +bcd_DIRS := $(GAMESDIR) $(MAN6DIR) + +bcd_all: bcd/bcd bcd/bcd.6 + +bcd_install: bcd_all + $(INSTALL_BINARY) bcd/bcd $(INSTALL_PREFIX)$(GAMESDIR)/bcd + $(HIDE_GAME) bcd + $(INSTALL_MANUAL) bcd/bcd.6 diff --git a/bcd/bcd.6 b/bcd/bcd.6 new file mode 100644 index 0000000..f07acb5 --- /dev/null +++ b/bcd/bcd.6 @@ -0,0 +1,85 @@ +.\" $NetBSD: bcd.6,v 1.16 2003/08/07 09:37:04 agc Exp $ +.\" +.\" Copyright (c) 1988, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd November 26, 2002 +.Dt BCD 6 +.Os +.Sh NAME +.Nm bcd , +.Nm ppt , +.Nm morse +.Nd "reformat input as punch cards, paper tape or morse code" +.Sh SYNOPSIS +.Nm +.Op Ar string ... +.Nm ppt +.Op Fl d Ns \&| Ns Ar string ... +.Nm morse +.Op Fl ds Ar string ... +.Sh DESCRIPTION +The +.Nm , +.Nm ppt +and +.Nm morse +commands read the given input and reformat it in the form of +punched cards, paper tape or morse code respectively. +Acceptable input are command line arguments or the standard input. +.Pp +Available option: +.Bl -tag -width flag +.It Fl s +The +.Fl s +option for morse produces dots and dashes rather than words. +.It Fl d +Decode +.Nm ppt +output, or +.Nm morse +output consisting of dots and slashes (as generated by using the +.Fl s +option). +.El +.Sh SEE ALSO +.Rs +.%B "ISO 1681:1973: Information processing--Unpunched paper cards--Specification" +.Re +.Rs +.%B "ISO 1682:1973: Information processing--80 columns punched paper cards--Dimensions and location of rectangular punched holes" +.Re +.Rs +.%B "ECMA-10: ECMA Standard for Data Interchange on Punched Tape" +.Re +.Rs +.%B "ITU-T Recommendation F.1: Operational provisions for the international public telegram service" +.%O "Division B, I. Morse code" +.Re diff --git a/bcd/bcd.c b/bcd/bcd.c new file mode 100644 index 0000000..b5b6b93 --- /dev/null +++ b/bcd/bcd.c @@ -0,0 +1,224 @@ +/* $NetBSD: bcd.c,v 1.13 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Steve Hayman of the Indiana University Computer Science Dept. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)bcd.c 8.2 (Berkeley) 3/20/94"; +#else +__RCSID("$NetBSD: bcd.c,v 1.13 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +/* + * bcd -- + * + * Read one line of standard input and produce something that looks like a + * punch card. An attempt to reimplement /usr/games/bcd. All I looked at + * was the man page. + * + * I couldn't find a BCD table handy so I wrote a shell script to deduce what + * the patterns were that the old bcd was using for each possible 8-bit + * character. These are the results -- the low order 12 bits represent the + * holes. (A 1 bit is a hole.) These may be wrong, but they match the old + * program! + * + * Steve Hayman + * sahayman@iuvax.cs.indiana.edu + * 1989 11 30 + * + * + * I found an error in the table. The same error is found in the SunOS 4.1.1 + * version of bcd. It has apparently been around a long time. The error caused + * 'Q' and 'R' to have the same punch code. I only noticed the error due to + * someone pointing it out to me when the program was used to print a cover + * for an APA! The table was wrong in 4 places. The other error was masked + * by the fact that the input is converted to upper case before lookup. + * + * Dyane Bruce + * db@diana.ocunix.on.ca + * Nov 5, 1993 + */ + +#include + +#include +#include +#include +#include +#include + +const u_short holes[256] = { + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x206, 0x20a, 0x042, 0x442, 0x222, 0x800, 0x406, + 0x812, 0x412, 0x422, 0xa00, 0x242, 0x400, 0x842, 0x300, + 0x200, 0x100, 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, + 0x002, 0x001, 0x012, 0x40a, 0x80a, 0x212, 0x00a, 0x006, + 0x022, 0x900, 0x880, 0x840, 0x820, 0x810, 0x808, 0x804, + 0x802, 0x801, 0x500, 0x480, 0x440, 0x420, 0x410, 0x408, + 0x404, 0x402, 0x401, 0x280, 0x240, 0x220, 0x210, 0x208, + 0x204, 0x202, 0x201, 0x082, 0x822, 0x600, 0x282, 0x30f, + 0x900, 0x880, 0x840, 0x820, 0x810, 0x808, 0x804, 0x802, + 0x801, 0x500, 0x480, 0x440, 0x420, 0x410, 0x408, 0x404, + 0x402, 0x401, 0x280, 0x240, 0x220, 0x210, 0x208, 0x204, + 0x202, 0x201, 0x082, 0x806, 0x822, 0x600, 0x282, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x206, 0x20a, 0x042, 0x442, 0x222, 0x800, 0x406, 0x812, + 0x412, 0x422, 0xa00, 0x242, 0x400, 0x842, 0x300, 0x200, + 0x100, 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, 0x002, + 0x001, 0x012, 0x40a, 0x80a, 0x212, 0x00a, 0x006, 0x022, + 0x900, 0x880, 0x840, 0x820, 0x810, 0x808, 0x804, 0x802, + 0x801, 0x500, 0x480, 0x440, 0x420, 0x410, 0x408, 0x404, + 0x402, 0x401, 0x280, 0x240, 0x220, 0x210, 0x208, 0x204, + 0x202, 0x201, 0x082, 0x806, 0x822, 0x600, 0x282, 0x30f, + 0x900, 0x880, 0x840, 0x820, 0x810, 0x808, 0x804, 0x802, + 0x801, 0x500, 0x480, 0x440, 0x420, 0x410, 0x408, 0x404, + 0x402, 0x401, 0x280, 0x240, 0x220, 0x210, 0x208, 0x204, + 0x202, 0x201, 0x082, 0x806, 0x822, 0x600, 0x282, 0x0 +}; + +/* + * i'th bit of w. + */ +#define bit(w,i) ((w)&(1<<(i))) + +int main(int, char *[]); +void printcard(unsigned char *); + +int +main(argc, argv) + int argc; + char **argv; +{ + char cardline[80]; + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + /* + * The original bcd prompts with a "%" when reading from stdin, + * but this seems kind of silly. So this one doesn't. + */ + + if (argc > 1) { + while (--argc) + printcard((unsigned char *)*++argv); + } else + while (fgets(cardline, sizeof(cardline), stdin)) + printcard((unsigned char *)cardline); + exit(0); +} + +#define COLUMNS 48 + +void +printcard(str) + unsigned char *str; +{ + static const char rowchars[] = " 123456789"; + int i, row; + unsigned char *p; + + /* ruthlessly remove newlines and truncate at 48 characters. */ + if ((p = (unsigned char *)strchr((char *)str, '\n'))) + *p = '\0'; + + if (strlen((char *)str) > COLUMNS) + str[COLUMNS] = '\0'; + + /* make string upper case. */ + for (p = str; *p; ++p) + if (isascii(*p) && islower(*p)) + *p = toupper(*p); + + /* top of card */ + putchar(' '); + for (i = 1; i <= COLUMNS; ++i) + putchar('_'); + putchar('\n'); + + /* + * line of text. Leave a blank if the character doesn't have + * a hole pattern. + */ + p = str; + putchar('/'); + for (i = 1; *p; i++, p++) + if (holes[(int)*p]) + putchar(*p); + else + putchar(' '); + while (i++ <= COLUMNS) + putchar(' '); + putchar('|'); + putchar('\n'); + + /* + * 12 rows of potential holes; output a ']', which looks kind of + * like a hole, if the appropriate bit is set in the holes[] table. + * The original bcd output a '[', a backspace, five control A's, + * and then a ']'. This seems a little excessive. + */ + for (row = 0; row <= 11; ++row) { + putchar('|'); + for (i = 0, p = str; *p; i++, p++) { + if (bit(holes[(int)*p], 11 - row)) + putchar(']'); + else + putchar(rowchars[row]); + } + while (i++ < COLUMNS) + putchar(rowchars[row]); + putchar('|'); + putchar('\n'); + } + + /* bottom of card */ + putchar('|'); + for (i = 1; i <= COLUMNS; i++) + putchar('_'); + putchar('|'); + putchar('\n'); +} diff --git a/boggle/Makefile.bsd b/boggle/Makefile.bsd new file mode 100644 index 0000000..59d2f35 --- /dev/null +++ b/boggle/Makefile.bsd @@ -0,0 +1,39 @@ +# $NetBSD: Makefile,v 1.22 2003/10/21 10:01:19 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +.include + +SUBDIR= boggle mkdict mkindex + +MKDICTDIR!= cd $(.CURDIR)/mkdict; ${PRINTOBJDIR} +MKDICT=${MKDICTDIR}/mkdict +MKINDEXDIR!= cd $(.CURDIR)/mkindex; ${PRINTOBJDIR} +MKINDEX=${MKINDEXDIR}/mkindex +WORDS=${NETBSDSRCDIR}/share/dict/web2 +DICTFILES=dictionary dictindex +.if ${MKSHARE} != "no" +FILES=${DICTFILES} +FILESDIR=/usr/share/games/boggle +.endif +CLEANFILES+=${DICTFILES} + +realall: ${FILES} + +${MKDICT}: + @cd ${.CURDIR}/mkdict && ${MAKE} + +${MKINDEX}: + @cd ${.CURDIR}/mkindex && ${MAKE} + +dictionary: ${WORDS} ${MKDICT} + ${_MKTARGET_CREATE} + rm -f ${.TARGET} + ${MKDICT} < ${WORDS} > ${.TARGET} + +dictindex: dictionary ${MKINDEX} + ${_MKTARGET_CREATE} + rm -f ${.TARGET} + ${MKINDEX} < dictionary > ${.TARGET} + +.include +.include diff --git a/boggle/Makefrag b/boggle/Makefrag new file mode 100644 index 0000000..137aea9 --- /dev/null +++ b/boggle/Makefrag @@ -0,0 +1,31 @@ +# Makefrag - makefile fragment for boggle +# +# Copyright (c) 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +boggle_all: + +boggle_install: diff --git a/boggle/README b/boggle/README new file mode 100644 index 0000000..38fa211 --- /dev/null +++ b/boggle/README @@ -0,0 +1,60 @@ +$NetBSD: README,v 1.2 1995/03/21 12:14:21 cgd Exp $ + +Bog is a fairly portable simulation of Parker Brother's game of Boggle and +is similar to the 4.[23] BSD "boggle" and Sun's "boggletool". +Bog has not been derived from any proprietary code. +It has been tested on the Sun 3 under SunOS 3.2 and on the Atari 1040ST (MWC). + +What You Need + +You will need curses/termcap and a large word list. +The minix word list or /usr/dict/words will do nicely. +The word list must already be sorted (you can use "sort -c" to check). + +Contents + + README - this file + Makefile + bog.man - half-hearted man page (use the game's help command) + bog.h - configuration and header info + bog.c - machine independent game code + word.c - machine independent word list routines + help.c - (curses) help routine + mach.c - (curses) display code + prtable.c - ditto + timer.c - machine dependent (os) input polling + mkdict.c - convert a word list to a bog dictionary + mkindex.c - create an index file for the bog dictionary + showdict.c - print a bog dictionary to stdout + +Portability + +- I've tried to make bog.c (the program logic) independent of the I/O. + My plan was to make it straightforward to adapt the game to run under a + windowing system (eg., Suntools, GEM). I have no plan to actually do this. + I've stuck to a small subset of the curses routines. +- The program runs with the input in raw mode. +- If you want the running timer you must #define TIMER in bog.h + and insert the input polling code in timer.c for your system. There is + already code there for BSD, SYSV, and ATARI. + +Setup + +1. Check bog.h and Makefile and edit to fit your environment +2. "make all" + This will make all the binaries and create the dictionary and index files +3. Move "dict", "dict.ind", and "helpfile" to where you specified in bog.h +4. Play away + +Enjoy. [But beware: boggle can be addictive!] + +----- +Barry Brachman | UUCP: {alberta,uw-beaver,uunet}! +Dept. of Computer Science| ubc-vision!ubc-csgrads!brachman +Univ. of British Columbia| Internet: brachman@cs.ubc.ca +Vancouver, B.C. V6T 1W5 | brachman%ubc.csnet@csnet-relay.arpa +(604) 228-5010 | brachman@ubc.csnet + +Note: Barry Brachman has confirmed that boggle is under the standard +BSD licence, and he is no longer supporting the game, so bug reports +should go to the appropriate distributor. diff --git a/boggle/boggle/Makefile.bsd b/boggle/boggle/Makefile.bsd new file mode 100644 index 0000000..3ea5298 --- /dev/null +++ b/boggle/boggle/Makefile.bsd @@ -0,0 +1,18 @@ +# $NetBSD: Makefile,v 1.9 1999/02/13 02:54:20 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +.include + +PROG= boggle +SRCS= bog.c help.c mach.c prtable.c timer.c word.c +DPADD= ${LIBCURSES} +LDADD= -lcurses +HIDEGAME=hidegame +MAN= boggle.6 +.if ${MKSHARE} != "no" +FILES= helpfile +FILESDIR=/usr/share/games/boggle +.endif + +.include "../../Makefile.inc" +.include diff --git a/boggle/boggle/Makefrag b/boggle/boggle/Makefrag new file mode 100644 index 0000000..c8acb87 --- /dev/null +++ b/boggle/boggle/Makefrag @@ -0,0 +1,41 @@ +# Makefrag - makefile fragment for boggle/boggle +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# Defining NEW_STYLE causes this program to be compiled with the Linux +# improvements; removing this definition gives the original BSD behaviour. +# +boggle_boggle_DEFS := -DNEW_STYLE +boggle_boggle_DIRS := $(GAMESDIR) $(MAN6DIR) $(BOGGLE_DIR) + +boggle_boggle_all: boggle/boggle/boggle boggle/boggle/boggle.6 boggle/boggle/helpfile + +boggle_boggle_install: boggle_boggle_all + $(INSTALL_BINARY) boggle/boggle/boggle $(INSTALL_PREFIX)$(GAMESDIR)/boggle + $(HIDE_GAME) boggle + $(INSTALL_MANUAL) boggle/boggle/boggle.6 + $(INSTALL_DATA) boggle/boggle/helpfile $(INSTALL_PREFIX)$(BOGGLE_DIR)/helpfile diff --git a/boggle/boggle/bog.c b/boggle/boggle/bog.c new file mode 100644 index 0000000..276969b --- /dev/null +++ b/boggle/boggle/bog.c @@ -0,0 +1,715 @@ +/* $NetBSD: bog.c,v 1.19 2004/11/05 21:30:31 dsl Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)bog.c 8.2 (Berkeley) 5/4/95"; +#else +__RCSID("$NetBSD: bog.c,v 1.19 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include + +#include "bog.h" +#include "extern.h" + +static int compar(const void *, const void *); + int main(int, char *[]); + +struct dictindex dictindex[26]; + +/* + * Cube position numbering: + * + * 0 1 2 3 + * 4 5 6 7 + * 8 9 A B + * C D E F + */ +static int adjacency[16][16] = { +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + { 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 0 */ + { 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 1 */ + { 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 2 */ + { 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 3 */ + { 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }, /* 4 */ + { 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, /* 5 */ + { 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0 }, /* 6 */ + { 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, /* 7 */ + { 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 }, /* 8 */ + { 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0 }, /* 9 */ + { 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1 }, /* A */ + { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1 }, /* B */ + { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0 }, /* C */ + { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0 }, /* D */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1 }, /* E */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 } /* F */ +}; + +static int letter_map[26][16]; + +char board[17]; +int wordpath[MAXWORDLEN + 1]; +int wordlen; /* Length of last word returned by nextword() */ +int usedbits; + +const char *pword[MAXPWORDS]; +char pwords[MAXPSPACE], *pwordsp; +int npwords; + +const char *mword[MAXMWORDS]; +char mwords[MAXMSPACE], *mwordsp; +int nmwords; + +int ngames = 0; +int tnmwords = 0, tnpwords = 0; + +#include +jmp_buf env; + +time_t start_t; + +static FILE *dictfp; + +int batch; +int debug; +int minlength; +int reuse; +int tlimit; + +int +main(argc, argv) + int argc; + char *argv[]; +{ + long seed; + int ch, done, i, selfuse, sflag; + char *bspec, *p; + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + seed = 0; + batch = debug = reuse = selfuse = sflag = 0; + bspec = NULL; + minlength = 3; + tlimit = 180; /* 3 minutes is standard */ + + while ((ch = getopt(argc, argv, "bds:t:w:")) != -1) + switch(ch) { + case 'b': + batch = 1; + break; + case 'd': + debug = 1; + break; + case 's': + sflag = 1; + seed = atol(optarg); + break; + case 't': + if ((tlimit = atoi(optarg)) < 1) + errx(1, "bad time limit"); + break; + case 'w': + if ((minlength = atoi(optarg)) < 3) + errx(1, "min word length must be > 2"); + break; + case '?': + default: + usage(); + } + argc -= optind; + argv += optind; + + /* process final arguments */ + if (argc > 0) { + if (strcmp(argv[0], "+") == 0) + reuse = 1; + else if (strcmp(argv[0], "++") == 0) + selfuse = 1; + } + + if (reuse || selfuse) { + argc -= 1; + argv += 1; + } + + if (argc > 0) { + if (islower((unsigned char)argv[0][0])) { + if (strlen(argv[0]) != 16) { + usage(); + } else { + /* This board is assumed to be valid... */ + bspec = argv[0]; + } + } else { + usage(); + } + } + + if (batch && bspec == NULL) + errx(1, "must give both -b and a board setup"); + + if (selfuse) + for (i = 0; i < 16; i++) + adjacency[i][i] = 1; + + if (batch) { + newgame(bspec); + while ((p = batchword(stdin)) != NULL) + (void) printf("%s\n", p); + exit (0); + } + setup(sflag, seed); + prompt("Loading the dictionary..."); + if ((dictfp = opendict(DICT)) == NULL) { + warn("%s", DICT); + cleanup(); + exit(1); + } +#ifdef LOADDICT + if (loaddict(dictfp) < 0) { + warnx("can't load %s", DICT); + cleanup(); + exit(1); + } + (void)fclose(dictfp); + dictfp = NULL; +#endif + if (loadindex(DICTINDEX) < 0) { + warnx("can't load %s", DICTINDEX); + cleanup(); + exit(1); + } + + prompt("Type to begin..."); + while (inputch() != ' '); + + for (done = 0; !done;) { + newgame(bspec); + bspec = NULL; /* reset for subsequent games */ + playgame(); +#ifdef NEW_STYLE + prompt("Type uit, locate, any other key to continue..."); +#else + prompt("Type to continue, any cap to quit..."); +#endif + delay(50); /* wait for user to quit typing */ + flushin(stdin); + for (;;) { + ch = inputch(); +#ifdef NEW_STYLE + if (ch == '\033') + findword(); + else if (ch == '\014' || ch == '\022') /* ^l or ^r */ + redraw(); + else { + if (ch == 'q') { + done = 1; + break; + } else { + break; + } + } +#else + if (ch == '\033') + findword(); + else if (ch == '\014' || ch == '\022') /* ^l or ^r */ + redraw(); + else { + if (isupper(ch)) { + done = 1; + break; + } + if (ch == ' ') + break; + } +#endif + } + } + cleanup(); + exit (0); +} + +/* + * Read a line from the given stream and check if it is legal + * Return a pointer to a legal word or a null pointer when EOF is reached + */ +char * +batchword(fp) + FILE *fp; +{ + int *p, *q; + char *w; + + q = &wordpath[MAXWORDLEN + 1]; + p = wordpath; + while (p < q) + *p++ = -1; + while ((w = nextword(fp)) != NULL) { + if (wordlen < minlength) + continue; + p = wordpath; + while (p < q && *p != -1) + *p++ = -1; + usedbits = 0; + if (checkword(w, -1, wordpath) != -1) + return (w); + } + return (NULL); +} + +/* + * Play a single game + * Reset the word lists from last game + * Keep track of the running stats + */ +void +playgame() +{ + int i, *p, *q; + time_t t; + char buf[MAXWORDLEN + 1]; + + ngames++; + npwords = 0; + pwordsp = pwords; + nmwords = 0; + mwordsp = mwords; + + time(&start_t); + + q = &wordpath[MAXWORDLEN + 1]; + p = wordpath; + while (p < q) + *p++ = -1; + showboard(board); + startwords(); + if (setjmp(env)) { + badword(); + goto timesup; + } + + while (1) { + if (getline(buf) == NULL) { + if (feof(stdin)) + clearerr(stdin); + break; + } + time(&t); + if (t - start_t >= tlimit) { + badword(); + break; + } + if (buf[0] == '\0') { + int remaining; + + remaining = tlimit - (int) (t - start_t); + (void)snprintf(buf, sizeof(buf), + "%d:%02d", remaining / 60, remaining % 60); + showstr(buf, 1); + continue; + } + if (strlen(buf) < (size_t)minlength) { + badword(); + continue; + } + + p = wordpath; + while (p < q && *p != -1) + *p++ = -1; + usedbits = 0; + + if (checkword(buf, -1, wordpath) < 0) + badword(); + else { + if (debug) { + (void) printf("["); + for (i = 0; wordpath[i] != -1; i++) + (void) printf(" %d", wordpath[i]); + (void) printf(" ]\n"); + } + for (i = 0; i < npwords; i++) { + if (strcmp(pword[i], buf) == 0) + break; + } + if (i != npwords) { /* already used the word */ + badword(); + showword(i); + } + else if (!validword(buf)) + badword(); + else { + int len; + + len = strlen(buf) + 1; + if (npwords == MAXPWORDS - 1 || + pwordsp + len >= &pwords[MAXPSPACE]) { + warnx("Too many words!"); + cleanup(); + exit(1); + } + pword[npwords++] = pwordsp; + (void) strcpy(pwordsp, buf); + pwordsp += len; + addword(buf); + } + } + } + +timesup: ; + + /* + * Sort the player's words and terminate the list with a null + * entry to help out checkdict() + */ + qsort(pword, npwords, sizeof(pword[0]), compar); + pword[npwords] = NULL; + + /* + * These words don't need to be sorted since the dictionary is sorted + */ + checkdict(); + + tnmwords += nmwords; + tnpwords += npwords; + + results(); +} + +/* + * Check if the given word is present on the board, with the constraint + * that the first letter of the word is adjacent to square 'prev' + * Keep track of the current path of squares for the word + * A 'q' must be followed by a 'u' + * Words must end with a null + * Return 1 on success, -1 on failure + */ +int +checkword(word, prev, path) + const char *word; + int prev, *path; +{ + const char *p; + char *q; + int i, *lm; + + if (debug) { + (void) printf("checkword(%s, %d, [", word, prev); + for (i = 0; wordpath[i] != -1; i++) + (void) printf(" %d", wordpath[i]); + (void) printf(" ]\n"); + } + + if (*word == '\0') + return (1); + + lm = letter_map[*word - 'a']; + + if (prev == -1) { + char subword[MAXWORDLEN + 1]; + + /* + * Check for letters not appearing in the cube to eliminate some + * recursive calls + * Fold 'qu' into 'q' + */ + p = word; + q = subword; + while (*p != '\0') { + if (*letter_map[*p - 'a'] == -1) + return (-1); + *q++ = *p; + if (*p++ == 'q') { + if (*p++ != 'u') + return (-1); + } + } + *q = '\0'; + while (*lm != -1) { + *path = *lm; + usedbits |= (1 << *lm); + if (checkword(subword + 1, *lm, path + 1) > 0) + return (1); + usedbits &= ~(1 << *lm); + lm++; + } + return (-1); + } + + /* + * A cube is only adjacent to itself in the adjacency matrix if selfuse + * was set, so a cube can't be used twice in succession if only the + * reuse flag is set + */ + for (i = 0; lm[i] != -1; i++) { + if (adjacency[prev][lm[i]]) { + int used; + + used = 1 << lm[i]; + /* + * If necessary, check if the square has already + * been used. + */ + if (!reuse && (usedbits & used)) + continue; + *path = lm[i]; + usedbits |= used; + if (checkword(word + 1, lm[i], path + 1) > 0) + return (1); + usedbits &= ~used; + } + } + *path = -1; /* in case of a backtrack */ + return (-1); +} + +/* + * A word is invalid if it is not in the dictionary + * At this point it is already known that the word can be formed from + * the current board + */ +int +validword(word) + const char *word; +{ + int j; + const char *q, *w; + + j = word[0] - 'a'; + if (dictseek(dictfp, dictindex[j].start, SEEK_SET) < 0) { + (void) fprintf(stderr, "Seek error\n"); + cleanup(); + exit(1); + } + + while ((w = nextword(dictfp)) != NULL) { + int ch; + + if (*w != word[0]) /* end of words starting with word[0] */ + break; + q = word; + while ((ch = *w++) == *q++ && ch != '\0') + ; + if (*(w - 1) == '\0' && *(q - 1) == '\0') + return (1); + } + if (dictfp != NULL && feof(dictfp)) /* Special case for z's */ + clearerr(dictfp); + return (0); +} + +/* + * Check each word in the dictionary against the board + * Delete words from the machine list that the player has found + * Assume both the dictionary and the player's words are already sorted + */ +void +checkdict() +{ + char *p, *w; + const char **pw; + int i; + int prevch, previndex, *pi, *qi, st; + + mwordsp = mwords; + nmwords = 0; + pw = pword; + prevch ='a'; + qi = &wordpath[MAXWORDLEN + 1]; + + (void) dictseek(dictfp, 0L, SEEK_SET); + while ((w = nextword(dictfp)) != NULL) { + if (wordlen < minlength) + continue; + if (*w != prevch) { + /* + * If we've moved on to a word with a different first + * letter then we can speed things up by skipping all + * words starting with a letter that doesn't appear in + * the cube. + */ + i = (int) (*w - 'a'); + while (i < 26 && letter_map[i][0] == -1) + i++; + if (i == 26) + break; + previndex = prevch - 'a'; + prevch = i + 'a'; + /* + * Fall through if the word's first letter appears in + * the cube (i.e., if we can't skip ahead), otherwise + * seek to the beginning of words in the dictionary + * starting with the next letter (alphabetically) + * appearing in the cube and then read the first word. + */ + if (i != previndex + 1) { + if (dictseek(dictfp, + dictindex[i].start, SEEK_SET) < 0) { + warnx("seek error in checkdict()"); + cleanup(); + exit(1); + } + continue; + } + } + + pi = wordpath; + while (pi < qi && *pi != -1) + *pi++ = -1; + usedbits = 0; + if (checkword(w, -1, wordpath) == -1) + continue; + + st = 1; + while (*pw != NULL && (st = strcmp(*pw, w)) < 0) + pw++; + if (st == 0) /* found it */ + continue; + if (nmwords == MAXMWORDS || + mwordsp + wordlen + 1 >= &mwords[MAXMSPACE]) { + warnx("too many words!"); + cleanup(); + exit(1); + } + mword[nmwords++] = mwordsp; + p = w; + while ((*mwordsp++ = *p++) != '\0') + ; + } +} + +/* + * Crank up a new game + * If the argument is non-null then it is assumed to be a legal board spec + * in ascending cube order, oth. make a random board + */ +void +newgame(b) + const char *b; +{ + int i, p, q; + const char *tmp; + int *lm[26]; + static const char *cubes[16] = { + "ednosw", "aaciot", "acelrs", "ehinps", + "eefhiy", "elpstu", "acdemp", "gilruw", + "egkluy", "ahmors", "abilty", "adenvz", + "bfiorx", "dknotu", "abjmoq", "egintv" + }; + + if (b == NULL) { + /* + * Shake the cubes and make the board + */ + i = 0; + while (i < 100) { + p = (int) (random() % 16); + q = (int) (random() % 16); + if (p != q) { + tmp = cubes[p]; + cubes[p] = cubes[q]; + cubes[q] = tmp; + i++; + } + /* else try again */ + } + + for (i = 0; i < 16; i++) + board[i] = cubes[i][random() % 6]; + } + else { + for (i = 0; i < 16; i++) + board[i] = b[i]; + } + board[16] = '\0'; + + /* + * Set up the map from letter to location(s) + * Each list is terminated by a -1 entry + */ + for (i = 0; i < 26; i++) { + lm[i] = letter_map[i]; + *lm[i] = -1; + } + + for (i = 0; i < 16; i++) { + int j; + + j = (int) (board[i] - 'a'); + *lm[j] = i; + *(++lm[j]) = -1; + } + + if (debug) { + for (i = 0; i < 26; i++) { + int ch, j; + + (void) printf("%c:", 'a' + i); + for (j = 0; (ch = letter_map[i][j]) != -1; j++) + (void) printf(" %d", ch); + (void) printf("\n"); + } + } + +} + +int +compar(p, q) + const void *p, *q; +{ + return (strcmp(*(const char *const *)p, *(const char *const *)q)); +} + +void +usage() +{ + (void) fprintf(stderr, + "usage: bog [-bd] [-s#] [-t#] [-w#] [+[+]] [boardspec]\n"); + exit(1); +} diff --git a/boggle/boggle/bog.h.in b/boggle/boggle/bog.h.in new file mode 100644 index 0000000..7051d24 --- /dev/null +++ b/boggle/boggle/bog.h.in @@ -0,0 +1,83 @@ +/* $NetBSD: bog.h,v 1.3 2003/08/07 09:37:05 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)bog.h 8.1 (Berkeley) 6/11/93 + */ + +#define LOADDICT 1 /* Load the dictionary for speed */ + +/* + * Locations for the dictionary (generated by mkdict), + * index (generated by mkindex), and helpfile + */ +#define DICT "@boggle_dir@/dictionary" +#define DICTINDEX "@boggle_dir@/dictindex" +#define HELPFILE "@boggle_dir@/helpfile" + +/* + * The theoretical maximum for MAXWORDLEN is ('a' - 1) == 96 + */ +#define MAXWORDLEN 40 /* Maximum word length */ +#define MAXPWORDS 200 /* Maximum number of player's words */ +#define MAXMWORDS 200 /* Maximum number of machine's words */ +#define MAXPSPACE 2000 /* Space for player's words */ +#define MAXMSPACE 4000 /* Space for machines's words */ + +#define MAXCOLS 20 + +/* + * The following determine the screen layout + */ +#define PROMPT_COL 20 +#define PROMPT_LINE 2 + +#define BOARD_COL 0 +#define BOARD_LINE 0 + +#define SCORE_COL 20 +#define SCORE_LINE 0 + +#define LIST_COL 0 +#define LIST_LINE 10 + +#define TIMER_COL 20 +#define TIMER_LINE 2 + +/* + * Internal dictionary index + * Initialized from the file created by mkindex + */ +struct dictindex { + long start; + long length; +}; diff --git a/boggle/boggle/boggle.6 b/boggle/boggle/boggle.6 new file mode 100644 index 0000000..6befc4f --- /dev/null +++ b/boggle/boggle/boggle.6 @@ -0,0 +1,122 @@ +.\" $NetBSD: boggle.6,v 1.7 2003/08/07 09:37:05 agc Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Barry Brachman. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boggle.6 8.1 (Berkeley) 6/11/93 +.\" +.Dd April 1, 2001 +.Dt BOGGLE 6 +.Os +.Sh NAME +.Nm boggle +.Nd word search game +.Sh SYNOPSIS +.Nm +.Op Fl bd +.Op Fl s Ar seed +.Op Fl t Ar time +.Op Fl w Ar length +.Op + Op + +.Op boardspec +.Sh DESCRIPTION +The object of +.Nm +is to find as many words as possible on the Boggle board within the three +minute time limit. +A Boggle board is a four by four arrangement of Boggle cubes, each side of +each cube displaying a letter of the alphabet or `qu'. +Words are formed by finding a sequence of cubes (letters) that are in the +game's dictionary. +The (N+1)th cube in the word must be horizontally, +vertically, or diagonally adjacent to the Nth cube. +Cubes cannot be reused. +Words consist solely of lower case letters and must be at least 3 letters long. +.Pp +Command line flags can be given to change the rules of the game. +.Bl -tag -width boardspec +.It Fl b +Run +.Nm +in batch mode. +A +.Ar boardspec +must also be given. +The dictionary is read from stdin and a list of words appearing in +.Ar boardspec +is printed to stdout. +.It Fl d +Enable debugging output. +.It Fl s Ar seed +Specify a seed +.Ar seed +other than the time of day. +.It Fl t Ar time +Set the time limit for each game from the default 3 minutes to +.Ar time +seconds. +.It Fl w Ar length +Change the minimum word length from 3 letters to +.Ar length . +.It Ar + +This flag allows a cube to be used multiple times, but not in succession. +.It Ar ++ +This flag allows the same cubes to be considered adjacent to itself. +.It Ar boardspec +A starting board position can be specified on the command line by +listing the board left to right and top to bottom. +.El +.Pp +Help is available during play by typing +.Sq Ic \&? . +More detailed information on the game is given there. +.Sh BUGS +If there are a great many words in the cube the final display of the words +may scroll off of the screen. +(On a 25 line screen about 130 words can be displayed.) +.Pp +No word can contain a +.Sq q +that is not immediately followed by a +.Sq u . +.Pp +When using the +.Ar + +or +.Ar ++ +options the display of words found in the board doesn't indicate reused cubes. +.Sh AUTHOR +Boggle is a trademark of Parker Brothers. +.Pp +Barry Brachman +.br +Dept. of Computer Science +.br +University of British Columbia diff --git a/boggle/boggle/extern.h b/boggle/boggle/extern.h new file mode 100644 index 0000000..ba36561 --- /dev/null +++ b/boggle/boggle/extern.h @@ -0,0 +1,71 @@ +/* $NetBSD: extern.h,v 1.8 2004/01/27 20:30:29 jsm Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)extern.h 8.1 (Berkeley) 6/11/93 + */ + +#include + +void addword(const char *); +void badword(void); +char *batchword(FILE *); +void checkdict(void); +int checkword(const char *, int, int *); +void cleanup(void); +void delay(int); +long dictseek(FILE *, long, int); +void findword(void); +void flushin(FILE *); +char *getline(char *); +void getword(char *); +int help(void); +int inputch(void); +int loaddict(FILE *); +int loadindex(const char *); +void newgame(const char *); +char *nextword(FILE *); +FILE *opendict(const char *); +void playgame(void); +void prompt(const char *); +void prtable(const char *const [], + int, int, int, void (*)(const char *const [], int), int (*)(const char *const [], int)); +void putstr(const char *); +void redraw(void); +void results(void); +int setup(int, time_t); +void showboard(const char *); +void showstr(const char *, int); +void showword(int); +void starttime(void); +void startwords(void); +void stoptime(void); +int timerch(void); +void usage(void) __attribute__((__noreturn__)); +int validword(const char *); diff --git a/boggle/boggle/help.c b/boggle/boggle/help.c new file mode 100644 index 0000000..e1be72e --- /dev/null +++ b/boggle/boggle/help.c @@ -0,0 +1,108 @@ +/* $NetBSD: help.c,v 1.5 2003/08/07 09:37:05 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)help.c 8.1 (Berkeley) 6/11/93"; +#else +__RCSID("$NetBSD: help.c,v 1.5 2003/08/07 09:37:05 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include + +#include "bog.h" +#include "extern.h" + +extern int nlines; +int +help() +{ + int eof, i; + FILE *fp; + WINDOW *win; + char buf[BUFSIZ]; + + if ((fp = fopen(HELPFILE, "r")) == NULL) + return(-1); + win = newwin(0, 0, 0, 0); + clearok(win, 1); + + eof = 0; + if (ungetc(getc(fp), fp) == EOF) { + wprintw(win, "There doesn't seem to be any help."); + eof = 1; /* Nothing there... */ + } + + while (!eof) { + for (i = 0; i < nlines - 3; i++) { + if (fgets(buf, sizeof(buf), fp) == (char *) NULL) { + eof = 1; + break; + } + if (buf[0] == '.' && buf[1] == '\n') + break; + wprintw(win, "%s", buf); + } + if (eof || ungetc(getc(fp), fp) == EOF) { + eof = 1; + break; + } + wmove(win, nlines - 1, 0); + wprintw(win, + "Type to continue, anything else to quit..."); + wrefresh(win); + if ((inputch() & 0177) != ' ') + break; + wclear(win); + } + + fclose(fp); + if (eof) { + wmove(win, nlines - 1, 0); + wprintw(win, "Hit any key to continue..."); + wrefresh(win); + inputch(); + } + delwin(win); +#ifdef NCURSES_VERSION + redrawwin(stdscr); +#else + clearok(stdscr, 1); + refresh(); +#endif + return(0); +} diff --git a/boggle/boggle/helpfile b/boggle/boggle/helpfile new file mode 100644 index 0000000..3a0b497 --- /dev/null +++ b/boggle/boggle/helpfile @@ -0,0 +1,87 @@ + +Commands: + +Enter word: or or +Delete previous character: or +Delete line: <^u> or <^w> +Redraw screen: <^l> or <^r> +Pause game: <^s> +Resume game: <^q> or <^s> +Suspend game (BSD only): <^z> +Give up on current cube: <^d> +Show remaining time: first thing on a line +Show help: ? (Suspends timer until done) +Exit game: <^c> + +(^u means "control u", etc.) + +[Note for users of versions of this program that do not display a timer: +The first word entered after the timer has run out causes a list of all the +words you found, the words you missed, and your running statistics to be +displayed.] + +Any time you are prompted while the board is displayed you can type: + word +to see where "word" is on the board. + +Usage: + bog [-b] [-d] [-s#] [-t#] [-w#] [+[+]] [boardspec] + + -b: batch mode (boardspec must be present); dictionary read from stdin + -d: debug mode + -s#: use # as the random number seed + -t#: time limit is # seconds instead of default 180 + -w#: minimum word length is # letters instead of default 3 + +: can reuse a cube, but not twice in succession + ++: can reuse cubes arbitrarily + boardspec: the first board to use (use 'q' for 'qu'); e.g.: + bog nolezeebnqieegei +. + Default Rules + +A Boggle board is a four by four arrangement of Boggle cubes. +You have 3 minutes to find as many words as possible in the Boggle board. +Words are formed by finding a sequence of cubes (letters) that are in the +game's dictionary. The (N+1)th cube in the word must be horizontally, +vertically, or diagonally adjacent to the Nth cube. Cubes cannot be reused. +Words consist solely of lower case letters and must be at least 3 letters long. +. + Options + +Command line flags can be given to change the rules of the game. +The '+' flag allows a cube to be used multiple times, but not in succession. +The '++' flag makes each cube adjacent to itself. +The time limit can be changed from the default 3 minutes by using the flag +'-t#', where # is the duration (in seconds) of each game. +The minimum word length can be changed from 3 letters by specifying 'w#', +where # is the minimum number of letters to use. +. + Bugs and Limitations + +The following bugs and problems are known to exist: + +- If there are a great many words in the cube the final display of the words + may scroll off of the screen. (On a 25 line screen about 130 words can be + displayed.) + +- Computing the complete word list can be too slow on small machines. + +- No word can contain a 'q' that is not immediately followed by a 'u'. + +- When using the '+' or '++' options the display of words found in the board + doesn't indicate reused cubes. +. + About This Program + +Boggle is under the standard BSD licence. Bugs should be reported to +your distributor; the original author is no longer supporting the +program. + +Copyright (c) 1988 +Barry Brachman | UUCP: {alberta,uw-beaver,uunet}! +Dept. of Computer Science| ubc-vision!ubc-csgrads!brachman +Univ. of British Columbia| Internet: brachman@cs.ubc.ca +Vancouver, B.C. V6T 1W5 | brachman%ubc.csnet@csnet-relay.arpa +(604) 228-5010 | brachman@ubc.csnet + +Boggle is a trademark of Parker Brothers. diff --git a/boggle/boggle/mach.c b/boggle/boggle/mach.c new file mode 100644 index 0000000..b511296 --- /dev/null +++ b/boggle/boggle/mach.c @@ -0,0 +1,682 @@ +/* $NetBSD: mach.c,v 1.14 2004/11/05 21:30:31 dsl Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)mach.c 8.1 (Berkeley) 6/11/93"; +#else +__RCSID("$NetBSD: mach.c,v 1.14 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +/* + * Terminal interface + * + * Input is raw and unechoed + */ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "bog.h" +#include "extern.h" + +static int ccol, crow, maxw; +static int colstarts[MAXCOLS], ncolstarts; +static int lastline; +int ncols, nlines; + +extern const char *pword[], *mword[]; +extern int ngames, nmwords, npwords, tnmwords, tnpwords; +extern char board[]; +extern int usedbits, wordpath[]; +extern time_t start_t; +extern int debug; + +static void cont_catcher(int); +static int prwidth(const char *const [], int); +static void prword(const char *const [], int); +static void stop_catcher(int); +static void tty_cleanup(void); +static int tty_setup(void); +static void tty_showboard(const char *); +static void winch_catcher(int); + +/* + * Do system dependent initialization + * This is called once, when the program starts + */ +int +setup(sflag, seed) + int sflag; + time_t seed; +{ + if (tty_setup() < 0) + return(-1); + + if (!sflag) + time(&seed); + srandom(seed); + if (debug) + (void) printf("seed = %ld\n", (long) seed); + return(0); +} + +/* + * Do system dependent clean up + * This is called once, just before the program terminates + */ +void +cleanup() +{ + tty_cleanup(); +} + +/* + * Display the player's word list, the list of words not found, and the running + * stats + */ +void +results() +{ + int col, row; + int denom1, denom2; + + move(LIST_LINE, LIST_COL); + clrtobot(); + printw("Words you found (%d):", npwords); + refresh(); + move(LIST_LINE + 1, LIST_COL); + prtable(pword, npwords, 0, ncols, prword, prwidth); + + getyx(stdscr, row, col); + move(row + 1, col); + printw("Words you missed (%d):", nmwords); + refresh(); + move(row + 2, col); + prtable(mword, nmwords, 0, ncols, prword, prwidth); + + denom1 = npwords + nmwords; + denom2 = tnpwords + tnmwords; + + move(SCORE_LINE, SCORE_COL); + printw("Percentage: %0.2f%% (%0.2f%% over %d game%s)\n", + denom1 ? (100.0 * npwords) / (double) (npwords + nmwords) : 0.0, + denom2 ? (100.0 * tnpwords) / (double) (tnpwords + tnmwords) : 0.0, + ngames, ngames > 1 ? "s" : ""); +} + +static void +prword(base, indx) + const char *const base[]; + int indx; +{ + printw("%s", base[indx]); +} + +static int +prwidth(base, indx) + const char *const base[]; + int indx; +{ + return (strlen(base[indx])); +} + +/* + * Main input routine + * + * - doesn't accept words longer than MAXWORDLEN or containing caps + */ +char * +getline(q) + char *q; +{ + int ch, done; + char *p; + int row, col; + + p = q; + done = 0; + while (!done) { + ch = timerch(); + switch (ch) { + case '\n': + case '\r': + case ' ': + done = 1; + break; + case '\033': + findword(); + break; + case '\177': /* */ + case '\010': /* */ + if (p == q) + break; + p--; + getyx(stdscr, row, col); + move(row, col - 1); + clrtoeol(); + refresh(); + break; + case '\025': /* <^u> */ + case '\027': /* <^w> */ + if (p == q) + break; + getyx(stdscr, row, col); + move(row, col - (int) (p - q)); + p = q; + clrtoeol(); + refresh(); + break; +#ifdef SIGTSTP + case '\032': /* <^z> */ + stop_catcher(0); + break; +#endif + case '\023': /* <^s> */ + stoptime(); + printw(""); + refresh(); + while ((ch = inputch()) != '\021' && ch != '\023') + ; + move(crow, ccol); + clrtoeol(); + refresh(); + starttime(); + break; + case '\003': /* <^c> */ + cleanup(); + exit(0); + /*NOTREACHED*/ + case '\004': /* <^d> */ + done = 1; + ch = EOF; + break; + case '\014': /* <^l> */ + case '\022': /* <^r> */ + redraw(); + break; + case '?': + stoptime(); + if (help() < 0) + showstr("Can't open help file", 1); + starttime(); + break; + default: + if (!islower(ch)) + break; + if ((int) (p - q) == MAXWORDLEN) { + p = q; + badword(); + break; + } + *p++ = ch; + addch(ch); + refresh(); + break; + } + } + *p = '\0'; + if (ch == EOF) + return((char *) NULL); + return(q); +} + +int +inputch() +{ + return (getch() & 0177); +} + +void +redraw() +{ + clearok(stdscr, 1); + refresh(); +} + +void +flushin(fp) + FILE *fp; +{ + + (void) tcflush(fileno(fp), TCIFLUSH); +} + +static int gone; + +/* + * Stop the game timer + */ +void +stoptime() +{ + time_t t; + + (void)time(&t); + gone = (int) (t - start_t); +} + +/* + * Restart the game timer + */ +void +starttime() +{ + time_t t; + + (void)time(&t); + start_t = t - (long) gone; +} + +/* + * Initialize for the display of the player's words as they are typed + * This display starts at (LIST_LINE, LIST_COL) and goes "down" until the last + * line. After the last line a new column is started at LIST_LINE + * Keep track of each column position for showword() + * There is no check for exceeding COLS + */ +void +startwords() +{ + crow = LIST_LINE; + ccol = LIST_COL; + maxw = 0; + ncolstarts = 1; + colstarts[0] = LIST_COL; + move(LIST_LINE, LIST_COL); + refresh(); +} + +/* + * Add a word to the list and start a new column if necessary + * The maximum width of the current column is maintained so we know where + * to start the next column + */ +void +addword(w) + const char *w; +{ + int n; + + if (crow == lastline) { + crow = LIST_LINE; + ccol += (maxw + 5); + colstarts[ncolstarts++] = ccol; + maxw = 0; + move(crow, ccol); + } + else { + move(++crow, ccol); + if ((n = strlen(w)) > maxw) + maxw = n; + } + refresh(); +} + +/* + * The current word is unacceptable so erase it + */ +void +badword() +{ + + move(crow, ccol); + clrtoeol(); + refresh(); +} + +/* + * Highlight the nth word in the list (starting with word 0) + * No check for wild arg + */ +void +showword(n) + int n; +{ + int col, row; + + row = LIST_LINE + n % (lastline - LIST_LINE + 1); + col = colstarts[n / (lastline - LIST_LINE + 1)]; + move(row, col); + standout(); + printw("%s", pword[n]); + standend(); + move(crow, ccol); + refresh(); + delay(15); + move(row, col); + printw("%s", pword[n]); + move(crow, ccol); + refresh(); +} + +/* + * Get a word from the user and check if it is in either of the two + * word lists + * If it's found, show the word on the board for a short time and then + * erase the word + * + * Note: this function knows about the format of the board + */ +void +findword() +{ + int c, col, found, i, r, row; + char buf[MAXWORDLEN + 1]; + + getyx(stdscr, r, c); + getword(buf); + found = 0; + for (i = 0; i < npwords; i++) { + if (strcmp(buf, pword[i]) == 0) { + found = 1; + break; + } + } + if (!found) { + for (i = 0; i < nmwords; i++) { + if (strcmp(buf, mword[i]) == 0) { + found = 1; + break; + } + } + } + for (i = 0; i < MAXWORDLEN; i++) + wordpath[i] = -1; + usedbits = 0; + if (!found || checkword(buf, -1, wordpath) == -1) { + move(r, c); + clrtoeol(); + addstr("[???]"); + refresh(); + delay(10); + move(r, c); + clrtoeol(); + refresh(); + return; + } + + standout(); + for (i = 0; wordpath[i] != -1; i++) { + row = BOARD_LINE + (wordpath[i] / 4) * 2 + 1; + col = BOARD_COL + (wordpath[i] % 4) * 4 + 2; + move(row, col); + if (board[wordpath[i]] == 'q') + printw("Qu"); + else + printw("%c", toupper((unsigned char)board[wordpath[i]])); + move(r, c); + refresh(); + delay(5); + } + + standend(); + + for (i = 0; wordpath[i] != -1; i++) { + row = BOARD_LINE + (wordpath[i] / 4) * 2 + 1; + col = BOARD_COL + (wordpath[i] % 4) * 4 + 2; + move(row, col); + if (board[wordpath[i]] == 'q') + printw("Qu"); + else + printw("%c", toupper((unsigned char)board[wordpath[i]])); + } + move(r, c); + clrtoeol(); + refresh(); +} + +/* + * Display a string at the current cursor position for the given number of secs + */ +void +showstr(str, delaysecs) + const char *str; + int delaysecs; +{ + addstr(str); + refresh(); + delay(delaysecs * 10); + move(crow, ccol); + clrtoeol(); + refresh(); +} + +void +putstr(s) + const char *s; +{ + addstr(s); +} + +/* + * Get a valid word and put it in the buffer + */ +void +getword(q) + char *q; +{ + int ch, col, done, i, row; + char *p; + + done = 0; + i = 0; + p = q; + addch('['); + refresh(); + while (!done && i < MAXWORDLEN - 1) { + ch = getch() & 0177; + switch (ch) { + case '\177': /* */ + case '\010': /* */ + if (p == q) + break; + p--; + getyx(stdscr, row, col); + move(row, col - 1); + clrtoeol(); + break; + case '\025': /* <^u> */ + case '\027': /* <^w> */ + if (p == q) + break; + getyx(stdscr, row, col); + move(row, col - (int) (p - q)); + p = q; + clrtoeol(); + break; + case ' ': + case '\n': + case '\r': + done = 1; + break; + case '\014': /* <^l> */ + case '\022': /* <^r> */ + clearok(stdscr, 1); + refresh(); + break; + default: + if (islower(ch)) { + *p++ = ch; + addch(ch); + i++; + } + break; + } + refresh(); + } + *p = '\0'; + addch(']'); + refresh(); +} + +void +showboard(b) + const char *b; +{ + tty_showboard(b); +} + +void +prompt(mesg) + const char *mesg; +{ + move(PROMPT_LINE, PROMPT_COL); + printw("%s", mesg); + move(PROMPT_LINE + 1, PROMPT_COL); + refresh(); +} + +static int +tty_setup() +{ + initscr(); + raw(); + noecho(); + + /* + * Does curses look at the winsize structure? + * Should handle SIGWINCH ... + */ + nlines = LINES; + lastline = nlines - 1; + ncols = COLS; + + signal(SIGTSTP, stop_catcher); + signal(SIGCONT, cont_catcher); + signal(SIGWINCH, winch_catcher); + return(0); +} + +static void +stop_catcher(signo) + int signo __attribute__((__unused__)); +{ + sigset_t sigset, osigset; + + stoptime(); + noraw(); + echo(); + move(nlines - 1, 0); + refresh(); + + signal(SIGTSTP, SIG_DFL); + sigemptyset(&sigset); + sigaddset(&sigset, SIGTSTP); + sigprocmask(SIG_UNBLOCK, &sigset, &osigset); + kill(0, SIGTSTP); + sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0); + signal(SIGTSTP, stop_catcher); +} + +static void +cont_catcher(signo) + int signo __attribute__((__unused__)); +{ + noecho(); + raw(); + clearok(stdscr, 1); + move(crow, ccol); + refresh(); + starttime(); +} + +/* + * The signal is caught but nothing is done about it... + * It would mean reformatting the entire display + */ +static void +winch_catcher(signo) + int signo __attribute__((__unused__)); +{ + /* + struct winsize win; + */ + + (void) signal(SIGWINCH, winch_catcher); + /* + (void) ioctl(fileno(stdout), TIOCGWINSZ, &win); + LINES = win.ws_row; + COLS = win.ws_col; + */ +} + +static void +tty_cleanup() +{ + move(nlines - 1, 0); + refresh(); + noraw(); + echo(); + endwin(); +} + +static void +tty_showboard(b) + const char *b; +{ + int i; + int line; + + clear(); + move(BOARD_LINE, BOARD_COL); + line = BOARD_LINE; + printw("+---+---+---+---+"); + move(++line, BOARD_COL); + for (i = 0; i < 16; i++) { + if (b[i] == 'q') + printw("| Qu"); + else + printw("| %c ", toupper((unsigned char)b[i])); + if ((i + 1) % 4 == 0) { + printw("|"); + move(++line, BOARD_COL); + printw("+---+---+---+---+"); + move(++line, BOARD_COL); + } + } + move(SCORE_LINE, SCORE_COL); + printw("Type '?' for help"); + refresh(); +} diff --git a/boggle/boggle/prtable.c b/boggle/boggle/prtable.c new file mode 100644 index 0000000..2326f87 --- /dev/null +++ b/boggle/boggle/prtable.c @@ -0,0 +1,130 @@ +/* $NetBSD: prtable.c,v 1.8 2004/01/27 20:30:29 jsm Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)prtable.c 8.1 (Berkeley) 6/11/93 + */ + +#include +#ifndef lint +__RCSID("$NetBSD: prtable.c,v 1.8 2004/01/27 20:30:29 jsm Exp $"); +#endif /* not lint */ + +#include + +#include "extern.h" + +#define NCOLS 5 + +static int get_maxlen(const char *const [], int, int (*)(const char *const *, int)); + +/* + * Routine to print a table + * Modified from 'ls.c' mods (BJB/83) + * Arguments: + * base - address of first entry + * num - number of entries + * d_cols - number of columns to use if > 0, "best" size if == 0 + * width - max line width if not zero + * prentry - address of the routine to call to print the string + * length - address of the routine to call to determine the length + * of string to be printed + * + * prtable and length are called with the address of the base and + * an index + */ +void +prtable(base, num, d_cols, width, prentry, length) + const char *const base[]; + int num, d_cols, width; + void (*prentry)(const char *const [], int); + int (*length)(const char *const [], int); +{ + int c, j; + int a, b, cols, loc, maxlen, nrows, z; + int col, row; + + if (num == 0) + return; + maxlen = get_maxlen(base, num, length) + 1; + if (d_cols > 0) + cols = d_cols; + else + cols = width / maxlen; + if (cols == 0) + cols = NCOLS; + nrows = (num - 1) / cols + 1; + for (a = 1; a <= nrows; a++) { + b = c = z = loc = 0; + for (j = 0; j < num; j++) { + c++; + if (c >= a + b) + break; + } + while (j < num) { + (*prentry)(base, j); + loc += (*length)(base, j); + z++; + b += nrows; + for (j++; j < num; j++) { + c++; + if (c >= a + b) + break; + } + if (j < num) { + while (loc < z * maxlen) { + addch(' '); + loc++; + } + } + } + getyx(stdscr, row, col); + move(row + 1, 0); + } + refresh(); +} + +static int +get_maxlen(base, num, length) + const char *const base[]; + int num; + int (*length)(const char *const *, int); +{ + int i, len, max; + + max = (*length)(base, 0); + for (i = 0; i < num; i++) { + if ((len = (*length)(base, i)) > max) + max = len; + } + return(max); +} diff --git a/boggle/boggle/timer.c b/boggle/boggle/timer.c new file mode 100644 index 0000000..569d9ae --- /dev/null +++ b/boggle/boggle/timer.c @@ -0,0 +1,121 @@ +/* $NetBSD: timer.c,v 1.9 2004/01/27 20:30:29 jsm Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)timer.c 8.2 (Berkeley) 2/22/94"; +#else +__RCSID("$NetBSD: timer.c,v 1.9 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "bog.h" +#include "extern.h" + +static int waitch(int); + +extern int tlimit; +extern time_t start_t; +extern jmp_buf env; + +/* + * Update the display of the remaining time while waiting for a character + * If time runs out do a longjmp() to the game controlling routine, returning + * non-zero; oth. return the character + * Leave the cursor where it was initially + */ +int +timerch() +{ + time_t prevt, t; + int col, remaining, row; + + getyx(stdscr, row, col); + prevt = 0L; + for (;;) { + if (waitch(1) == 1) + break; + time(&t); + if (t == prevt) + continue; + prevt = t; + remaining = tlimit - (int) (t - start_t); + if (remaining < 0) { + longjmp(env, 1); + /*NOTREACHED*/ + } + move(TIMER_LINE, TIMER_COL); + printw("%d:%02d", remaining / 60, remaining % 60); + move(row, col); + refresh(); + } + return (getch() & 0177); +} + +/* + * Wait up to 'delay' microseconds for input to appear + * Returns 1 if input is ready, 0 oth. + */ +static int +waitch(delay) + int delay; +{ + struct pollfd set[1]; + + set[0].fd = STDIN_FILENO; + set[0].events = POLLIN; + return (poll(set, 1, delay)); +} + +void +delay(tenths) + int tenths; +{ + struct timespec duration; + + duration.tv_nsec = (tenths % 10 ) * 100000000L; + duration.tv_sec = (long) (tenths / 10); + nanosleep(&duration, NULL); +} diff --git a/boggle/boggle/word.c b/boggle/boggle/word.c new file mode 100644 index 0000000..2d5abb4 --- /dev/null +++ b/boggle/boggle/word.c @@ -0,0 +1,220 @@ +/* $NetBSD: word.c,v 1.7 2003/08/07 09:37:06 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)word.c 8.1 (Berkeley) 6/11/93"; +#else +__RCSID("$NetBSD: word.c,v 1.7 2003/08/07 09:37:06 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include + +#include +#include +#include +#include + +#include "bog.h" +#include "extern.h" + +static char *dictspace, *dictend; +static char *sp; + +static int first = 1, lastch = 0; + +extern struct dictindex dictindex[]; +extern int wordlen; + +/* + * Return the next word in the compressed dictionary in 'buffer' or + * NULL on end-of-file + */ +char * +nextword(fp) + FILE *fp; +{ + int ch, pcount; + char *p; + static char buf[MAXWORDLEN + 1]; + + if (fp == NULL) { + if (sp == dictend) + return (NULL); + + p = buf + (int) *sp++; + + /* + * The dictionary ends with a null byte + */ + while (*sp >= 'a') + if ((*p++ = *sp++) == 'q') + *p++ = 'u'; + } else { + if (first) { + if ((pcount = getc(fp)) == EOF) + return (NULL); + first = 0; + } else if ((pcount = lastch) == EOF) + return (NULL); + + p = buf + pcount; + + while ((ch = getc(fp)) != EOF && ch >= 'a') + if ((*p++ = ch) == 'q') + *p++ = 'u'; + lastch = ch; + } + wordlen = (int) (p - buf); + *p = '\0'; + return (buf); +} + +/* + * Reset the state of nextword() and do the fseek() + */ +long +dictseek(fp, offset, ptrname) + FILE *fp; + long offset; + int ptrname; +{ + if (fp == NULL) { + if ((sp = dictspace + offset) >= dictend) + return (-1); + return (0); + } + + first = 1; + return (fseek(fp, offset, ptrname)); +} + +FILE * +opendict(dict) + const char *dict; +{ + FILE *fp; + + if ((fp = fopen(dict, "r")) == NULL) + return (NULL); + return (fp); +} + +/* + * Load the given dictionary and initialize the pointers + */ +int +loaddict(fp) + FILE *fp; +{ + struct stat statb; + long n; + int st; + char *p; + + if (fstat(fileno(fp), &statb) < 0) { + (void)fclose(fp); + return (-1); + } + + /* + * An extra character (a sentinel) is allocated and set to null + * to improve the expansion loop in nextword(). + */ + if ((dictspace = malloc(statb.st_size + 1)) == NULL) { + (void)fclose(fp); + return (-1); + } + n = (long)statb.st_size; + sp = dictspace; + dictend = dictspace + n; + + p = dictspace; + st = -1; + while (n > 0 && (st = fread(p, 1, BUFSIZ, fp)) > 0) { + p += st; + n -= st; + } + if (st < 0) { + (void)fclose(fp); + warnx("Error reading dictionary"); + return (-1); + } + *p = '\0'; + return (0); +} + +/* + * Dependent on the exact format of the index file: + * Starting offset field begins in column 1 and length field in column 9 + * Taking the easy way out, the input buffer is made "large" and a check + * is made for lines that are too long + */ +int +loadindex(indexfile) + const char *indexfile; +{ + int i, j; + char buf[BUFSIZ]; + FILE *fp; + + if ((fp = fopen(indexfile, "r")) == NULL) { + warn("Can't open '%s'", indexfile); + return (-1); + } + i = 0; + while (fgets(buf, sizeof(buf), fp) != NULL) { + if (strchr(buf, '\n') == NULL) { + warnx("A line in the index file is too long"); + return(-1); + } + j = *buf - 'a'; + if (i != j) { + warnx("Bad index order"); + return(-1); + } + dictindex[j].start = atol(buf + 1); + dictindex[j].length = atol(buf + 9) - dictindex[j].start; + i++; + } + if (i != 26) { + warnx("Bad index length"); + return(-1); + } + (void) fclose(fp); + return(0); +} diff --git a/boggle/mkdict/Makefile.bsd b/boggle/mkdict/Makefile.bsd new file mode 100644 index 0000000..2966798 --- /dev/null +++ b/boggle/mkdict/Makefile.bsd @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.12 2002/09/18 06:16:40 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +NOMAN= # defined + +HOSTPROG= mkdict +HOST_CPPFLAGS+= -I${.CURDIR}/../boggle + +.include diff --git a/boggle/mkdict/Makefrag b/boggle/mkdict/Makefrag new file mode 100644 index 0000000..3e27969 --- /dev/null +++ b/boggle/mkdict/Makefrag @@ -0,0 +1,44 @@ +# Makefrag - makefile fragment for boggle/mkdict +# +# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +boggle_mkdict_CLEANFILES := dictionary + +# boggle_mkdict_DICTSRC is the dictionary that will be used to construct the +# word list used by boggle. +boggle_mkdict_DICTSRC := $(DICTIONARY_SRC) + +boggle_mkdict_DIRS := $(BOGGLE_DIR) +boggle_mkdict_INCS := -Iboggle/boggle + +boggle/mkdict/dictionary: boggle/mkdict/mkdict $(boggle_mkdict_DICTSRC) + $< <$(boggle_mkdict_DICTSRC) >$@ + +boggle_mkdict_all: boggle/mkdict/dictionary + +boggle_mkdict_install: boggle_mkdict_all + $(INSTALL_DATA) boggle/mkdict/dictionary $(INSTALL_PREFIX)$(BOGGLE_DIR)/dictionary diff --git a/boggle/mkdict/mkdict.c b/boggle/mkdict/mkdict.c new file mode 100644 index 0000000..7359768 --- /dev/null +++ b/boggle/mkdict/mkdict.c @@ -0,0 +1,128 @@ +/* $NetBSD: mkdict.c,v 1.9 2003/08/07 09:37:06 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static const char copyright[] __attribute__((__unused__)) = + "@(#) Copyright (c) 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#if 0 +static char sccsid[] = "@(#)mkdict.c 8.1 (Berkeley) 6/11/93"; +#else +static const char rcsid[] __attribute__((__unused__)) = + "$NetBSD: mkdict.c,v 1.9 2003/08/07 09:37:06 agc Exp $"; +#endif +#endif /* not lint */ + +/* + * Filter out words that: + * 1) Are not completely made up of lower case letters + * 2) Contain a 'q' not immediately followed by a 'u' + * 3) Are less that 3 characters long + * 4) Are greater than MAXWORDLEN characters long + */ + +#include +#include +#include +#include + +#include "bog.h" + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + char *p, *q; + int ch, common, nwords; + int current, len, prev, qcount; + char buf[2][MAXWORDLEN + 1]; + + prev = 0; + current = 1; + buf[prev][0] = '\0'; + + for (nwords = 1; + fgets(buf[current], MAXWORDLEN + 1, stdin) != NULL; ++nwords) { + if ((p = strchr(buf[current], '\n')) == NULL) { + fprintf(stderr, "word too long: %s\n", buf[current]); + while ((ch = getc(stdin)) != EOF && ch != '\n') + ; + if (ch == EOF) + break; + continue; + } + len = 0; + for (p = buf[current]; *p != '\n'; p++) { + if (!islower(*p)) + break; + if (*p == 'q') { + q = p + 1; + if (*q != 'u') + break; + else { + while ((*q = *(q + 1))) + q++; + } + len++; + } + len++; + } + if (*p != '\n' || len < 3 || len > MAXWORDLEN) + continue; + if (argc == 2 && nwords % atoi(argv[1])) + continue; + + *p = '\0'; + p = buf[current]; + q = buf[prev]; + qcount = 0; + while ((ch = *p++) == *q++ && ch != '\0') + if (ch == 'q') + qcount++; + common = p - buf[current] - 1; + printf("%c%s", common + qcount, p - 1); + prev = !prev; + current = !current; + } + fprintf(stderr, "%d words\n", nwords); + fflush(stdout); + if (ferror(stdout)) { + perror("error writing standard output"); + exit(1); + } + exit(0); +} diff --git a/boggle/mkindex/Makefile.bsd b/boggle/mkindex/Makefile.bsd new file mode 100644 index 0000000..cc5bdbd --- /dev/null +++ b/boggle/mkindex/Makefile.bsd @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.10 2002/09/18 06:16:40 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +NOMAN= # defined + +HOSTPROG= mkindex +HOST_CPPFLAGS+= -I${.CURDIR}/../boggle + +.include diff --git a/boggle/mkindex/Makefrag b/boggle/mkindex/Makefrag new file mode 100644 index 0000000..5d406b3 --- /dev/null +++ b/boggle/mkindex/Makefrag @@ -0,0 +1,39 @@ +# Makefrag - makefile fragment for boggle/mkindex +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +boggle_mkindex_CLEANFILES := dictindex +boggle_mkindex_DIRS := $(BOGGLE_DIR) +boggle_mkindex_INCS := -Iboggle/boggle + +boggle/mkindex/dictindex: boggle/mkindex/mkindex boggle/mkdict/dictionary + $< $@ + +boggle_mkindex_all: boggle/mkindex/dictindex + +boggle_mkindex_install: boggle_mkindex_all + $(INSTALL_DATA) boggle/mkindex/dictindex $(INSTALL_PREFIX)$(BOGGLE_DIR)/dictindex diff --git a/boggle/mkindex/mkindex.c b/boggle/mkindex/mkindex.c new file mode 100644 index 0000000..bdf4822 --- /dev/null +++ b/boggle/mkindex/mkindex.c @@ -0,0 +1,135 @@ +/* $NetBSD: mkindex.c,v 1.9 2003/08/07 09:37:06 agc Exp $ */ + +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static const char copyright[] __attribute__((__unused__)) = "@(#) Copyright (c) 1993\n\ + The Regents of the University of California. All rights reserved.\n"; + +#if 0 +static char sccsid[] = "@(#)mkindex.c 8.1 (Berkeley) 6/11/93"; +#else +static const char rcsid[] __attribute__((__unused__)) = + "$NetBSD: mkindex.c,v 1.9 2003/08/07 09:37:06 agc Exp $"; +#endif +#endif /* not lint */ + +#include +#include + +#include "bog.h" + +int main(void); +char *nextword(FILE *, char *, int *, int *); + +int +main(void) +{ + int clen, rlen, prev, i; + long off, start; + char buf[MAXWORDLEN + 1]; + + prev = '\0'; + off = start = 0L; + while (nextword(stdin, buf, &clen, &rlen) != NULL) { + if (*buf != prev) { + /* + * Boggle expects a full index even if the dictionary + * had no words beginning with some letters. + * So we write out entries for every letter from prev + * to *buf. + */ + if (prev != '\0') + printf("%c %6ld %6ld\n", prev, start, off - 1); + for (i = (prev ? prev + 1 : 'a'); i < *buf; i++) + printf("%c %6ld %6ld\n", i, off, off - 1); + prev = *buf; + start = off; + } + off += clen + 1; + } + printf("%c %6ld %6ld\n", prev, start, off - 1); + for (i = prev + 1; i <= 'z'; i++) + printf("%c %6ld %6ld\n", i, off, off - 1); + fflush(stdout); + if (ferror(stdout)) { + perror("error writing standard output"); + exit(1); + } + exit(0); +} + +/* + * Return the next word in the compressed dictionary in 'buffer' or + * NULL on end-of-file + * Also set clen to the length of the compressed word (for mkindex) and + * rlen to the strlen() of the real word + */ +char * +nextword(fp, buffer, clen, rlen) + FILE *fp; + char *buffer; + int *clen, *rlen; +{ + int ch, pcount; + char *p, *q; + static char buf[MAXWORDLEN + 1]; + static int first = 1; + static int lastch = 0; + + if (first) { + if ((pcount = getc(fp)) == EOF) + return (NULL); + first = 0; + } + else if ((pcount = lastch) == EOF) + return (NULL); + + p = buf + (*clen = pcount); + + while ((ch = getc(fp)) != EOF && ch >= 'a') + *p++ = ch; + lastch = ch; + *p = '\0'; + + *rlen = (int) (p - buf); + *clen = *rlen - *clen; + + p = buf; + q = buffer; + while ((*q++ = *p) != '\0') { + if (*p++ == 'q') + *q++ = 'u'; + } + return (buffer); +} diff --git a/bsd-games.lsm b/bsd-games.lsm new file mode 100644 index 0000000..9434bef --- /dev/null +++ b/bsd-games.lsm @@ -0,0 +1,21 @@ +Begin4 +Title: bsd-games +Version: 2.17 +Entered-date: 2005-02-18 +Description: Port of most of the games from NetBSD-current. Games + included: adventure arithmetic atc backgammon banner battlestar + bcd boggle caesar canfield countmail cribbage dab dm factor fish + fortune gomoku hack hangman hunt mille monop morse number phantasia + pig pom ppt primes quiz rain random robots sail snake tetris trek + wargames worm worms wtf wump. +Keywords: games, NetBSD +Maintained-by: jsm@polyomino.org.uk (Joseph S. Myers) +Primary-site: ibiblio.org /pub/Linux/games + bsd-games-2.17.tar.gz +Alternate-site: tsx-11.mit.edu /pub/linux/sources/usr.games +Original-site: ftp.netbsd.org /pub/NetBSD/NetBSD-current/tar_files/src + games.tar.gz +Platforms: Requires ncurses (curses/termcap may also work but are no + longer tested/supported) +Copying-policy: BSD +End diff --git a/caesar/Makefile.bsd b/caesar/Makefile.bsd new file mode 100644 index 0000000..c7b5421 --- /dev/null +++ b/caesar/Makefile.bsd @@ -0,0 +1,11 @@ +# $NetBSD: Makefile,v 1.6 1997/03/24 22:15:40 christos Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= caesar +MAN= caesar.6 +DPADD= ${LIBM} +LDADD= -lm +MLINKS= caesar.6 rot13.6 +SCRIPTS=rot13.sh + +.include diff --git a/caesar/Makefrag b/caesar/Makefrag new file mode 100644 index 0000000..70b08dc --- /dev/null +++ b/caesar/Makefrag @@ -0,0 +1,39 @@ +# Makefrag - makefile fragment for caesar +# +# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +caesar_DIRS := $(GAMESDIR) $(MAN6DIR) + +caesar_all: caesar/caesar caesar/caesar.6 caesar/rot13 + +caesar_install: caesar_all + $(INSTALL_BINARY) caesar/caesar $(INSTALL_PREFIX)$(GAMESDIR)/caesar + $(HIDE_GAME) caesar + $(INSTALL_SCRIPT) caesar/rot13 $(INSTALL_PREFIX)$(GAMESDIR)/rot13 + $(HIDE_GAME) rot13 + $(INSTALL_MANUAL) caesar/caesar.6 + $(INSTALL_MANUAL) caesar.6 rot13.6 diff --git a/caesar/caesar.6 b/caesar/caesar.6 new file mode 100644 index 0000000..b959e3b --- /dev/null +++ b/caesar/caesar.6 @@ -0,0 +1,72 @@ +.\" $NetBSD: caesar.6,v 1.9 2003/08/07 09:37:07 agc Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)caesar.6 8.2 (Berkeley) 11/16/93 +.\" +.Dd November 16, 1993 +.Dt CAESAR 6 +.Os +.Sh NAME +.Nm caesar , +.Nm rot13 +.Nd decrypt caesar ciphers +.Sh SYNOPSIS +.Nm +.Op Ar rotation +.Sh DESCRIPTION +The +.Nm +utility attempts to decrypt caesar ciphers using English letter frequency +statistics. +.Nm +reads from the standard input and writes to the standard output. +.Pp +The optional numerical argument +.Ar rotation +may be used to specify a specific rotation value. +.Pp +The frequency (from most common to least) of English letters is as follows: +.Pp +.Bd -filled -offset indent +ETAONRISHDLFCMUGPYWBVKXJQZ +.Ed +.Pp +Their frequencies as a percentage are as follows: +.Pp +.Bd -filled -offset indent +E(13), T(10.5), A(8.1), O(7.9), N(7.1), R(6.8), I(6.3), S(6.1), H(5.2), +D(3.8), L(3.4), F(2.9), C(2.7), M(2.5), U(2.4), G(2), +P(1.9), Y(1.9), W(1.5), B(1.4), V(.9), K(.4), X(.15), J(.13), Q(.11), Z(.07). +.Ed +.Pp +Rotated postings to +.Tn USENET +and some of the databases used by the +.Xr fortune 6 +program are rotated by 13 characters. diff --git a/caesar/caesar.c b/caesar/caesar.c new file mode 100644 index 0000000..e354832 --- /dev/null +++ b/caesar/caesar.c @@ -0,0 +1,161 @@ +/* $NetBSD: caesar.c,v 1.14 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Rick Adams. + * + * Authors: + * Stan King, John Eldridge, based on algorithm suggested by + * Bob Morris + * 29-Sep-82 + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)caesar.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: caesar.c,v 1.14 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define LINELENGTH 2048 +#define ROTATE(ch, perm) \ + isupper(ch) ? ('A' + (ch - 'A' + perm) % 26) : \ + islower(ch) ? ('a' + (ch - 'a' + perm) % 26) : ch + +/* + * letter frequencies (taken from some unix(tm) documentation) + * (unix is a trademark of Bell Laboratories) + */ +double stdf[26] = { + 7.97, 1.35, 3.61, 4.78, 12.37, 2.01, 1.46, 4.49, 6.39, 0.04, + 0.42, 3.81, 2.69, 5.92, 6.96, 2.91, 0.08, 6.63, 8.77, 9.68, + 2.62, 0.81, 1.88, 0.23, 2.07, 0.06, +}; + + +int main(int, char *[]); +void printit(const char *) __attribute__((__noreturn__)); + +int +main(argc, argv) + int argc; + char **argv; +{ + int ch, i, nread; + double dot, winnerdot; + char *inbuf; + int obs[26], try, winner; + + /* revoke setgid privileges */ + setregid(getgid(), getgid()); + + winnerdot = 0; + if (argc > 1) + printit(argv[1]); + + if (!(inbuf = malloc(LINELENGTH))) + err(1, NULL); + + /* adjust frequency table to weight low probs REAL low */ + for (i = 0; i < 26; ++i) + stdf[i] = log(stdf[i]) + log(26.0 / 100.0); + + /* zero out observation table */ + memset(obs, 0, 26 * sizeof(int)); + + if ((nread = read(STDIN_FILENO, inbuf, LINELENGTH)) < 0) + err(1, "reading from stdin"); + for (i = nread; i--;) { + ch = inbuf[i]; + if (islower(ch)) + ++obs[ch - 'a']; + else if (isupper(ch)) + ++obs[ch - 'A']; + } + + /* + * now "dot" the freqs with the observed letter freqs + * and keep track of best fit + */ + for (try = winner = 0; try < 26; ++try) { /* += 13) { */ + dot = 0; + for (i = 0; i < 26; i++) + dot += obs[i] * stdf[(i + try) % 26]; + /* initialize winning score */ + if (try == 0) + winnerdot = dot; + if (dot > winnerdot) { + /* got a new winner! */ + winner = try; + winnerdot = dot; + } + } + + for (;;) { + for (i = 0; i < nread; ++i) { + ch = inbuf[i]; + putchar(ROTATE(ch, winner)); + } + if (nread < LINELENGTH) + break; + if ((nread = read(STDIN_FILENO, inbuf, LINELENGTH)) < 0) + err(1, "reading from stdin"); + } + exit(0); +} + +void +printit(arg) + const char *arg; +{ + int ch, rot; + + if ((rot = atoi(arg)) < 0) + errx(1, "bad rotation value."); + while ((ch = getchar()) != EOF) + putchar(ROTATE(ch, rot)); + exit(0); +} diff --git a/caesar/rot13.in b/caesar/rot13.in new file mode 100755 index 0000000..c93bdf0 --- /dev/null +++ b/caesar/rot13.in @@ -0,0 +1,37 @@ +# $NetBSD: rot13.sh,v 1.6 2000/04/24 15:42:40 simonb Exp $ +# +# Copyright (c) 1992, 1993 +# The Regents of the University of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)rot13.sh 8.1 (Berkeley) 5/31/93 +# + +exec @gamesdir@/caesar 13 "$@" diff --git a/canfield/Makefile.bsd b/canfield/Makefile.bsd new file mode 100644 index 0000000..c656887 --- /dev/null +++ b/canfield/Makefile.bsd @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.3 1995/03/21 15:08:26 cgd Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +SUBDIR= canfield cfscores + +.include diff --git a/canfield/Makefrag b/canfield/Makefrag new file mode 100644 index 0000000..c77377a --- /dev/null +++ b/canfield/Makefrag @@ -0,0 +1,31 @@ +# Makefrag - makefile fragment for canfield +# +# Copyright (c) 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +canfield_all: + +canfield_install: diff --git a/canfield/canfield/Makefile.bsd b/canfield/canfield/Makefile.bsd new file mode 100644 index 0000000..f9fb864 --- /dev/null +++ b/canfield/canfield/Makefile.bsd @@ -0,0 +1,13 @@ +# $NetBSD: Makefile,v 1.7 1998/02/18 22:37:31 jtc Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= canfield +MAN= canfield.6 +DPADD= ${LIBCURSES} +LDADD= -lcurses +HIDEGAME=hidegame +SETGIDGAME=yes + + +.include "../../Makefile.inc" +.include diff --git a/canfield/canfield/Makefrag b/canfield/canfield/Makefrag new file mode 100644 index 0000000..c19d4dd --- /dev/null +++ b/canfield/canfield/Makefrag @@ -0,0 +1,37 @@ +# Makefrag - makefile fragment for canfield/canfield +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +canfield_canfield_DIRS := $(GAMESDIR) $(MAN6DIR) + +canfield_canfield_all: canfield/canfield/canfield canfield/canfield/canfield.6 + +canfield_canfield_install: canfield_canfield_all + $(INSTALL_SCORE_GAME) canfield/canfield/canfield $(INSTALL_PREFIX)$(GAMESDIR)/canfield + $(HIDE_GAME) canfield + $(INSTALL_MANUAL) canfield/canfield/canfield.6 + $(INSTALL_SCORE_FILE) $(CANFIELD_SCOREFILE) diff --git a/canfield/canfield/canfield.6.in b/canfield/canfield/canfield.6.in new file mode 100644 index 0000000..0745365 --- /dev/null +++ b/canfield/canfield/canfield.6.in @@ -0,0 +1,122 @@ +.\" $NetBSD: canfield.6,v 1.9 2003/08/07 09:37:07 agc Exp $ +.\" +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)canfield.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt CANFIELD 6 +.Os +.Sh NAME +.Nm canfield , +.Nm cfscores +.Nd the solitaire card game canfield +.Sh SYNOPSIS +.Nm +.Nm cfscores +.Op Fl a +.Op Ar user +.Sh DESCRIPTION +If you have never played solitaire before, it is recommended +that you consult a solitaire instruction book. In +Canfield, tableau cards may be built on each other downward +in alternate colors. An entire pile must be moved as a unit +in building. Top cards of the piles are available +to be played on foundations, but never into empty spaces. +.Pp +Spaces must be filled from the stock. The top card of +the stock also is available to be played on foundations or +built on tableau piles. After the stock is exhausted, +tableau spaces may be filled from the talon and the player may +keep them open until he wishes to use them. +.Pp +Cards are dealt from the hand to the talon by threes +and this repeats until there are no more cards in the hand +or the player quits. +To have cards dealt onto the talon the player types +.Sq Ic ht +for his move. +Foundation base cards are also automatically moved to the foundation +when they become available. +.Pp +The command +.Sq Ic c +causes +.Nm +to maintain card counting statistics on the bottom of the screen. +When properly used this can greatly increase one's chances of winning. +.Pp +The rules for betting are somewhat less strict than +those used in the official version of the game. +The initial deal costs $13. +You may quit at this point or inspect the game. +Inspection costs $13 and allows you to make as many +moves as possible without moving any cards from your hand to the talon. +(The initial deal places three cards on the talon; +if all these cards are used, three more are made available.) +Finally, if the game seems interesting, +you must pay the final installment of $26. +At this point you are +credited at the rate of $5 for each card on the foundation; +as the game progresses you are credited with $5 for each +card that is moved to the foundation. +Each run through the hand after the first costs $5. +The card counting feature +costs $1 for each unknown card that is identified. +If the information is toggled on, you are only charged for cards +that became visible since it was last turned on. +Thus the maximum cost of information is $34. +Playing time is charged at a rate of $1 per minute. +.Pp +With no arguments, the program +.Nm cfscores +prints out the current status of your canfield account. +If a +.Ar user +name is specified, it prints out the status of their canfield account. +If the +.Fl a +flag is specified, +it prints out the canfield accounts for all users that have +played the game since the database was set up. +.Sh FILES +.Bl -tag -width @gamesdir@/canfield -compact +.It Pa @gamesdir@/canfield +the game itself +.It Pa @gamesdir@/cfscores +the database printer +.It Pa @canfield_scorefile@ +the database of scores +.El +.Sh BUGS +It is impossible to cheat. +.Sh AUTHORS +Originally written: Steve Levine. +.Pp +Further random hacking by: Steve Feldman, Kirk McKusick, +Mikey Olson, and Eric Allman. diff --git a/canfield/canfield/canfield.c b/canfield/canfield/canfield.c new file mode 100644 index 0000000..1aa1d3f --- /dev/null +++ b/canfield/canfield/canfield.c @@ -0,0 +1,1822 @@ +/* $NetBSD: canfield.c,v 1.20 2004/11/05 21:30:31 dsl Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1980, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)canfield.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: canfield.c,v 1.20 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +/* + * The canfield program + * + * Authors: + * Originally written: Steve Levine + * Converted to use curses and debugged: Steve Feldman + * Card counting: Kirk McKusick and Mikey Olson + * User interface cleanups: Eric Allman and Kirk McKusick + * Betting by Kirk McKusick + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pathnames.h" + +#define decksize 52 +#define originrow 0 +#define origincol 0 +#define basecol 1 +#define boxcol 42 +#define tboxrow 2 +#define bboxrow 17 +#define movecol 43 +#define moverow 16 +#define msgcol 43 +#define msgrow 15 +#define titlecol 30 +#define titlerow 0 +#define sidecol 1 +#define ottlrow 6 +#define foundcol 11 +#define foundrow 3 +#define stockcol 2 +#define stockrow 8 +#define fttlcol 10 +#define fttlrow 1 +#define taloncol 2 +#define talonrow 13 +#define tabrow 8 +#define ctoprow 21 +#define cbotrow 23 +#define cinitcol 14 +#define cheightcol 1 +#define cwidthcol 4 +#define handstatrow 21 +#define handstatcol 7 +#define talonstatrow 22 +#define talonstatcol 7 +#define stockstatrow 23 +#define stockstatcol 7 +#define Ace 1 +#define Jack 11 +#define Queen 12 +#define King 13 +#define atabcol 11 +#define btabcol 18 +#define ctabcol 25 +#define dtabcol 32 + +#define spades 's' +#define clubs 'c' +#define hearts 'h' +#define diamonds 'd' +#define black 'b' +#define red 'r' + +#define stk 1 +#define tal 2 +#define tab 3 +#define INCRHAND(row, col) {\ + row -= cheightcol;\ + if (row < ctoprow) {\ + row = cbotrow;\ + col += cwidthcol;\ + }\ +} +#define DECRHAND(row, col) {\ + row += cheightcol;\ + if (row > cbotrow) {\ + row = ctoprow;\ + col -= cwidthcol;\ + }\ +} + + +struct cardtype { + char suit; + char color; + bool visible; + bool paid; + int rank; + struct cardtype *next; +}; + +#define NIL ((struct cardtype *) -1) + +struct cardtype *deck[decksize]; +struct cardtype cards[decksize]; +struct cardtype *bottom[4], *found[4], *tableau[4]; +struct cardtype *talon, *hand, *stock, *basecard; +int length[4]; +int cardsoff, base, cinhand, taloncnt, stockcnt, timesthru; +char suitmap[4] = {spades, clubs, hearts, diamonds}; +char colormap[4] = {black, black, red, red}; +char pilemap[4] = {atabcol, btabcol, ctabcol, dtabcol}; +char srcpile, destpile; +int mtforigin, tempbase; +int coldcol, cnewcol, coldrow, cnewrow; +bool errmsg, done; +bool mtfdone, Cflag = FALSE; +#define INSTRUCTIONBOX 1 +#define BETTINGBOX 2 +#define NOBOX 3 +int status = INSTRUCTIONBOX; +int uid; + +/* + * Basic betting costs + */ +#define costofhand 13 +#define costofinspection 13 +#define costofgame 26 +#define costofrunthroughhand 5 +#define costofinformation 1 +#define secondsperdollar 60 +#define maxtimecharge 3 +#define valuepercardup 5 +/* + * Variables associated with betting + */ +struct betinfo { + long hand; /* cost of dealing hand */ + long inspection; /* cost of inspecting hand */ + long game; /* cost of buying game */ + long runs; /* cost of running through hands */ + long information; /* cost of information */ + long thinktime; /* cost of thinking time */ + long wins; /* total winnings */ + long worth; /* net worth after costs */ +}; +struct betinfo this, game, total; +bool startedgame = FALSE, infullgame = FALSE; +time_t acctstart; +int dbfd = -1; + +void askquit(int); +void cleanup(int) __attribute__((__noreturn__)); +void cleanupboard(void); +void clearabovemovebox(void); +void clearbelowmovebox(void); +void clearmsg(void); +void clearstat(void); +void destinerror(void); +bool diffcolor(const struct cardtype *, const struct cardtype *); +void dumberror(void); +bool finish(void); +void fndbase(struct cardtype **, int, int); +void getcmd(int, int, const char *); +void initall(void); +void initdeck(struct cardtype *[]); +void initgame(void); +void instruct(void); +int main(void); +void makeboard(void); +void movebox(void); +void movecard(void); +void movetofound(struct cardtype **, int); +void movetotalon(void); +bool notempty(const struct cardtype *); +void printbottombettingbox(void); +void printbottominstructions(void); +void printcard(int, int, const struct cardtype *); +void printrank(int, int, const struct cardtype *, bool); +void printtopbettingbox(void); +void printtopinstructions(void); +bool rankhigher(const struct cardtype *, int); +bool ranklower(const struct cardtype *, const struct cardtype *); +void removecard(int, int); +int samesuit(const struct cardtype *, int); +void showcards(void); +void showstat(void); +void shuffle(struct cardtype *[]); +void simpletableau(struct cardtype **, int); +void startgame(void); +void suspend(void); +bool tabok(const struct cardtype *, int); +void tabprint(int, int); +void tabtotab(int, int); +void transit(struct cardtype **, struct cardtype **); +void updatebettinginfo(void); +void usedstock(void); +void usedtalon(void); + +/* + * The following procedures print the board onto the screen using the + * addressible cursor. The end of these procedures will also be + * separated from the rest of the program. + * + * procedure to set the move command box + */ +void +movebox() +{ + switch (status) { + case BETTINGBOX: + printtopbettingbox(); + break; + case NOBOX: + clearabovemovebox(); + break; + case INSTRUCTIONBOX: + printtopinstructions(); + break; + } + move(moverow, boxcol); + printw("| |"); + move(msgrow, boxcol); + printw("| |"); + switch (status) { + case BETTINGBOX: + printbottombettingbox(); + break; + case NOBOX: + clearbelowmovebox(); + break; + case INSTRUCTIONBOX: + printbottominstructions(); + break; + } + refresh(); +} + +/* + * print directions above move box + */ +void +printtopinstructions() +{ + move(tboxrow, boxcol); + printw("*----------------------------------*"); + move(tboxrow + 1, boxcol); + printw("| MOVES |"); + move(tboxrow + 2, boxcol); + printw("|s# = stock to tableau |"); + move(tboxrow + 3, boxcol); + printw("|sf = stock to foundation |"); + move(tboxrow + 4, boxcol); + printw("|t# = talon to tableau |"); + move(tboxrow + 5, boxcol); + printw("|tf = talon to foundation |"); + move(tboxrow + 6, boxcol); + printw("|## = tableau to tableau |"); + move(tboxrow + 7, boxcol); + printw("|#f = tableau to foundation |"); + move(tboxrow + 8, boxcol); + printw("|ht = hand to talon |"); + move(tboxrow + 9, boxcol); + printw("|c = toggle card counting |"); + move(tboxrow + 10, boxcol); + printw("|b = present betting information |"); + move(tboxrow + 11, boxcol); + printw("|q = quit to end the game |"); + move(tboxrow + 12, boxcol); + printw("|==================================|"); +} + +/* + * Print the betting box. + */ +void +printtopbettingbox() +{ + + move(tboxrow, boxcol); + printw("*----------------------------------*"); + move(tboxrow + 1, boxcol); + printw("|Costs Hand Game Total |"); + move(tboxrow + 2, boxcol); + printw("| Hands |"); + move(tboxrow + 3, boxcol); + printw("| Inspections |"); + move(tboxrow + 4, boxcol); + printw("| Games |"); + move(tboxrow + 5, boxcol); + printw("| Runs |"); + move(tboxrow + 6, boxcol); + printw("| Information |"); + move(tboxrow + 7, boxcol); + printw("| Think time |"); + move(tboxrow + 8, boxcol); + printw("|Total Costs |"); + move(tboxrow + 9, boxcol); + printw("|Winnings |"); + move(tboxrow + 10, boxcol); + printw("|Net Worth |"); + move(tboxrow + 11, boxcol); + printw("|Return |"); + move(tboxrow + 12, boxcol); + printw("|==================================|"); +} + +/* + * clear info above move box + */ +void +clearabovemovebox() +{ + int i; + + for (i = 0; i <= 11; i++) { + move(tboxrow + i, boxcol); + printw(" "); + } + move(tboxrow + 12, boxcol); + printw("*----------------------------------*"); +} + +/* + * print instructions below move box + */ +void +printbottominstructions() +{ + move(bboxrow, boxcol); + printw("|Replace # with the number of the |"); + move(bboxrow + 1, boxcol); + printw("|tableau you want. |"); + move(bboxrow + 2, boxcol); + printw("*----------------------------------*"); +} + +/* + * print betting information below move box + */ +void +printbottombettingbox() +{ + move(bboxrow, boxcol); + printw("|x = toggle information box |"); + move(bboxrow + 1, boxcol); + printw("|i = list playing instructions |"); + move(bboxrow + 2, boxcol); + printw("*----------------------------------*"); +} + +/* + * clear info below move box + */ +void +clearbelowmovebox() +{ + int i; + + move(bboxrow, boxcol); + printw("*----------------------------------*"); + for (i = 1; i <= 2; i++) { + move(bboxrow + i, boxcol); + printw(" "); + } +} + +/* + * procedure to put the board on the screen using addressable cursor + */ +void +makeboard() +{ + clear(); + refresh(); + move(titlerow, titlecol); + printw("=-> CANFIELD <-="); + move(fttlrow, fttlcol); + printw("foundation"); + move(foundrow - 1, fttlcol); + printw("=---= =---= =---= =---="); + move(foundrow, fttlcol); + printw("| | | | | | | |"); + move(foundrow + 1, fttlcol); + printw("=---= =---= =---= =---="); + move(ottlrow, sidecol); + printw("stock tableau"); + move(stockrow - 1, sidecol); + printw("=---="); + move(stockrow, sidecol); + printw("| |"); + move(stockrow + 1, sidecol); + printw("=---="); + move(talonrow - 2, sidecol); + printw("talon"); + move(talonrow - 1, sidecol); + printw("=---="); + move(talonrow, sidecol); + printw("| |"); + move(talonrow + 1, sidecol); + printw("=---="); + move(tabrow - 1, atabcol); + printw("-1- -2- -3- -4-"); + movebox(); +} + +/* + * clean up the board for another game + */ +void +cleanupboard() +{ + int cnt, row, col; + struct cardtype *ptr; + + col = 0; + if (Cflag) { + clearstat(); + for(ptr = stock, row = stockrow; + ptr != NIL; + ptr = ptr->next, row++) { + move(row, sidecol); + printw(" "); + } + move(row, sidecol); + printw(" "); + move(stockrow + 1, sidecol); + printw("=---="); + move(talonrow - 2, sidecol); + printw("talon"); + move(talonrow - 1, sidecol); + printw("=---="); + move(talonrow + 1, sidecol); + printw("=---="); + } + move(stockrow, sidecol); + printw("| |"); + move(talonrow, sidecol); + printw("| |"); + move(foundrow, fttlcol); + printw("| | | | | | | |"); + for (cnt = 0; cnt < 4; cnt++) { + switch(cnt) { + case 0: + col = atabcol; + break; + case 1: + col = btabcol; + break; + case 2: + col = ctabcol; + break; + case 3: + col = dtabcol; + break; + } + for(ptr = tableau[cnt], row = tabrow; + ptr != NIL; + ptr = ptr->next, row++) + removecard(col, row); + } +} + +/* + * procedure to create a deck of cards + */ +void +initdeck(deck) + struct cardtype *deck[]; +{ + int i; + int scnt; + char s; + int r; + + i = 0; + for (scnt=0; scnt<4; scnt++) { + s = suitmap[scnt]; + for (r=Ace; r<=King; r++) { + deck[i] = &cards[i]; + cards[i].rank = r; + cards[i].suit = s; + cards[i].color = colormap[scnt]; + cards[i].next = NIL; + i++; + } + } +} + +/* + * procedure to shuffle the deck + */ +void +shuffle(deck) + struct cardtype *deck[]; +{ + int i,j; + struct cardtype *temp; + + for (i=0; ivisible = FALSE; + deck[i]->paid = FALSE; + } + for (i = decksize-1; i>=0; i--) { + j = random() % decksize; + if (i != j) { + temp = deck[i]; + deck[i] = deck[j]; + deck[j] = temp; + } + } +} + +/* + * procedure to remove the card from the board + */ +void +removecard(a, b) + int a, b; +{ + move(b, a); + printw(" "); +} + +/* + * procedure to print the cards on the board + */ +void +printrank(a, b, cp, inverse) + int a, b; + const struct cardtype *cp; + bool inverse; +{ + move(b, a); + if (cp->rank != 10) + addch(' '); + if (inverse) + standout(); + switch (cp->rank) { + case 2: case 3: case 4: case 5: case 6: case 7: + case 8: case 9: case 10: + printw("%d", cp->rank); + break; + case Ace: + addch('A'); + break; + case Jack: + addch('J'); + break; + case Queen: + addch('Q'); + break; + case King: + addch('K'); + } + if (inverse) + standend(); +} + +/* + * procedure to print out a card + */ +void +printcard(a, b, cp) + int a,b; + const struct cardtype *cp; +{ + if (cp == NIL) + removecard(a, b); + else if (cp->visible == FALSE) { + move(b, a); + printw(" ? "); + } else { + bool inverse = (cp->suit == 'd' || cp->suit == 'h'); + + printrank(a, b, cp, inverse); + if (inverse) + standout(); + addch(cp->suit); + if (inverse) + standend(); + } +} + +/* + * procedure to move the top card from one location to the top + * of another location. The pointers always point to the top + * of the piles. + */ +void +transit(source, dest) + struct cardtype **source, **dest; +{ + struct cardtype *temp; + + temp = *source; + *source = (*source)->next; + temp->next = *dest; + *dest = temp; +} + +/* + * Procedure to set the cards on the foundation base when available. + * Note that it is only called on a foundation pile at the beginning of + * the game, so the pile will have exactly one card in it. + */ +void +fndbase(cp, column, row) + struct cardtype **cp; + int column, row; +{ + bool nomore; + + if (*cp != NIL) + do { + if ((*cp)->rank == basecard->rank) { + base++; + printcard(pilemap[base], foundrow, *cp); + if (*cp == tableau[0]) + length[0] = length[0] - 1; + if (*cp == tableau[1]) + length[1] = length[1] - 1; + if (*cp == tableau[2]) + length[2] = length[2] - 1; + if (*cp == tableau[3]) + length[3] = length[3] - 1; + transit(cp, &found[base]); + if (cp == &talon) + usedtalon(); + if (cp == &stock) + usedstock(); + if (*cp != NIL) { + printcard(column, row, *cp); + nomore = FALSE; + } else { + removecard(column, row); + nomore = TRUE; + } + cardsoff++; + if (infullgame) { + this.wins += valuepercardup; + game.wins += valuepercardup; + total.wins += valuepercardup; + } + } else + nomore = TRUE; + } while (nomore == FALSE); +} + +/* + * procedure to initialize the things necessary for the game + */ +void +initgame() +{ + int i; + + for (i=0; i<18; i++) { + deck[i]->visible = TRUE; + deck[i]->paid = TRUE; + } + stockcnt = 13; + stock = deck[12]; + for (i=12; i>=1; i--) + deck[i]->next = deck[i - 1]; + deck[0]->next = NIL; + found[0] = deck[13]; + deck[13]->next = NIL; + for (i=1; i<4; i++) + found[i] = NIL; + basecard = found[0]; + for (i=14; i<18; i++) { + tableau[i - 14] = deck[i]; + deck[i]->next = NIL; + } + for (i=0; i<4; i++) { + bottom[i] = tableau[i]; + length[i] = tabrow; + } + hand = deck[18]; + for (i=18; inext = deck[i + 1]; + deck[decksize-1]->next = NIL; + talon = NIL; + base = 0; + cinhand = 34; + taloncnt = 0; + timesthru = 0; + cardsoff = 1; + coldrow = ctoprow; + coldcol = cinitcol; + cnewrow = ctoprow; + cnewcol = cinitcol + cwidthcol; +} + +/* + * procedure to print the beginning cards and to start each game + */ +void +startgame() +{ + int j; + + shuffle(deck); + initgame(); + this.hand = costofhand; + game.hand += costofhand; + total.hand += costofhand; + this.inspection = 0; + this.game = 0; + this.runs = 0; + this.information = 0; + this.wins = 0; + this.thinktime = 0; + infullgame = FALSE; + startedgame = FALSE; + printcard(foundcol, foundrow, found[0]); + printcard(stockcol, stockrow, stock); + printcard(atabcol, tabrow, tableau[0]); + printcard(btabcol, tabrow, tableau[1]); + printcard(ctabcol, tabrow, tableau[2]); + printcard(dtabcol, tabrow, tableau[3]); + printcard(taloncol, talonrow, talon); + move(foundrow - 2, basecol); + printw("Base"); + move(foundrow - 1, basecol); + printw("Rank"); + printrank(basecol, foundrow, found[0], 0); + for (j=0; j<=3; j++) + fndbase(&tableau[j], pilemap[j], tabrow); + fndbase(&stock, stockcol, stockrow); + showstat(); /* show card counting info to cheaters */ + movetotalon(); + updatebettinginfo(); +} + +/* + * procedure to clear the message printed from an error + */ +void +clearmsg() +{ + int i; + + if (errmsg == TRUE) { + errmsg = FALSE; + move(msgrow, msgcol); + for (i=0; i<25; i++) + addch(' '); + refresh(); + } +} + +/* + * procedure to print an error message if the move is not listed + */ +void +dumberror() +{ + errmsg = TRUE; + move(msgrow, msgcol); + printw("Not a proper move "); +} + +/* + * procedure to print an error message if the move is not possible + */ +void +destinerror() +{ + errmsg = TRUE; + move(msgrow, msgcol); + printw("Error: Can't move there"); +} + +/* + * function to see if the source has cards in it + */ +bool +notempty(cp) + const struct cardtype *cp; +{ + if (cp == NIL) { + errmsg = TRUE; + move(msgrow, msgcol); + printw("Error: no cards to move"); + return (FALSE); + } else + return (TRUE); +} + +/* + * function to see if the rank of one card is less than another + */ +bool +ranklower(cp1, cp2) + const struct cardtype *cp1, *cp2; +{ + if (cp2->rank == Ace) + if (cp1->rank == King) + return (TRUE); + else + return (FALSE); + else if (cp1->rank + 1 == cp2->rank) + return (TRUE); + else + return (FALSE); +} + +/* + * function to check the cardcolor for moving to a tableau + */ +bool +diffcolor(cp1, cp2) + const struct cardtype *cp1, *cp2; +{ + if (cp1->color == cp2->color) + return (FALSE); + else + return (TRUE); +} + +/* + * function to see if the card can move to the tableau + */ +bool +tabok(cp, des) + const struct cardtype *cp; + int des; +{ + if ((cp == stock) && (tableau[des] == NIL)) + return (TRUE); + else if (tableau[des] == NIL) + if (stock == NIL && + cp != bottom[0] && cp != bottom[1] && + cp != bottom[2] && cp != bottom[3]) + return (TRUE); + else + return (FALSE); + else if (ranklower(cp, tableau[des]) && diffcolor(cp, tableau[des])) + return (TRUE); + else + return (FALSE); +} + +/* + * procedure to turn the cards onto the talon from the deck + */ +void +movetotalon() +{ + int i, fin; + + if (cinhand <= 3 && cinhand > 0) { + move(msgrow, msgcol); + printw("Hand is now empty "); + } + if (cinhand >= 3) + fin = 3; + else if (cinhand > 0) + fin = cinhand; + else if (talon != NIL) { + timesthru++; + errmsg = TRUE; + move(msgrow, msgcol); + if (timesthru != 4) { + printw("Talon is now the new hand"); + this.runs += costofrunthroughhand; + game.runs += costofrunthroughhand; + total.runs += costofrunthroughhand; + while (talon != NIL) { + transit(&talon, &hand); + cinhand++; + } + if (cinhand >= 3) + fin = 3; + else + fin = cinhand; + taloncnt = 0; + coldrow = ctoprow; + coldcol = cinitcol; + cnewrow = ctoprow; + cnewcol = cinitcol + cwidthcol; + clearstat(); + showstat(); + } else { + fin = 0; + done = TRUE; + printw("I believe you have lost"); + refresh(); + sleep(5); + } + } else { + errmsg = TRUE; + move(msgrow, msgcol); + printw("Talon and hand are empty"); + fin = 0; + } + for (i=0; ivisible = TRUE; + if (Cflag) { + if (talon->paid == FALSE && talon->visible == TRUE) { + this.information += costofinformation; + game.information += costofinformation; + total.information += costofinformation; + talon->paid = TRUE; + } + printcard(coldcol, coldrow, talon); + } + } + if (fin != 0) { + printcard(taloncol, talonrow, talon); + cinhand -= fin; + taloncnt += fin; + if (Cflag) { + move(handstatrow, handstatcol); + printw("%3d", cinhand); + move(talonstatrow, talonstatcol); + printw("%3d", taloncnt); + } + fndbase(&talon, taloncol, talonrow); + } +} + + +/* + * procedure to print card counting info on screen + */ + +void +showstat() +{ + int row, col; + struct cardtype *ptr; + + if (!Cflag) + return; + move(talonstatrow, talonstatcol - 7); + printw("Talon: %3d", taloncnt); + move(handstatrow, handstatcol - 7); + printw("Hand: %3d", cinhand); + move(stockstatrow, stockstatcol - 7); + printw("Stock: %3d", stockcnt); + for ( row = coldrow, col = coldcol, ptr = talon; + ptr != NIL; + ptr = ptr->next ) { + if (ptr->paid == FALSE && ptr->visible == TRUE) { + ptr->paid = TRUE; + this.information += costofinformation; + game.information += costofinformation; + total.information += costofinformation; + } + printcard(col, row, ptr); + DECRHAND(row, col); + } + for ( row = cnewrow, col = cnewcol, ptr = hand; + ptr != NIL; + ptr = ptr->next ) { + if (ptr->paid == FALSE && ptr->visible == TRUE) { + ptr->paid = TRUE; + this.information += costofinformation; + game.information += costofinformation; + total.information += costofinformation; + } + INCRHAND(row, col); + printcard(col, row, ptr); + } +} + +/* + * procedure to clear card counting info from screen + */ +void +clearstat() +{ + int row; + + move(talonstatrow, talonstatcol - 7); + printw(" "); + move(handstatrow, handstatcol - 7); + printw(" "); + move(stockstatrow, stockstatcol - 7); + printw(" "); + for ( row = ctoprow ; row <= cbotrow ; row++ ) { + move(row, cinitcol); + printw("%56s", " "); + } +} + +/* + * procedure to update card counting base + */ +void +usedtalon() +{ + removecard(coldcol, coldrow); + DECRHAND(coldrow, coldcol); + if (talon != NIL && (talon->visible == FALSE)) { + talon->visible = TRUE; + if (Cflag) { + this.information += costofinformation; + game.information += costofinformation; + total.information += costofinformation; + talon->paid = TRUE; + printcard(coldcol, coldrow, talon); + } + } + taloncnt--; + if (Cflag) { + move(talonstatrow, talonstatcol); + printw("%3d", taloncnt); + } +} + +/* + * procedure to update stock card counting base + */ +void +usedstock() +{ + stockcnt--; + if (Cflag) { + move(stockstatrow, stockstatcol); + printw("%3d", stockcnt); + } +} + +/* + * let 'em know how they lost! + */ +void +showcards() +{ + struct cardtype *ptr; + int row; + + if (!Cflag || cardsoff == 52) + return; + for (ptr = talon; ptr != NIL; ptr = ptr->next) { + ptr->visible = TRUE; + ptr->paid = TRUE; + } + for (ptr = hand; ptr != NIL; ptr = ptr->next) { + ptr->visible = TRUE; + ptr->paid = TRUE; + } + showstat(); + move(stockrow + 1, sidecol); + printw(" "); + move(talonrow - 2, sidecol); + printw(" "); + move(talonrow - 1, sidecol); + printw(" "); + move(talonrow, sidecol); + printw(" "); + move(talonrow + 1, sidecol); + printw(" "); + for (ptr = stock, row = stockrow; ptr != NIL; ptr = ptr->next, row++) { + move(row, stockcol - 1); + printw("| |"); + printcard(stockcol, row, ptr); + } + if (stock == NIL) { + move(row, stockcol - 1); + printw("| |"); + row++; + } + move(handstatrow, handstatcol - 7); + printw(" "); + move(row, stockcol - 1); + printw("=---="); + if ( cardsoff == 52 ) + getcmd(moverow, movecol, "Hit return to exit"); +} + +/* + * procedure to update the betting values + */ +void +updatebettinginfo() +{ + long thiscosts, gamecosts, totalcosts; + double thisreturn, gamereturn, totalreturn; + time_t now; + long dollars; + + time(&now); + dollars = (now - acctstart) / secondsperdollar; + if (dollars > 0) { + acctstart += dollars * secondsperdollar; + if (dollars > maxtimecharge) + dollars = maxtimecharge; + this.thinktime += dollars; + game.thinktime += dollars; + total.thinktime += dollars; + } + thiscosts = this.hand + this.inspection + this.game + + this.runs + this.information + this.thinktime; + gamecosts = game.hand + game.inspection + game.game + + game.runs + game.information + game.thinktime; + totalcosts = total.hand + total.inspection + total.game + + total.runs + total.information + total.thinktime; + this.worth = this.wins - thiscosts; + game.worth = game.wins - gamecosts; + total.worth = total.wins - totalcosts; + thisreturn = ((double)this.wins / (double)thiscosts - 1.0) * 100.0; + gamereturn = ((double)game.wins / (double)gamecosts - 1.0) * 100.0; + totalreturn = ((double)total.wins / (double)totalcosts - 1.0) * 100.0; + if (status != BETTINGBOX) + return; + move(tboxrow + 2, boxcol + 13); + printw("%4ld%8ld%9ld", this.hand, game.hand, total.hand); + move(tboxrow + 3, boxcol + 13); + printw("%4ld%8ld%9ld", this.inspection, game.inspection, + total.inspection); + move(tboxrow + 4, boxcol + 13); + printw("%4ld%8ld%9ld", this.game, game.game, total.game); + move(tboxrow + 5, boxcol + 13); + printw("%4ld%8ld%9ld", this.runs, game.runs, total.runs); + move(tboxrow + 6, boxcol + 13); + printw("%4ld%8ld%9ld", this.information, game.information, + total.information); + move(tboxrow + 7, boxcol + 13); + printw("%4ld%8ld%9ld", this.thinktime, game.thinktime, total.thinktime); + move(tboxrow + 8, boxcol + 13); + printw("%4ld%8ld%9ld", thiscosts, gamecosts, totalcosts); + move(tboxrow + 9, boxcol + 13); + printw("%4ld%8ld%9ld", this.wins, game.wins, total.wins); + move(tboxrow + 10, boxcol + 13); + printw("%4ld%8ld%9ld", this.worth, game.worth, total.worth); + move(tboxrow + 11, boxcol + 13); + printw("%4.0f%%%7.1f%%%8.1f%%", thisreturn, gamereturn, totalreturn); +} + +/* + * procedure to move a card from the stock or talon to the tableau + */ +void +simpletableau(cp, des) + struct cardtype **cp; + int des; +{ + int origin; + + if (notempty(*cp)) { + if (tabok(*cp, des)) { + if (*cp == stock) + origin = stk; + else + origin = tal; + if (tableau[des] == NIL) + bottom[des] = *cp; + transit(cp, &tableau[des]); + length[des]++; + printcard(pilemap[des], length[des], tableau[des]); + timesthru = 0; + if (origin == stk) { + usedstock(); + printcard(stockcol, stockrow, stock); + } else { + usedtalon(); + printcard(taloncol, talonrow, talon); + } + } else + destinerror(); + } +} + +/* + * print the tableau + */ +void +tabprint(sour, des) + int sour, des; +{ + int dlength, slength, i; + struct cardtype *tempcard; + + for (i=tabrow; i<=length[sour]; i++) + removecard(pilemap[sour], i); + dlength = length[des] + 1; + slength = length[sour]; + if (slength == tabrow) + printcard(pilemap[des], dlength, tableau[sour]); + else + while (slength != tabrow - 1) { + tempcard = tableau[sour]; + for (i=1; i<=slength-tabrow; i++) + tempcard = tempcard->next; + printcard(pilemap[des], dlength, tempcard); + slength--; + dlength++; + } +} + +/* + * procedure to move from the tableau to the tableau + */ +void +tabtotab(sour, des) + int sour, des; +{ + struct cardtype *temp; + + if (notempty(tableau[sour])) { + if (tabok(bottom[sour], des)) { + tabprint(sour, des); + temp = bottom[sour]; + bottom[sour] = NIL; + if (bottom[des] == NIL) + bottom[des] = temp; + temp->next = tableau[des]; + tableau[des] = tableau[sour]; + tableau[sour] = NIL; + length[des] = length[des] + (length[sour] - (tabrow - 1)); + length[sour] = tabrow - 1; + timesthru = 0; + } else + destinerror(); + } +} + +/* + * functions to see if the card can go onto the foundation + */ +bool +rankhigher(cp, let) + const struct cardtype *cp; + int let; +{ + if (found[let]->rank == King) + if (cp->rank == Ace) + return(TRUE); + else + return(FALSE); + else if (cp->rank - 1 == found[let]->rank) + return(TRUE); + else + return(FALSE); +} + +/* + * function to determine if two cards are the same suit + */ +int +samesuit(cp, let) + const struct cardtype *cp; + int let; +{ + if (cp->suit == found[let]->suit) + return (TRUE); + else + return (FALSE); +} + +/* + * procedure to move a card to the correct foundation pile + */ +void +movetofound(cp, source) + struct cardtype **cp; + int source; +{ + tempbase = 0; + mtfdone = FALSE; + if (notempty(*cp)) { + do { + if (found[tempbase] != NIL) + if (rankhigher(*cp, tempbase) + && samesuit(*cp, tempbase)) { + if (*cp == stock) + mtforigin = stk; + else if (*cp == talon) + mtforigin = tal; + else + mtforigin = tab; + transit(cp, &found[tempbase]); + printcard(pilemap[tempbase], + foundrow, found[tempbase]); + timesthru = 0; + if (mtforigin == stk) { + usedstock(); + printcard(stockcol, stockrow, stock); + } else if (mtforigin == tal) { + usedtalon(); + printcard(taloncol, talonrow, talon); + } else { + removecard(pilemap[source], length[source]); + length[source]--; + } + cardsoff++; + if (infullgame) { + this.wins += valuepercardup; + game.wins += valuepercardup; + total.wins += valuepercardup; + } + mtfdone = TRUE; + } else + tempbase++; + else + tempbase++; + } while ((tempbase != 4) && !mtfdone); + if (!mtfdone) + destinerror(); + } +} + +/* + * procedure to get a command + */ +void +getcmd(row, col, cp) + int row, col; + const char *cp; +{ + char cmd[2] = { '\0', '\0'}, ch; + int i; + + i = 0; + move(row, col); + printw("%-24s", cp); + col += 1 + strlen(cp); + move(row, col); + refresh(); + do { + ch = getch() & 0177; + if (ch >= 'A' && ch <= 'Z') + ch += ('a' - 'A'); + if (ch == '\f') { + wrefresh(curscr); + refresh(); + } else if (i >= 2 && ch != erasechar() && ch != killchar()) { + if (ch != '\n' && ch != '\r' && ch != ' ') + write(1, "\007", 1); + } else if (ch == erasechar() && i > 0) { + printw("\b \b"); + refresh(); + cmd[--i] = '\0'; + } else if (ch == killchar() && i > 0) { + while (i > 0) { + printw("\b \b"); + cmd[--i] = '\0'; + } + refresh(); + } else if (ch == '\032') { /* Control-Z */ + suspend(); + move(row, col + i); + refresh(); + } else if (isprint((unsigned char)ch)) { + cmd[i++] = ch; + addch(ch); + refresh(); + } + } while (ch != '\n' && ch != '\r' && ch != ' '); + srcpile = cmd[0]; + destpile = cmd[1]; +} + +/* + * Suspend the game (shell escape if no process control on system) + */ +void +suspend() +{ +#ifndef SIGTSTP + char *sh; +#endif + + updatebettinginfo(); + move(21, 0); + refresh(); + if (dbfd != -1) { + lseek(dbfd, uid * sizeof(struct betinfo), SEEK_SET); + write(dbfd, (char *)&total, sizeof(total)); + } + kill(getpid(), SIGTSTP); + raw(); + noecho(); +} + +/* + * procedure to evaluate and make the specific moves + */ +void +movecard() +{ + int source, dest; + char osrcpile, odestpile; + + source = dest = 0; + done = FALSE; + errmsg = FALSE; + do { + if (talon == NIL && hand != NIL) + movetotalon(); + if (cardsoff == 52) { + refresh(); + srcpile = 'q'; + } else if (!startedgame) { + move(msgrow, msgcol); + errmsg = TRUE; + switch (34 - taloncnt - cinhand) { + default: + errmsg = FALSE; + break; + case 1: + printw("One card used from talon "); + break; + case 2: + printw("Two cards used from talon "); + break; + case 3: + printw(">3< cards used from talon "); + break; + } + getcmd(moverow, movecol, "Move:"); + } else + getcmd(moverow, movecol, "Move:"); + clearmsg(); + if (srcpile >= '1' && srcpile <= '4') + source = (int) (srcpile - '1'); + if (destpile >= '1' && destpile <= '4') + dest = (int) (destpile - '1'); + if (!startedgame && + (srcpile == 't' || srcpile == 's' || srcpile == 'h' || + srcpile == '1' || srcpile == '2' || srcpile == '3' || + srcpile == '4')) { + startedgame = TRUE; + osrcpile = srcpile; + odestpile = destpile; + if (status != BETTINGBOX) + srcpile = 'y'; + else do { + getcmd(moverow, movecol, "Inspect game?"); + } while (srcpile != 'y' && srcpile != 'n'); + if (srcpile == 'n') { + srcpile = 'q'; + } else { + this.inspection += costofinspection; + game.inspection += costofinspection; + total.inspection += costofinspection; + srcpile = osrcpile; + destpile = odestpile; + } + } + switch (srcpile) { + case 't': + if (destpile == 'f' || destpile == 'F') + movetofound(&talon, source); + else if (destpile >= '1' && destpile <= '4') + simpletableau(&talon, dest); + else + dumberror(); + break; + case 's': + if (destpile == 'f' || destpile == 'F') + movetofound(&stock, source); + else if (destpile >= '1' && destpile <= '4') + simpletableau(&stock, dest); + else dumberror(); + break; + case 'h': + if (destpile != 't' && destpile != 'T') { + dumberror(); + break; + } + if (infullgame) { + movetotalon(); + break; + } + if (status == BETTINGBOX) { + do { + getcmd(moverow, movecol, + "Buy game?"); + } while (srcpile != 'y' && + srcpile != 'n'); + if (srcpile == 'n') { + showcards(); + done = TRUE; + break; + } + } + infullgame = TRUE; + this.wins += valuepercardup * cardsoff; + game.wins += valuepercardup * cardsoff; + total.wins += valuepercardup * cardsoff; + this.game += costofgame; + game.game += costofgame; + total.game += costofgame; + movetotalon(); + break; + case 'q': + showcards(); + done = TRUE; + break; + case 'b': + printtopbettingbox(); + printbottombettingbox(); + status = BETTINGBOX; + break; + case 'x': + clearabovemovebox(); + clearbelowmovebox(); + status = NOBOX; + break; + case 'i': + printtopinstructions(); + printbottominstructions(); + status = INSTRUCTIONBOX; + break; + case 'c': + Cflag = !Cflag; + if (Cflag) + showstat(); + else + clearstat(); + break; + case '1': case '2': case '3': case '4': + if (destpile == 'f' || destpile == 'F') + movetofound(&tableau[source], source); + else if (destpile >= '1' && destpile <= '4') + tabtotab(source, dest); + else dumberror(); + break; + default: + dumberror(); + } + fndbase(&stock, stockcol, stockrow); + fndbase(&talon, taloncol, talonrow); + updatebettinginfo(); + } while (!done); +} + +const char *const basicinstructions[] = { + "Here are brief instuctions to the game of Canfield:\n\n", + " If you have never played solitaire before, it is recom-\n", + "mended that you consult a solitaire instruction book. In\n", + "Canfield, tableau cards may be built on each other downward\n", + "in alternate colors. An entire pile must be moved as a unit\n", + "in building. Top cards of the piles are available to be able\n", + "to be played on foundations, but never into empty spaces.\n\n", + " Spaces must be filled from the stock. The top card of\n", + "the stock also is available to be played on foundations or\n", + "built on tableau piles. After the stock is exhausted, ta-\n", + "bleau spaces may be filled from the talon and the player may\n", + "keep them open until he wishes to use them.\n\n", + " Cards are dealt from the hand to the talon by threes\n", + "and this repeats until there are no more cards in the hand\n", + "or the player quits. To have cards dealt onto the talon the\n", + "player types 'ht' for his move. Foundation base cards are\n", + "also automatically moved to the foundation when they become\n", + "available.\n\n", + "push any key when you are finished: ", + 0 }; + +const char *const bettinginstructions[] = { + " The rules for betting are somewhat less strict than\n", + "those used in the official version of the game. The initial\n", + "deal costs $13. You may quit at this point or inspect the\n", + "game. Inspection costs $13 and allows you to make as many\n", + "moves as is possible without moving any cards from your hand\n", + "to the talon. (the initial deal places three cards on the\n", + "talon; if all these cards are used, three more are made\n", + "available) Finally, if the game seems interesting, you must\n", + "pay the final installment of $26. At this point you are\n", + "credited at the rate of $5 for each card on the foundation;\n", + "as the game progresses you are credited with $5 for each\n", + "card that is moved to the foundation. Each run through the\n", + "hand after the first costs $5. The card counting feature\n", + "costs $1 for each unknown card that is identified. If the\n", + "information is toggled on, you are only charged for cards\n", + "that became visible since it was last turned on. Thus the\n", + "maximum cost of information is $34. Playing time is charged\n", + "at a rate of $1 per minute.\n\n", + "push any key when you are finished: ", + 0 }; + +/* + * procedure to printout instructions + */ +void +instruct() +{ + const char *const *cp; + + move(originrow, origincol); + printw("This is the game of solitaire called Canfield. Do\n"); + printw("you want instructions for the game?"); + do { + getcmd(originrow + 3, origincol, "y or n?"); + } while (srcpile != 'y' && srcpile != 'n'); + if (srcpile == 'n') + return; + clear(); + for (cp = basicinstructions; *cp != 0; cp++) + printw(*cp); + refresh(); + getch(); + clear(); + move(originrow, origincol); + printw("Do you want instructions for betting?"); + do { + getcmd(originrow + 2, origincol, "y or n?"); + } while (srcpile != 'y' && srcpile != 'n'); + if (srcpile == 'n') + return; + clear(); + for (cp = bettinginstructions; *cp != 0; cp++) + printw(*cp); + refresh(); + getch(); +} + +/* + * procedure to initialize the game + */ +void +initall() +{ + int i; + + srandom(getpid()); + time(&acctstart); + initdeck(deck); + uid = getuid(); + if (uid < 0) + uid = 0; + dbfd = open(_PATH_SCORE, O_RDWR); + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + if (dbfd < 0) + return; + if (dbfd < 3) + exit(1); + i = lseek(dbfd, uid * sizeof(struct betinfo), SEEK_SET); + if (i < 0) { + close(dbfd); + dbfd = -1; + return; + } + i = read(dbfd, (char *)&total, sizeof(total)); + if (i < 0) { + close(dbfd); + dbfd = -1; + return; + } +} + +/* + * procedure to end the game + */ +bool +finish() +{ + int row, col; + + if (cardsoff == 52) { + getcmd(moverow, movecol, "Hit return to exit"); + clear(); + refresh(); + move(originrow, origincol); + printw("CONGRATULATIONS!\n"); + printw("You won the game. That is a feat to be proud of.\n"); + row = originrow + 5; + col = origincol; + } else { + move(msgrow, msgcol); + printw("You got %d card", cardsoff); + if (cardsoff > 1) + printw("s"); + printw(" off "); + move(msgrow, msgcol); + row = moverow; + col = movecol; + } + do { + getcmd(row, col, "Play again (y or n)?"); + } while (srcpile != 'y' && srcpile != 'n'); + errmsg = TRUE; + clearmsg(); + if (srcpile == 'y') + return (FALSE); + else + return (TRUE); +} + +/* + * procedure to clean up and exit + */ +void +cleanup(dummy) + int dummy __attribute__((__unused__)); +{ + + total.thinktime += 1; + status = NOBOX; + updatebettinginfo(); + if (dbfd != -1) { + lseek(dbfd, uid * sizeof(struct betinfo), SEEK_SET); + write(dbfd, (char *)&total, sizeof(total)); + close(dbfd); + } + clear(); + move(22,0); + refresh(); + endwin(); + exit(0); + /* NOTREACHED */ +} + +/* + * Field an interrupt. + */ +void +askquit(dummy) + int dummy __attribute__((__unused__)); +{ + move(msgrow, msgcol); + printw("Really wish to quit? "); + do { + getcmd(moverow, movecol, "y or n?"); + } while (srcpile != 'y' && srcpile != 'n'); + clearmsg(); + if (srcpile == 'y') + cleanup(0); + signal(SIGINT, askquit); +} + +/* + * Can you tell that this used to be a Pascal program? + */ +int +main() +{ +#ifdef MAXLOAD + double vec[3]; + + loadav(vec); + if (vec[2] >= MAXLOAD) { + puts("The system load is too high. Try again later."); + exit(0); + } +#endif + signal(SIGINT, askquit); + signal(SIGHUP, cleanup); + signal(SIGTERM, cleanup); + initscr(); + raw(); + noecho(); + initall(); + instruct(); + makeboard(); + for (;;) { + startgame(); + movecard(); + if (finish()) + break; + if (cardsoff == 52) + makeboard(); + else + cleanupboard(); + } + cleanup(0); + /* NOTREACHED */ + return(0); +} diff --git a/canfield/canfield/pathnames.h.in b/canfield/canfield/pathnames.h.in new file mode 100644 index 0000000..b93a86d --- /dev/null +++ b/canfield/canfield/pathnames.h.in @@ -0,0 +1,35 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:08 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define _PATH_SCORE "@canfield_scorefile@" + diff --git a/canfield/cfscores/Makefile.bsd b/canfield/cfscores/Makefile.bsd new file mode 100644 index 0000000..55448e5 --- /dev/null +++ b/canfield/cfscores/Makefile.bsd @@ -0,0 +1,11 @@ +# $NetBSD: Makefile,v 1.7 2002/09/18 06:16:40 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +NOMAN= # defined + +PROG= cfscores +CPPFLAGS+= -I${.CURDIR}/../canfield +HIDEGAME= hidegame + +.include "../../Makefile.inc" +.include diff --git a/canfield/cfscores/Makefrag b/canfield/cfscores/Makefrag new file mode 100644 index 0000000..5cf5464 --- /dev/null +++ b/canfield/cfscores/Makefrag @@ -0,0 +1,37 @@ +# Makefrag - makefile fragment for canfield/cfscores +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +canfield_cfscores_DIRS := $(GAMESDIR) $(MAN6DIR) +canfield_cfscores_INCS := -Icanfield/canfield + +canfield_cfscores_all: canfield/cfscores/cfscores + +canfield_cfscores_install: canfield_cfscores_all + $(INSTALL_BINARY) canfield/cfscores/cfscores $(INSTALL_PREFIX)$(GAMESDIR)/cfscores + $(HIDE_GAME) cfscores + $(INSTALL_MANUAL) canfield.6 cfscores.6 diff --git a/canfield/cfscores/cfscores.c b/canfield/cfscores/cfscores.c new file mode 100644 index 0000000..b8a2a49 --- /dev/null +++ b/canfield/cfscores/cfscores.c @@ -0,0 +1,158 @@ +/* $NetBSD: cfscores.c,v 1.12 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1983, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)cfscores.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: cfscores.c,v 1.12 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "pathnames.h" + +struct betinfo { + long hand; /* cost of dealing hand */ + long inspection; /* cost of inspecting hand */ + long game; /* cost of buying game */ + long runs; /* cost of running through hands */ + long information; /* cost of information */ + long thinktime; /* cost of thinking time */ + long wins; /* total winnings */ + long worth; /* net worth after costs */ +}; + +int dbfd; + +int main(int, char *[]); +void printuser(const struct passwd *, int); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + struct passwd *pw; + int uid; + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + if (argc > 2) { + printf("Usage: cfscores [user]\n"); + exit(1); + } + dbfd = open(_PATH_SCORE, O_RDONLY); + if (dbfd < 0) + err(2, "open %s", _PATH_SCORE); + setpwent(); + if (argc == 1) { + uid = getuid(); + pw = getpwuid(uid); + if (pw == 0) { + printf("You are not listed in the password file?!?\n"); + exit(2); + } + printuser(pw, 1); + exit(0); + } + if (strcmp(argv[1], "-a") == 0) { + while ((pw = getpwent()) != 0) + printuser(pw, 0); + exit(0); + } + pw = getpwnam(argv[1]); + if (pw == 0) { + printf("User %s unknown\n", argv[1]); + exit(3); + } + printuser(pw, 1); + exit(0); +} + +/* + * print out info for specified password entry + */ +void +printuser(pw, printfail) + const struct passwd *pw; + int printfail; +{ + struct betinfo total; + int i; + + if (pw->pw_uid < 0) { + printf("Bad uid %d\n", pw->pw_uid); + return; + } + i = lseek(dbfd, pw->pw_uid * sizeof(struct betinfo), SEEK_SET); + if (i < 0) + warn("lseek %s", _PATH_SCORE); + i = read(dbfd, (char *)&total, sizeof(total)); + if (i < 0) + warn("read %s", _PATH_SCORE); + if (i == 0 || total.hand == 0) { + if (printfail) + printf("%s has never played canfield.\n", pw->pw_name); + return; + } + printf("*----------------------*\n"); + if (total.worth >= 0) + printf("* Winnings for %-8s*\n", pw->pw_name); + else + printf("* Losses for %-10s*\n", pw->pw_name); + printf("*======================*\n"); + printf("|Costs Total |\n"); + printf("| Hands %8ld |\n", total.hand); + printf("| Inspections %8ld |\n", total.inspection); + printf("| Games %8ld |\n", total.game); + printf("| Runs %8ld |\n", total.runs); + printf("| Information %8ld |\n", total.information); + printf("| Think time %8ld |\n", total.thinktime); + printf("|Total Costs %8ld |\n", total.wins - total.worth); + printf("|Winnings %8ld |\n", total.wins); + printf("|Net Worth %8ld |\n", total.worth); + printf("*----------------------*\n\n"); +} diff --git a/configure b/configure new file mode 100755 index 0000000..017c6a4 --- /dev/null +++ b/configure @@ -0,0 +1,821 @@ +#!/bin/sh +# configure - home-grown configuration script for bsd-games. +# +# Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# Default paths follow Filesystem Hierarchy Standard version 2.0. + +# This will only ask some questions if the previous answers are appropriate. +# It will substitute values in the directories built in, and the main +# GNUmakefile. + +# Allow defaults to be given by a script +if [ -e ./config.params ]; then + . ./config.params +fi + +subst_vars=srcdir + +srcdir="`pwd`" + +ask () { + long_query="$1" + query_var="$2" + dflt_var="bsd_games_cfg_$query_var" + eval default=\"\$\{${dflt_var}-\$3\}\" + printf "%s [%s] " "$long_query" "$default" + if [ "x$bsd_games_cfg_non_interactive" = xy ]; then + # Follow default + input='' + echo "[ Using default ]" + else + read input + fi + case "$input" in + ('') + input="$default" + ;; + (*) + ;; + esac + eval $query_var=\"\$input\" + subst_vars="$subst_vars $query_var" +} + +ask_yn () { + eval $2= + eval answer=\$$2 + while test "x$answer" = x; do + ask "$1" $2 $3 + eval answer=\$$2 + case "$answer" in + ([yY]*) + answer=y + ;; + ([nN]*) + answer=n + ;; + (*) + answer= + echo "Please answer y or n" + ;; + esac + done + eval $2=\$answer +} + +askperms () { + filetype=$1 + var_prefix=$2 + def_owner=$3 + def_group=$4 + def_perms=$5 + if [ $do_chown = y ]; then + ask "$filetype owner" ${var_prefix}_owner $def_owner + ask "$filetype group" ${var_prefix}_group $def_group + fi + ask "$filetype permissions" ${var_prefix}_perms $def_perms + if [ $do_chown = y ]; then + eval install_$var_prefix=\"install -c -m \$${var_prefix}_perms -o \$${var_prefix}_owner -g \$${var_prefix}_group\" + else + eval install_$var_prefix=\"install -c -m \$${var_prefix}_perms\" + fi + subst_vars="$subst_vars install_$var_prefix" +} + +building_in () { + echo " $build_dirs " |grep -q " $1 " +} + +not_building_in () { + echo " $no_build_dirs " |grep -q " $1 " +} + +game_ask () { + game="$1" + if building_in "$game"; then + ask "$2" "$3" "$4" + fi +} + +check_func () { + funcname=$1 + subst_vars="$subst_vars ${funcname}_defs" + cat >conftest.c + printf "Checking for %s..." "$funcname" + compiler="$cc $optimize_flags $other_cflags $other_ldflags" + if $compiler conftest.c >/dev/null 2>&1; then + echo "found." + echo "#define HAVE_$funcname 1" >>include/bsd-games.h + # Check whether we need _GNU_SOURCE for a prototype. + if $compiler -Wall -Werror conftest.c >/dev/null 2>&1; then + eval ${funcname}_defs= + else + # Prototype not in headers by default (try _GNU_SOURCE). + eval ${funcname}_defs=-D_GNU_SOURCE + fi + rm -f a.out conftest.c + true + else + echo "not found." + rm -f a.out conftest.c + eval ${funcname}_defs= + false + fi +} + +echo "For normal usage the installation prefix will be empty. If you wish" +echo "to install everything in another directory to that in which it will" +echo "finally be located (so that your packaging system can then move it" +echo "there) you should name that directory here. This is most likely to" +echo "be the case if you are packaging bsd-games for a Linux distribution." +ask "Installation prefix" install_prefix '' + +echo "There may be some programs here you have from another package and so" +echo "do not want to build and install. The most likely ones are banner," +echo "factor and fortune." + +ask "Games not to build" no_build_dirs '' + +# Normalise white space in no_build_dirs +no_build_dirs="`echo $no_build_dirs`" + +def_build_dirs= +for file in *; do + if [ -e "$file/Makefrag" ] && ! not_building_in "$file" && [ "$file" != lib ]; then + def_build_dirs="$def_build_dirs $file" + fi +done +def_build_dirs=${def_build_dirs## } + +ask "Games to build" build_dirs "$def_build_dirs" + +# Normalise white space in build_dirs +build_dirs="`echo $build_dirs`" + +echo +echo "*** NOTE - The default directories for installation follow the" +echo "*** Filesystem Hierarchy Standard version 2.0 (FHS). If your" +echo "*** system still uses the older FSSTND 1.2, or if you wish to install" +echo "*** under /usr/local, you will need to check the paths and make" +echo "*** changes as appropriate. If this is your first installation with" +echo "*** the new FHS paths, you may need to remove some old files after" +echo "*** installation." +echo + +ask "Games directory" gamesdir /usr/games + +# We put huntd in /usr/games by default (instead of /usr/sbin as earlier, +# or /usr/lib) since it can reasonably be called by users and counts +# properly more as a game than an ordinary user binary. +if building_in hunt; then + echo + echo "Hunt includes a daemon for coordinating games with multiple players" + ask "Daemon directory" sbindir /usr/games +else + sbindir= + subst_vars="$subst_vars sbindir" +fi +if building_in fortune; then + echo + echo "Fortune includes a non-game utility strfile" + ask "Non-game binary directory" usrbindir /usr/bin +else + usrbindir= + subst_vars="$subst_vars usrbindir" +fi + +hidegame=: +subst_vars="$subst_vars hidegame" +if building_in dm; then + echo + echo "You may wish to restrict the use of games by user, terminal, load," + echo "etc.. This can be done by the use of dm. If you use this" + echo "configuration, then games will be kept in a non-world-searchable" + echo "directory such as /usr/lib/games/dm and replaced by symlinks to dm." + echo "Even if you don't choose this option, you will still be asked" + echo "for the directory name, since you are building dm, and can change" + echo "manually later. It is strongly recommended that you keep the" + echo "default answer of 'n'." + ask_yn "Use dm and hide games" use_dm n + # The default location is now /usr/lib/games/dm to conform to FHS 2.0. + ask "Directory for hidden games" libexecdir /usr/lib/games/dm + if [ "$use_dm" = y ]; then + hidegame=$srcdir/hide-game + fi +fi +ask "Section 6 manpage directory" man6dir /usr/share/man/man6 +if building_in dm || building_in fortune; then + ask "Section 8 manpage directory" man8dir /usr/share/man/man8 +else + man8dir= + subst_vars="$subst_vars man8dir" +fi +if building_in dm; then + ask "Section 5 manpage directory" man5dir /usr/share/man/man5 +else + man5dir= + subst_vars="$subst_vars man5dir" +fi + +if building_in trek || building_in rogue; then + ask "Directory for miscellaneous documentation" docdir /usr/share/doc/bsd-games +else + docdir= + subst_vars="$subst_vars docdir" +fi + +# The paths for data are as per the FHS. If a future version removes the +# games ghettoes of /usr/games, /var/games, etc., then a subdirectory for +# this package (/usr/share/bsdgames, /var/state/bsdgames, etc.) would be +# desirable, but I don't feel it necessary at present. + +ask "Library directory for constant data + (architecture independent)" sharedir /usr/share/games +ask "Library directory for variable data" varlibdir /var/games + +ask_yn "Set owners/groups on installed files" do_chown y + +echo +echo "See SECURITY for a discussion of security issues related to score files." +echo "There are at least two possible security policies if you want them to" +echo "work. You can make the files world-writable, and then anyone who wants" +echo "can put anything in them, which may not be desirable if you think people" +echo "might cheat this way. Or you can make the games that use them setgid" +echo "games, and give the files permissions 0664. Note, however, that some" +echo "of the games may well be insecure when this is done and" +echo "malicious users may still be able to overwrite anything writable by" +echo "group games, since the games were probably not designed with security in" +echo "mind, although version 2.2 is more secure than earlier versions." +echo "The default is neither of these: it creates scorefiles with" +echo "permissions 0644 and gives the games no special privileges, which is" +echo "more secure but means that the games will fail when trying to write" +echo "to their scorefiles." + +askperms "Binary" binary root root 0755 +askperms "Game with scorefile" score_game root root 0755 # or root games 2755? +if building_in hunt; then + askperms "Daemon" daemon root root 0755 +fi +if building_in dm; then + askperms "Directory for hidden games" dmdir root games 0750 + install_dmdir=`echo "$install_dmdir"| sed 's/install -c/install -d/'` + askperms "dm" dm root games 2755 +fi +askperms "Manpage" manpage root root 0644 +askperms "Constant data" constdata root root 0644 +askperms "Variable data" vardata root root 0644 # or 0666? + +ask "Permissions on variable data that should not be world readable" vardata_perms_priv 0640 + +use_dot_so= +while test x$use_dot_so = x; do + ask "Use .so or symlinks for manpages" use_dot_so .so + case "$use_dot_so" in + (.so) + ;; + (syml*) + use_dot_so=symlinks + ;; + (*) + use_dot_so= + echo "Please answer \`.so\' or \`symlinks\'" + ;; + esac +done +subst_vars="$subst_vars use_dot_so" + +ask_yn "Gzip manpages" gzip_manpages y + +# What we do with manpages is a bit complicated. If either ppt or morse is +# being built, we must also install the bcd manpage, even if bcd isn't being +# built. We then need to do either .so or symlink. This should all be handled +# by the install-man.in script, but the installation of linked-to manpages +# isn't implemented yet. + +# Copy install_binary to install_script +install_script="$install_binary" +subst_vars="$subst_vars install_script" + +echo +echo "It is presumed in some places by the Makefiles that the compiler" +echo "will be some form of gcc." +ask "C compiler" cc gcc +if building_in dab; then + ask "C++ compiler" cxx g++ +fi +ask "Optimize flags" optimize_flags "-g -O2" +echo +echo "The default warning flags should give a compile with few warnings." +# -Wbad-function-cast and -Wshadow give lots of warnings that are basically +# harmless. +ask "C compiler warning flags" warning_flags "-Wall -W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings" +if building_in dab; then + ask "C++ compiler warning flags" cxx_warning_flags "-Wall -W -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings" +fi +echo +echo "You probably want the default here, or could use -lncurses_g for" +echo "debugging ncurses. Use -lcurses -ltermcap if you want to try that," +echo "but note that this is no longer supported and may not work." +ask "Ncurses library" ncurses_lib -lncurses +echo +echo "If you have a directory /usr/include/ncurses with the ncurses include" +echo "files in it, and the , , etc. in /usr/include" +echo "are for BSD curses/termcap, you will need to put -I/usr/include/ncurses" +echo "here. Otherwise (if the ncurses includes are in /usr/include), leave" +echo "this blank. Leave it blank if /usr/include/ncurses is a symbolic link" +echo "to /usr/include." +ask "Ncurses includes" ncurses_includes '' + +openssl_lib= +openssl_includes= +if building_in factor; then + echo + echo "factor can use libcrypto from OpenSSL to handle large numbers." + ask_yn "Use libcrypto" use_libcrypto y + if [ $use_libcrypto = y ]; then + echo "If the OpenSSL includes (with files such as bn.h) are not in" + echo "/usr/include/openssl, then you will need to specify a -I option" + echo "here, naming a directory containing an \"openssl\" subdirectory" + echo "with the OpenSSL headers." + ask "OpenSSL includes" openssl_includes '' + echo "If the OpenSSL libcrypto library is not in a location searched" + echo "by the compiler by default, or has a strange name, you will" + echo "need to specify the appropriate options to find it here" + echo "(for example, -L/usr/ssl/lib -lcrypto); otherwise, leave the" + echo "default, which is probably correct." + ask "OpenSSL libcrypto library" openssl_lib -lcrypto + fi +fi +subst_vars="$subst_vars openssl_lib openssl_includes" + +ask "Other CFLAGS" other_cflags '' +ask "Other LDFLAGS" other_ldflags '' + +# Check for functions - not in glibc 2.1.1, but could be added later. +echo "#ifndef LINUX_BSD_GAMES_H" >include/bsd-games.h +echo "#define LINUX_BSD_GAMES_H 1" >>include/bsd-games.h + +if [ "$use_libcrypto" = "y" ]; then + echo "#define HAVE_OPENSSL 1" >>include/bsd-games.h +fi + +check_func getloadavg < + +int +main(void) +{ + double la[3]; + getloadavg(la, 3); + return 0; +} +EOF + +check_func fgetln < + +int +main(void) +{ + char *f; + size_t l; + f = fgetln(stdin, &l); + return 0; +} +EOF + +check_func strlcpy < + +int +main(void) +{ + char s[1] = ""; + char d[1]; + strlcpy(d, s, 1); + return 0; +} +EOF + +check_func sig_t < + +sig_t s; + +int +main(void) +{ + return 0; +} +EOF + +check_func getprogname < + +int +main(void) +{ + const char *n = getprogname(); + return 0; +} +EOF + +echo "#endif /* !defined(LINUX_BSD_GAMES_H) */" >>include/bsd-games.h + + +echo +echo "For some special purposes you may want to link all games with a" +echo "particular library, in addition to those they would normally be linked" +echo "with. Unless you know you want this, you can leave it empty." +ask "Base libraries" base_libs '' + +if building_in atc; then + ask "Yacc program" yacc "bison -y" +fi +if building_in atc; then + ask "Lex program" lex flex + ask "Lex library" lex_lib -lfl +fi + +echo +echo "You can choose the default pager for those games that use one (for" +echo "example, for viewing instructions). This can be an absolute path," +echo "or the name of the pager to be searched for via the PATH at runtime." +echo "All these games will also honour the PAGER environment variable if set," +echo "in the correct (POSIX.2) way." +ask "Pager" pager /usr/bin/less + +if building_in fortune; then + echo + echo "Fortune comes with some potentially offensive fortunes. You should" + echo "only install these if you are sure that your users want them." + ask_yn "Install offensive fortunes" offensive_fortunes n + if [ $offensive_fortunes = y ]; then + fortune_type=real + else + fortune_type=fake + fi + subst_vars="$subst_vars fortune_type" +fi + +if building_in sail; then + echo + echo "Sail needs its own directory it can write to for temporary files" + echo "to synchronise among multiple players. Note that with the" + echo "default permissions given here this will not work: you may want" + echo "to choose permissions appropriate to the security policy you are" + echo "using. It may be more secure if this directory is not world" + echo "accessible (e.g. mode 2770)." + ask "Directory for sail temporary files" sail_dir "$varlibdir/sail" + askperms "Sail directory" sail_dir root root 0750 + install_sail_dir=`echo "$install_sail_dir" |sed 's/install -c/install -d/'` +fi + +echo +echo "You can configure the exact names used for data files by various" +echo "of the games. Most probably the defaults are OK." +echo +echo "Note that bsd-games no longer comes with its own word list." +echo "For hangman you should specify the path to a word list to be read" +echo "at runtime (probably /usr/share/dict/words or /usr/dict/words)." +echo "For boggle you should specify one to be used at compile time to" +echo "generate boggle's own data. In both cases they should probably be" +echo "English dictionaries; all words which do not consist entirely of" +echo "lower-case ASCII letters will be silently ignored." +echo +game_ask atc "Directory for atc static data" atc_dir "$sharedir/atc" +game_ask atc "Score file for atc" atc_scorefile "$varlibdir/atc_score" +game_ask battlestar "Score file for battlestar" battlestar_scorefile "$varlibdir/battlestar.log" +# Bog has some other configuration +game_ask boggle "Dictionary for boggle (CHECK ANSWER)" dictionary_src /usr/share/dict/words +game_ask boggle "Directory for boggle static data" boggle_dir "$sharedir/boggle" +game_ask canfield "Score file for canfield" canfield_scorefile "$varlibdir/cfscores" +game_ask cribbage "File for cribbage instructions" cribbage_instrfile "$sharedir/cribbage.instr" +game_ask cribbage "Score file for cribbage" cribbage_scorefile "$varlibdir/criblog" +game_ask dm "Configuration file for dm" dm_configfile /etc/dm.conf +game_ask dm "File to disable games playing" dm_nogamesfile /etc/nogames +game_ask dm "Log file for dm" dm_logfile "$varlibdir/games.log" +game_ask fish "File for fish instructions" fish_instrfile "$sharedir/fish.instr" +game_ask fortune "Directory for fortune files" fortune_dir "$sharedir/fortune" +game_ask hack "Directory for hack variable data" hack_dir "$varlibdir/hack" + +if building_in hack; then + echo + echo "This directory will need to be writable by hack at runtime." + echo "Note that with the default permissions given here this will" + echo "not work: you may want to choose permissions appropriate to the" + echo "security policy you are using (e.g. 2775 root.games for setgid" + echo "games)." + askperms "Hack directory" hack_dir root root 0755 + install_hack_dir=`echo "$install_hack_dir" |sed 's/install -c/install -d/'` +fi + +game_ask hangman "Words file for hangman (CHECK ANSWER)" hangman_wordsfile /usr/share/dict/words +# Hunt has some other configuration +game_ask monop "File for monop cards" monop_cardsfile "$sharedir/monop-cards.pck" +game_ask phantasia "Directory for phantasia variable data" phantasia_dir "$varlibdir/phantasia" +game_ask quiz "Directory for quiz static data" quiz_dir "$sharedir/quiz" +game_ask robots "Score file for robots" robots_scorefile "$varlibdir/robots_roll" +game_ask rogue "Score file for rogue" rogue_scorefile "$varlibdir/rogue.scores" +game_ask sail "Score file for sail" sail_scorefile "$varlibdir/saillog" +game_ask snake "Score file for snake" snake_scorefile "$varlibdir/snake.log" +game_ask snake "Raw score file for snake" snake_rawscorefile "$varlibdir/snakerawscores" +game_ask tetris "Score file for tetris" tetris_scorefile "$varlibdir/tetris-bsd.scores" +game_ask wtf "Acronym database for wtf" wtf_acronymfile "/usr/share/misc/acronyms" +game_ask wump "File for wump info" wump_infofile "$sharedir/wump.info" + +# Generate simplistic substitution script. +# This does not allow escaped @s in the substituted file, will fail on +# newline or % in filenames, etc.. The justification is that proper insertion +# of arbitrary 8-bit data in different files requires too much knowledge +# of escapes specific to the particular file type, so these things would +# probably fail anyway. +: >subst.sed +for var in $subst_vars; do + eval echo \""s%@$var@%\$$var%g"\" >> subst.sed +done + +substitute () { + for file in "$@"; do + dir="${file%%/*}" + if building_in $dir || [ "$file" = "$dir" ]; then + source_file="${file}.in" + case "$file" in + (quiz/datfiles/index) + # Can't put a comment in this file + subst_type=n + ;; + (Makeconfig) + subst_type=h + ;; + (*.[1-9]) + subst_type=m + ;; + (*.[ch]) + subst_type=c + ;; + (*) + subst_type=s + ;; + esac + if [ "$rules_only" = y ]; then + ./substscr r "$subst_type" "$source_file" "$file" + else + ./substscr gr "$subst_type" "$source_file" "$file" + fi + fi + done +} + +: >subst.rules + +rules_only=n +subst_files="`sed '/^#/d' GNUmakefile <>GNUmakefile <>GNUmakefile <exec.libs.tmp +while read prog libs; do + if ! building_in ${prog%%/*}; then + continue + fi + exec=$(prog_to_exec $prog) + evar=$(slashdot_to_under $exec)_libs + eval $evar=\"\$libs\" +done exec.objs.tmp +while read prog objs; do + if ! building_in ${prog%%/*}; then + continue + fi + exec=$(prog_to_exec $prog) + evar=$(slashdot_to_under $exec)_libs + eval libs=\"\$$evar\" + dir=$(dirname $exec) + udir=$(slashdot_to_under $dir) + nobjs= + deps_to_inc= + eval clean_$udir=\"\$clean_$udir $(basename $exec)\" + for obj in $objs; do + if [ "x$(dirname $obj)" = x. ]; then + obj=$dir/$obj + fi + nobjs="$nobjs $obj" + obj_dep_var=$(slashdot_to_under $obj) + obj_dep_var=${obj_dep_var}_deps_included + eval obj_dep_val=\$$obj_dep_var + if [ "x$obj_dep_val" = "x" ]; then + deps_to_inc="$deps_to_inc ${obj%%.o}.d" + eval $obj_dep_var=y + fi + done + if [ $dir = dab ]; then + ccvar=CXX + else + ccvar=CC + fi + cat >>GNUmakefile <>GNUmakefile <>GNUmakefile <&2; exit 1 + +# GNU targets that can do nothing +.PHONY: info dvi +info dvi: + @echo "This package comes with no Texinfo documentation." + +EOF diff --git a/countmail/Makefile.bsd b/countmail/Makefile.bsd new file mode 100644 index 0000000..cf254c4 --- /dev/null +++ b/countmail/Makefile.bsd @@ -0,0 +1,7 @@ +# $NetBSD: Makefile,v 1.3 1999/02/13 23:53:57 lukem Exp $ + +SCRIPTS= countmail +SCRIPTSDIR= /usr/games +MAN= countmail.6 + +.include diff --git a/countmail/Makefrag b/countmail/Makefrag new file mode 100644 index 0000000..5911293 --- /dev/null +++ b/countmail/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for countmail +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +countmail_DIRS := $(GAMESDIR) $(MAN6DIR) + +countmail_all: countmail/countmail countmail/countmail.6 + +countmail_install: countmail_all + $(INSTALL_SCRIPT) countmail/countmail $(INSTALL_PREFIX)$(GAMESDIR)/countmail + $(HIDE_GAME) countmail + $(INSTALL_MANUAL) countmail/countmail.6 diff --git a/countmail/countmail b/countmail/countmail new file mode 100644 index 0000000..e574d6c --- /dev/null +++ b/countmail/countmail @@ -0,0 +1,163 @@ +#!/bin/sh +# $NetBSD: countmail,v 1.5 2002/07/02 17:18:21 mycroft Exp $ + +# +# Copyright (c) 1998, 2002 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Charles M. Hannum. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +# Count the messages in your mailbox, using only POSIX shell builtins. +# +# Caveats: +# +# The read loop is horrendously slow on every implementation I've +# tried. I suggest using from(1) and wc(1) instead, though these are +# not shell builtins. + +# for krb. +#set -- `from -t` +#v=$3 +set -- `from | wc -l` +v=$1 +#v=`from | wc -l` + +#v=0 +#exec 0&2 + exit 1 + ;; + esac + + case $v in + *10) y=TEN ;; + *11) y=ELEVEN ;; + *12) y=TWELVE ;; + *13) y=THIRTEEN ;; + *14) y=FOURTEEN ;; + *15) y=FIFTEEN ;; + *16) y=SIXTEEN ;; + *17) y=SEVENTEEN ;; + *18) y=EIGHTEEN ;; + *19) y=NINETEEN ;; + *2?) y=TWENTY ;; + *3?) y=THIRTY ;; + *4?) y=FORTY ;; + *5?) y=FIFTY ;; + *6?) y=SIXTY ;; + *7?) y=SEVENTY ;; + *8?) y=EIGHTY ;; + *9?) y=NINETY ;; + *) y= ;; + esac + + case $v in + *[01]? | *?0) ;; + *) y=$y- ;; + esac + + case $v in + *1?) ;; + *1) y=${y}ONE ;; + *2) y=${y}TWO ;; + *3) y=${y}THREE ;; + *4) y=${y}FOUR ;; + *5) y=${y}FIVE ;; + *6) y=${y}SIX ;; + *7) y=${y}SEVEN ;; + *8) y=${y}EIGHT ;; + *9) y=${y}NINE ;; + esac + + case $v in + *1??) z=ONE ;; + *2??) z=TWO ;; + *3??) z=THREE ;; + *4??) z=FOUR ;; + *5??) z=FIVE ;; + *6??) z=SIX ;; + *7??) z=SEVEN ;; + *8??) z=EIGHT ;; + *9??) z=NINE ;; + *) z= ;; + esac + + set $z ${z:+HUNDRED} $y $x $* + ;; + esac + + g=$(($g + 1)) + v=${v%%???} + +done + +p=S + +case "$*" in + "") set ZERO ;; + ONE) p= ;; +esac + +echo "$*! + +$* MAIL MESSAGE$p! + +HAHAHAHAHA!" diff --git a/countmail/countmail.6 b/countmail/countmail.6 new file mode 100644 index 0000000..015ada0 --- /dev/null +++ b/countmail/countmail.6 @@ -0,0 +1,61 @@ +.\" $NetBSD: countmail.6,v 1.10 2004/02/08 00:31:16 jsm Exp $ +.\" +.\" Copyright (c) 1997 Matthew R. Green +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd October 3, 1997 +.Dt COUNTMAIL 6 +.Os +.Sh NAME +.Nm countmail +.Nd be obnoxious about how much mail you have +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +program counts your mail and tells you about it rather obnoxiously. +.Sh HISTORY +The +.Nm +program first appeared in +.Nx 1.3 . +.Nm +was first written by +.An Noah Friedman Aq friedman@splode.com +in 1993. +This version was written by Charles M. Hannum +.Aq mycroft@NetBSD.org . +.Sh CAVEATS +The read loop is horrendously slow on every shell implementation tried. +.Nm +uses +.Xr from 1 +and +.Xr wc 1 +instead, though these are not shell builtins. +.Sh SEE ALSO +.Xr from 1 diff --git a/cribbage/Makefile.bsd b/cribbage/Makefile.bsd new file mode 100644 index 0000000..537e0ea --- /dev/null +++ b/cribbage/Makefile.bsd @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.12 1999/02/13 02:54:21 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +.include + +PROG= cribbage +DPADD= ${LIBCURSES} +LDADD= -lcurses +SRCS= extern.c crib.c cards.c instr.c io.c score.c support.c +MAN= cribbage.6 +HIDEGAME=hidegame +SETGIDGAME=yes +.if ${MKSHARE} != "no" +FILES= cribbage.n +FILESNAME=cribbage.instr +FILESDIR=/usr/share/games +.endif + +.include diff --git a/cribbage/Makefrag b/cribbage/Makefrag new file mode 100644 index 0000000..4dbbdd8 --- /dev/null +++ b/cribbage/Makefrag @@ -0,0 +1,38 @@ +# Makefrag - makefile fragment for cribbage +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +cribbage_DIRS := $(GAMESDIR) $(MAN6DIR) $(shell dirname $(CRIBBAGE_INSTRFILE)) + +cribbage_all: cribbage/cribbage cribbage/cribbage.n cribbage/cribbage.6 + +cribbage_install: cribbage_all + $(INSTALL_SCORE_GAME) cribbage/cribbage $(INSTALL_PREFIX)$(GAMESDIR)/cribbage + $(HIDE_GAME) cribbage + $(INSTALL_DATA) cribbage/cribbage.n $(INSTALL_PREFIX)$(CRIBBAGE_INSTRFILE) + $(INSTALL_SCORE_FILE) $(CRIBBAGE_SCOREFILE) + $(INSTALL_MANUAL) cribbage/cribbage.6 diff --git a/cribbage/cards.c b/cribbage/cards.c new file mode 100644 index 0000000..50e2f48 --- /dev/null +++ b/cribbage/cards.c @@ -0,0 +1,153 @@ +/* $NetBSD: cards.c,v 1.7 2003/08/07 09:37:08 agc Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)cards.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: cards.c,v 1.7 2003/08/07 09:37:08 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include + +#include "deck.h" +#include "cribbage.h" + + +/* + * Initialize a deck of cards to contain one of each type. + */ +void +makedeck(d) + CARD d[]; +{ + int i, j, k; + + i = time(NULL); + i = ((i & 0xff) << 8) | ((i >> 8) & 0xff) | 1; + srand(i); + k = 0; + for (i = 0; i < RANKS; i++) + for (j = 0; j < SUITS; j++) { + d[k].suit = j; + d[k++].rank = i; + } +} + +/* + * Given a deck of cards, shuffle it -- i.e. randomize it + * see Knuth, vol. 2, page 125. + */ +void +shuffle(d) + CARD d[]; +{ + int j, k; + CARD c; + + for (j = CARDS; j > 0; --j) { + k = (rand() >> 4) % j; /* random 0 <= k < j */ + c = d[j - 1]; /* exchange (j - 1) and k */ + d[j - 1] = d[k]; + d[k] = c; + } +} + +/* + * return true if the two cards are equal... + */ +int +eq(a, b) + CARD a, b; +{ + return ((a.rank == b.rank) && (a.suit == b.suit)); +} + +/* + * is_one returns TRUE if a is in the set of cards b + */ +int +is_one(a, b, n) + CARD a; + const CARD b[]; + int n; +{ + int i; + + for (i = 0; i < n; i++) + if (eq(a, b[i])) + return (TRUE); + return (FALSE); +} + +/* + * remove the card a from the deck d of n cards + */ +void +cremove(a, d, n) + CARD a, d[]; + int n; +{ + int i, j; + + for (i = j = 0; i < n; i++) + if (!eq(a, d[i])) + d[j++] = d[i]; + if (j < n) + d[j].suit = d[j].rank = EMPTY; +} + +/* + * sorthand: + * Sort a hand of n cards + */ +void +sorthand(h, n) + CARD h[]; + int n; +{ + CARD *cp, *endp; + CARD c; + + for (endp = &h[n]; h < endp - 1; h++) + for (cp = h + 1; cp < endp; cp++) + if ((cp->rank < h->rank) || + (cp->rank == h->rank && cp->suit < h->suit)) { + c = *h; + *h = *cp; + *cp = c; + } +} diff --git a/cribbage/crib.c b/cribbage/crib.c new file mode 100644 index 0000000..5fc53b3 --- /dev/null +++ b/cribbage/crib.c @@ -0,0 +1,658 @@ +/* $NetBSD: crib.c,v 1.19 2004/01/27 20:30:29 jsm Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1980, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)crib.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: crib.c,v 1.19 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include + +#include "deck.h" +#include "cribbage.h" +#include "cribcur.h" +#include "pathnames.h" + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + BOOLEAN playing; + FILE *f; + int ch; + int fd; + int flags; + + f = fopen(_PATH_LOG, "a"); + if (f == NULL) + warn("fopen %s", _PATH_LOG); + if (f != NULL && fileno(f) < 3) + exit(1); + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + /* Set close-on-exec flag on log file */ + if (f != NULL) { + fd = fileno(f); + flags = fcntl(fd, F_GETFD); + if (flags < 0) + err(1, "fcntl F_GETFD"); + flags |= FD_CLOEXEC; + if (fcntl(fd, F_SETFD, flags) == -1) + err(1, "fcntl F_SETFD"); + } + + while ((ch = getopt(argc, argv, "eqr")) != -1) + switch (ch) { + case 'e': + explain = TRUE; + break; + case 'q': + quiet = TRUE; + break; + case 'r': + rflag = TRUE; + break; + case '?': + default: + (void) fprintf(stderr, "usage: cribbage [-eqr]\n"); + exit(1); + } + + initscr(); + (void)signal(SIGINT, receive_intr); + cbreak(); + noecho(); + + Playwin = subwin(stdscr, PLAY_Y, PLAY_X, 0, 0); + Tablewin = subwin(stdscr, TABLE_Y, TABLE_X, 0, PLAY_X); + Compwin = subwin(stdscr, COMP_Y, COMP_X, 0, TABLE_X + PLAY_X); + Msgwin = subwin(stdscr, MSG_Y, MSG_X, Y_MSG_START, SCORE_X + 1); + leaveok(Playwin, TRUE); + leaveok(Tablewin, TRUE); + leaveok(Compwin, TRUE); + clearok(stdscr, FALSE); + + if (!quiet) { + msg("Do you need instructions for cribbage? "); + if (getuchar() == 'Y') { + endwin(); + clear(); + mvcur(0, COLS - 1, LINES - 1, 0); + fflush(stdout); + instructions(); + cbreak(); + noecho(); + clear(); + refresh(); + msg("For cribbage rules, use \"man cribbage\""); + } + } + playing = TRUE; + do { + wclrtobot(Msgwin); + msg(quiet ? "L or S? " : "Long (to 121) or Short (to 61)? "); + if (glimit == SGAME) + glimit = (getuchar() == 'L' ? LGAME : SGAME); + else + glimit = (getuchar() == 'S' ? SGAME : LGAME); + game(); + msg("Another game? "); + playing = (getuchar() == 'Y'); + } while (playing); + + if (f != NULL) { + (void)fprintf(f, "%s: won %5.5d, lost %5.5d\n", + getlogin(), cgames, pgames); + (void) fclose(f); + } + bye(); + exit(0); +} + +/* + * makeboard: + * Print out the initial board on the screen + */ +void +makeboard() +{ + mvaddstr(SCORE_Y + 0, SCORE_X, + "+---------------------------------------+"); + mvaddstr(SCORE_Y + 1, SCORE_X, + "| Score: 0 YOU |"); + mvaddstr(SCORE_Y + 2, SCORE_X, + "| *.....:.....:.....:.....:.....:..... |"); + mvaddstr(SCORE_Y + 3, SCORE_X, + "| *.....:.....:.....:.....:.....:..... |"); + mvaddstr(SCORE_Y + 4, SCORE_X, + "| |"); + mvaddstr(SCORE_Y + 5, SCORE_X, + "| *.....:.....:.....:.....:.....:..... |"); + mvaddstr(SCORE_Y + 6, SCORE_X, + "| *.....:.....:.....:.....:.....:..... |"); + mvaddstr(SCORE_Y + 7, SCORE_X, + "| Score: 0 ME |"); + mvaddstr(SCORE_Y + 8, SCORE_X, + "+---------------------------------------+"); + gamescore(); +} + +/* + * gamescore: + * Print out the current game score + */ +void +gamescore() +{ + if (pgames || cgames) { + mvprintw(SCORE_Y + 1, SCORE_X + 28, "Games: %3d", pgames); + mvprintw(SCORE_Y + 7, SCORE_X + 28, "Games: %3d", cgames); + } + Lastscore[0] = -1; + Lastscore[1] = -1; +} + +/* + * game: + * Play one game up to glimit points. Actually, we only ASK the + * player what card to turn. We do a random one, anyway. + */ +void +game() +{ + int i, j; + BOOLEAN flag; + BOOLEAN compcrib; + + compcrib = FALSE; + makedeck(deck); + shuffle(deck); + if (gamecount == 0) { + flag = TRUE; + do { + if (!rflag) { /* player cuts deck */ + msg(quiet ? "Cut for crib? " : + "Cut to see whose crib it is -- low card wins? "); + getline(); + } + i = (rand() >> 4) % CARDS; /* random cut */ + do { /* comp cuts deck */ + j = (rand() >> 4) % CARDS; + } while (j == i); + addmsg(quiet ? "You cut " : "You cut the "); + msgcard(deck[i], FALSE); + endmsg(); + addmsg(quiet ? "I cut " : "I cut the "); + msgcard(deck[j], FALSE); + endmsg(); + flag = (deck[i].rank == deck[j].rank); + if (flag) { + msg(quiet ? "We tied..." : + "We tied and have to try again..."); + shuffle(deck); + continue; + } else + compcrib = (deck[i].rank > deck[j].rank); + } while (flag); + do_wait(); + clear(); + makeboard(); + refresh(); + } else { + makeboard(); + refresh(); + werase(Tablewin); + wrefresh(Tablewin); + werase(Compwin); + wrefresh(Compwin); + msg("Loser (%s) gets first crib", (iwon ? "you" : "me")); + compcrib = !iwon; + } + + pscore = cscore = 0; + flag = TRUE; + do { + shuffle(deck); + flag = !playhand(compcrib); + compcrib = !compcrib; + } while (flag); + ++gamecount; + if (cscore < pscore) { + if (glimit - cscore > 60) { + msg("YOU DOUBLE SKUNKED ME!"); + pgames += 4; + } else + if (glimit - cscore > 30) { + msg("YOU SKUNKED ME!"); + pgames += 2; + } else { + msg("YOU WON!"); + ++pgames; + } + iwon = FALSE; + } else { + if (glimit - pscore > 60) { + msg("I DOUBLE SKUNKED YOU!"); + cgames += 4; + } else + if (glimit - pscore > 30) { + msg("I SKUNKED YOU!"); + cgames += 2; + } else { + msg("I WON!"); + ++cgames; + } + iwon = TRUE; + } + gamescore(); +} + +/* + * playhand: + * Do up one hand of the game + */ +int +playhand(mycrib) + BOOLEAN mycrib; +{ + int deckpos; + + werase(Compwin); + wrefresh(Compwin); + werase(Tablewin); + wrefresh(Tablewin); + + knownum = 0; + deckpos = deal(mycrib); + sorthand(chand, FULLHAND); + sorthand(phand, FULLHAND); + makeknown(chand, FULLHAND); + prhand(phand, FULLHAND, Playwin, FALSE); + discard(mycrib); + if (cut(mycrib, deckpos)) + return TRUE; + if (peg(mycrib)) + return TRUE; + werase(Tablewin); + wrefresh(Tablewin); + if (score(mycrib)) + return TRUE; + return FALSE; +} + +/* + * deal cards to both players from deck + */ +int +deal(mycrib) + BOOLEAN mycrib; +{ + int i, j; + + for (i = j = 0; i < FULLHAND; i++) { + if (mycrib) { + phand[i] = deck[j++]; + chand[i] = deck[j++]; + } else { + chand[i] = deck[j++]; + phand[i] = deck[j++]; + } + } + return (j); +} + +/* + * discard: + * Handle players discarding into the crib... + * Note: we call cdiscard() after prining first message so player doesn't wait + */ +void +discard(mycrib) + BOOLEAN mycrib; +{ + const char *prompt; + CARD crd; + + prcrib(mycrib, TRUE); + prompt = (quiet ? "Discard --> " : "Discard a card --> "); + cdiscard(mycrib); /* puts best discard at end */ + crd = phand[infrom(phand, FULLHAND, prompt)]; + cremove(crd, phand, FULLHAND); + prhand(phand, FULLHAND, Playwin, FALSE); + crib[0] = crd; + + /* Next four lines same as last four except for cdiscard(). */ + crd = phand[infrom(phand, FULLHAND - 1, prompt)]; + cremove(crd, phand, FULLHAND - 1); + prhand(phand, FULLHAND, Playwin, FALSE); + crib[1] = crd; + crib[2] = chand[4]; + crib[3] = chand[5]; + chand[4].rank = chand[4].suit = chand[5].rank = chand[5].suit = EMPTY; +} + +/* + * cut: + * Cut the deck and set turnover. Actually, we only ASK the + * player what card to turn. We do a random one, anyway. + */ +int +cut(mycrib, pos) + BOOLEAN mycrib; + int pos; +{ + int i; + BOOLEAN win; + + win = FALSE; + if (mycrib) { + if (!rflag) { /* random cut */ + msg(quiet ? "Cut the deck? " : + "How many cards down do you wish to cut the deck? "); + getline(); + } + i = (rand() >> 4) % (CARDS - pos); + turnover = deck[i + pos]; + addmsg(quiet ? "You cut " : "You cut the "); + msgcard(turnover, FALSE); + endmsg(); + if (turnover.rank == JACK) { + msg("I get two for his heels"); + win = chkscr(&cscore, 2); + } + } else { + i = (rand() >> 4) % (CARDS - pos) + pos; + turnover = deck[i]; + addmsg(quiet ? "I cut " : "I cut the "); + msgcard(turnover, FALSE); + endmsg(); + if (turnover.rank == JACK) { + msg("You get two for his heels"); + win = chkscr(&pscore, 2); + } + } + makeknown(&turnover, 1); + prcrib(mycrib, FALSE); + return (win); +} + +/* + * prcrib: + * Print out the turnover card with crib indicator + */ +void +prcrib(mycrib, blank) + BOOLEAN mycrib, blank; +{ + int y, cardx; + + if (mycrib) + cardx = CRIB_X; + else + cardx = 0; + + mvaddstr(CRIB_Y, cardx + 1, "CRIB"); + prcard(stdscr, CRIB_Y + 1, cardx, turnover, blank); + + if (mycrib) + cardx = 0; + else + cardx = CRIB_X; + + for (y = CRIB_Y; y <= CRIB_Y + 5; y++) + mvaddstr(y, cardx, " "); + refresh(); +} + +/* + * peg: + * Handle all the pegging... + */ +static CARD Table[14]; +static int Tcnt; + +int +peg(mycrib) + BOOLEAN mycrib; +{ + static CARD ch[CINHAND], ph[CINHAND]; + int i, j, k; + int l; + int cnum, pnum, sum; + BOOLEAN myturn, mego, ugo, last, played; + CARD crd; + + played = FALSE; + cnum = pnum = CINHAND; + for (i = 0; i < CINHAND; i++) { /* make copies of hands */ + ch[i] = chand[i]; + ph[i] = phand[i]; + } + Tcnt = 0; /* index to table of cards played */ + sum = 0; /* sum of cards played */ + mego = ugo = FALSE; + myturn = !mycrib; + for (;;) { + last = TRUE; /* enable last flag */ + prhand(ph, pnum, Playwin, FALSE); + prhand(ch, cnum, Compwin, TRUE); + prtable(sum); + if (myturn) { /* my tyrn to play */ + if (!anymove(ch, cnum, sum)) { /* if no card to play */ + if (!mego && cnum) { /* go for comp? */ + msg("GO"); + mego = TRUE; + } + /* can player move? */ + if (anymove(ph, pnum, sum)) + myturn = !myturn; + else { /* give him his point */ + msg(quiet ? "You get one" : + "You get one point"); + do_wait(); + if (chkscr(&pscore, 1)) + return TRUE; + sum = 0; + mego = ugo = FALSE; + Tcnt = 0; + } + } else { + played = TRUE; + j = -1; + k = 0; + /* maximize score */ + for (i = 0; i < cnum; i++) { + l = pegscore(ch[i], Table, Tcnt, sum); + if (l > k) { + k = l; + j = i; + } + } + if (j < 0) /* if nothing scores */ + j = cchose(ch, cnum, sum); + crd = ch[j]; + cremove(crd, ch, cnum--); + sum += VAL(crd.rank); + Table[Tcnt++] = crd; + if (k > 0) { + addmsg(quiet ? "I get %d playing " : + "I get %d points playing ", k); + msgcard(crd, FALSE); + endmsg(); + if (chkscr(&cscore, k)) + return TRUE; + } + myturn = !myturn; + } + } else { + if (!anymove(ph, pnum, sum)) { /* can player move? */ + if (!ugo && pnum) { /* go for player */ + msg("You have a GO"); + ugo = TRUE; + } + /* can computer play? */ + if (anymove(ch, cnum, sum)) + myturn = !myturn; + else { + msg(quiet ? "I get one" : + "I get one point"); + do_wait(); + if (chkscr(&cscore, 1)) + return TRUE; + sum = 0; + mego = ugo = FALSE; + Tcnt = 0; + } + } else { /* player plays */ + played = FALSE; + if (pnum == 1) { + crd = ph[0]; + msg("You play your last card"); + } else + for (;;) { + prhand(ph, + pnum, Playwin, FALSE); + crd = ph[infrom(ph, + pnum, "Your play: ")]; + if (sum + VAL(crd.rank) <= 31) + break; + else + msg("Total > 31 -- try again"); + } + makeknown(&crd, 1); + cremove(crd, ph, pnum--); + i = pegscore(crd, Table, Tcnt, sum); + sum += VAL(crd.rank); + Table[Tcnt++] = crd; + if (i > 0) { + msg(quiet ? "You got %d" : + "You got %d points", i); + if (pnum == 0) + do_wait(); + if (chkscr(&pscore, i)) + return TRUE; + } + myturn = !myturn; + } + } + if (sum >= 31) { + if (!myturn) + do_wait(); + sum = 0; + mego = ugo = FALSE; + Tcnt = 0; + last = FALSE; /* disable last flag */ + } + if (!pnum && !cnum) + break; /* both done */ + } + prhand(ph, pnum, Playwin, FALSE); + prhand(ch, cnum, Compwin, TRUE); + prtable(sum); + if (last) { + if (played) { + msg(quiet ? "I get one for last" : + "I get one point for last"); + do_wait(); + if (chkscr(&cscore, 1)) + return TRUE; + } else { + msg(quiet ? "You get one for last" : + "You get one point for last"); + do_wait(); + if (chkscr(&pscore, 1)) + return TRUE; + } + } + return (FALSE); +} + +/* + * prtable: + * Print out the table with the current score + */ +void +prtable(score) + int score; +{ + prhand(Table, Tcnt, Tablewin, FALSE); + mvwprintw(Tablewin, (Tcnt + 2) * 2, Tcnt + 1, "%2d", score); + wrefresh(Tablewin); +} + +/* + * score: + * Handle the scoring of the hands + */ +int +score(mycrib) + BOOLEAN mycrib; +{ + sorthand(crib, CINHAND); + if (mycrib) { + if (plyrhand(phand, "hand")) + return (TRUE); + if (comphand(chand, "hand")) + return (TRUE); + do_wait(); + if (comphand(crib, "crib")) + return (TRUE); + do_wait(); + } else { + if (comphand(chand, "hand")) + return (TRUE); + if (plyrhand(phand, "hand")) + return (TRUE); + if (plyrhand(crib, "crib")) + return (TRUE); + } + return (FALSE); +} diff --git a/cribbage/cribbage.6.in b/cribbage/cribbage.6.in new file mode 100644 index 0000000..a57deb9 --- /dev/null +++ b/cribbage/cribbage.6.in @@ -0,0 +1,185 @@ +.\" $NetBSD: cribbage.6,v 1.11 2003/08/07 09:37:09 agc Exp $ +.\" +.\" Copyright (c) 1980, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)cribbage.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt CRIBBAGE 6 +.Os +.Sh NAME +.Nm cribbage +.Nd the card game cribbage +.Sh SYNOPSIS +.Nm +.Op Fl eqr +.Sh DESCRIPTION +.Nm +plays the card game cribbage, with the program playing one hand +and the user the other. +The program will initially ask the user if the rules of the game are +needed \(en if so, it will print out the appropriate section from +.Em According to Hoyle +with +.Xr more 1 . +.Pp +.Nm +options include: +.Bl -tag -width indent +.It Fl e +When the player makes a mistake scoring his hand or crib, provide an +explanation of the correct score. +(This is especially useful for beginning players.) +.It Fl q +Print a shorter form of all messages \(en this is only recommended for +users who have played the game without specifying this option. +.It Fl r +Instead of asking the player to cut the deck, the program will randomly +cut the deck. +.El +.Pp +.Nm +first asks the player whether he wishes to play a short game ( +.Dq once around , +to 61) or a long game ( +.Dq twice around , +to 121). +A response of +.Sq Ic s +will result in a short game, any other response will play a long game. +.Pp +At the start of the first game, the program +asks the player to cut the deck to determine who gets the first crib. +The user should respond with a number between 0 and +51, indicating how many cards down the deck is to be cut. +The player who cuts the lower ranked card gets the first crib. +If more than one game is played, the +loser of the previous game gets the first crib in the current game. +.Pp +For each hand, the program first prints the player's hand, +whose crib it is, and then asks the player +to discard two cards into the crib. +The cards are prompted for one per line, and are typed as explained below. +.Pp +After discarding, the program cuts the deck (if it is the player's +crib) or asks the player to cut the deck (if it's its crib); in the latter +case, the appropriate response is a number from 0 to 39 indicating +how far down the remaining 40 cards are to be cut. +.Pp +After cutting the deck, play starts with the non-dealer (the person +who doesn't have the crib) leading the first card. +Play continues, as per cribbage, until all cards are exhausted. +The program keeps track of the scoring of all points and the total of +the cards on the table. +.Pp +After play, the hands are scored. +The program requests the player to +score his hand (and the crib, if it is his) by printing out the +appropriate cards (and the cut card enclosed in brackets). +Play continues until one player reaches the game limit (61 or 121). +.Pp +A carriage return when a numeric input is expected is equivalent +to typing the lowest legal value; when cutting the deck this +is equivalent to choosing the top card. +.Pp +Cards are specified as rank followed by suit. +The ranks may be specified +as one of: +.Sq a , +.Sq 2 , +.Sq 3 , +.Sq 4 , +.Sq 5 , +.Sq 6 , +.Sq 7 , +.Sq 8 , +.Sq 9 , +.Sq t , +.Sq j , +.Sq q , +and +.Sq k , +or alternatively, one of: +.Sq ace , +.Sq two , +.Sq three , +.Sq four , +.Sq five , +.Sq six , +.Sq seven , +.Sq eight , +.Sq nine , +.Sq ten , +.Sq jack , +.Sq queen , +and +.Sq king . +Suits may be specified as: +.Sq s , +.Sq h , +.Sq d , +and +.Sq c , +or alternatively as: +.Sq spades , +.Sq hearts , +.Sq diamonds , +and +.Sq clubs . +A card may be specified as: +.Dq Ao rank Ac \ Aq suit , +or: +.Dq Ao rank Ac of Aq suit . +If the single letter rank and suit designations are used, the space +separating the suit and rank may be left out. +Also, if only one card +of the desired rank is playable, typing the rank is sufficient. +For example, if your hand was +.Dq 2H, 4D, 5C, 6H, JC, and KD +and it was desired to discard the king of diamonds, any of +the following could be typed: +.Sq k , +.Sq king , +.Sq kd , +.Sq k d , +.Sq k of d , +.Sq king d , +.Sq king of d , +.Sq k diamonds , +.Sq k of diamonds , +.Sq king diamonds , +.Sq king of diamonds . +.Sh FILES +.Bl -tag -width @cribbage_instrfile@ -compact +.It Pa @gamesdir@/cribbage +.It Pa @cribbage_scorefile@ +.It Pa @cribbage_instrfile@ +.El +.Sh AUTHORS +Earl T. Cohen wrote the logic. +Ken Arnold added the screen oriented interface. diff --git a/cribbage/cribbage.h b/cribbage/cribbage.h new file mode 100644 index 0000000..ce2eecb --- /dev/null +++ b/cribbage/cribbage.h @@ -0,0 +1,112 @@ +/* $NetBSD: cribbage.h,v 1.12 2004/02/08 22:23:50 jsm Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)cribbage.h 8.1 (Berkeley) 5/31/93 + */ + +extern CARD deck[ CARDS ]; /* a deck */ +extern CARD phand[ FULLHAND ]; /* player's hand */ +extern CARD chand[ FULLHAND ]; /* computer's hand */ +extern CARD crib[ CINHAND ]; /* the crib */ +extern CARD turnover; /* the starter */ + +extern CARD known[ CARDS ]; /* cards we have seen */ +extern int knownum; /* # of cards we know */ + +extern int pscore; /* player's score */ +extern int cscore; /* comp's score */ +extern int glimit; /* points to win game */ + +extern int pgames; /* player's games won */ +extern int cgames; /* comp's games won */ +extern int gamecount; /* # games played */ +extern int Lastscore[2]; /* previous score for each */ + +extern BOOLEAN iwon; /* if comp won last */ +extern BOOLEAN explain; /* player mistakes explained */ +extern BOOLEAN rflag; /* if all cuts random */ +extern BOOLEAN quiet; /* if suppress random mess */ +extern BOOLEAN playing; /* currently playing game */ + +extern char explan[]; /* string for explanation */ + +void addmsg(const char *, ...) + __attribute__((__format__(__printf__, 1, 2))); +int adjust(const CARD [], CARD); +int anymove(const CARD [], int, int); +int anysumto(const CARD [], int, int, int); +void bye(void); +int cchose(const CARD [], int, int); +void cdiscard(BOOLEAN); +int chkscr(int *, int); +int comphand(const CARD [], const char *); +void cremove(CARD, CARD [], int); +int cut(BOOLEAN, int); +int deal(int); +void discard(BOOLEAN); +void do_wait(void); +void endmsg(void); +int eq(CARD, CARD); +int fifteens(const CARD [], int); +void game(void); +void gamescore(void); +char *getline(void); +int getuchar(void); +int incard(CARD *); +int infrom(const CARD [], int, const char *); +void instructions(void); +int is_one(CARD, const CARD [], int); +void makeboard(void); +void makedeck(CARD []); +void makeknown(const CARD [], int); +void msg(const char *, ...) + __attribute__((__format__(__printf__, 1, 2))); +int msgcard(CARD, BOOLEAN); +int msgcrd(CARD, BOOLEAN, const char *, BOOLEAN); +int number(int, int, const char *); +int numofval(const CARD [], int, int); +int pairuns(const CARD [], int); +int peg(BOOLEAN); +int pegscore(CARD, const CARD [], int, int); +int playhand(BOOLEAN); +int plyrhand(const CARD [], const char *); +void prcard(WINDOW *, int, int, CARD, BOOLEAN); +void prcrib(BOOLEAN, BOOLEAN); +void prhand(const CARD [], int, WINDOW *, BOOLEAN); +void printcard(WINDOW *, int, CARD, BOOLEAN); +void prpeg(int, int, BOOLEAN); +void prtable(int); +int readchar(void); +void receive_intr(int) __attribute__((__noreturn__)); +int score(BOOLEAN); +int scorehand(const CARD [], CARD, int, BOOLEAN, BOOLEAN); +void shuffle(CARD []); +void sorthand(CARD [], int); +void wait_for(int); diff --git a/cribbage/cribbage.n b/cribbage/cribbage.n new file mode 100644 index 0000000..084e091 --- /dev/null +++ b/cribbage/cribbage.n @@ -0,0 +1,226 @@ + + CRIBBAGE + from + According to Hoyle + +Cribbage is believed to have been invented by Sir John Suckling (1609-1642). +Probably it is an elaboration of an older game, Noddy. The original game +was played with hands of five cards; the modern game gives each player +six. That is virtually the only change from Suckling's directions. + +Players: + + Two. There are variants for three and four players, described + later. + +Cards: + + The pack of 52. The cards in each suit rank: K (high), Q, J, 10, +9, 8, 7, 6, 5, 4, 3, 2, A. The counting values are: K, Q, J, 10, each 10 +(wherefore these are called tenth cards); ace, 1; each other card, its +index value. + +Cribbage Board: + + Indispensable to scoring (unless you have a computer!, ed.) is +the device known as the cribbage board. This is a rectangular panel, long +and narrow, in which are four rows of 30 holes each. (See illustration.) +At one end, or in the center, are two or four additional holes, called +game holes. The board is placed between the two players, and each keeps +his own score on the two rows of holes nearest himself. Each is supplied +with two pegs. Before the first hand, the pegs are placed in the game +holes. On making his first score, the player advances one peg an +appropriate number of holes (one per point) away from the game end of the +board. The second score is recorded by placing the second peg an +appropriate distance ahead of the first. For each subsequent score, the +rear peg is jumped ahead of the other, the distance between the two pegs +always showing the amount of this last score. + + The traditional mode of scoring is down (away from the game end) +the outer row, and up the inner row. "Once around" is a game of 61 points. +"Twice around" is a game of 121 points. + +Preliminaries: + + Cards are drawn; the lower deals first. If cards of equal rank +are drawn, both players draw again. Dealer has the right to shuffle last. +Nondealer cuts, and must leave at least four cards in each packet. + +Dealing: + + Each player receives six cards, dealt one at a time face down, +beginning with the nondealer. The turn to deal alternates. The dealer +has an advantage. + +Laying Away: + + After seeing his hand, each player lays away two cards face down. +The four cards laid away, placed in one pile, form the crib. The crib +counts for the dealer. Nondealer therefore tries to lay away balking +cards -- cards that are least likely to create a score in the crib. + +The Starter: + + After both hands have laid away, nondealer lifts off a packet from +the top of the stock (the rest of the pack). Again, each packet must +contain at least four cards. Dealer turns up the top card of the lower +packer, which is then placed on top of the stock when the packets are +reunited. The card thus turned up is called 1 the starter. If it is a +jack, dealer immediately pegs 2, called 2 for his heels. + +The Play: + + Nondealer begins the play by laying a card from his hand face up +on the table, announcing its counting value. Dealer then shows a card, +announcing the total count of the two cards. Play continues in the same +way, by alternate exposure of cards, each player announcing the new total +count. The total may be carried only to 31, no further. If a player adds +a card that brings the total exactly to 31, he pegs 2. If a player is +unable to play another card without exceeding 31, he must say "Go," and +his opponent pegs 1, but before doing so, opponent must lay down any +additional cards he can without exceeding 31. If such additional cards +bring the total to exactly 31, he pegs 2 instead of 1. + + Whenever a go occurs, the opponent of the player who played the +last card must lead for a new count starting at zero. Playing the last +card of all counts as a go. (Since nondealer makes the opening lead, +dealer is bound to peg at least 1 in play.) + + Besides pegging for 31 and go, the player may also peg for certain +combinations made in play, as follows: + + Fifteen: + Making the count total 15 pegs 2. + Pair: + Playing a card of same rank as that previously played pegs + 2. Playing a third card of the same rank makes pair royal + and pegs 6. Playing the fourth card of the same rank + makes double pair royal and pegs 12. + + The tenth cards pair strictly by rank, a king with a king, + a queen with a queen, and so on. (King and jack do not + make a pair, although each has the counting value 10.) + Run: + Playing a card which, with the two or more played + immediately previously, makes a sequence of three or more + cards, pegs 1 for each card in the run. Runs depend on + rank alone; the suits do not matter. Nor does the score + for run depend upon playing the cards in strict sequence, + so long as the three or more last cards played can be + arranged in a run. Example: 7, 6, 8 played in that order + score 3 for run; 5, 2, 4, 3 played in that order score 4 + for run. + + Any of the foregoing combinations count, whether the cards + are played alternately or one player plays several times + in succession in consequence of a go. But a combination + does not score if it is interrupted by a go. + + Showing: + After the play, the hands are shown (counted). Nondealer + shows first, then dealer's hand, then crib. The starter + is deemed to belong to each hand, so that each hand includes + five cards. Combinations of scoring value are as follows: + + Fifteen: + Each combinations of two or more cards that total + fifteen scores 2. + Pair: + Each pair of cards of the same rank scores 2. + + Run: + Each combination of three or more cards in sequence + scores 1 for each card in the run. + Flush: + Four cards of the same suit in hand score 4; four + cards in hand or crib of same suit as the starter + score 5. (No count for four-flush in crib.) + His Nobs: + Jack of same suit as the starter, in hand or crib, + scores 1. + + It is important to note that every separate grouping of cards that +makes a fifteen, pair, or run counts separately. Three of a kind, pair +royal, counts 6 because three sets of pairs can be made; similarly, four +of a kind, double pair royal, contain six pairs and count 12. + + The highest possible hand is J, 5, 5, 5 with the starter the 5 of +the same suit as the jack. There are four fifteens by combining the jack +with a five, four more by combinations of three fives (a total of 16 for +fifteens); the double pair royal adds 12 for a total of 28; and his nobs +adds 1 for a maximum score of 29. (the score of 2 for his heels does not +count in the total of the hand, since it is pegged before the play.) + + A double run is a run with one card duplicated, as 4-3-3-2. +Exclusive of fifteens, a double run of three cards counts 8; of four cards, +10. A triple run is a run of three with one card triplicated, as K-K-K-Q-J. +Exclusive of fifteens, it counts 15. A quadruple run is a run of three +with two different cards duplicated, as the example 8-8-7-6-6 previously +given. Exclusive of fifteens, it counts 16. + + No hand can be constructed that counts 19, 25, 26 or 27. A +time-honored way of showing a hand with not a single counting combination +is to say "I have nineteen." + + The customary order in showing is to count fifteens first, then +runs, then pairs, but there is no compulsion of law. Example: A hand +(with starter) of 9-6-5-4-4 will usually be counted "Fifteen 2, fifteen +4, fifteen 6 and double run makes 14," or simply "Fifteen 6 and 8 is 14." + +Muggins: + + The hands and crib are counted aloud, and if a player claims a +greater total than is due him, his opponent may require correction. In +some localities, if a player claims less than is due, his opponent may +say "Muggins" and himself score the points overlooked. + +Scoring: + + The usual game is 121, but it may be set at 61 by agreement. +Since the player wins who first returns to the game hole by going "twice +around," the scores must be pegged strictly in order: his heels, pegging +in play, non-dealer's hand, dealer's hand, crib. Thus, if nondealer goes +out on showing his hand, he wins, even though dealer might have gone out +with a greater total if allowed to count his hand and crib. + + When the game of 121 is played for a stake, a player wins a single +game if the loser makes 61 points or more. If the loser fails to reach +61, he is lurched, and the other wins a double game. + +Irregularities: + + Misdeal. There must be a new deal by the same dealer if a card +is found faced in the pack, if a card is exposed in dealing, or if the +pack be found imperfect. + + Wrong Number of Cards. If one hand (not crib) is found to have +the wrong number of cards after laying away for the crib, the other hand +and crib being correct, the opponent may either demand a new deal or may +peg 2 and rectify the hand. If the crib is incorrect, both hands being +correct, nondealer pegs 2 and the crib is corrected. + +Error in Pegging: + + If a player places a peg short of the amount to which he is +entitled, he may not correct his error after he has played the next card +or after the cut for the next deal. If he pegs more than his announced +score, the error must be corrected on demand at any time before the cut +for the next deal and his opponent pegs 2. + +Strategy: + + The best balking cards are kings and aces, because they have the +least chance of producing sequences. Tenth cards are generally good, +provided that the two cards laid away are not too near (likely to make a +sequence). When nothing better offers, give two wide cards -- at least +three apart in rank. + + Proverbially the safest lead is a 4. The next card cannot make +a 15. Lower cards are also safe from this point of view, but are better +treasured for go and 31. The most dangerous leads are 7 and 8, but may +be made to trap the opponent when they are backed with other close cards. +Generally speaking, play on (toward a sequence) when you have close cards +and off when you do not. However, the state of the score is a +consideration. If far behind, play on when there is any chance of building +a score for yourself; if well ahead, balk your opponent by playing off +unless you will surely peg as much as he by playing on. diff --git a/cribbage/cribcur.h b/cribbage/cribcur.h new file mode 100644 index 0000000..725147a --- /dev/null +++ b/cribbage/cribcur.h @@ -0,0 +1,55 @@ +/* $NetBSD: cribcur.h,v 1.4 2003/08/07 09:37:09 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)cribcur.h 8.1 (Berkeley) 5/31/93 + */ + +# define PLAY_Y 15 /* size of player's hand window */ +# define PLAY_X 12 +# define TABLE_Y 21 /* size of table window */ +# define TABLE_X 14 +# define COMP_Y 15 /* size of computer's hand window */ +# define COMP_X 12 +# define Y_SCORE_SZ 9 /* Y size of score board */ +# define X_SCORE_SZ 41 /* X size of score board */ +# define SCORE_Y 0 /* starting position of scoring board */ +# define SCORE_X (PLAY_X + TABLE_X + COMP_X) +# define CRIB_Y 17 /* position of crib (cut card) */ +# define CRIB_X (PLAY_X + TABLE_X) +# define MSG_Y (LINES - (Y_SCORE_SZ + 1)) +# define MSG_X (COLS - SCORE_X - 1) +# define Y_MSG_START (Y_SCORE_SZ + 1) + +# define PEG '*' /* what a peg looks like on the board */ + +extern WINDOW *Compwin; /* computer's hand window */ +extern WINDOW *Msgwin; /* message window */ +extern WINDOW *Playwin; /* player's hand window */ +extern WINDOW *Tablewin; /* table window */ diff --git a/cribbage/deck.h b/cribbage/deck.h new file mode 100644 index 0000000..cccc7ab --- /dev/null +++ b/cribbage/deck.h @@ -0,0 +1,83 @@ +/* $NetBSD: deck.h,v 1.4 2003/08/07 09:37:10 agc Exp $ */ + +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)deck.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * define structure of a deck of cards and other related things + */ + + +#define CARDS 52 /* number cards in deck */ +#define RANKS 13 /* number ranks in deck */ +#define SUITS 4 /* number suits in deck */ + +#define CINHAND 4 /* # cards in cribbage hand */ +#define FULLHAND 6 /* # cards in dealt hand */ + +#define LGAME 121 /* number points in a game */ +#define SGAME 61 /* # points in a short game */ + +#define SPADES 0 /* value of each suit */ +#define HEARTS 1 +#define DIAMONDS 2 +#define CLUBS 3 + +#define ACE 0 /* value of each rank */ +#define TWO 1 +#define THREE 2 +#define FOUR 3 +#define FIVE 4 +#define SIX 5 +#define SEVEN 6 +#define EIGHT 7 +#define NINE 8 +#define TEN 9 +#define JACK 10 +#define QUEEN 11 +#define KING 12 +#define EMPTY 13 + +#define VAL(c) ( (c) < 9 ? (c)+1 : 10 ) /* val of rank */ + + +#ifndef TRUE +# define TRUE 1 +# define FALSE 0 +#endif + +typedef struct { + int rank; + int suit; + } CARD; + +typedef char BOOLEAN; + diff --git a/cribbage/extern.c b/cribbage/extern.c new file mode 100644 index 0000000..01b3edd --- /dev/null +++ b/cribbage/extern.c @@ -0,0 +1,71 @@ +/* $NetBSD: extern.c,v 1.7 2003/08/07 09:37:10 agc Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)extern.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: extern.c,v 1.7 2003/08/07 09:37:10 agc Exp $"); +#endif +#endif /* not lint */ + +#include + +#include "deck.h" +#include "cribbage.h" + +BOOLEAN explain = FALSE; /* player mistakes explained */ +BOOLEAN iwon = FALSE; /* if comp won last game */ +BOOLEAN quiet = FALSE; /* if suppress random mess */ +BOOLEAN rflag = FALSE; /* if all cuts random */ + +char explan[128]; /* explanation */ + +int cgames = 0; /* number games comp won */ +int cscore = 0; /* comp score in this game */ +int gamecount = 0; /* number games played */ +int glimit = LGAME; /* game playe to glimit */ +int knownum = 0; /* number of cards we know */ +int pgames = 0; /* number games player won */ +int pscore = 0; /* player score in this game */ + +CARD chand[FULLHAND]; /* computer's hand */ +CARD crib[CINHAND]; /* the crib */ +CARD deck[CARDS]; /* a deck */ +CARD known[CARDS]; /* cards we have seen */ +CARD phand[FULLHAND]; /* player's hand */ +CARD turnover; /* the starter */ + +WINDOW *Compwin; /* computer's hand window */ +WINDOW *Msgwin; /* messages for the player */ +WINDOW *Playwin; /* player's hand window */ +WINDOW *Tablewin; /* table window */ diff --git a/cribbage/instr.c b/cribbage/instr.c new file mode 100644 index 0000000..f4d9d80 --- /dev/null +++ b/cribbage/instr.c @@ -0,0 +1,98 @@ +/* $NetBSD: instr.c,v 1.11 2005/02/15 12:56:20 jsm Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)instr.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: instr.c,v 1.11 2005/02/15 12:56:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "deck.h" +#include "cribbage.h" +#include "pathnames.h" + +void +instructions() +{ + int pstat; + int fd; + pid_t pid; + const char *path; + + switch (pid = vfork()) { + case -1: + err(1, "vfork"); + case 0: + /* Follow the same behaviour for pagers as defined in POSIX.2 + * for mailx and man. We only use a pager if stdout is + * a terminal, and we pass the file on stdin to sh -c pager. + */ + if (!isatty(1)) + path = "cat"; + else { + if (!(path = getenv("PAGER")) || (*path == 0)) + path = _PATH_MORE; + } + if ((fd = open(_PATH_INSTR, O_RDONLY)) == -1) { + warn("open %s", _PATH_INSTR); + _exit(1); + } + if (dup2(fd, 0) == -1) { + warn("dup2"); + _exit(1); + } + execl("/bin/sh", "sh", "-c", path, (char *) NULL); + warn(NULL); + _exit(1); + default: + do { + pid = waitpid(pid, &pstat, 0); + } while (pid == -1 && errno == EINTR); + if (pid == -1 || WEXITSTATUS(pstat)) + exit(1); + } +} diff --git a/cribbage/io.c b/cribbage/io.c new file mode 100644 index 0000000..3d69257 --- /dev/null +++ b/cribbage/io.c @@ -0,0 +1,604 @@ +/* $NetBSD: io.c,v 1.18 2004/11/05 21:30:31 dsl Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)io.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: io.c,v 1.18 2004/11/05 21:30:31 dsl Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "deck.h" +#include "cribbage.h" +#include "cribcur.h" + +#define LINESIZE 128 + +#ifdef CTRL +#undef CTRL +#endif +#define CTRL(X) (X - 'A' + 1) + +char linebuf[LINESIZE]; + +const char *const rankname[RANKS] = { + "ACE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", + "EIGHT", "NINE", "TEN", "JACK", "QUEEN", "KING" +}; + +const char *const rankchar[RANKS] = { + "A", "2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K" +}; + +const char *const suitname[SUITS] = {"SPADES", "HEARTS", "DIAMONDS", "CLUBS"}; + +const char *const suitchar[SUITS] = {"S", "H", "D", "C"}; + +/* + * msgcard: + * Call msgcrd in one of two forms + */ +int +msgcard(c, brief) + CARD c; + BOOLEAN brief; +{ + if (brief) + return (msgcrd(c, TRUE, NULL, TRUE)); + else + return (msgcrd(c, FALSE, " of ", FALSE)); +} + +/* + * msgcrd: + * Print the value of a card in ascii + */ +int +msgcrd(c, brfrank, mid, brfsuit) + CARD c; + BOOLEAN brfrank, brfsuit; + const char *mid; +{ + if (c.rank == EMPTY || c.suit == EMPTY) + return (FALSE); + if (brfrank) + addmsg("%1.1s", rankchar[c.rank]); + else + addmsg(rankname[c.rank]); + if (mid != NULL) + addmsg(mid); + if (brfsuit) + addmsg("%1.1s", suitchar[c.suit]); + else + addmsg(suitname[c.suit]); + return (TRUE); +} + +/* + * printcard: + * Print out a card. + */ +void +printcard(win, cardno, c, blank) + WINDOW *win; + int cardno; + CARD c; + BOOLEAN blank; +{ + prcard(win, cardno * 2, cardno, c, blank); +} + +/* + * prcard: + * Print out a card on the window at the specified location + */ +void +prcard(win, y, x, c, blank) + WINDOW *win; + int y, x; + CARD c; + BOOLEAN blank; +{ + if (c.rank == EMPTY) + return; + + mvwaddstr(win, y + 0, x, "+-----+"); + mvwaddstr(win, y + 1, x, "| |"); + mvwaddstr(win, y + 2, x, "| |"); + mvwaddstr(win, y + 3, x, "| |"); + mvwaddstr(win, y + 4, x, "+-----+"); + if (!blank) { + mvwaddch(win, y + 1, x + 1, rankchar[c.rank][0]); + waddch(win, suitchar[c.suit][0]); + mvwaddch(win, y + 3, x + 4, rankchar[c.rank][0]); + waddch(win, suitchar[c.suit][0]); + } +} + +/* + * prhand: + * Print a hand of n cards + */ +void +prhand(h, n, win, blank) + const CARD h[]; + int n; + WINDOW *win; + BOOLEAN blank; +{ + int i; + + werase(win); + for (i = 0; i < n; i++) + printcard(win, i, *h++, blank); + wrefresh(win); +} + +/* + * infrom: + * reads a card, supposedly in hand, accepting unambigous brief + * input, returns the index of the card found... + */ +int +infrom(hand, n, prompt) + const CARD hand[]; + int n; + const char *prompt; +{ + int i, j; + CARD crd; + + if (n < 1) { + printf("\nINFROM: %d = n < 1!!\n", n); + exit(74); + } + for (;;) { + msg(prompt); + if (incard(&crd)) { /* if card is full card */ + if (!is_one(crd, hand, n)) + msg("That's not in your hand"); + else { + for (i = 0; i < n; i++) + if (hand[i].rank == crd.rank && + hand[i].suit == crd.suit) + break; + if (i >= n) { + printf("\nINFROM: is_one or something messed up\n"); + exit(77); + } + return (i); + } + } else /* if not full card... */ + if (crd.rank != EMPTY) { + for (i = 0; i < n; i++) + if (hand[i].rank == crd.rank) + break; + if (i >= n) + msg("No such rank in your hand"); + else { + for (j = i + 1; j < n; j++) + if (hand[j].rank == crd.rank) + break; + if (j < n) + msg("Ambiguous rank"); + else + return (i); + } + } else + msg("Sorry, I missed that"); + } + /* NOTREACHED */ +} + +/* + * incard: + * Inputs a card in any format. It reads a line ending with a CR + * and then parses it. + */ +int +incard(crd) + CARD *crd; +{ + int i; + int rnk, sut; + char *line, *p, *p1; + BOOLEAN retval; + + retval = FALSE; + rnk = sut = EMPTY; + if (!(line = getline())) + goto gotit; + p = p1 = line; + while (*p1 != ' ' && *p1 != '\0') + ++p1; + *p1++ = '\0'; + if (*p == '\0') + goto gotit; + + /* IMPORTANT: no real card has 2 char first name */ + if (strlen(p) == 2) { /* check for short form */ + rnk = EMPTY; + for (i = 0; i < RANKS; i++) { + if (*p == *rankchar[i]) { + rnk = i; + break; + } + } + if (rnk == EMPTY) + goto gotit; /* it's nothing... */ + ++p; /* advance to next char */ + sut = EMPTY; + for (i = 0; i < SUITS; i++) { + if (*p == *suitchar[i]) { + sut = i; + break; + } + } + if (sut != EMPTY) + retval = TRUE; + goto gotit; + } + rnk = EMPTY; + for (i = 0; i < RANKS; i++) { + if (!strcmp(p, rankname[i]) || !strcmp(p, rankchar[i])) { + rnk = i; + break; + } + } + if (rnk == EMPTY) + goto gotit; + p = p1; + while (*p1 != ' ' && *p1 != '\0') + ++p1; + *p1++ = '\0'; + if (*p == '\0') + goto gotit; + if (!strcmp("OF", p)) { + p = p1; + while (*p1 != ' ' && *p1 != '\0') + ++p1; + *p1++ = '\0'; + if (*p == '\0') + goto gotit; + } + sut = EMPTY; + for (i = 0; i < SUITS; i++) { + if (!strcmp(p, suitname[i]) || !strcmp(p, suitchar[i])) { + sut = i; + break; + } + } + if (sut != EMPTY) + retval = TRUE; +gotit: + (*crd).rank = rnk; + (*crd).suit = sut; + return (retval); +} + +/* + * getuchar: + * Reads and converts to upper case + */ +int +getuchar() +{ + int c; + + c = readchar(); + if (islower(c)) + c = toupper(c); + waddch(Msgwin, c); + return (c); +} + +/* + * number: + * Reads in a decimal number and makes sure it is between "lo" and + * "hi" inclusive. + */ +int +number(lo, hi, prompt) + int lo, hi; + const char *prompt; +{ + char *p; + int sum; + + for (sum = 0;;) { + msg(prompt); + if (!(p = getline()) || *p == '\0') { + msg(quiet ? "Not a number" : + "That doesn't look like a number"); + continue; + } + sum = 0; + + if (!isdigit((unsigned char)*p)) + sum = lo - 1; + else + while (isdigit((unsigned char)*p)) { + sum = 10 * sum + (*p - '0'); + ++p; + } + + if (*p != ' ' && *p != '\t' && *p != '\0') + sum = lo - 1; + if (sum >= lo && sum <= hi) + break; + if (sum == lo - 1) + msg("that doesn't look like a number, try again --> "); + else + msg("%d is not between %d and %d inclusive, try again --> ", + sum, lo, hi); + } + return (sum); +} + +/* + * msg: + * Display a message at the top of the screen. + */ +char Msgbuf[BUFSIZ] = {'\0'}; +int Mpos = 0; +static int Newpos = 0; + +void +msg(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + (void)vsprintf(&Msgbuf[Newpos], fmt, ap); + Newpos = strlen(Msgbuf); + va_end(ap); + endmsg(); +} + +/* + * addmsg: + * Add things to the current message + */ +void +addmsg(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + (void)vsprintf(&Msgbuf[Newpos], fmt, ap); + Newpos = strlen(Msgbuf); + va_end(ap); +} + +/* + * endmsg: + * Display a new msg. + */ +int Lineno = 0; + +void +endmsg() +{ + static int lastline = 0; + int len; + char *mp, *omp; + + /* All messages should start with uppercase */ + mvaddch(lastline + Y_MSG_START, SCORE_X, ' '); + if (islower((unsigned char)Msgbuf[0]) && Msgbuf[1] != ')') + Msgbuf[0] = toupper((unsigned char)Msgbuf[0]); + mp = Msgbuf; + len = strlen(mp); + if (len / MSG_X + Lineno >= MSG_Y) { + while (Lineno < MSG_Y) { + wmove(Msgwin, Lineno++, 0); + wclrtoeol(Msgwin); + } + Lineno = 0; + } + mvaddch(Lineno + Y_MSG_START, SCORE_X, '*'); + lastline = Lineno; + do { + mvwaddstr(Msgwin, Lineno, 0, mp); + if ((len = strlen(mp)) > MSG_X) { + omp = mp; + for (mp = &mp[MSG_X - 1]; *mp != ' '; mp--) + continue; + while (*mp == ' ') + mp--; + mp++; + wmove(Msgwin, Lineno, mp - omp); + wclrtoeol(Msgwin); + } + if (++Lineno >= MSG_Y) + Lineno = 0; + } while (len > MSG_X); + wclrtoeol(Msgwin); + Mpos = len; + Newpos = 0; + wrefresh(Msgwin); + refresh(); + wrefresh(Msgwin); +} + +/* + * do_wait: + * Wait for the user to type ' ' before doing anything else + */ +void +do_wait() +{ + static const char prompt[] = {'-', '-', 'M', 'o', 'r', 'e', '-', '-', '\0'}; + + if ((int)(Mpos + sizeof prompt) < MSG_X) + wmove(Msgwin, Lineno > 0 ? Lineno - 1 : MSG_Y - 1, Mpos); + else { + mvwaddch(Msgwin, Lineno, 0, ' '); + wclrtoeol(Msgwin); + if (++Lineno >= MSG_Y) + Lineno = 0; + } + waddstr(Msgwin, prompt); + wrefresh(Msgwin); + wait_for(' '); +} + +/* + * wait_for + * Sit around until the guy types the right key + */ +void +wait_for(ch) + int ch; +{ + char c; + + if (ch == '\n') + while ((c = readchar()) != '\n') + continue; + else + while (readchar() != ch) + continue; +} + +/* + * readchar: + * Reads and returns a character, checking for gross input errors + */ +int +readchar() +{ + int cnt; + char c; + +over: + cnt = 0; + while (read(STDIN_FILENO, &c, sizeof(char)) <= 0) + if (cnt++ > 100) { /* if we are getting infinite EOFs */ + bye(); /* quit the game */ + exit(1); + } + if (c == CTRL('L')) { + wrefresh(curscr); + goto over; + } + if (c == '\r') + return ('\n'); + else + return (c); +} + +/* + * getline: + * Reads the next line up to '\n' or EOF. Multiple spaces are + * compressed to one space; a space is inserted before a ',' + */ +char * +getline() +{ + char *sp; + int c, oy, ox; + WINDOW *oscr; + + oscr = stdscr; + stdscr = Msgwin; + getyx(stdscr, oy, ox); + refresh(); + /* loop reading in the string, and put it in a temporary buffer */ + for (sp = linebuf; (c = readchar()) != '\n'; clrtoeol(), refresh()) { + if (c == -1) + continue; + else + if (c == erasechar()) { /* process erase character */ + if (sp > linebuf) { + int i; + + sp--; + for (i = strlen(unctrl(*sp)); i; i--) + addch('\b'); + } + continue; + } else + if (c == killchar()) { /* process kill + * character */ + sp = linebuf; + move(oy, ox); + continue; + } else + if (sp == linebuf && c == ' ') + continue; + if (sp >= &linebuf[LINESIZE - 1] || !(isprint(c) || c == ' ')) + putchar(CTRL('G')); + else { + if (islower(c)) + c = toupper(c); + *sp++ = c; + addstr(unctrl(c)); + Mpos++; + } + } + *sp = '\0'; + stdscr = oscr; + return (linebuf); +} + +void +receive_intr(signo) + int signo __attribute__((__unused__)); +{ + bye(); + exit(1); +} + +/* + * bye: + * Leave the program, cleaning things up as we go. + */ +void +bye() +{ + signal(SIGINT, SIG_IGN); + mvcur(0, COLS - 1, LINES - 1, 0); + fflush(stdout); + endwin(); + putchar('\n'); +} diff --git a/cribbage/pathnames.h.in b/cribbage/pathnames.h.in new file mode 100644 index 0000000..ab5d218 --- /dev/null +++ b/cribbage/pathnames.h.in @@ -0,0 +1,36 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:10 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define _PATH_INSTR "@cribbage_instrfile@" +#define _PATH_LOG "@cribbage_scorefile@" +#define _PATH_MORE "@pager@" diff --git a/cribbage/score.c b/cribbage/score.c new file mode 100644 index 0000000..2241bd6 --- /dev/null +++ b/cribbage/score.c @@ -0,0 +1,374 @@ +/* $NetBSD: score.c,v 1.10 2003/08/07 09:37:10 agc Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)score.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: score.c,v 1.10 2003/08/07 09:37:10 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include + +#include "deck.h" +#include "cribbage.h" + +/* + * the following arrays give the sum of the scores of the (50 2)*48 = 58800 + * hands obtainable for the crib given the two cards whose ranks index the + * array. the two arrays are for the case where the suits are equal and + * not equal respectively + */ +const long crbescr[169] = { + -10000, 271827, 278883, 332319, 347769, 261129, 250653, 253203, 248259, + 243435, 256275, 237435, 231051, -10000, -10000, 412815, 295707, 349497, + 267519, 262521, 259695, 254019, 250047, 262887, 244047, 237663, -10000, + -10000, -10000, 333987, 388629, 262017, 266787, 262971, 252729, 254475, + 267315, 248475, 242091, -10000, -10000, -10000, -10000, 422097, 302787, + 256437, 263751, 257883, 254271, 267111, 248271, 241887, -10000, -10000, + -10000, -10000, -10000, 427677, 387837, 349173, 347985, 423861, 436701, + 417861, 411477, -10000, -10000, -10000, -10000, -10000, -10000, 336387, + 298851, 338667, 236487, 249327, 230487, 224103, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, 408483, 266691, 229803, 246195, 227355, + 220971, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, + 300675, 263787, 241695, 226407, 220023, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, -10000, 295635, 273543, 219771, 216939, + -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, + -10000, 306519, 252747, 211431, -10000, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, -10000, -10000, 304287, 262971, -10000, + -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, + -10000, -10000, 244131, -10000, -10000, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, -10000, -10000, -10000 +}; + +const long crbnescr[169] = { + 325272, 260772, 267828, 321264, 336714, 250074, 239598, 242148, 237204, + 232380, 246348, 226380, 219996, -10000, 342528, 401760, 284652, 338442, + 256464, 251466, 248640, 242964, 238992, 252960, 232992, 226608, -10000, + -10000, 362280, 322932, 377574, 250962, 255732, 251916, 241674, 243420, + 257388, 237420, 231036, -10000, -10000, -10000, 360768, 411042, 291732, + 245382, 252696, 246828, 243216, 257184, 237216, 230832, -10000, -10000, + -10000, -10000, 528768, 416622, 376782, 338118, 336930, 412806, 426774, + 406806, 400422, -10000, -10000, -10000, -10000, -10000, 369864, 325332, + 287796, 327612, 225432, 239400, 219432, 213048, -10000, -10000, -10000, + -10000, -10000, -10000, 359160, 397428, 255636, 218748, 236268, 216300, + 209916, -10000, -10000, -10000, -10000, -10000, -10000, -10000, 331320, + 289620, 252732, 231768, 215352, 208968, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, 325152, 284580, 263616, 208716, 205884, + -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, + 321240, 296592, 241692, 200376, -10000, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, -10000, 348600, 294360, 253044, -10000, + -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, + -10000, 308664, 233076, -10000, -10000, -10000, -10000, -10000, -10000, + -10000, -10000, -10000, -10000, -10000, -10000, 295896 +}; + +static const int ichoose2[5] = { 0, 0, 2, 6, 12 }; +static int pairpoints, runpoints; /* Globals from pairuns. */ + +/* + * scorehand: + * Score the given hand of n cards and the starter card. + * n must be <= 4 + */ +int +scorehand(hand, starter, n, crb, do_explain) + const CARD hand[]; + CARD starter; + int n; + BOOLEAN crb; /* true if scoring crib */ + BOOLEAN do_explain; /* true if must explain this hand */ +{ + int i, k; + int score; + BOOLEAN flag; + CARD h[(CINHAND + 1)]; + char buf[32]; + + explan[0] = '\0'; /* initialize explanation */ + score = 0; + flag = TRUE; + k = hand[0].suit; + for (i = 0; i < n; i++) { /* check for flush */ + flag = (flag && (hand[i].suit == k)); + if (hand[i].rank == JACK) /* check for his nibs */ + if (hand[i].suit == starter.suit) { + score++; + if (do_explain) + strcat(explan, "His Nobs"); + } + h[i] = hand[i]; + } + + if (flag && n >= CINHAND) { + if (do_explain && explan[0] != '\0') + strcat(explan, ", "); + if (starter.suit == k) { + score += 5; + if (do_explain) + strcat(explan, "Five-flush"); + } else + if (!crb) { + score += 4; + if (do_explain && explan[0] != '\0') + strcat(explan, ", Four-flush"); + else + strcpy(explan, "Four-flush"); + } + } + if (do_explain && explan[0] != '\0') + strcat(explan, ", "); + h[n] = starter; + sorthand(h, n + 1); /* sort by rank */ + i = 2 * fifteens(h, n + 1); + score += i; + if (do_explain) { + if (i > 0) { + (void) sprintf(buf, "%d points in fifteens", i); + strcat(explan, buf); + } else + strcat(explan, "No fifteens"); + } + i = pairuns(h, n + 1); + score += i; + if (do_explain) { + if (i > 0) { + (void) sprintf(buf, ", %d points in pairs, %d in runs", + pairpoints, runpoints); + strcat(explan, buf); + } else + strcat(explan, ", No pairs/runs"); + } + return (score); +} + +/* + * fifteens: + * Return number of fifteens in hand of n cards + */ +int +fifteens(hand, n) + const CARD hand[]; + int n; +{ + int *sp, *np; + int i; + const CARD *endp; + static int sums[15], nsums[15]; + + np = nsums; + sp = sums; + i = 16; + while (--i) { + *np++ = 0; + *sp++ = 0; + } + for (endp = &hand[n]; hand < endp; hand++) { + i = hand->rank + 1; + if (i > 10) + i = 10; + np = &nsums[i]; + np[-1]++; /* one way to make this */ + sp = sums; + while (i < 15) { + *np++ += *sp++; + i++; + } + sp = sums; + np = nsums; + i = 16; + while (--i) + *sp++ = *np++; + } + return sums[14]; +} + +/* + * pairuns returns the number of points in the n card sorted hand + * due to pairs and runs + * this routine only works if n is strictly less than 6 + * sets the globals pairpoints and runpoints appropriately + */ +int +pairuns(h, n) + const CARD h[]; + int n; +{ + int i; + int runlength, runmult, lastmult, curmult; + int mult1, mult2, pair1, pair2; + BOOLEAN run; + + run = TRUE; + runlength = 1; + mult1 = 1; + pair1 = -1; + mult2 = 1; + pair2 = -1; + curmult = runmult = 1; + for (i = 1; i < n; i++) { + lastmult = curmult; + if (h[i].rank == h[i - 1].rank) { + if (pair1 < 0) { + pair1 = h[i].rank; + mult1 = curmult = 2; + } else { + if (h[i].rank == pair1) { + curmult = ++mult1; + } else { + if (pair2 < 0) { + pair2 = h[i].rank; + mult2 = curmult = 2; + } else { + curmult = ++mult2; + } + } + } + if (i == (n - 1) && run) { + runmult *= curmult; + } + } else { + curmult = 1; + if (h[i].rank == h[i - 1].rank + 1) { + if (run) { + ++runlength; + } else { + /* only if old short */ + if (runlength < 3) { + run = TRUE; + runlength = 2; + runmult = 1; + } + } + runmult *= lastmult; + } else { + /* if just ended */ + if (run) + runmult *= lastmult; + run = FALSE; + } + } + } + pairpoints = ichoose2[mult1] + ichoose2[mult2]; + runpoints = (runlength >= 3 ? runlength * runmult : 0); + return (pairpoints + runpoints); +} + +/* + * pegscore tells how many points crd would get if played after + * the n cards in tbl during pegging + */ +int +pegscore(crd, tbl, n, sum) + CARD crd; + const CARD tbl[]; + int n, sum; +{ + BOOLEAN got[RANKS]; + int i, j, scr; + int k, lo, hi; + + sum += VAL(crd.rank); + if (sum > 31) + return (-1); + if (sum == 31 || sum == 15) + scr = 2; + else + scr = 0; + if (!n) + return (scr); + j = 1; + while ((crd.rank == tbl[n - j].rank) && (n - j >= 0)) + ++j; + if (j > 1) + return (scr + ichoose2[j]); + if (n < 2) + return (scr); + lo = hi = crd.rank; + for (i = 0; i < RANKS; i++) + got[i] = FALSE; + got[crd.rank] = TRUE; + k = -1; + for (i = n - 1; i >= 0; --i) { + if (got[tbl[i].rank]) + break; + got[tbl[i].rank] = TRUE; + if (tbl[i].rank < lo) + lo = tbl[i].rank; + if (tbl[i].rank > hi) + hi = tbl[i].rank; + for (j = lo; j <= hi; j++) + if (!got[j]) + break; + if (j > hi) + k = hi - lo + 1; + } + if (k >= 3) + return (scr + k); + else + return (scr); +} + +/* + * adjust takes a two card hand that will be put in the crib + * and returns an adjusted normalized score for the number of + * points such a crib will get. + */ +int +adjust(cb, tnv) + const CARD cb[]; + CARD tnv __attribute__((__unused__)); +{ + long scr; + int i, c0, c1; + + c0 = cb[0].rank; + c1 = cb[1].rank; + if (c0 > c1) { + i = c0; + c0 = c1; + c1 = i; + } + if (cb[0].suit != cb[1].suit) + scr = crbnescr[RANKS * c0 + c1]; + else + scr = crbescr[RANKS * c0 + c1]; + if (scr <= 0) { + printf("\nADJUST: internal error %d %d\n", c0, c1); + exit(93); + } + return ((scr + 29400) / 58800); +} diff --git a/cribbage/support.c b/cribbage/support.c new file mode 100644 index 0000000..0952b91 --- /dev/null +++ b/cribbage/support.c @@ -0,0 +1,361 @@ +/* $NetBSD: support.c,v 1.7 2003/08/07 09:37:11 agc Exp $ */ + +/*- + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)support.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: support.c,v 1.7 2003/08/07 09:37:11 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include + +#include "deck.h" +#include "cribbage.h" +#include "cribcur.h" + +#define NTV 10 /* number scores to test */ + +/* score to test reachability of, and order to test them in */ +const int tv[NTV] = {8, 7, 9, 6, 11, 12, 13, 14, 10, 5}; + +/* + * computer chooses what to play in pegging... + * only called if no playable card will score points + */ +int +cchose(h, n, s) + const CARD h[]; + int n, s; +{ + int i, j, l; + + if (n <= 1) + return (0); + if (s < 4) { /* try for good value */ + if ((j = anysumto(h, n, s, 4)) >= 0) + return (j); + if ((j = anysumto(h, n, s, 3)) >= 0 && s == 0) + return (j); + } + if (s > 0 && s < 20) { + /* try for retaliation to 31 */ + for (i = 1; i <= 10; i++) { + if ((j = anysumto(h, n, s, 21 - i)) >= 0) { + if ((l = numofval(h, n, i)) > 0) { + if (l > 1 || VAL(h[j].rank) != i) + return (j); + } + } + } + } + if (s < 15) { + /* for retaliation after 15 */ + for (i = 0; i < NTV; i++) { + if ((j = anysumto(h, n, s, tv[i])) >= 0) { + if ((l = numofval(h, n, 15 - tv[i])) > 0) { + if (l > 1 || + VAL(h[j].rank) != 15 - tv[i]) + return (j); + } + } + } + } + j = -1; + /* remember: h is sorted */ + for (i = n - 1; i >= 0; --i) { + l = s + VAL(h[i].rank); + if (l > 31) + continue; + if (l != 5 && l != 10 && l != 21) { + j = i; + break; + } + } + if (j >= 0) + return (j); + for (i = n - 1; i >= 0; --i) { + l = s + VAL(h[i].rank); + if (l > 31) + continue; + if (j < 0) + j = i; + if (l != 5 && l != 21) { + j = i; + break; + } + } + return (j); +} + +/* + * plyrhand: + * Evaluate and score a player hand or crib + */ +int +plyrhand(hand, s) + const CARD hand[]; + const char *s; +{ + static char prompt[BUFSIZ]; + int i, j; + BOOLEAN win; + + prhand(hand, CINHAND, Playwin, FALSE); + (void) sprintf(prompt, "Your %s scores ", s); + i = scorehand(hand, turnover, CINHAND, strcmp(s, "crib") == 0, explain); + if ((j = number(0, 29, prompt)) == 19) + j = 0; + if (i != j) { + if (i < j) { + win = chkscr(&pscore, i); + msg("It's really only %d points; I get %d", i, 2); + if (!win) + win = chkscr(&cscore, 2); + } else { + win = chkscr(&pscore, j); + msg("You should have taken %d, not %d!", i, j); + } + if (explain) + msg("Explanation: %s", explan); + do_wait(); + } else + win = chkscr(&pscore, i); + return (win); +} + +/* + * comphand: + * Handle scoring and displaying the computers hand + */ +int +comphand(h, s) + const CARD h[]; + const char *s; +{ + int j; + + j = scorehand(h, turnover, CINHAND, strcmp(s, "crib") == 0, FALSE); + prhand(h, CINHAND, Compwin, FALSE); + msg("My %s scores %d", s, (j == 0 ? 19 : j)); + return (chkscr(&cscore, j)); +} + +/* + * chkscr: + * Add inc to scr and test for > glimit, printing on the scoring + * board while we're at it. + */ +int Lastscore[2] = {-1, -1}; + +int +chkscr(scr, inc) + int *scr, inc; +{ + BOOLEAN myturn; + + myturn = (scr == &cscore); + if (inc != 0) { + prpeg(Lastscore[(int)myturn], '.', myturn); + Lastscore[(int)myturn] = *scr; + *scr += inc; + prpeg(*scr, PEG, myturn); + refresh(); + } + return (*scr >= glimit); +} + +/* + * prpeg: + * Put out the peg character on the score board and put the + * score up on the board. + */ +void +prpeg(score, peg, myturn) + int score; + int peg; + BOOLEAN myturn; +{ + int y, x; + + if (!myturn) + y = SCORE_Y + 2; + else + y = SCORE_Y + 5; + + if (score <= 0 || score >= glimit) { + if (peg == '.') + peg = ' '; + if (score == 0) + x = SCORE_X + 2; + else { + x = SCORE_X + 2; + y++; + } + } else { + x = (score - 1) % 30; + if (score > 90 || (score > 30 && score <= 60)) { + y++; + x = 29 - x; + } + x += x / 5; + x += SCORE_X + 3; + } + mvaddch(y, x, peg); + mvprintw(SCORE_Y + (myturn ? 7 : 1), SCORE_X + 10, "%3d", score); +} + +/* + * cdiscard -- the computer figures out what is the best discard for + * the crib and puts the best two cards at the end + */ +void +cdiscard(mycrib) + BOOLEAN mycrib; +{ + CARD d[CARDS], h[FULLHAND], cb[2]; + int i, j, k; + int nc, ns; + long sums[15]; + static int undo1[15] = {0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4}; + static int undo2[15] = {1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5, 4, 5, 5}; + + makedeck(d); + nc = CARDS; + for (i = 0; i < knownum; i++) { /* get all other cards */ + cremove(known[i], d, nc--); + } + for (i = 0; i < 15; i++) + sums[i] = 0L; + ns = 0; + for (i = 0; i < (FULLHAND - 1); i++) { + cb[0] = chand[i]; + for (j = i + 1; j < FULLHAND; j++) { + cb[1] = chand[j]; + for (k = 0; k < FULLHAND; k++) + h[k] = chand[k]; + cremove(chand[i], h, FULLHAND); + cremove(chand[j], h, FULLHAND - 1); + for (k = 0; k < nc; k++) { + sums[ns] += + scorehand(h, d[k], CINHAND, TRUE, FALSE); + if (mycrib) + sums[ns] += adjust(cb, d[k]); + else + sums[ns] -= adjust(cb, d[k]); + } + ++ns; + } + } + j = 0; + for (i = 1; i < 15; i++) + if (sums[i] > sums[j]) + j = i; + for (k = 0; k < FULLHAND; k++) + h[k] = chand[k]; + cremove(h[undo1[j]], chand, FULLHAND); + cremove(h[undo2[j]], chand, FULLHAND - 1); + chand[4] = h[undo1[j]]; + chand[5] = h[undo2[j]]; +} + +/* + * returns true if some card in hand can be played without exceeding 31 + */ +int +anymove(hand, n, sum) + const CARD hand[]; + int n, sum; +{ + int i, j; + + if (n < 1) + return (FALSE); + j = hand[0].rank; + for (i = 1; i < n; i++) { + if (hand[i].rank < j) + j = hand[i].rank; + } + return (sum + VAL(j) <= 31); +} + +/* + * anysumto returns the index (0 <= i < n) of the card in hand that brings + * the s up to t, or -1 if there is none + */ +int +anysumto(hand, n, s, t) + const CARD hand[]; + int n, s, t; +{ + int i; + + for (i = 0; i < n; i++) { + if (s + VAL(hand[i].rank) == t) + return (i); + } + return (-1); +} + +/* + * return the number of cards in h having the given rank value + */ +int +numofval(h, n, v) + const CARD h[]; + int n, v; +{ + int i, j; + + j = 0; + for (i = 0; i < n; i++) { + if (VAL(h[i].rank) == v) + ++j; + } + return (j); +} + +/* + * makeknown remembers all n cards in h for future recall + */ +void +makeknown(h, n) + const CARD h[]; + int n; +{ + int i; + + for (i = 0; i < n; i++) + known[knownum++] = h[i]; +} diff --git a/dab/Makefile.bsd b/dab/Makefile.bsd new file mode 100644 index 0000000..76cbc7c --- /dev/null +++ b/dab/Makefile.bsd @@ -0,0 +1,12 @@ +# $NetBSD: Makefile,v 1.3 2004/01/05 15:35:59 christos Exp $ + +WARNS=2 +DPADD+=${LIBCURSES} ${LIBTERMCAP} ${LIBM} +LDADD+=-lcurses -ltermcap -lm + +PROG_CXX=dab +MAN=dab.6 +SRCS=algor.cc board.cc main.cc human.cc box.cc player.cc gamescreen.cc \ + ttyscrn.cc random.cc + +.include diff --git a/dab/Makefrag b/dab/Makefrag new file mode 100644 index 0000000..50b9bf7 --- /dev/null +++ b/dab/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for banner +# +# Copyright (c) 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +dab_DIRS := $(GAMESDIR) $(MAN6DIR) + +dab_all: dab/dab dab/dab.6 + +dab_install: dab_all + $(INSTALL_BINARY) dab/dab $(INSTALL_PREFIX)$(GAMESDIR)/dab + $(HIDE_GAME) dab + $(INSTALL_MANUAL) dab/dab.6 diff --git a/dab/algor.cc b/dab/algor.cc new file mode 100644 index 0000000..b84a3bd --- /dev/null +++ b/dab/algor.cc @@ -0,0 +1,314 @@ +/* $NetBSD: algor.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * algor.C: Computer algorithm + */ +#include "defs.h" +RCSID("$NetBSD: algor.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include "algor.h" +#include "board.h" +#include "box.h" +#include "random.h" + +ALGOR::ALGOR(const char c) : PLAYER(c) +{ +#ifdef notyet + // Single Edges = (x + y) * 2 + _edge1 = (_b.nx() * _b.ny()) * 2; + // Shared Edges = (x * (y - 1)) + ((x - 1) * y) + _edge2 = (_b.nx() * (_b.ny() - 1)) + ((_b.nx() - 1) * _b.ny()); + // Maximum Edges filled before closure = x * y * 2 + _maxedge = _b.nx() * _b.ny() * 2; +#endif +} + +// Find the first closure, i.e. a box that has 3 edges +int ALGOR::find_closure(size_t& y, size_t& x, int& dir, BOARD& b) +{ + RANDOM rdy(b.ny()), rdx(b.nx()); + + for (y = rdy(); y < b.ny(); y = rdy()) { + rdx.clear(); + for (x = rdx(); x < b.nx(); x = rdx()) { + BOX box(y, x, b); + if (box.count() == 3) { + for (dir = BOX::first; dir < BOX::last; dir++) + if (!box.isset(dir)) + return 1; + b.abort("find_closure: 3 sided box[%d,%d] has no free sides", + y, x); + } + } + } + return 0; +} + +#if 0 +size_t ALGOR::find_single() +{ + size_t ne; + + // Find the number of single edges in use + for (size_t x = 0; x < b.nx(); x++) { + BOX tbox(0, x, b); + ne += tbox.isset(BOX::top); + BOX bbox(b.ny() - 1, x, b); + ne += bbox.isset(BOX::bottom); + } + for (size_t y = 0; y < _b.ny(); y++) { + BOX lbox(y, 0, b); + ne += lbox.isset(BOX::left); + BOX rbox(y,_b.nx() - 1, b); + ne += rbox.isset(BOX::right); + } + return ne; +} +#endif + + +// Count a closure, by counting all boxes that we can close in the current +// move +size_t ALGOR::count_closure(size_t& y, size_t& x, int& dir, BOARD& b) +{ + size_t i = 0; + size_t tx, ty; + int tdir, mv; + + while (find_closure(ty, tx, tdir, b)) { + if (i == 0) { + // Mark the beginning of the closure + x = tx; + y = ty; + dir = tdir; + } + if ((mv = b.domove(ty, tx, tdir, getWho())) == -1) + b.abort("count_closure: Invalid move (%d, %d, %d)", y, x, dir); + else + i += mv; + } + return i; +} + + +/* + * Find the largest closure, by closing all possible closures. + * return the number of boxes closed in the maximum closure, + * and the first box of the maximum closure in (x, y, dir) + */ +int ALGOR::find_max_closure(size_t& y, size_t& x, int& dir, const BOARD& b) +{ + BOARD nb(b); + int tdir, maxdir = -1; + size_t nbox, maxbox = 0; + size_t tx, ty, maxx = ~0, maxy = ~0; + + while ((nbox = count_closure(ty, tx, tdir, nb)) != 0) + if (nbox > maxbox) { + // This closure is better, update max + maxbox = nbox; + maxx = tx; + maxy = ty; + maxdir = tdir; + } + + // Return the max found + y = maxy; + x = maxx; + dir = maxdir; + return maxbox; +} + + +// Find if a turn does not result in a capture on the given box +// and return the direction if found. +int ALGOR::try_good_turn(BOX& box, size_t y, size_t x, int& dir, BOARD& b) +{ + // Sanity check; we must have a good box + if (box.count() >= 2) + b.abort("try_good_turn: box[%d,%d] has more than 2 sides occupied", + y, x); + + // Make sure we don't make a closure in an adjacent box. + // We use a random direction to randomize the game + RANDOM rd(BOX::last); + for (dir = rd(); dir < BOX::last; dir = rd()) + if (!box.isset(dir)) { + size_t by = y + BOX::edges[dir].y; + size_t bx = x + BOX::edges[dir].x; + if (!b.bounds(by, bx)) + return 1; + + BOX nbox(by, bx, b); + if (nbox.count() < 2) + return 1; + } + + return 0; +} + + +// Try to find a turn that does not result in an opponent closure, and +// return it in (x, y, dir); if not found return 0. +int ALGOR::find_good_turn(size_t& y, size_t& x, int& dir, const BOARD& b) +{ + BOARD nb(b); + RANDOM rdy(b.ny()), rdx(b.nx()); + + for (y = rdy(); y < b.ny(); y = rdy()) { + rdx.clear(); + for (x = rdx(); x < b.nx(); x = rdx()) { + BOX box(y, x, nb); + if (box.count() < 2 && try_good_turn(box, y, x, dir, nb)) + return 1; + } + } + return 0; +} + +// On a box with 2 edges, return the first or the last free edge, depending +// on the order specified +int ALGOR::try_bad_turn(BOX& box, size_t& y, size_t& x, int& dir, BOARD& b, + int last) +{ + if (4 - box.count() <= last) + b.abort("try_bad_turn: Called at [%d,%d] for %d with %d", + y, x, last, box.count()); + for (dir = BOX::first; dir < BOX::last; dir++) + if (!box.isset(dir)) { + if (!last) + return 1; + else + last--; + } + return 0; +} + +// Find a box that has 2 edges and return the first free edge of that +// box or the last free edge of that box +int ALGOR::find_bad_turn(size_t& y, size_t& x, int& dir, BOARD& b, int last) +{ + RANDOM rdy(b.ny()), rdx(b.nx()); + for (y = rdy(); y < b.ny(); y = rdy()) { + rdx.clear(); + for (x = rdx(); x < b.nx(); x = rdx()) { + BOX box(y, x, b); + if ((4 - box.count()) > last && + try_bad_turn(box, y, x, dir, b, last)) + return 1; + } + } + return 0; +} + +int ALGOR::find_min_closure1(size_t& y, size_t& x, int& dir, const BOARD& b, + int last) +{ + BOARD nb(b); + int tdir, mindir = -1, xdir, mv; + // number of boxes per closure + size_t nbox, minbox = nb.nx() * nb.ny() + 1; + size_t tx, ty, minx = ~0, miny = ~0; + + while (find_bad_turn(ty, tx, tdir, nb, last)) { + + // Play a bad move that would cause the opponent's closure + if ((mv = nb.domove(ty, tx, tdir, getWho())) != 0) + b.abort("find_min_closure1: Invalid move %d (%d, %d, %d)", mv, + ty, tx, tdir); + + // Count the opponent's closure + if ((nbox = count_closure(y, x, xdir, nb)) == 0) + b.abort("find_min_closure1: no closure found"); + + if (nbox <= minbox) { + // This closure has fewer boxes + minbox = nbox; + minx = tx; + miny = ty; + mindir = tdir; + } + } + + y = miny; + x = minx; + dir = mindir; + return minbox; +} + + +// Search for the move that makes the opponent close the least number of +// boxes; returns 1 if a move found, 0 otherwise +int ALGOR::find_min_closure(size_t& y, size_t& x, int& dir, const BOARD& b) +{ + size_t x1, y1; + int dir1; + int count = b.ny() * b.nx() + 1, count1; + + for (size_t i = 0; i < 3; i++) + if (count > (count1 = find_min_closure1(y1, x1, dir1, b, i))) { + count = count1; + y = y1; + x = x1; + dir = dir1; + } + + return (size_t) count != b.ny() * b.nx() + 1; +} + +// Return a move in (y, x, dir) +void ALGOR::play(const BOARD& b, size_t& y, size_t& x, int& dir) +{ + // See if we can close the largest closure available + if (find_max_closure(y, x, dir, b)) + return; + +#ifdef notyet + size_t sgl = find_single(); + size_t dbl = find_double(); +#endif + + // See if we can play an edge without giving the opponent a box + if (find_good_turn(y, x, dir, b)) + return; + + // Too bad, find the move that gives the opponent the fewer boxes + if (find_min_closure(y, x, dir, b)) + return; +} diff --git a/dab/algor.h b/dab/algor.h new file mode 100644 index 0000000..862c93a --- /dev/null +++ b/dab/algor.h @@ -0,0 +1,86 @@ +/* $NetBSD: algor.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * algor.h: Computer's algorithm + */ + +#ifndef _H_ALGOR +#define _H_ALGOR + +#include "player.h" + +class BOARD; +class BOX; + +class ALGOR : public PLAYER { + public: + ALGOR(const char c); + // Return a proposed move in (y, x, dir) + void play(const BOARD& b, size_t& y, size_t& x, int& dir); + + private: + // Closure searches + int find_closure(size_t& y, size_t& x, int& dir, BOARD& b); + int find_max_closure(size_t& y, size_t& x, int& dir, const BOARD& b); + int find_min_closure1(size_t& y, size_t& x, int& dir, const BOARD& b, + int last); + int find_min_closure(size_t& y, size_t& x, int& dir, const BOARD& b); + + // Move searches + int find_good_turn(size_t& y, size_t& x, int& dir, const BOARD& b); + int find_bad_turn(size_t& y, size_t& x, int& dir, BOARD& b, int last); + + // Move Attempts + int try_bad_turn(BOX& box, size_t& y, size_t& x, int& dir, BOARD& b, + int last); + int try_good_turn(BOX& box, size_t y, size_t x, int& dir, BOARD& b); + + // Utils + size_t count_closure(size_t& y, size_t& x, int& dir, BOARD& b); + +#ifdef notyet + size_t find_single(void); +#endif + + size_t _edge1; + size_t _edge2; + size_t _maxedge; +}; + +#endif diff --git a/dab/board.cc b/dab/board.cc new file mode 100644 index 0000000..6cd3e95 --- /dev/null +++ b/dab/board.cc @@ -0,0 +1,260 @@ +/* $NetBSD: board.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * board.C: Board manipulations + */ +#include "defs.h" +RCSID("$NetBSD: board.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include +#include +#include +#include "board.h" +#include "gamescreen.h" +#include "box.h" +#include "player.h" + +BOARD::BOARD(size_t y, size_t x, GAMESCREEN* scrn) : + _ny(y), + _nx(x), + _scrn(scrn) +{ + _ty = 2 * _ny + 1; + _tx = 2 * _nx + 1; + + _b = new int*[_ty]; + + for (y = 0; y < _ty; y++) + _b[y] = new int[_tx]; + + init(); +} + +BOARD::BOARD(const BOARD& b) : + _ty(b._ty), + _tx(b._tx), + _ny(b._ny), + _nx(b._nx), + _scrn(NULL) +{ + _b = new int*[_ty]; + + for (size_t y = 0; y < _ty; y++) { + _b[y] = new int[_tx]; + (void) memcpy(_b[y], b._b[y], _tx * sizeof(int)); + } +} + +BOARD::~BOARD() +{ + size_t y; + + for (y = 0; y < _ty; y++) + delete[] _b[y]; + + delete[] _b; +} + +// Clear all boxes and reset state for a new game +void BOARD::init(void) +{ + size_t x, y; + + for (y = 0; y < _ny; y++) + for (x = 0; x < _nx; x++) { + BOX box(y, x, *this); + box.reset(); + } +} + +/* + * Make a move for player with initial 'c', adding an edge at box(x, y) + * and the specified direction. + * returns: + * -1: Invalid move + * n: Number of closures n E [0..2] + */ +int BOARD::domove(size_t y, size_t x, int dir, char c) +{ + int closed = 0; + + // Check if out of bounds + if (!bounds(y, x)) + return -1; + + BOX box1(y, x, *this); + + // Check if the edge is already there + if (box1.isset(dir)) + return -1; + + box1.set(dir); + + if (box1.count() == 4) { + // New box; name it and count it + box1.name() = c; + closed++; + } + + box1.paint(); + + // Check other box + x += BOX::edges[dir].x; + y += BOX::edges[dir].y; + + if (bounds(y, x)) { + BOX box2(y, x, *this); + if (box2.count() == 4) { + box2.name() = c; + box2.paint(); + closed++; + } + } + return closed; +} + +// Return true if the board is full +int BOARD::full(void) const +{ + for (size_t y = 0; y < _ny; y++) + for (size_t x = 0; x < _nx; x++) { + BOX box(y, x, (BOARD&) *this); + if (box.count() != 4) + return 0; + } + return 1; +} + +// Return if the coordinates are within bounds; we don't check for < 0, +// since size_t is unsigned +int BOARD::bounds(size_t y, size_t x) const +{ + return x < _nx && y < _ny; +} + +// Paint all boxes, effectively redrawing the board +void BOARD::paint(void) const +{ + for (size_t y = 0; y < _ny; y++) + for (size_t x = 0; x < _nx; x++) { + BOX box(y, x, (BOARD&) *this); + box.paint(); + } +} + +// Clear the screen +void BOARD::clean(void) const +{ + if (!_scrn) + return; + _scrn->clean(); +} + +// Move cursor to x, y +void BOARD::setpos(size_t y, size_t x) const +{ + if (!_scrn) + return; + _scrn->moveto(y, x); + _scrn->redraw(); +} + +// Return character indicating move +int BOARD::getmove(void) const +{ + if (!_scrn) + return 'q'; + _scrn->redraw(); + return _scrn->getinput(); +} + +// Ring the bell +void BOARD::bell(void) const +{ + if (!_scrn) + return; + _scrn->bell(); +} + +// Post the score in the current game for player i +void BOARD::score(size_t i, const PLAYER& p) +{ + if (_scrn == NULL) + return; + _scrn->score(i, p); +} + +// Post the number of games won for player i +void BOARD::games(size_t i, const PLAYER& p) +{ + if (_scrn == NULL) + return; + _scrn->games(i, p); +} + +// Post the total score for player i +void BOARD::total(size_t i, const PLAYER& p) +{ + if (_scrn == NULL) + return; + _scrn->total(i, p); +} + +// Post the total score for player i +void BOARD::ties(const PLAYER& p) +{ + if (_scrn == NULL) + return; + _scrn->ties(p); +} + +// Internal algorithm error; post and abort +void BOARD::abort(const char* s, ...) const +{ + for (size_t i = 0; i < _ny; i++) + fprintf(stderr, "\n"); + + va_list ap; + fprintf(stderr, "Algorithm internal error: "); + va_start(ap, s); + vfprintf(stderr, s, ap); + va_end(ap); + fprintf(stderr, "\n"); + ::abort(); +} diff --git a/dab/board.h b/dab/board.h new file mode 100644 index 0000000..9a21a0a --- /dev/null +++ b/dab/board.h @@ -0,0 +1,92 @@ +/* $NetBSD: board.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * board.h: Board functions + */ + +#ifndef _H_BOARD +#define _H_BOARD + +#include + +class GAMESCREEN; +class PLAYER; + +class BOARD { + public: + // Constructors and destructor + BOARD(size_t y, size_t x, GAMESCREEN* scrn);// For the main screen + BOARD(const BOARD& b); // For scratch screens + ~BOARD(); + + // member access + size_t nx(void) const { return _nx; } + size_t ny(void) const { return _ny; } + size_t tx(void) const { return _tx; } + size_t ty(void) const { return _ty; } + GAMESCREEN* getScrn(void) const { return _scrn; } + int& data(size_t y, size_t x) { return _b[y][x]; } + + // Computing + int domove(size_t y, size_t x, int dir, char c); // Play move + void init(void); // Initialize a new game + int full(void) const; // True if no more moves + int bounds(size_t y, size_t x) const; // True if in bounds + + // Screen updates + void paint(void) const; // Redraw screen + void clean(void) const; // Clear screen + void setpos(size_t y, size_t x) const; // move cursor to pos + int getmove(void) const; // Return move + void bell(void) const; // Beep! + void score(size_t i, const PLAYER& p); // Post score + void games(size_t i, const PLAYER& p); // Post games + void total(size_t i, const PLAYER& p); // Post totals + void ties(const PLAYER& p); // Post ties + void abort(const char *s, ...) const; // Algorithm error + + + private: + size_t _ty, _tx; // number of symbols in x and y dimension + size_t _ny, _nx; // number of boxes in the x and y dimension + int** _b; // board array of symbols + GAMESCREEN* _scrn; // screen access, if we have one +}; + +#endif diff --git a/dab/box.cc b/dab/box.cc new file mode 100644 index 0000000..ed9cadb --- /dev/null +++ b/dab/box.cc @@ -0,0 +1,157 @@ +/* $NetBSD: box.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * box.C: Box computations + */ +#include "defs.h" +RCSID("$NetBSD: box.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include "box.h" +#include "board.h" +#include "gamescreen.h" +#include + +const POINT BOX::edges[BOX::last] = + { { 0, -1 }, { 0, 1 }, { -1, 0 }, { 1, 0 } }; +const POINT BOX::corners[BOX::last] = + { { -1, -1 }, { -1, 1 }, { 1, -1 }, { 1, 1 } }; +const int BOX::syms[BOX::last] = + { GAMESCREEN::GS_HLINE, GAMESCREEN::GS_HLINE, + GAMESCREEN::GS_VLINE, GAMESCREEN::GS_VLINE }; + +BOX::BOX(size_t py, size_t px, BOARD& b) : + _b(b) +{ + _centery = py * 2 + 1; + _centerx = px * 2 + 1; +} + +void BOX::addcorner(size_t y, size_t x) +{ + char sym; + _b.getScrn()->moveto(y, x); + if (x == 0) { + if (y == 0) + sym = GAMESCREEN::GS_ULCORNER; + else if (y == _b.ty() - 1) + sym = GAMESCREEN::GS_LLCORNER; + else + sym = GAMESCREEN::GS_LTEE; + } else if (x == _b.tx() - 1) { + if (y == 0) + sym = GAMESCREEN::GS_URCORNER; + else if (y == _b.ty() - 1) + sym = GAMESCREEN::GS_LRCORNER; + else + sym = GAMESCREEN::GS_RTEE; + } else if (y == 0) + sym = GAMESCREEN::GS_TTEE; + else if (y == _b.ty() - 1) + sym = GAMESCREEN::GS_BTEE; + else + sym = GAMESCREEN::GS_PLUS; + + _b.getScrn()->addedge(sym); +} + +// Paint a box +void BOX::paint(void) +{ + int e; + if (_b.getScrn() == NULL) + return; + + _b.getScrn()->moveto(_centery, _centerx); + _b.getScrn()->addsym(name()); + + for (e = BOX::first; e < BOX::last; e++) { + addcorner(_centery + corners[e].y, _centerx + corners[e].x); + _b.getScrn()->moveto(_centery + edges[e].y, _centerx + edges[e].x); + _b.getScrn()->addedge(edge((EDGE) e)); + } + _b.getScrn()->redraw(); +} + +// Return the name +int& BOX::name(void) +{ + return _b.data(_centery, _centerx); +} + +// Set an edge +void BOX::set(int e) +{ + _b.data(_centery + edges[e].y, _centerx + edges[e].x) = syms[e]; +} + +// Clear an edge +void BOX::clr(int e) +{ + _b.data(_centery + edges[e].y, _centerx + edges[e].x) = ' '; +} + +// Test an edge +int BOX::isset(int e) const +{ + return _b.data(_centery + edges[e].y, _centerx + edges[e].x) != ' '; +} + +// Return the edge +int& BOX::edge(int e) +{ + return _b.data(_centery + edges[e].y, _centerx + edges[e].x); +} + +// Count the number of edges set in the box +int BOX::count(void) const +{ + int cnt = 0; + + for (int e = BOX::first; e < BOX::last; e++) + cnt += isset((EDGE) e); + return cnt; +} + +// Clear the box +void BOX::reset(void) +{ + for (int e = BOX::first; e < BOX::last; e++) + clr((EDGE) e); + name() = ' '; +} diff --git a/dab/box.h b/dab/box.h new file mode 100644 index 0000000..015e9a7 --- /dev/null +++ b/dab/box.h @@ -0,0 +1,100 @@ +/* $NetBSD: box.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * box.C: Single box utilities; A box is an entity with four edges, four + * corners, and a center that maps directly to a board + */ + +#ifndef _H_BOX +#define _H_BOX + +#include + +class BOARD; + +class POINT { + public: + int x; + int y; +}; + +class BOX { + public: + enum EDGE { + first = 0, + top = 0, + bottom = 1, + left = 2, + right = 3, + last = 4, + }; + + BOX(size_t py, size_t px, BOARD& b); + + void reset(void); // Clear a box + void paint(void); // Paint a box + + // Member access + int& name(void); + int& edge(int e); + + // Edge maniputations + void set(int e); + void clr(int e); + int isset(int e) const; + + int count(void) const; // Count the number of edges in use + + // Useful constants + // Relative coordinates of the edges from the center of the box. + static const POINT edges[BOX::last]; + // Relative coordinates of the corners from the center of the box. + static const POINT corners[BOX::last]; + // Character symbols of the four edges + static const int syms[BOX::last]; + + private: + void addcorner(size_t y, size_t x); // add a corner character + + size_t _centerx; // Coordinates of the center in board units + size_t _centery; + BOARD& _b; // The board we refer to +}; + +#endif diff --git a/dab/dab.6 b/dab/dab.6 new file mode 100644 index 0000000..a5feab5 --- /dev/null +++ b/dab/dab.6 @@ -0,0 +1,110 @@ +.\" $NetBSD: dab.6,v 1.1.1.1 2003/12/26 17:57:04 christos Exp $ +.\" +.\" Copyright (c) 2003 Thomas Klausner. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd December 24, 2003 +.Dt DAB 6 +.Os +.Sh NAME +.Nm dab +.Nd Dots and Boxes game +.Sh SYNOPSIS +.Nm +.Op Fl aw +.Op Fl n Ar ngames +.Op Fl p Ao Ar c|h Ac Ns Ao Ar c|h Ac +.Op Ar xdim Oo Ar ydim Oc +.Sh DESCRIPTION +.Nm +is a game where each player tries to complete the most +boxes. +A turn consists of putting one border of a box; the player +setting the fourth and final border of a box gets the +point for the box and has another turn. +.Pp +The keys used are the vi keys: +.Ic k +for up, +.Ic j +for down, +.Ic h +for left, and +.Ic l +for right. +To switch between even and odd rows, use one of the following +keys: +.Ic u +.Pq diagonal right up , +.Ic y +.Pq diagonal left up , +.Ic b +.Pq diagonal left down , +.Ic n +.Pq diagonal right down ; +.Aq Ic space +sets a new border, +.Ic CTRL-L +and +.Ic CTRL-R +redraw the screen, and +.Ic q +quits the game. +.Pp +Support options are: +.Bl -tag -width XXnXngamesXXXXX +.It Fl a +Don't use the alternate character set. +.It Fl n Ar ngames +.Ar ngames +games will be played. +.Pq Especially useful in Fl p Ar cc No mode. +.It Fl p Ao Ar c|h Ac Ns Ao Ar c|h Ac +Select which of the two players is a human +or a computer. +The first argument is the first player; +.Ic c +stands for computer and +.Ic h +for human. +.It Fl w +Wait for a character press between games. +.El +.Pp +.Ar xdim +and +.Ar ydim +define the size of the board in the x and y +dimensions. +.Sh AUTHORS +.An Christos Zoulas +.Aq christos@NetBSD.org +.Sh SEE ALSO +.Rs +.%A Elwyn R. Berlekamp +.%T The Dots and Boxes Game: Sophisticated Child's Play +.%D 2000 +.%I A K Peters +.%O http://www.akpeters.com/book.asp?bID=111 +.Re diff --git a/dab/defs.h b/dab/defs.h new file mode 100644 index 0000000..b0bda57 --- /dev/null +++ b/dab/defs.h @@ -0,0 +1,51 @@ +/* $NetBSD: defs.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * defs.h: Macro defines + */ + +#ifndef _H_DEFS +#define _H_DEFS + +#include + +#define RCSID(id) \ + static const char *rcsid(const char* x) { return x ? rcsid(id) : x; } + +#endif diff --git a/dab/gamescreen.cc b/dab/gamescreen.cc new file mode 100644 index 0000000..47a9e22 --- /dev/null +++ b/dab/gamescreen.cc @@ -0,0 +1,50 @@ +/* $NetBSD: gamescreen.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * gamescreen.C: Common screen functions + */ +#include "defs.h" +RCSID("$NetBSD: gamescreen.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include "gamescreen.h" + +// Nothing to do +GAMESCREEN::~GAMESCREEN() +{ +} diff --git a/dab/gamescreen.h b/dab/gamescreen.h new file mode 100644 index 0000000..ca90cb3 --- /dev/null +++ b/dab/gamescreen.h @@ -0,0 +1,79 @@ +/* $NetBSD: gamescreen.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * screen.h: Screen base class + */ + +#ifndef _H_GAMESCREEN +#define _H_GAMESCREEN + +#include + +class PLAYER; + +class GAMESCREEN { + public: + enum EDGE { + GS_HLINE, + GS_VLINE, + GS_ULCORNER, + GS_URCORNER, + GS_LLCORNER, + GS_LRCORNER, + GS_LTEE, + GS_RTEE, + GS_TTEE, + GS_BTEE, + GS_PLUS + }; + virtual ~GAMESCREEN(); + virtual void clean(void) = 0; // Clear screen + virtual void moveto(size_t y, size_t x) = 0; // Move to x, y + virtual void addsym(const int sym) = 0; // Add character symbol + virtual void addedge(const int sym) = 0; // Add character symbol + virtual void redraw(void) = 0; // Refresh + virtual int getinput(void) = 0; // Get user input + virtual void bell(void) = 0; // Beep + virtual void score(size_t p, const PLAYER& p) = 0; // Post current score + virtual void games(size_t p, const PLAYER& p) = 0; // Post games won + virtual void total(size_t p, const PLAYER& p) = 0; // Post total score + virtual void ties(const PLAYER& p) = 0; // Post tie games +}; + +#endif diff --git a/dab/human.cc b/dab/human.cc new file mode 100644 index 0000000..79ceeb7 --- /dev/null +++ b/dab/human.cc @@ -0,0 +1,151 @@ +/* $NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * human.C: Human interface for dots, using rogue-like keys. + */ +#include "defs.h" +RCSID("$NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include "human.h" +#include "board.h" +#include "box.h" + +#define CONTROL(a) ((a) & 037) + +HUMAN::HUMAN(const char c) : + PLAYER(c), + _curx(0), + _cury(1) +{ +} + +void HUMAN::play(const BOARD& b, size_t& y, size_t& x, int& dir) +{ + int mv; + b.setpos(_cury, _curx); + + for (;;) { + switch (mv = b.getmove()) { + case 'h': case 'H': + _curx -= 2; + break; + + case 'l': case 'L': + _curx += 2; + break; + + case 'k': case 'K': + _cury -= 2; + break; + + case 'j': case 'J': + _cury += 2; + break; + + case 'u': case 'U': + _curx += 1; + _cury -= 1; + break; + + case 'y': case 'Y': + _curx -= 1; + _cury -= 1; + break; + + case 'b': case 'B': + _curx -= 1; + _cury += 1; + break; + + case 'n': case 'N': + _curx += 1; + _cury += 1; + break; + + case 'q': case 'Q': + exit(0); + + case CONTROL('L'): case CONTROL('R'): + b.clean(); + b.paint(); + break; + + case ' ': + { + x = _curx / 2; + y = _cury / 2; + + if (_cury & 1) { + if (_curx == 0) + dir = BOX::left; + else { + x--; + dir = BOX::right; + } + } + + if (_curx & 1) { + if (_cury == 0) + dir = BOX::top; + else { + y--; + dir = BOX::bottom; + } + } + } + return; + + default: + break; + } + + // We add 2 before the comparison to avoid underflow + if ((2 + _curx) - (_curx & 1) < 2) + _curx = (b.nx() * 2) + (_curx & 1); + if (_curx >= (b.nx() * 2) + 1) + _curx = (_curx & 1); + + if ((2 + _cury) - (_cury & 1) < 2) + _cury = (b.ny() * 2) + (_cury & 1); + if (_cury >= (b.ny() * 2) + 1) + _cury = (_cury & 1); + + b.setpos(_cury, _curx); + } +} diff --git a/dab/human.h b/dab/human.h new file mode 100644 index 0000000..b245ee1 --- /dev/null +++ b/dab/human.h @@ -0,0 +1,59 @@ +/* $NetBSD: human.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * human.h: Human input interface + */ + +#ifndef _H_HUMAN +#define _H_HUMAN +#include +#include "player.h" + +class BOARD; + +class HUMAN : public PLAYER { + public: + HUMAN(const char c); + // Return move in y, x, and dir + void play(const BOARD& b, size_t& y, size_t& x, int& dir); + private: + size_t _curx, _cury; // Current cursor position +}; + +#endif diff --git a/dab/main.cc b/dab/main.cc new file mode 100644 index 0000000..399aa83 --- /dev/null +++ b/dab/main.cc @@ -0,0 +1,196 @@ +/* $NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * main.C: Main dots program + */ +#include "defs.h" +RCSID("$NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $") + +#include +#include +#include +#include +#include +#include "algor.h" +#include "board.h" +#include "human.h" +#include "ttyscrn.h" + +// Print the command line usage +static void usage(char* pname) +{ + char* p = strrchr(pname, '/'); + if (p) + p++; + else + p = pname; + std::cerr << "Usage: " << p + << " [-w] [-p ] [-n ] [ []]" << std::endl; +} + +// Play a single game +static void play(BOARD& b, PLAYER* p[2]) +{ + // Initialize + b.init(); + p[0]->init(); + p[1]->init(); + b.paint(); + + // Alternate turns between players, scoring each turn + for (size_t i = 0;; i = (i + 1) & 1) { + b.score(i, *p[i]); + if (!p[i]->domove(b)) { + // No more moves, game over + break; + } + b.score(i, *p[i]); + } + + // Find who won + p[0]->wl(p[1]->getScore()); + p[1]->wl(p[0]->getScore()); + + // Post scores + b.score(0, *p[0]); + b.score(1, *p[1]); + + // Post totals + b.total(0, *p[0]); + b.total(1, *p[1]); + + // Post games + b.games(0, *p[0]); + b.games(1, *p[1]); + + // Post ties + b.ties(*p[0]); +} + +int main(int argc, char** argv) +{ + size_t ny, nx, nn = 1, wt = 0; + const char* nc = "ch"; + int c; + int acs = 1; + + while ((c = getopt(argc, argv, "awp:n:")) != -1) + switch (c) { + case 'a': + acs = 0; + break; + case 'w': + wt++; + break; + + case 'p': + nc = optarg; + break; + + case 'n': + nn = atoi(optarg); + break; + + default: + usage(argv[0]); + return 1; + } + + // Get the size of the board if specified + switch (argc - optind) { + case 0: + ny = nx = 3; + break; + + case 1: + ny = nx = atoi(argv[optind]); + break; + + case 2: + nx = atoi(argv[optind]); + ny = atoi(argv[optind+1]); + break; + + default: + usage(argv[0]); + return 1; + } + + + PLAYER* p[2]; + + // Allocate players + for (size_t i = 0; i < 2; i++) { + char n = nc[1] == nc[0] ? i + '0' : nc[i]; + switch (nc[i]) { + case 'c': + p[i] = new ALGOR(n); + break; + + case 'h': + p[i] = new HUMAN(n); + break; + + default: + usage(argv[0]); + return 1; + } + } + + GAMESCREEN *sc = TTYSCRN::create(acs, ny, nx); + if (sc == NULL) + ::errx(1, "Dimensions too large for current screen."); + + BOARD b(ny, nx, sc); + + // Play games + while (nn--) { + play(b, p); + if (wt) + b.getmove(); + } + + if (wt == 0) + b.getmove(); + // Cleanup + delete sc; + delete p[0]; + delete p[1]; + return 0; +} diff --git a/dab/player.cc b/dab/player.cc new file mode 100644 index 0000000..25ae6ca --- /dev/null +++ b/dab/player.cc @@ -0,0 +1,98 @@ +/* $NetBSD: player.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * player.C: Player base class + */ + +#include "defs.h" +RCSID("$NetBSD: player.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include "board.h" +#include "player.h" + +PLAYER::PLAYER(char who) : + _who(who), + _score(0), + _total(0), + _games(0), + _ties(0) +{ +} + +void PLAYER::init(void) +{ + _score = 0; +} + +void PLAYER::wl(size_t sc) +{ + _total += _score; + _games += sc < _score; + _ties += sc == _score; +} + +int PLAYER::domove(BOARD& b) +{ + size_t y, x; + int dir; + int score; + + for (;;) { + if (b.full()) + return 0; + + play(b, y, x, dir); + + switch (score = b.domove(y, x, dir, _who)) { + case 0: + // No closure + return 1; + + case -1: + // Not a valid move + b.bell(); + break; + + default: + // Closure, play again + _score += score; + break; + } + } +} diff --git a/dab/player.h b/dab/player.h new file mode 100644 index 0000000..514b9b7 --- /dev/null +++ b/dab/player.h @@ -0,0 +1,76 @@ +/* $NetBSD: player.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * player.h: Player base class + */ +#ifndef _H_PLAYER +#define _H_PLAYER + +class BOARD; + +#include + +class PLAYER { + public: + PLAYER(char who); + virtual void play(const BOARD& b, size_t& y, size_t& x, int& dir) = 0; + + // Helper functions + void init(void); + int domove(BOARD& b); + + // Member access + char getWho(void) const { return _who; } + + // Display + size_t getScore(void) const { return _score; } + size_t getTotal(void) const { return _total; } + size_t getGames(void) const { return _games; } + size_t getTies(void) const { return _ties; } + void wl(size_t sc); + + private: + char _who; + size_t _score; + size_t _total; + size_t _games; + size_t _ties; +}; + +#endif diff --git a/dab/random.cc b/dab/random.cc new file mode 100644 index 0000000..001c996 --- /dev/null +++ b/dab/random.cc @@ -0,0 +1,86 @@ +/* $NetBSD: random.cc,v 1.2 2003/12/28 17:49:10 thorpej Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * random.C: Randomizer for the dots program + */ + +#include "defs.h" +RCSID("$NetBSD: random.cc,v 1.2 2003/12/28 17:49:10 thorpej Exp $") + +#include +#include +#include "random.h" + +RANDOM::RANDOM(size_t ns) : + _bs(ns) +{ + _bm = new char[(_bs >> 3) + 1]; + clear(); +} + +RANDOM::~RANDOM() +{ + delete[] _bm; +} + +// Reinitialize +void RANDOM::clear(void) +{ + _nv = 0; + ::srand48(::time(NULL)); + (void) ::memset(_bm, 0, (_bs >> 3) + 1); +} + +// Return the next random value +size_t RANDOM::operator() (void) +{ + // No more values + if (_nv == _bs) + return _bs; + + for (;;) { + size_t r = ::lrand48(); + size_t z = r % _bs; + if (!isset(z)) { + set(z); + _nv++; + return z; + } + } +} diff --git a/dab/random.h b/dab/random.h new file mode 100644 index 0000000..4f5b81b --- /dev/null +++ b/dab/random.h @@ -0,0 +1,73 @@ +/* $NetBSD: random.h,v 1.2 2003/12/28 17:49:10 thorpej Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * random.h: Randomizer; returns a random sequence of values from [0..fx) + * returning each value exactly once. After fx calls it returns fx. + */ + +#ifndef _H_RANDOM +#define _H_RANDOM + +#include + +class RANDOM { + public: + // Constructor and destructor + RANDOM(size_t fx); + ~RANDOM(); + + size_t operator () (void); // Next random + void clear(void); // Reset + + private: + + int isset(size_t z) { + return (_bm[z >> 3] & (1 << (z & 7))) != 0; + } + + void set(size_t z) { + _bm[z >> 3] |= (1 << (z & 7)); + } + + char* _bm; // Bitmap indicating the numbers used + size_t _nv; // Number of values returned so far + size_t _bs; // Maximum value +}; + +#endif diff --git a/dab/test.cc b/dab/test.cc new file mode 100644 index 0000000..de03147 --- /dev/null +++ b/dab/test.cc @@ -0,0 +1,57 @@ +/* $NetBSD: test.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * test.C: Test program for randomizer + */ + +#include "defs.h" +RCSID("$NetBSD: test.cc,v 1.1 2003/12/27 01:16:55 christos Exp $") + +#include +#include "random.h" + +int +main(void) +{ + RANDOM rd(10); + + for (size_t x = rd(); x < 10; x = rd()) + std::cout << "x=" << x << std::endl; + return 0; +} diff --git a/dab/ttyscrn.cc b/dab/ttyscrn.cc new file mode 100644 index 0000000..62ae843 --- /dev/null +++ b/dab/ttyscrn.cc @@ -0,0 +1,235 @@ +/* $NetBSD: ttyscrn.cc,v 1.2 2003/12/27 18:24:51 martin Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ttyscrn.C: Curses screen implementation for dots + */ + +#include "defs.h" +RCSID("$NetBSD: ttyscrn.cc,v 1.2 2003/12/27 18:24:51 martin Exp $") + +#include +#include +#include + +#include "player.h" +#include "ttyscrn.h" + +void TTYSCRN::clean(void) +{ + clear(); +} + +void TTYSCRN::moveto(size_t y, size_t x) +{ + move(y + TTYSCRN::offsy, x + TTYSCRN::offsx); +} + +void TTYSCRN::addsym(const int sym) +{ + addch(sym); +} + +void TTYSCRN::addedge(const int sym) +{ + int nsym; +#ifdef A_ALTCHARSET + if (_acs) { + switch (sym) { + case GS_HLINE: + nsym = ACS_HLINE; + break; + case GS_VLINE: + nsym = ACS_VLINE; + break; + case GS_ULCORNER: + nsym = ACS_ULCORNER; + break; + case GS_URCORNER: + nsym = ACS_URCORNER; + break; + case GS_LLCORNER: + nsym = ACS_LLCORNER; + break; + case GS_LRCORNER: + nsym = ACS_LRCORNER; + break; + case GS_LTEE: + nsym = ACS_LTEE; + break; + case GS_RTEE: + nsym = ACS_RTEE; + break; + case GS_TTEE: + nsym = ACS_TTEE; + break; + case GS_BTEE: + nsym = ACS_BTEE; + break; + case GS_PLUS: + nsym = ACS_PLUS; + break; + case ' ': + addsym(' '); + return; + default: + ::abort(); + } + attron(A_ALTCHARSET); + addch(nsym); + attroff(A_ALTCHARSET); + return; + } +#endif + switch (sym) { + case GS_HLINE: + nsym = '-'; + break; + case GS_VLINE: + nsym = '|'; + break; + case GS_ULCORNER: + nsym = '.'; + break; + case GS_URCORNER: + nsym = '.'; + break; + case GS_LLCORNER: + nsym = '.'; + break; + case GS_LRCORNER: + nsym = '.'; + break; + case GS_LTEE: + nsym = '.'; + break; + case GS_RTEE: + nsym = '.'; + break; + case GS_TTEE: + nsym = '.'; + break; + case GS_BTEE: + nsym = '.'; + break; + case GS_PLUS: + nsym = '+'; + break; + case ' ': + addsym(' '); + return; + default: + ::abort(); + } + addsym(nsym); +} + +void TTYSCRN::redraw(void) +{ + refresh(); + doupdate(); +} + +void TTYSCRN::bell(void) +{ + putc('\007', stdout); +} + +int TTYSCRN::getinput(void) +{ + return getch(); +} + +void TTYSCRN::score(size_t s, const PLAYER& p) +{ + mvwprintw(stdscr, _sy + s + TTYSCRN::offsscore, _sx, "S %c:%5zd", p.getWho(), + p.getScore()); +} + +void TTYSCRN::total(size_t s, const PLAYER& p) +{ + mvwprintw(stdscr, _sy + s + TTYSCRN::offstotal, _sx, "T %c:%5zd", p.getWho(), + p.getTotal()); +} + +void TTYSCRN::games(size_t s, const PLAYER& p) +{ + mvwprintw(stdscr, _sy + s + TTYSCRN::offsgames, _sx, "G %c:%5zd", p.getWho(), + p.getGames()); +} + +void TTYSCRN::ties(const PLAYER& p) +{ + mvwprintw(stdscr, _sy + TTYSCRN::offsties, _sx, "G =:%5zd", p.getTies()); +} + +TTYSCRN* TTYSCRN::create(int acs, size_t y, size_t x) +{ + int tx, ty; + + initscr(); + + tx = getmaxx(stdscr); + ty = getmaxy(stdscr); + + if (tx == ERR || ty == ERR || (size_t)tx < x * 2 + TTYSCRN::offsx + 12 + || (size_t)ty < y * 2 + TTYSCRN::offsy) { + endwin(); + return NULL; + } + cbreak(); + noecho(); + + + TTYSCRN* that = new TTYSCRN; + + that->_tx = tx; + that->_ty = ty; + that->_sx = tx - 12; + that->_sy = TTYSCRN::offsy; + that->_acs = acs; + + return that; +} + +TTYSCRN::~TTYSCRN(void) +{ + nocbreak(); + echo(); + endwin(); +} diff --git a/dab/ttyscrn.h b/dab/ttyscrn.h new file mode 100644 index 0000000..5e0a540 --- /dev/null +++ b/dab/ttyscrn.h @@ -0,0 +1,81 @@ +/* $NetBSD: ttyscrn.h,v 1.2 2003/12/28 17:49:10 thorpej Exp $ */ + +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ttyscrn.h: Curses based screen for dots + */ + +#ifndef _H_TTYSCRN +#define _H_TTYSCRN + +#include "gamescreen.h" + +class TTYSCRN : public GAMESCREEN { + public: + // Constructor that can fail + static TTYSCRN* create(int acs, size_t y, size_t x); + ~TTYSCRN(); + + // Screen virtuals + void clean(void); + void moveto(size_t y, size_t x); + void addsym(const int sym); + void addedge(const int sym); + void redraw(void); + void bell(void); + int getinput(void); + void score(size_t s, const PLAYER& p); + void games(size_t s, const PLAYER& p); + void total(size_t s, const PLAYER& p); + void ties(const PLAYER& p); + + private: + enum { + offsx = 2, // board x offset from top left corner + offsy = 2, // board y offset from top left corner + offsscore = 0, // score y offset from top of the board + offstotal = 3, // total y offset from top of the board + offsgames = 6, // games y offset from top of the board + offsties = 8 // ties y offset from top of the board + }; + size_t _sx, _sy; // board size + size_t _tx, _ty; // tty size + int _acs; // do we want acs? +}; + +#endif diff --git a/dm/Makefile.bsd b/dm/Makefile.bsd new file mode 100644 index 0000000..c3fa4b2 --- /dev/null +++ b/dm/Makefile.bsd @@ -0,0 +1,17 @@ +# $NetBSD: Makefile,v 1.11 2002/09/18 03:23:00 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +.include + +# -DLOG log games +PROG= dm +SRCS= dm.c utmpentry.c +MAN= dm.8 dm.conf.5 +# shouldn't be necessary; just in case. +BINGRP= games +BINMODE=2555 + +.PATH.c: ${NETBSDSRCDIR}/usr.bin/who +CPPFLAGS+=-I${NETBSDSRCDIR}/usr.bin/who -DSUPPORT_UTMPX -DSUPPORT_UTMP + +.include diff --git a/dm/Makefrag b/dm/Makefrag new file mode 100644 index 0000000..5fcb07f --- /dev/null +++ b/dm/Makefrag @@ -0,0 +1,38 @@ +# Makefrag - makefile fragment for dm +# +# Copyright (c) 1997, 1998, 1999, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# Add -DLOG if you want logging +dm_DEFS := $(GETLOADAVG_DEFS) -D_GNU_SOURCE -DSUPPORT_UTMPX -DSUPPORT_UTMP # -DLOG +dm_DIRS := $(GAMESDIR) $(MAN8DIR) $(MAN5DIR) + +dm_all: dm/dm dm/dm.8 dm/dm.conf.5 + +dm_install: dm_all + $(INSTALL_DM) dm/dm $(INSTALL_PREFIX)$(GAMESDIR)/dm + $(INSTALL_MANUAL) dm/dm.8 + $(INSTALL_MANUAL) dm/dm.conf.5 diff --git a/dm/dm.8.in b/dm/dm.8.in new file mode 100644 index 0000000..3c65c81 --- /dev/null +++ b/dm/dm.8.in @@ -0,0 +1,106 @@ +.\" $NetBSD: dm.8,v 1.9 2003/08/07 09:37:11 agc Exp $ +.\" +.\" Copyright (c) 1987, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)dm.8 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt DM 8 +.Os +.Sh NAME +.Nm dm +.Nd dungeon master +.Sh SYNOPSIS +.Nm ln +.Fl s Cm dm Ar game +.Sh DESCRIPTION +.Nm +is a program used to regulate game playing. +.Nm +expects to be invoked with the name of a game that a user wishes to play. +This is done by creating symbolic links to +.Nm , +in the directory +.Pa @gamesdir@ +for all of the regulated games. +The actual binaries for these games should be placed in a +.Dq hidden +directory, +.Pa @libexecdir@ , +that may only be accessed by the +.Nm +program. +.Nm +determines if the requested game is available and, if so, runs it. +The file +.Pa @dm_configfile@ +controls the conditions under which games may be run. +.Pp +The file +.Pa @dm_nogamesfile@ +may be used to +.Dq turn off +game playing. +If the file exists, no game playing is allowed; the contents of the file +will be displayed to any user requesting a game. +.Sh FILES +.Bl -tag -width @dm_logfile@ -compact +.It Pa @dm_configfile@ +configuration file +.It Pa @dm_nogamesfile@ +turns off game playing +.It Pa @libexecdir@ +directory of ``real'' binaries +.It Pa @dm_logfile@ +game logging file +.El +.Sh SEE ALSO +.Xr dm.conf 5 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 tahoe . +.Sh SECURITY CONSIDERATIONS +Two issues result from +.Nm +running the games setgid +.Dq games . +First, all games that allow users to run +.Ux +commands should carefully +set both the real and effective group ids immediately before executing +those commands. +Probably more important is that +.Nm +never be setgid anything but +.Dq games +so that compromising a game will result only in +the user's ability to play games at will. +Secondly, games which previously had no reason to run setgid and which +accessed user files may have to be modified. diff --git a/dm/dm.c b/dm/dm.c new file mode 100644 index 0000000..c131904 --- /dev/null +++ b/dm/dm.c @@ -0,0 +1,334 @@ +/* $NetBSD: dm.c,v 1.21 2004/11/05 21:30:32 dsl Exp $ */ + +/* + * Copyright (c) 1987, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1987, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)dm.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: dm.c,v 1.21 2004/11/05 21:30:32 dsl Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "utmpentry.h" +#include "pathnames.h" + +static time_t now; /* current time value */ +static int priority = 0; /* priority game runs at */ +static char *game, /* requested game */ + *gametty; /* from tty? */ + +void c_day(const char *, const char *, const char *); +void c_game(const char *, const char *, const char *, const char *); +void c_tty(const char *); +const char *hour(int); +double load(void); +int main(int, char *[]); +void nogamefile(void); +void play(char **) __attribute__((__noreturn__)); +void read_config(void); +int users(void); + +int +main(argc, argv) + int argc __attribute__((__unused__)); + char *argv[]; +{ + char *cp; + + nogamefile(); + game = (cp = strrchr(*argv, '/')) ? ++cp : *argv; + + if (!strcmp(game, "dm")) + exit(0); + + gametty = ttyname(0); + unsetenv("TZ"); + (void)time(&now); + read_config(); +#ifdef LOG + logfile(); +#endif + play(argv); + /*NOTREACHED*/ + return (0); +} + +/* + * play -- + * play the game + */ +void +play(args) + char **args; +{ + char pbuf[MAXPATHLEN]; + + snprintf(pbuf, sizeof(pbuf), "%s%s", _PATH_HIDE, game); + if (priority > 0) /* < 0 requires root */ + (void)setpriority(PRIO_PROCESS, 0, priority); + execv(pbuf, args); + err(1, "%s", pbuf); +} + +/* + * read_config -- + * read through config file, looking for key words. + */ +void +read_config() +{ + FILE *cfp; + char lbuf[BUFSIZ], f1[40], f2[40], f3[40], f4[40], f5[40]; + + if (!(cfp = fopen(_PATH_CONFIG, "r"))) + return; + while (fgets(lbuf, sizeof(lbuf), cfp)) + switch (*lbuf) { + case 'b': /* badtty */ + if (sscanf(lbuf, "%s%s", f1, f2) != 2 || + strcasecmp(f1, "badtty")) + break; + c_tty(f2); + break; + case 'g': /* game */ + if (sscanf(lbuf, "%s%s%s%s%s", + f1, f2, f3, f4, f5) != 5 || strcasecmp(f1, "game")) + break; + c_game(f2, f3, f4, f5); + break; + case 't': /* time */ + if (sscanf(lbuf, "%s%s%s%s", f1, f2, f3, f4) != 4 || + strcasecmp(f1, "time")) + break; + c_day(f2, f3, f4); + } + (void)fclose(cfp); +} + +/* + * c_day -- + * if day is today, see if okay to play + */ +void +c_day(s_day, s_start, s_stop) + const char *s_day, *s_start, *s_stop; +{ + static const char *const days[] = { + "sunday", "monday", "tuesday", "wednesday", + "thursday", "friday", "saturday", + }; + static struct tm *ct; + int start, stop; + + if (!ct) + ct = localtime(&now); + if (strcasecmp(s_day, days[ct->tm_wday])) + return; + if (!isdigit((unsigned char)*s_start) || !isdigit((unsigned char)*s_stop)) + return; + start = atoi(s_start); + stop = atoi(s_stop); + if (ct->tm_hour >= start && ct->tm_hour < stop) { + if (start == 0 && stop == 24) + errx(0, "Sorry, games are not available today."); + else + errx(0, "Sorry, games are not available from %s to %s today.", + hour(start), hour(stop)); + } +} + +/* + * c_tty -- + * decide if this tty can be used for games. + */ +void +c_tty(tty) + const char *tty; +{ + static int first = 1; + static char *p_tty; + + if (first) { + p_tty = strrchr(gametty, '/'); + first = 0; + } + + if (!strcmp(gametty, tty) || (p_tty && !strcmp(p_tty, tty))) + errx(1, "Sorry, you may not play games on %s.", gametty); +} + +/* + * c_game -- + * see if game can be played now. + */ +void +c_game(s_game, s_load, s_users, s_priority) + const char *s_game, *s_load, *s_users, *s_priority; +{ + static int found; + + if (found) + return; + if (strcmp(game, s_game) && strcasecmp("default", s_game)) + return; + ++found; + if (isdigit((unsigned char)*s_load) && atoi(s_load) < load()) + errx(0, "Sorry, the load average is too high right now."); + if (isdigit((unsigned char)*s_users) && atoi(s_users) <= users()) + errx(0, "Sorry, there are too many users logged on right now."); + if (isdigit((unsigned char)*s_priority)) + priority = atoi(s_priority); +} + +/* + * load -- + * return 15 minute load average + */ +double +load() +{ + double avenrun[3]; + + if (getloadavg(avenrun, sizeof(avenrun)/sizeof(avenrun[0])) < 0) + err(1, "getloadavg() failed"); + return (avenrun[2]); +} + +/* + * users -- + * return current number of users + * todo: check idle time; if idle more than X minutes, don't + * count them. + */ +int +users() +{ + static struct utmpentry *ohead = NULL; + struct utmpentry *ep; + int nusers; + + nusers = getutentries(NULL, &ep); + if (ep != ohead) { + freeutentries(ep); + ohead = ep; + } + return nusers; +} + +void +nogamefile() +{ + int fd, n; + char buf[BUFSIZ]; + + if ((fd = open(_PATH_NOGAMES, O_RDONLY, 0)) >= 0) { +#define MESG "Sorry, no games right now.\n\n" + (void)write(2, MESG, sizeof(MESG) - 1); + while ((n = read(fd, buf, sizeof(buf))) > 0) + (void)write(2, buf, n); + exit(1); + } +} + +/* + * hour -- + * print out the hour in human form + */ +const char * +hour(h) + int h; +{ + static const char *const hours[] = { + "midnight", "1am", "2am", "3am", "4am", "5am", + "6am", "7am", "8am", "9am", "10am", "11am", + "noon", "1pm", "2pm", "3pm", "4pm", "5pm", + "6pm", "7pm", "8pm", "9pm", "10pm", "11pm", "midnight" }; + + if (h < 0 || h > 24) + return ("BAD TIME"); + else + return (hours[h]); +} + +#ifdef LOG +/* + * logfile -- + * log play of game + */ +logfile() +{ + struct passwd *pw; + FILE *lp; + uid_t uid; + int lock_cnt; + + if (lp = fopen(_PATH_LOG, "a")) { + for (lock_cnt = 0;; ++lock_cnt) { + if (!flock(fileno(lp), LOCK_EX)) + break; + if (lock_cnt == 4) { + warnx("log lock"); + (void)fclose(lp); + return; + } + sleep((u_int)1); + } + if (pw = getpwuid(uid = getuid())) + fputs(pw->pw_name, lp); + else + fprintf(lp, "%u", uid); + fprintf(lp, "\t%s\t%s\t%s", game, gametty, ctime(&now)); + (void)fclose(lp); + (void)flock(fileno(lp), LOCK_UN); + } +} +#endif /* LOG */ diff --git a/dm/dm.conf.5.in b/dm/dm.conf.5.in new file mode 100644 index 0000000..437d96a --- /dev/null +++ b/dm/dm.conf.5.in @@ -0,0 +1,114 @@ +.\" $NetBSD: dm.conf.5,v 1.8 2003/08/07 09:37:11 agc Exp $ +.\" +.\" Copyright (c) 1988, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)dm.conf.5 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt DM.CONF 5 +.Os +.Sh NAME +.Nm dm.conf +.Nd dungeon master configuration file +.Sh DESCRIPTION +The +.Nm +file is the configuration file for the +.Xr dm 8 +program. +It consists of lines beginning with one of three keywords, +.Em badtty , +.Em game , +and +.Em time . +All other lines are ignored. +.Pp +Any tty listed after the keyword +.Em badtty +may not have games played on it. +Entries consist of two white-space separated fields: the string +.Em badtty +and the ttyname as returned by +.Xr ttyname 3 . +For example, to keep the uucp dialout, +.Dq tty19 , +from being used for games, the entry would be: +.Bd -literal -offset indent +badtty /dev/tty19 +.Ed +.Pp +Any day/hour combination listed after the keyword +.Em time +will disallow games during those hours. +Entries consist of four white-space separated fields: the string +.Em time , +the unabbreviated day of the week and the beginning and ending time +of a period of the day when games may not be played. +The time fields are in a 0 based, 24-hour clock. +For example, the following entry allows games playing before 8AM +and after 5PM on Mondays: +.Bd -literal -offset indent +time Monday 8 17 +.Ed +.Pp +Any game listed after the keyword +.Em game +will set parameters for a specific game. +Entries consist of five white-space separated fields: the keyword +.Em game , +the name of a game, the highest system load average at which the +game may be played, the maximum users allowed if the game is to be +played, and the priority at which the game is to be run. +Any of these fields may start with a non-numeric character, resulting +in no game limitation or priority based on that field. +.Pp +The game +.Em default +controls the settings for any game not otherwise listed, and must be the last +.Em game +entry in the file. +Priorities may not be negative. +For example, the following entries limits the game +.Dq hack +to running only when the system has 10 or less users and a load average of 5 +or less; all other games may be run any time the system has 15 or less users. +.Bd -literal -offset indent +game hack 5 10 * +game default * 15 * +.Ed +.Sh FILES +.Bl -tag -width @dm_configfile@ -compact +.It Pa @dm_configfile@ +The +.Xr dm 8 +configuration file. +.El +.Sh SEE ALSO +.Xr setpriority 2 , +.Xr ttyname 3 , +.Xr dm 8 diff --git a/dm/pathnames.h.in b/dm/pathnames.h.in new file mode 100644 index 0000000..f48b240 --- /dev/null +++ b/dm/pathnames.h.in @@ -0,0 +1,38 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:12 agc Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define _PATH_CONFIG "@dm_configfile@" +#define _PATH_HIDE "@libexecdir@/" +#undef _PATH_LOG +#define _PATH_LOG "@dm_logfile@" +#define _PATH_NOGAMES "@dm_nogamesfile@" diff --git a/dm/utmpentry.c b/dm/utmpentry.c new file mode 100644 index 0000000..8488c4c --- /dev/null +++ b/dm/utmpentry.c @@ -0,0 +1,297 @@ +/* $NetBSD: utmpentry.c,v 1.5 2004/10/22 15:50:47 christos Exp $ */ + +/*- + * Copyright (c) 2002 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: utmpentry.c,v 1.5 2004/10/22 15:50:47 christos Exp $"); +#endif + +#include + +#include +#include +#include +#include + +#ifdef SUPPORT_UTMP +#include +#endif +#ifdef SUPPORT_UTMPX +#include +#endif + +#include "utmpentry.h" + + +#ifdef SUPPORT_UTMP +static void getentry(struct utmpentry *, struct utmp *); +static time_t utmptime = 0; +#endif +#ifdef SUPPORT_UTMPX +static void getentryx(struct utmpentry *, struct utmpx *); +static time_t utmpxtime = 0; +#endif +#if defined(SUPPORT_UTMPX) || defined(SUPPORT_UTMP) +static int setup(const char *); +static void adjust_size(struct utmpentry *e); +#endif + +int maxname = 8, maxline = 8, maxhost = 16; +static int numutmp = 0; +static struct utmpentry *ehead; + +#if defined(SUPPORT_UTMPX) || defined(SUPPORT_UTMP) +static void +adjust_size(struct utmpentry *e) +{ + int max; + + if ((max = strlen(e->name)) > maxname) + maxname = max; + if ((max = strlen(e->line)) > maxline) + maxline = max; + if ((max = strlen(e->host)) > maxhost) + maxhost = max; +} + +static int +setup(const char *fname) +{ + int what = 3; + struct stat st; + const char *sfname; + + if (fname == NULL) { +#ifdef SUPPORT_UTMPX + setutxent(); +#endif +#ifdef SUPPORT_UTMP + setutent(); +#endif + } else { + size_t len = strlen(fname); + if (len == 0) + errx(1, "Filename cannot be 0 length."); + what = fname[len - 1] == 'x' ? 1 : 2; + if (what == 1) { +#ifdef SUPPORT_UTMPX + if (utmpxname(fname) == 0) + warnx("Cannot set utmpx file to `%s'", + fname); +#else + warnx("utmpx support not compiled in"); +#endif + } else { +#ifdef SUPPORT_UTMP + if (utmpname(fname) == 0) + warnx("Cannot set utmp file to `%s'", + fname); +#else + warnx("utmp support not compiled in"); +#endif + } + } +#ifdef SUPPORT_UTMPX + if (what & 1) { + sfname = fname ? fname : _PATH_UTMPX; + if (stat(sfname, &st) == -1) { + warn("Cannot stat `%s'", sfname); + what &= ~1; + } else { + if (st.st_mtime > utmpxtime) + utmpxtime = st.st_mtime; + else + what &= ~1; + } + } +#endif +#ifdef SUPPORT_UTMP + if (what & 2) { + sfname = fname ? fname : _PATH_UTMP; + if (stat(sfname, &st) == -1) { + warn("Cannot stat `%s'", sfname); + what &= ~2; + } else { + if (st.st_mtime > utmptime) + utmptime = st.st_mtime; + else + what &= ~2; + } + } +#endif + return what; +} +#endif + +void +freeutentries(struct utmpentry *ep) +{ +#ifdef SUPPORT_UTMP + utmptime = 0; +#endif +#ifdef SUPPORT_UTMPX + utmpxtime = 0; +#endif + if (ep == ehead) { + ehead = NULL; + numutmp = 0; + } + while (ep) { + struct utmpentry *sep = ep; + ep = ep->next; + free(sep); + } +} + +int +getutentries(const char *fname, struct utmpentry **epp) +{ +#ifdef SUPPORT_UTMPX + struct utmpx *utx; +#endif +#ifdef SUPPORT_UTMP + struct utmp *ut; +#endif +#if defined(SUPPORT_UTMP) || defined(SUPPORT_UTMPX) + struct utmpentry *ep; + int what = setup(fname); + struct utmpentry **nextp = &ehead; + switch (what) { + case 0: + /* No updates */ + *epp = ehead; + return numutmp; + default: + /* Need to re-scan */ + ehead = NULL; + numutmp = 0; + } +#endif + +#ifdef SUPPORT_UTMPX + while ((what & 1) && (utx = getutxent()) != NULL) { + if (fname == NULL && utx->ut_type != USER_PROCESS) + continue; + if ((ep = calloc(1, sizeof(struct utmpentry))) == NULL) { + warn(NULL); + return 0; + } + getentryx(ep, utx); + *nextp = ep; + nextp = &(ep->next); + } +#endif + +#ifdef SUPPORT_UTMP + while ((what & 2) && (ut = getutent()) != NULL) { + if (fname == NULL && (*ut->ut_name == '\0' || + *ut->ut_line == '\0')) + continue; + /* Don't process entries that we have utmpx for */ + for (ep = ehead; ep != NULL; ep = ep->next) { + if (strncmp(ep->line, ut->ut_line, + sizeof(ut->ut_line)) == 0) + break; + } + if (ep != NULL) + continue; + if ((ep = calloc(1, sizeof(struct utmpentry))) == NULL) { + warn(NULL); + return 0; + } + getentry(ep, ut); + *nextp = ep; + nextp = &(ep->next); + } +#endif + numutmp = 0; +#if defined(SUPPORT_UTMP) && defined(SUPPORT_UTMPX) + if (ehead != NULL) { + struct utmpentry *from = ehead, *save; + + ehead = NULL; + while (from != NULL) { + for (nextp = &ehead; + (*nextp) && strcmp(from->line, (*nextp)->line) > 0; + nextp = &(*nextp)->next) + continue; + save = from; + from = from->next; + save->next = *nextp; + *nextp = save; + numutmp++; + } + } + *epp = ehead; + return numutmp; +#else + *epp = NULL; + return 0; +#endif +} + +#ifdef SUPPORT_UTMP +static void +getentry(struct utmpentry *e, struct utmp *up) +{ + (void)strncpy(e->name, up->ut_name, sizeof(up->ut_name)); + e->name[sizeof(e->name) - 1] = '\0'; + (void)strncpy(e->line, up->ut_line, sizeof(up->ut_line)); + e->line[sizeof(e->line) - 1] = '\0'; + (void)strncpy(e->host, up->ut_host, sizeof(up->ut_host)); + e->name[sizeof(e->host) - 1] = '\0'; + e->tv.tv_sec = up->ut_time; + e->tv.tv_usec = 0; + adjust_size(e); +} +#endif + +#ifdef SUPPORT_UTMPX +static void +getentryx(struct utmpentry *e, struct utmpx *up) +{ + (void)strncpy(e->name, up->ut_name, sizeof(up->ut_name)); + e->name[sizeof(e->name) - 1] = '\0'; + (void)strncpy(e->line, up->ut_line, sizeof(up->ut_line)); + e->line[sizeof(e->line) - 1] = '\0'; + (void)strncpy(e->host, up->ut_host, sizeof(up->ut_host)); + e->name[sizeof(e->host) - 1] = '\0'; + e->tv = up->ut_tv; + adjust_size(e); +} +#endif diff --git a/dm/utmpentry.h b/dm/utmpentry.h new file mode 100644 index 0000000..e5420d4 --- /dev/null +++ b/dm/utmpentry.h @@ -0,0 +1,50 @@ +/* $NetBSD: utmpentry.h,v 1.2 2003/11/28 23:52:34 wiz Exp $ */ + +/*- + * Copyright (c) 2002 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +struct utmpentry { + char name[65]; + char line[65]; + char host[257]; + struct timeval tv; + struct utmpentry *next; +}; + +extern int maxname, maxline, maxhost; + +int getutentries(const char *, struct utmpentry **); +void freeutentries(struct utmpentry *); diff --git a/exec.libs b/exec.libs new file mode 100644 index 0000000..a091425 --- /dev/null +++ b/exec.libs @@ -0,0 +1,57 @@ +# exec.libs - details of libraries needed to link bsd-games programs. +# This file is used for automatic makefile generation. +# +# Copyright (c) 1998, 1999, 2000, 2003, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +atc -lm $(NCURSES_LIB) $(LEX_LIB) +backgammon/backgammon/backgammon $(NCURSES_LIB) +backgammon/teachgammon/teachgammon $(NCURSES_LIB) +battlestar $(NCURSES_LIB) +boggle/boggle/boggle $(NCURSES_LIB) +caesar -lm +canfield/canfield/canfield $(NCURSES_LIB) +cribbage $(NCURSES_LIB) +dab $(NCURSES_LIB) +factor $(OPENSSL_LIB) +gomoku $(NCURSES_LIB) +hack $(NCURSES_LIB) +hangman $(NCURSES_LIB) +hunt/hunt/hunt $(NCURSES_LIB) +mille $(NCURSES_LIB) +phantasia -lm $(NCURSES_LIB) +phantasia/setup -lm +pom -lm +primes -lm +rain $(NCURSES_LIB) +robots $(NCURSES_LIB) +rogue $(NCURSES_LIB) +sail $(NCURSES_LIB) +snake/snake/snake $(NCURSES_LIB) -lm +tetris $(NCURSES_LIB) +trek -lm +worm $(NCURSES_LIB) +worms $(NCURSES_LIB) diff --git a/exec.objs b/exec.objs new file mode 100644 index 0000000..f081d60 --- /dev/null +++ b/exec.objs @@ -0,0 +1,129 @@ +# exec.objs - details of objects that go into bsd-games programs. +# This file is used for automatic makefile generation. +# +# Copyright (c) 1998, 1999, 2000, 2001, 2003, 2004, 2005 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +adventure crc.o data.o done.o init.o io.o main.o save.o subr.o \ + vocab.o wizard.o +adventure/setup setup.o +arithmetic arithmetic.o lib/getprogname.o +atc extern.o grammar.o graphics.o input.o lex.o list.o \ + log.o main.o tunable.o update.o lib/strlcpy.o +backgammon/backgammon/backgammon extra.o main.o move.o text.o \ + version.o backgammon/common_source/allow.o \ + backgammon/common_source/board.o backgammon/common_source/check.o \ + backgammon/common_source/fancy.o backgammon/common_source/init.o \ + backgammon/common_source/odds.o backgammon/common_source/one.o \ + backgammon/common_source/save.o backgammon/common_source/subs.o \ + backgammon/common_source/table.o +backgammon/teachgammon/teachgammon data.o teach.o ttext1.o ttext2.o \ + tutor.o backgammon/common_source/allow.o \ + backgammon/common_source/board.o backgammon/common_source/check.o \ + backgammon/common_source/fancy.o backgammon/common_source/init.o \ + backgammon/common_source/one.o backgammon/common_source/save.o \ + backgammon/common_source/subs.o backgammon/common_source/table.o +banner banner.o +battlestar battlestar.o command1.o command2.o command3.o \ + command4.o command5.o command6.o command7.o cypher.o dayfile.o \ + dayobjs.o fly.o getcom.o globals.o init.o misc.o nightfile.o \ + nightobjs.o parse.o room.o save.o words.o lib/fgetln.o +bcd bcd.o +boggle/boggle/boggle bog.o help.o mach.o prtable.o timer.o word.o +boggle/mkdict/mkdict mkdict.o +boggle/mkindex/mkindex mkindex.o +caesar caesar.o +canfield/canfield/canfield canfield.o +canfield/cfscores/cfscores cfscores.o +cribbage cards.o crib.o extern.o instr.o io.o score.o support.o +dab algor.o board.o box.o gamescreen.o human.o main.o \ + player.o random.o ttyscrn.o +dm dm.o utmpentry.o lib/getloadavg.o +factor factor.o primes/pr_tbl.o +fish fish.o +fortune/fortune/fortune fortune.o lib/getprogname.o +fortune/strfile/strfile strfile.o +fortune/unstr/unstr unstr.o +gomoku bdinit.o bdisp.o main.o makemove.o pickmove.o stoc.o +hack alloc.o hack.Decl.o hack.apply.o hack.bones.o hack.o \ + hack.cmd.o hack.do.o hack.do_name.o hack.do_wear.o hack.dog.o \ + hack.eat.o hack.end.o hack.engrave.o hack.fight.o hack.invent.o \ + hack.ioctl.o hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o \ + hack.mklev.o hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o \ + hack.monst.o hack.o_init.o hack.objnam.o hack.options.o hack.pager.o \ + hack.potion.o hack.pri.o hack.read.o hack.rip.o hack.rumors.o \ + hack.save.o hack.search.o hack.shk.o hack.shknam.o hack.steal.o \ + hack.termcap.o hack.timeout.o hack.topl.o hack.track.o hack.trap.o \ + hack.tty.o hack.u_init.o hack.unix.o hack.vault.o hack.version.o \ + hack.wield.o hack.wizard.o hack.worm.o hack.worn.o hack.zap.o rnd.o +hack/makedefs makedefs.o +hangman endgame.o extern.o getguess.o getword.o main.o \ + playgame.o prdata.o prman.o prword.o setup.o +hunt/hunt/hunt connect.o hunt.o otto.o playit.o \ + hunt/huntd/pathname.o +hunt/huntd/huntd answer.o ctl.o ctl_transact.o draw.o driver.o \ + execute.o expl.o extern.o faketalk.o get_names.o makemaze.o \ + pathname.o shots.o terminal.o +mille comp.o end.o extern.o init.o mille.o misc.o move.o \ + print.o roll.o save.o types.o varpush.o +monop cards.o execute.o getinp.o houses.o jail.o misc.o \ + monop.o morg.o print.o prop.o rent.o roll.o spec.o trade.o +monop/initdeck initdeck.o +morse morse.o +number number.o +phantasia fight.o gamesupport.o interplayer.o io.o main.o \ + misc.o phantglobs.o +phantasia/setup phantglobs.o setup.o +pig pig.o +pom pom.o +ppt ppt.o +primes pattern.o pr_tbl.o primes.o +quiz quiz.o rxp.o lib/fgetln.o +rain rain.o lib/getprogname.o +random random.o +robots auto.o extern.o flush_in.o init_field.o main.o \ + make_level.o move.o move_robs.o play_level.o query.o rnd_pos.o score.o +rogue hit.o init.o inventory.o level.o machdep.o main.o \ + message.o monster.o move.o object.o pack.o play.o random.o ring.o \ + room.o save.o score.o spec_hit.o throw.o trap.o use.o zap.o \ + lib/strlcpy.o +sail assorted.o game.o globals.o dr_1.o dr_2.o dr_3.o \ + dr_4.o dr_5.o dr_main.o lo_main.o main.o misc.o parties.o pl_1.o \ + pl_2.o pl_3.o pl_4.o pl_5.o pl_6.o pl_7.o pl_main.o sync.o version.o \ + lib/strlcpy.o +snake/snake/snake snake.o +snake/snscore/snscore snscore.o +tetris input.o scores.o screen.o shapes.o tetris.o +trek abandon.o attack.o autover.o capture.o cgetc.o \ + check_out.o checkcond.o compkl.o computer.o damage.o damaged.o \ + dcrept.o destruct.o dock.o dumpgame.o dumpme.o dumpssradio.o events.o \ + externs.o getcodi.o getpar.o help.o impulse.o initquad.o kill.o \ + klmove.o lose.o lrscan.o main.o move.o nova.o out.o phaser.o play.o \ + ram.o ranf.o rest.o schedule.o score.o setup.o setwarp.o shield.o \ + snova.o srscan.o systemname.o torped.o visual.o warp.o win.o +worm worm.o +worms worms.o +wump wump.o diff --git a/factor/Makefile.bsd b/factor/Makefile.bsd new file mode 100644 index 0000000..415e38a --- /dev/null +++ b/factor/Makefile.bsd @@ -0,0 +1,22 @@ +# $NetBSD: Makefile,v 1.11 2004/02/08 13:16:25 jsm Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +# For MKCRYPTO +.include + +PRIMES= ${NETBSDSRCDIR}/games/primes + +PROG= factor +SRCS= factor.c pr_tbl.c +CPPFLAGS+=-I${PRIMES} + +.if (${MKCRYPTO} != "no") +CPPFLAGS+=-DHAVE_OPENSSL +LDADD+= -lcrypto +DPADD+= ${LIBCRYPTO} +.endif + +MAN= factor.6 +.PATH: ${PRIMES} + +.include diff --git a/factor/Makefrag b/factor/Makefrag new file mode 100644 index 0000000..b978533 --- /dev/null +++ b/factor/Makefrag @@ -0,0 +1,39 @@ +# Makefrag - makefile fragment for factor +# +# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# _GNU_SOURCE for isblank() +factor_DEFS := -D_GNU_SOURCE +factor_DIRS := $(GAMESDIR) $(MAN6DIR) +factor_INCS := -Iprimes + +factor_all: factor/factor factor/factor.6 + +factor_install: factor_all + $(INSTALL_BINARY) factor/factor $(INSTALL_PREFIX)$(GAMESDIR)/factor + $(HIDE_GAME) factor + $(INSTALL_MANUAL) factor/factor.6 diff --git a/factor/factor.6 b/factor/factor.6 new file mode 100644 index 0000000..4600bd3 --- /dev/null +++ b/factor/factor.6 @@ -0,0 +1,81 @@ +.\" $NetBSD: factor.6,v 1.9 2004/02/08 13:16:25 jsm Exp $ +.\" +.\" Copyright (c) 1989, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Landon Curt Noll. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)factor.6 8.1 (Berkeley) 5/31/93 +.\" +.\" +.\" By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo +.\" +.\" chongo /\oo/\ +.\" +.Dd February 8, 2004 +.Dt FACTOR 6 +.Os +.Sh NAME +.Nm factor +.Nd factor a number +.Sh SYNOPSIS +.Nm +.Op Ar number ... +.Sh DESCRIPTION +The +.Nm +utility will factor integers between \-2147483648 and 2147483647 inclusive. +When a number is factored, it is printed, followed by a +.Dq \&: , +and the list of factors on a single line. +Factors are listed in ascending order, and are preceded by a space. +If a factor divides a value more than once, it will be printed more than once. +.Pp +When +.Nm +is invoked with one or more arguments, each argument will be factored. +.Pp +When +.Nm +is invoked with no arguments, +.Nm +reads numbers, one per line, from standard input, until end of file or error. +Leading white-space and empty lines are ignored. +Numbers may be preceded by a single - or +. +Numbers are terminated by a non-digit character (such as a newline). +After a number is read, it is factored. +Input lines must not be longer than 255 characters. +.Sh DIAGNOSTICS +Out of range or invalid input results in +an appropriate error message +being written to standard error. +.Sh BUGS +.Nm +cannot handle the +.Dq 10 most wanted +factor list. diff --git a/factor/factor.c b/factor/factor.c new file mode 100644 index 0000000..ec2dd77 --- /dev/null +++ b/factor/factor.c @@ -0,0 +1,359 @@ +/* $NetBSD: factor.c,v 1.15 2004/02/08 11:47:36 jsm Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Landon Curt Noll. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)factor.c 8.4 (Berkeley) 5/4/95"; +#else +__RCSID("$NetBSD: factor.c,v 1.15 2004/02/08 11:47:36 jsm Exp $"); +#endif +#endif /* not lint */ + +/* + * factor - factor a number into primes + * + * By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo + * + * chongo /\oo/\ + * + * usage: + * factor [number] ... + * + * The form of the output is: + * + * number: factor1 factor1 factor2 factor3 factor3 factor3 ... + * + * where factor1 < factor2 < factor3 < ... + * + * If no args are given, the list of numbers are read from stdin. + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_OPENSSL +#include +#else +typedef long BIGNUM; +typedef u_long BN_ULONG; +int BN_dec2bn(BIGNUM **a, const char *str); +#define BN_new() ((BIGNUM *)calloc(sizeof(BIGNUM), 1)) +#define BN_is_zero(v) (*(v) == 0) +#define BN_is_one(v) (*(v) == 1) +#define BN_new() ((BIGNUM *)calloc(sizeof(BIGNUM), 1)) +#define BN_is_zero(v) (*(v) == 0) +#define BN_is_one(v) (*(v) == 1) +#define BN_mod_word(a, b) (*(a) % (b)) +#endif + +#include "primes.h" + +/* + * prime[i] is the (i-1)th prime. + * + * We are able to sieve 2^32-1 because this byte table yields all primes + * up to 65537 and 65537^2 > 2^32-1. + */ +extern const ubig prime[]; +extern const ubig *pr_limit; /* largest prime in the prime array */ + +#define PRIME_CHECKS 5 + +#ifdef HAVE_OPENSSL +BN_CTX *ctx; /* just use a global context */ +#endif + +int main(int, char *[]); +void pr_fact(BIGNUM *); /* print factors of a value */ +void BN_print_dec_fp(FILE *, const BIGNUM *); +void usage(void) __attribute__((__noreturn__)); +#ifdef HAVE_OPENSSL +void pollard_pminus1(BIGNUM *); /* print factors for big numbers */ +#else +char *BN_bn2dec(const BIGNUM *); +BN_ULONG BN_div_word(BIGNUM *, BN_ULONG); +#endif + + +#ifndef HAVE_OPENSSL +int +BN_dec2bn(BIGNUM **a, const char *str) +{ + char *p; + + errno = 0; + **a = strtoul(str, &p, 10); + if (errno) + err(1, "%s", str); + return (*p == '\n' || *p == '\0'); +} +#endif + +int +main(int argc, char *argv[]) +{ + BIGNUM *val; + int ch; + char *p, buf[LINE_MAX]; /* > max number of digits. */ + +#ifdef HAVE_OPENSSL + ctx = BN_CTX_new(); +#endif + val = BN_new(); + if (val == NULL) + errx(1, "can't initialise bignum"); + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + while ((ch = getopt(argc, argv, "")) != -1) + switch (ch) { + case '?': + default: + usage(); + } + argc -= optind; + argv += optind; + + /* No args supplied, read numbers from stdin. */ + if (argc == 0) + for (;;) { + if (fgets(buf, sizeof(buf), stdin) == NULL) { + if (ferror(stdin)) + err(1, "stdin"); + exit (0); + } + for (p = buf; isblank(*p); ++p); + if (*p == '\n' || *p == '\0') + continue; + if (*p == '-') + errx(1, "negative numbers aren't permitted."); + if (BN_dec2bn(&val, buf) == 0) + errx(1, "%s: illegal numeric format.", argv[0]); + pr_fact(val); + } + /* Factor the arguments. */ + else + for (; *argv != NULL; ++argv) { + if (argv[0][0] == '-') + errx(1, "negative numbers aren't permitted."); + if (BN_dec2bn(&val, argv[0]) == 0) + errx(1, "%s: illegal numeric format.", argv[0]); + pr_fact(val); + } + exit(0); +} + +/* + * pr_fact - print the factors of a number + * + * If the number is 0 or 1, then print the number and return. + * If the number is < 0, print -1, negate the number and continue + * processing. + * + * Print the factors of the number, from the lowest to the highest. + * A factor will be printed numtiple times if it divides the value + * multiple times. + * + * Factors are printed with leading tabs. + */ +void +pr_fact(BIGNUM *val) +{ + const ubig *fact; /* The factor found. */ + + /* Firewall - catch 0 and 1. */ + if (BN_is_zero(val)) /* Historical practice; 0 just exits. */ + exit(0); + if (BN_is_one(val)) { + printf("1: 1\n"); + return; + } + + /* Factor value. */ + + BN_print_dec_fp(stdout, val); + putchar(':'); + for (fact = &prime[0]; !BN_is_one(val); ++fact) { + /* Look for the smallest factor. */ + do { + if (BN_mod_word(val, (BN_ULONG)*fact) == 0) + break; + } while (++fact <= pr_limit); + + /* Watch for primes larger than the table. */ + if (fact > pr_limit) { +#ifdef HAVE_OPENSSL + BIGNUM *bnfact; + + bnfact = BN_new(); + BN_set_word(bnfact, *(fact - 1)); + BN_sqr(bnfact, bnfact, ctx); + if (BN_cmp(bnfact, val) > 0 + || BN_is_prime(val, PRIME_CHECKS, NULL, NULL, + NULL) == 1) { + putchar(' '); + BN_print_dec_fp(stdout, val); + } else + pollard_pminus1(val); +#else + printf(" %s", BN_bn2dec(val)); +#endif + break; + } + + /* Divide factor out until none are left. */ + do { + printf(" %lu", *fact); + BN_div_word(val, (BN_ULONG)*fact); + } while (BN_mod_word(val, (BN_ULONG)*fact) == 0); + + /* Let the user know we're doing something. */ + fflush(stdout); + } + putchar('\n'); +} + +/* + * Sigh.. No _decimal_ output to file functions in BN. + */ +void +BN_print_dec_fp(FILE *fp, const BIGNUM *num) +{ + char *buf; + + buf = BN_bn2dec(num); + if (buf == NULL) + return; /* XXX do anything here? */ + fprintf(fp, buf); + free(buf); +} + +void +usage(void) +{ + fprintf(stderr, "usage: factor [value ...]\n"); + exit (0); +} + + + + +#ifdef HAVE_OPENSSL +/* pollard p-1, algorithm from Jim Gillogly, May 2000 */ + +void +pollard_pminus1(BIGNUM *val) +{ + BIGNUM *base, *rbase, *num, *i, *x; + + base = BN_new(); + rbase = BN_new(); + num = BN_new(); + i = BN_new(); + x = BN_new(); + + BN_set_word(rbase, 1); + newbase: + BN_add_word(rbase, 1); + BN_set_word(i, 2); + BN_copy(base, rbase); + + for (;;) { + BN_mod_exp(base, base, i, val, ctx); + if (BN_is_one(base)) + goto newbase; + + BN_copy(x, base); + BN_sub_word(x, 1); + BN_gcd(x, x, val, ctx); + + if (!BN_is_one(x)) { + if (BN_is_prime(x, PRIME_CHECKS, NULL, NULL, + NULL) == 1) { + putchar(' '); + BN_print_dec_fp(stdout, x); + } else + pollard_pminus1(x); + fflush(stdout); + + BN_div(num, NULL, val, x, ctx); + if (BN_is_one(num)) + return; + if (BN_is_prime(num, PRIME_CHECKS, NULL, NULL, + NULL) == 1) { + putchar(' '); + BN_print_dec_fp(stdout, num); + fflush(stdout); + return; + } + BN_copy(val, num); + } + BN_add_word(i, 1); + } +} +#else +char * +BN_bn2dec(const BIGNUM *val) +{ + char *buf; + + buf = malloc(100); + if (!buf) + return buf; + snprintf(buf, 100, "%ld", (long)*val); + return buf; +} + +BN_ULONG +BN_div_word(BIGNUM *a, BN_ULONG b) +{ + BN_ULONG mod; + + mod = *a % b; + *a /= b; + return mod; +} +#endif diff --git a/fish/Makefile.bsd b/fish/Makefile.bsd new file mode 100644 index 0000000..854bd56 --- /dev/null +++ b/fish/Makefile.bsd @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.10 1999/02/13 02:54:21 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +.include + +PROG= fish +MAN= fish.6 +HIDEGAME=hidegame +.if ${MKSHARE} != "no" +FILES=fish.instr +FILESDIR=/usr/share/games +.endif + +.include diff --git a/fish/Makefrag b/fish/Makefrag new file mode 100644 index 0000000..1039af5 --- /dev/null +++ b/fish/Makefrag @@ -0,0 +1,37 @@ +# Makefrag - makefile fragment for fish +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +fish_DIRS := $(GAMESDIR) $(MAN6DIR) $(shell dirname $(FISH_INSTRFILE)) + +fish_all: fish/fish fish/fish.instr fish/fish.6 + +fish_install: fish_all + $(INSTALL_BINARY) fish/fish $(INSTALL_PREFIX)$(GAMESDIR)/fish + $(HIDE_GAME) fish + $(INSTALL_DATA) fish/fish.instr $(INSTALL_PREFIX)$(FISH_INSTRFILE) + $(INSTALL_MANUAL) fish/fish.6 diff --git a/fish/fish.6 b/fish/fish.6 new file mode 100644 index 0000000..398c55f --- /dev/null +++ b/fish/fish.6 @@ -0,0 +1,87 @@ +.\" $NetBSD: fish.6,v 1.8 2003/08/07 09:37:13 agc Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fish.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd May 31, 1993 +.Dt FISH 6 +.Os +.Sh NAME +.Nm fish +.Nd play +.Dq Go Fish +.Sh SYNOPSIS +.Nm +.Op Fl p +.Sh DESCRIPTION +.Nm +is the game +.Dq Go Fish , +a traditional children's card game. +.Pp +The computer deals the player and itself seven cards, and places +the rest of the deck face-down (figuratively). +The object of the game is to collect +.Dq books , +or all of the members of a single rank. +For example, collecting four 2's would give the player a +.Dq book of 2's . +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl p +Professional mode. +.El +.Pp +The computer makes a random decision as to who gets to start the +game, and then the computer and player take turns asking each other +for cards of a specified rank. +If the asked player has any cards of the requested rank, they give +them up to the asking player. +A player must have at least one of the cards of the rank they request +in their hand. +When a player asks for a rank of which the other player has no +cards, the asker is told to +.Dq Go Fish! . +Then, the asker draws a card from the non-dealt cards. +If they draw the card they asked for, they continue their turn, asking +for more ranks from the other player. +Otherwise, the other player gets a turn. +.Pp +When a player completes a book, either by getting cards from the +other player or drawing from the deck, they set those cards aside and +the rank is no longer in play. +.Pp +The game ends when either player no longer has any cards in their hand. +The player with the most books wins. +.Pp +.Nm +provides instructions as to what input it accepts. +.Sh BUGS +The computer cheats only rarely. diff --git a/fish/fish.c b/fish/fish.c new file mode 100644 index 0000000..ddb78fb --- /dev/null +++ b/fish/fish.c @@ -0,0 +1,494 @@ +/* $NetBSD: fish.c,v 1.16 2005/02/15 12:56:20 jsm Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Muffy Barkocy. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1990, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)fish.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: fish.c,v 1.16 2005/02/15 12:56:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "pathnames.h" + +#define RANKS 13 +#define HANDSIZE 7 +#define CARDS 4 +#define TOTCARDS RANKS * CARDS + +#define USER 1 +#define COMPUTER 0 +#define OTHER(a) (1 - (a)) + +const char *const cards[] = { + "A", "2", "3", "4", "5", "6", "7", + "8", "9", "10", "J", "Q", "K", NULL, +}; +#define PRC(card) (void)printf(" %s", cards[card]) + +int promode; +int asked[RANKS], comphand[RANKS], deck[TOTCARDS]; +int userasked[RANKS], userhand[RANKS]; +int curcard = TOTCARDS; + +void chkwinner(int, const int *); +int compmove(void); +int countbooks(const int *); +int countcards(const int *); +int drawcard(int, int *); +int gofish(int, int, int *); +void goodmove(int, int, int *, int *); +void init(void); +void instructions(void); +int main(int, char *[]); +int nrandom(int); +void printhand(const int *); +void printplayer(int); +int promove(void); +void usage(void) __attribute__((__noreturn__)); +int usermove(void); + +int +main(argc, argv) + int argc; + char **argv; +{ + int ch, move; + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + while ((ch = getopt(argc, argv, "p")) != -1) + switch(ch) { + case 'p': + promode = 1; + break; + case '?': + default: + usage(); + } + + srandom(time((time_t *)NULL)); + instructions(); + init(); + + if (nrandom(2) == 1) { + printplayer(COMPUTER); + (void)printf("get to start.\n"); + goto istart; + } + printplayer(USER); + (void)printf("get to start.\n"); + + for (;;) { + move = usermove(); + if (!comphand[move]) { + if (gofish(move, USER, userhand)) + continue; + } else { + goodmove(USER, move, userhand, comphand); + continue; + } + +istart: for (;;) { + move = compmove(); + if (!userhand[move]) { + if (!gofish(move, COMPUTER, comphand)) + break; + } else + goodmove(COMPUTER, move, comphand, userhand); + } + } + /* NOTREACHED */ +} + +int +usermove() +{ + int n; + const char *const *p; + char buf[256]; + + (void)printf("\nYour hand is:"); + printhand(userhand); + + for (;;) { + (void)printf("You ask me for: "); + (void)fflush(stdout); + if (fgets(buf, sizeof(buf), stdin) == NULL) + exit(0); + if (buf[0] == '\0') + continue; + if (buf[0] == '\n') { + (void)printf("%d cards in my hand, %d in the pool.\n", + countcards(comphand), curcard); + (void)printf("My books:"); + (void)countbooks(comphand); + continue; + } + buf[strlen(buf) - 1] = '\0'; + if (!strcasecmp(buf, "p") && !promode) { + promode = 1; + (void)printf("Entering pro mode.\n"); + continue; + } + if (!strcasecmp(buf, "quit")) + exit(0); + for (p = cards; *p; ++p) + if (!strcasecmp(*p, buf)) + break; + if (!*p) { + (void)printf("I don't understand!\n"); + continue; + } + n = p - cards; + if (userhand[n]) { + userasked[n] = 1; + return(n); + } + if (nrandom(3) == 1) + (void)printf("You don't have any of those!\n"); + else + (void)printf("You don't have any %s's!\n", cards[n]); + if (nrandom(4) == 1) + (void)printf("No cheating!\n"); + (void)printf("Guess again.\n"); + } + /* NOTREACHED */ +} + +int +compmove() +{ + static int lmove; + + if (promode) + lmove = promove(); + else { + do { + lmove = (lmove + 1) % RANKS; + } while (!comphand[lmove] || comphand[lmove] == CARDS); + } + asked[lmove] = 1; + + (void)printf("I ask you for: %s.\n", cards[lmove]); + return(lmove); +} + +int +promove() +{ + int i, max; + + for (i = 0; i < RANKS; ++i) + if (userasked[i] && + comphand[i] > 0 && comphand[i] < CARDS) { + userasked[i] = 0; + return(i); + } + if (nrandom(3) == 1) { + for (i = 0;; ++i) + if (comphand[i] && comphand[i] != CARDS) { + max = i; + break; + } + while (++i < RANKS) + if (comphand[i] != CARDS && + comphand[i] > comphand[max]) + max = i; + return(max); + } + if (nrandom(1024) == 0723) { + for (i = 0; i < RANKS; ++i) + if (userhand[i] && comphand[i]) + return(i); + } + for (;;) { + for (i = 0; i < RANKS; ++i) + if (comphand[i] && comphand[i] != CARDS && + !asked[i]) + return(i); + for (i = 0; i < RANKS; ++i) + asked[i] = 0; + } + /* NOTREACHED */ +} + +int +drawcard(player, hand) + int player; + int *hand; +{ + int card; + + ++hand[card = deck[--curcard]]; + if (player == USER || hand[card] == CARDS) { + printplayer(player); + (void)printf("drew %s", cards[card]); + if (hand[card] == CARDS) { + (void)printf(" and made a book of %s's!\n", + cards[card]); + chkwinner(player, hand); + } else + (void)printf(".\n"); + } + return(card); +} + +int +gofish(askedfor, player, hand) + int askedfor, player; + int *hand; +{ + printplayer(OTHER(player)); + (void)printf("say \"GO FISH!\"\n"); + if (askedfor == drawcard(player, hand)) { + printplayer(player); + (void)printf("drew the guess!\n"); + printplayer(player); + (void)printf("get to ask again!\n"); + return(1); + } + return(0); +} + +void +goodmove(player, move, hand, opphand) + int player, move; + int *hand, *opphand; +{ + printplayer(OTHER(player)); + (void)printf("have %d %s%s.\n", + opphand[move], cards[move], opphand[move] == 1 ? "": "'s"); + + hand[move] += opphand[move]; + opphand[move] = 0; + + if (hand[move] == CARDS) { + printplayer(player); + (void)printf("made a book of %s's!\n", cards[move]); + chkwinner(player, hand); + } + + chkwinner(OTHER(player), opphand); + + printplayer(player); + (void)printf("get another guess!\n"); +} + +void +chkwinner(player, hand) + int player; + const int *hand; +{ + int cb, i, ub; + + for (i = 0; i < RANKS; ++i) + if (hand[i] > 0 && hand[i] < CARDS) + return; + printplayer(player); + (void)printf("don't have any more cards!\n"); + (void)printf("My books:"); + cb = countbooks(comphand); + (void)printf("Your books:"); + ub = countbooks(userhand); + (void)printf("\nI have %d, you have %d.\n", cb, ub); + if (ub > cb) { + (void)printf("\nYou win!!!\n"); + if (nrandom(1024) == 0723) + (void)printf("Cheater, cheater, pumpkin eater!\n"); + } else if (cb > ub) { + (void)printf("\nI win!!!\n"); + if (nrandom(1024) == 0723) + (void)printf("Hah! Stupid peasant!\n"); + } else + (void)printf("\nTie!\n"); + exit(0); +} + +void +printplayer(player) + int player; +{ + switch (player) { + case COMPUTER: + (void)printf("I "); + break; + case USER: + (void)printf("You "); + break; + } +} + +void +printhand(hand) + const int *hand; +{ + int book, i, j; + + for (book = i = 0; i < RANKS; i++) + if (hand[i] < CARDS) + for (j = hand[i]; --j >= 0;) + PRC(i); + else + ++book; + if (book) { + (void)printf(" + Book%s of", book > 1 ? "s" : ""); + for (i = 0; i < RANKS; i++) + if (hand[i] == CARDS) + PRC(i); + } + (void)putchar('\n'); +} + +int +countcards(hand) + const int *hand; +{ + int i, count; + + for (count = i = 0; i < RANKS; i++) + count += *hand++; + return(count); +} + +int +countbooks(hand) + const int *hand; +{ + int i, count; + + for (count = i = 0; i < RANKS; i++) + if (hand[i] == CARDS) { + ++count; + PRC(i); + } + if (!count) + (void)printf(" none"); + (void)putchar('\n'); + return(count); +} + +void +init() +{ + int i, j, temp; + + for (i = 0; i < TOTCARDS; ++i) + deck[i] = i % RANKS; + for (i = 0; i < TOTCARDS - 1; ++i) { + j = nrandom(TOTCARDS-i); + if (j == 0) + continue; + temp = deck[i]; + deck[i] = deck[i+j]; + deck[i+j] = temp; + } + for (i = 0; i < HANDSIZE; ++i) { + ++userhand[deck[--curcard]]; + ++comphand[deck[--curcard]]; + } +} + +int +nrandom(n) + int n; +{ + + return((int)random() % n); +} + +void +instructions() +{ + int input; + pid_t pid; + int fd; + const char *pager; + int status; + + (void)printf("Would you like instructions (y or n)? "); + input = getchar(); + while (getchar() != '\n'); + if (input != 'y') + return; + + switch (pid = fork()) { + case 0: /* child */ + if (!isatty(1)) + pager = "cat"; + else { + if (!(pager = getenv("PAGER")) || (*pager == 0)) + pager = _PATH_MORE; + } + if ((fd = open(_PATH_INSTR, O_RDONLY)) == -1) + err(1, "open %s", _PATH_INSTR); + if (dup2(fd, 0) == -1) + err(1, "dup2"); + (void)execl("/bin/sh", "sh", "-c", pager, (char *) NULL); + err(1, "exec sh -c %s", pager); + /*NOTREACHED*/ + case -1: + err(1, "fork"); + /*NOTREACHED*/ + default: + (void)waitpid(pid, &status, 0); + break; + } + (void)printf("Hit return to continue...\n"); + while ((input = getchar()) != EOF && input != '\n'); +} + +void +usage() +{ + (void)fprintf(stderr, "usage: fish [-p]\n"); + exit(1); +} diff --git a/fish/fish.instr b/fish/fish.instr new file mode 100644 index 0000000..b7e87a0 --- /dev/null +++ b/fish/fish.instr @@ -0,0 +1,29 @@ +This is the traditional children's card game "Go Fish". We each get seven +cards, and the rest of the deck is kept to be drawn from later. The +object of the game is to collect "books", or all of the cards of a single +value. For example, getting four 2's would give you a "book of 2's". + +We take turns asking each other for cards, but you can't ask me for a card +value if you don't have one of them in your hand! If I have any cards of +the value you ask for, I have to give them to you. As long as I have one +of the cards you ask for, you get to keep asking. If you ask me for a +card of which I don't have any, then I'll tell you to "Go Fish!" This +means that you draw a card from the deck. If you draw the card you asked +me for, you get to keep asking me for cards. If not, it's my turn and I ask +you for a card. + +Sometimes you get to ask first, sometimes I do. I'll tell you when it's +your turn to move, I'll draw cards from the deck for you, and I'll tell +you what you have in your hand. (Don't worry, I don't look at your hand +when I'm trying to decide what card to ask for, honest!) + +Your input can be a card name ("A", "2", "3", "4", "5", "6", "7", "8", +"9", "10", "J", "Q" or "K") or the letter "p", or "quit". The letter "p" +makes my game much smarter, and the line "quit" stops the game. Just +hitting the carriage return key displays how many cards I have in my hand, +how many are left in the deck, and which books I've gotten. + +Normally, the game stops when one of us runs out of cards, and the winner +is whoever has the most books! + +Good luck! diff --git a/fish/pathnames.h.in b/fish/pathnames.h.in new file mode 100644 index 0000000..7639eb6 --- /dev/null +++ b/fish/pathnames.h.in @@ -0,0 +1,35 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:13 agc Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define _PATH_INSTR "@fish_instrfile@" +#define _PATH_MORE "@pager@" diff --git a/fortune/Makefile.bsd b/fortune/Makefile.bsd new file mode 100644 index 0000000..28d1172 --- /dev/null +++ b/fortune/Makefile.bsd @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.9 2001/01/09 03:13:40 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +SUBDIR= fortune strfile .WAIT datfiles + +.include diff --git a/fortune/Makefrag b/fortune/Makefrag new file mode 100644 index 0000000..35358c6 --- /dev/null +++ b/fortune/Makefrag @@ -0,0 +1,31 @@ +# Makefrag - makefile fragment for fortune +# +# Copyright (c) 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +fortune_all: + +fortune_install: diff --git a/fortune/Notes b/fortune/Notes new file mode 100644 index 0000000..717682f --- /dev/null +++ b/fortune/Notes @@ -0,0 +1,178 @@ +# $NetBSD: Notes,v 1.2 1995/03/23 08:28:26 cgd Exp $ +# @(#)Notes 8.1 (Berkeley) 5/31/93 + +Warning: + The fortunes contained in the fortune database have been collected + haphazardly from a cacophony of sources, in number so huge it + boggles the mind. It is impossible to do any meaningful quality + control on attributions, or lack thereof, or exactness of the quote. + Since this database is not used for profit, and since entire works + are not published, it falls under fair use, as we understand it. + However, if any half-assed idiot decides to make a profit off of + this, they will need to double check it all, and nobody not involved + of such an effort makes any warranty that anything in the database + bears any relation to the real world of literature, law, or other + bizzarrity. + +==> GENERAL INFORMATION + By default, fortune retrieves its fortune files from the directory +/usr/share/games/fortune. A fortune file has two parts: the source file +(which contains the fortunes themselves) and the data file which describes +the fortunes. The data fil always has the same name as the fortune file +with the string ".dat" concatenated, i.e. "fort" is the standard fortune +database, and "fort.dat" is the data file which describes it. See +strfile(8) for more information on creating the data files. + Fortunes are split into potentially offensive and not potentially +offensive parts. The offensive version of a file has the same name as the +non-offensive version with "-o" concatenated, i.e. "fort" is the standard +fortune database, and "fort-o" is the standard offensive database. The +fortune program automatically assumes that any file with a name ending in +"-o" is potentially offensive, and should therefore only be displayed if +explicitly requested, either with the -o option or by specifying a file name +on the command line. + Potentially offensive fortune files should NEVER be maintained in +clear text on the system. They are rotated (see caesar(6)) 13 positions. +To create a new, potentially offensive database, use caesar to rotate it, +and then create its data file with the -x option to strfile(8). The fortune +program automatically decrypts the text when it prints entries from such +databases. + Anything which would not make it onto network prime time programming +(or which would only be broadcast if some discredited kind of guy said it) +MUST be in the potentially offensive database. Fortunes containing any +explicit language (see George Carlin's recent updated list) MUST be in the +potentially offensive database. Political and religious opinions are often +sequestered in the potentially offensive section as well. Anything which +assumes as a world view blatantly racist, mysogynist (sexist), or homophobic +ideas should not be in either, since they are not really funny unless *you* +are racist, mysogynist, or homophobic. + The point of this is that people have should have a reasonable +expectation that, should they just run "fortune", they will not be offended. +We know that some people take offense at anything, but normal people do have +opinions, too, and have a right not to have their sensibilities offended by +a program which is supposed to be entertaining. People who run "fortune +-o" or "fortune -a" are saying, in effect, that they are willing to have +their sensibilities tweaked. However, they should not have their personal +worth seriously (i.e., not in jest) assaulted. Jokes which depend for their +humor on racist, mysogynist, or homophobic stereotypes *do* seriously +assault individual personal worth, and in an general entertainment medium +we should be able to get by without it. + +==> FORMATTING + This file describes the format for fortunes in the database. This +is done in detail to make it easier to keep track of things. Any rule given +here may be broken to make a better joke. + +[All examples are indented by one tab stop -- KCRCA] + +Numbers should be given in parentheses, e.g., + + (1) Everything depends. + (2) Nothing is always. + (3) Everything is sometimes. + +Attributions are two tab stops, followed by two hyphens, followed by a +space, followed by the attribution, and are *not* preceded by blank +lines. Book, journal, movie, and all other titles are in quotes, e.g., + + $100 invested at 7% interest for 100 years will become $100,000, at + which time it will be worth absolutely nothing. + -- Lazarus Long, "Time Enough for Love" + +Attributions which do not fit on one (72 char) line should be continued +on a line which lines up below the first text of the attribution, e.g., + + -- A very long attribution which might not fit on one + line, "Ken Arnold's Stupid Sayings" + +Single paragraph fortunes are in left justified (non-indented) paragraphs +unless they fall into another category listed below (see example above). +Longer fortunes should also be in left justified paragraphs, but if this +makes it too long, try indented paragraphs, with indentations of either one +tab stop or 5 chars. Indentations of less than 5 are too hard to read. + +Laws have the title left justified and capitalized, followed by a colon, +with all the text of the law itself indented one tab stop, initially +capitalized, e.g., + + A Law of Computer Programming: + Make it possible for programmers to write in English and + you will find the programmers cannot write in English. + +Limericks are indented as follows, all lines capitalized: + + A computer, to print out a fact, + Will divide, multiply, and subtract. + But this output can be + No more than debris, + If the input was short of exact. + +Accents precede the letter they are over, e.g., "`^He" for e with a grave +accent. Underlining is done on a word-by-word basis, with the underlines +preceding the word, e.g., "__^H^Hhi ____^H^H^H^Hthere". + +No fortune should run beyond 72 characters on a single line without good +justification (er, no pun intended). And no right margin justification, +either. Sorry. For BSD people, there is a program called "fmt" which can +make this kind of formatting easier. + +Definitions are given with the word or phrase left justified, followed by +the part of speech (if appropriate) and a colon. The definition starts +indented by one tab stop, with subsequent lines left justified, e.g., + + Afternoon, n.: + That part of the day we spend worrying about how we wasted + the morning. + +Quotes are sometimes put around statements which are funnier or make more +sense if they are understood as being spoken, rather than written, +communication, e.g., + + "All my friends and I are crazy. That's the only thing that + keeps us sane." + +Ellipses are always surrounded by spaces, except when next to punctuation, +and are three dots long. + + "... all the modern inconveniences ..." + -- Mark Twain + +Human initials always have spaces after the periods, e.g, "P. T. Barnum", +not "P.T. Barnum". However, "P.T.A.", not "P. T. A.". + +All fortunes should be attributed, but if and only if they are original with +somebody. Many people have said things that are folk sayings (i.e., are +common among the folk (i.e., us common slobs)). There is nothing wrong with +this, of course, but such statements should not be attributed to individuals +who did not invent them. + +Horoscopes should have the sign indented by one tab stop, followed by the +dates of the sign, with the text left justified below it, e.g., + + AQUARIUS (Jan 20 - Feb 18) + You have an inventive mind and are inclined to be progressive. You + lie a great deal. On the other hand, you are inclined to be + careless and impractical, causing you to make the same mistakes over + and over again. People think you are stupid. + +Single quotes should not be used except as quotes within quotes. Not even +single quotes masquerading as double quotes are to be used, e.g., don't say +``hi there'' or `hi there' or 'hi there', but "hi there". However, you +*can* say "I said, `hi there'". + +A long poem or song can be ordered as follows in order to make it fit on a +screen (fortunes should be 19 lines or less if at all possible) (numbers +here are stanza numbers): + + 11111111111111111111 + 11111111111111111111 + 11111111111111111111 22222222222222222222 + 11111111111111111111 22222222222222222222 + 22222222222222222222 + 33333333333333333333 22222222222222222222 + 33333333333333333333 + 33333333333333333333 44444444444444444444 + 33333333333333333333 44444444444444444444 + 44444444444444444444 + 44444444444444444444 + + diff --git a/fortune/README b/fortune/README new file mode 100644 index 0000000..29de138 --- /dev/null +++ b/fortune/README @@ -0,0 +1,41 @@ +# $NetBSD: README,v 1.2 1995/03/23 08:28:29 cgd Exp $ +# @(#)README 8.1 (Berkeley) 5/31/93 + +The potentially offensive fortunes are not installed by default on BSD +systems. If you're absolutely, *positively*, without-a-shadow-of-a-doubt +sure that your user community wants them installed, whack the Makefile +in the subdirectory datfiles, and do "make all install". + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + Some years ago, my neighbor Avery said to me: "There has not been an +adequate jokebook published since "Joe_Miller", which came out in 1739 and +which, incidentally, was the most miserable no-good ... jokebook in the +history of the printed word." + In a subsequent conversation, Avery said: "A funny story is a funny +story, no matter who is in it - whether it's about Catholics or Protestants, +Jews or Gentiles, blacks or whites, browns or yellows. If a story is genuinely +funny it makes no difference how dirty it is. Shout it from the rooftops. +Let the chips fall all over the prairie and let the bonehead wowsers yelp. +... on them." + It is a nice thing to have a neighbor of Avery's grain. He has +believed in the aforestated principles all his life. A great many other +people nowadays are casting aside the pietistic attitude that has led them +to plug up their ears against the facts of life. We of The Brotherhood +believe as Avery believes; we have never been intimidated by the pharisaical +meddlers who have been smelling up the American landscape since the time of +the bundling board. Neither has any one of our members ever been called a +racist. Still, we have been in unremitting revolt against the ignorant +propensity which ordains, in effect, that "The Green Pastures" should never +have been written; the idiot attitude which compelled Arthur Kober to abandon +his delightful Bella Gross, and Octavius Roy Cohen to quit writing about the +splendiferous Florian Slappey; the moronic frame of mind which, if carried +to its logical end, would have forbidden Ring Lardner from writing in the +language of the masses. + -- H. Allen Smith, "Rude Jokes" + + ... let us keep in mind the basic governing philosophy of The +Brotherhood, as handsomely summarized in these words: we believe in +healthy, hearty laughter -- at the expense of the whole human race, if +needs be. + Needs be. + -- H. Allen Smith, "Rude Jokes" diff --git a/fortune/datfiles/Makefile.bsd b/fortune/datfiles/Makefile.bsd new file mode 100644 index 0000000..0a3eed0 --- /dev/null +++ b/fortune/datfiles/Makefile.bsd @@ -0,0 +1,88 @@ +# $NetBSD: Makefile,v 1.36 2003/10/21 10:01:19 lukem Exp $ +# @(#)Makefile 8.2 (Berkeley) 4/19/94 + +.include # for INSTALL_OFFENSIVE_FORTUNES + +SRCFILES= fortunes fortunes2 startrek zippy unamerican-o limerick \ + netbsd farber +DATFILES= fortunes.dat fortunes2.dat startrek.dat zippy.dat \ + fortunes-o fortunes-o.dat fortunes2-o fortunes2-o.dat \ + limerick.dat limerick-o limerick-o.dat unamerican-o \ + unamerican-o.dat netbsd.dat netbsd-o netbsd-o.dat \ + farber.dat + +# TO AVOID INSTALLING THE POTENTIALLY OFFENSIVE FORTUNES, RUN 'make' with +# "INSTALL_OFFENSIVE_FORTUNES=NO", or set "INSTALL_OFFENSIVE_FORTUNES=NO" +# IN bsd.own.mk OR /etc/mk.conf. + +INSTALL_OFFENSIVE_FORTUNES?= YES +.if (${INSTALL_OFFENSIVE_FORTUNES} == "YES") +TYPE= real +.else +TYPE= fake +.endif + +CLEANFILES+=${DATFILES} + +STRFILEDIR!=cd $(.CURDIR)/../strfile; ${PRINTOBJDIR} +STRFILE=${STRFILEDIR}/strfile + +.if ${MKSHARE} != "no" +FILES=${SRCFILES} ${DATFILES} +FILESDIR=/usr/share/games/fortune +.endif + +realall: ${DATFILES} + +# Normal fortunes: build directly from data files. + +fortunes.dat fortunes2.dat startrek.dat zippy.dat limerick.dat netbsd.dat farber.dat: + ${_MKTARGET_CREATE} + ${STRFILE} -rs ${.CURDIR}/${.TARGET:R} ${.TARGET} +fortunes.dat: fortunes +fortunes2.dat: fortunes2 +startrek.dat: startrek +zippy.dat: zippy +limerick.dat: limerick +netbsd.dat: netbsd +farber.dat: farber + +# Obscene fortunes: we have to build source and data files + +fortunes-o: fortunes-o.${TYPE} + ${_MKTARGET_CREATE} + tr 'a-zA-Z' 'n-za-mN-ZA-M' < ${.ALLSRC} > ${.TARGET} +fortunes-o.dat: fortunes-o + ${_MKTARGET_CREATE} + ${STRFILE} -rsx ${.ALLSRC} ${.TARGET} + +fortunes2-o: fortunes2-o.${TYPE} + ${_MKTARGET_CREATE} + tr 'a-zA-Z' 'n-za-mN-ZA-M' < ${.ALLSRC} > ${.TARGET} +fortunes2-o.dat: fortunes2-o + ${_MKTARGET_CREATE} + ${STRFILE} -rsx ${.ALLSRC} ${.TARGET} + +limerick-o: limerick-o.${TYPE} + ${_MKTARGET_CREATE} + tr 'a-zA-Z' 'n-za-mN-ZA-M' < ${.ALLSRC} > ${.TARGET} +limerick-o.dat: limerick-o + ${_MKTARGET_CREATE} + ${STRFILE} -rsx ${.ALLSRC} ${.TARGET} + +unamerican-o: unamerican-o.${TYPE} + ${_MKTARGET_CREATE} + tr 'a-zA-Z' 'n-za-mN-ZA-M' < ${.ALLSRC} > ${.TARGET} +unamerican-o.dat: unamerican-o + ${_MKTARGET_CREATE} + ${STRFILE} -rsx ${.ALLSRC} ${.TARGET} + +netbsd-o: netbsd-o.${TYPE} + ${_MKTARGET_CREATE} + tr 'a-zA-Z' 'n-za-mN-ZA-M' < ${.ALLSRC} > ${.TARGET} +netbsd-o.dat: netbsd-o + ${_MKTARGET_CREATE} + ${STRFILE} -rsx ${.ALLSRC} ${.TARGET} + + +.include diff --git a/fortune/datfiles/Makefrag b/fortune/datfiles/Makefrag new file mode 100644 index 0000000..61879c2 --- /dev/null +++ b/fortune/datfiles/Makefrag @@ -0,0 +1,69 @@ +# Makefrag - makefile fragment for fortune/datfiles +# +# Copyright (c) 1997, 1998, 1999, 2001, 2003 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +fortune_datfiles_DATFILES := farber.dat fortunes.dat fortunes2.dat limerick.dat startrek.dat zippy.dat +fortune_datfiles_DATFILES_off := fortunes-o.dat fortunes2-o.dat limerick-o.dat unamerican-o.dat +fortune_datfiles_GENSRCFILES := fortunes-o fortunes2-o limerick-o unamerican-o +fortune_datfiles_SRCFILES := farber fortunes fortunes2 limerick startrek zippy + +fortune_datfiles_DATFILESp := fortune/datfiles/farber.dat \ + fortune/datfiles/fortunes.dat fortune/datfiles/fortunes2.dat \ + fortune/datfiles/limerick.dat fortune/datfiles/startrek.dat \ + fortune/datfiles/zippy.dat +fortune_datfiles_DATFILES_offp := fortune/datfiles/fortunes-o.dat \ + fortune/datfiles/fortunes2-o.dat fortune/datfiles/limerick-o.dat \ + fortune/datfiles/unamerican-o.dat +fortune_datfiles_GENSRCFILESp := fortune/datfiles/fortunes-o \ + fortune/datfiles/fortunes2-o fortune/datfiles/limerick-o \ + fortune/datfiles/unamerican-o +fortune_datfiles_SRCFILESp := fortune/datfiles/farber \ + fortune/datfiles/fortunes fortune/datfiles/fortunes2 \ + fortune/datfiles/limerick fortune/datfiles/startrek \ + fortune/datfiles/zippy + +fortune_datfiles_CLEANFILES := $(fortune_datfiles_DATFILES) $(fortune_datfiles_DATFILES_off) $(fortune_datfiles_GENSRCFILES) +fortune_datfiles_DIRS := $(FORTUNE_DIR) + +fortune_datfiles_all: $(fortune_datfiles_DATFILESp) $(fortune_datfiles_DATFILES_offp) $(fortune_datfiles_SRCFILESp) $(fortune_datfiles_GENSRCFILESp) + +fortune_datfiles_install: fortune_datfiles_all + set -e; for f in $(fortune_datfiles_SRCFILES) \ + $(fortune_datfiles_GENSRCFILES) $(fortune_datfiles_DATFILES) \ + $(fortune_datfiles_DATFILES_off); do \ + $(INSTALL_DATA) fortune/datfiles/$$f \ + $(INSTALL_PREFIX)$(FORTUNE_DIR)/$$f; \ + done + +$(fortune_datfiles_DATFILESp): fortune/datfiles/%.dat: fortune/datfiles/% fortune/strfile/strfile + fortune/strfile/strfile -rs $< $@ + +$(fortune_datfiles_DATFILES_offp): fortune/datfiles/%.dat: fortune/datfiles/% fortune/strfile/strfile + fortune/strfile/strfile -rsx $< $@ + +$(fortune_datfiles_GENSRCFILESp): %: %.$(FORTUNE_TYPE) + tr a-zA-Z n-za-mN-ZA-M <$< >$@ diff --git a/fortune/datfiles/farber b/fortune/datfiles/farber new file mode 100644 index 0000000..294d1a7 --- /dev/null +++ b/fortune/datfiles/farber @@ -0,0 +1,1855 @@ +A buck in the hand is worth two on the books. +% +A carpenter's son doesn't have shoes. +% +A dog under any other coat is still a dog. +% +A hand in the bush is worth two anywhere else. +% +A lot of these arguments are fetious. +% +A lot of things are going to be bywashed. +% +A lot of water has gone over the bridge since then. +% +A problem swept under the table occasionally comes home to roost. +% +A rocky road is easier to travel than a stone wall. +% +A stop-gap measure is better than no gap at all. +% +A whole hog is better than no hole at all. +% +Abandon ship all you who enter here! +% +After that, we'll break our gums on the computer. +% +All the hills of beans in China don't matter. +% +All the lemmings are coming home to roost. +% +All the lemmings are going home to roost. +% +All you have to do is fill in the missing blanks. +% +An avalanche is nipping at their heels. +% +An enigma is only as good as its bottom line. +% +An ounce of prevention is better than pounding the table. +% +And I take the blunt of it! +% +Another day, a different dollar. +% +Any kneecap of yours is a friend of mine. +% +Any storm in a port. +% +Anybody who marries her would stand out like a sore thumb. +% +Anything he wants is a friend of mine. +% +Are there any problems we haven't beat out to death? +% +As long as somebody let the cat out of the bag, we might as well +spell it correctly. +% +At the end of every pot of gold, there's a rainbow. +% +Before they made him they broke the mold. +% +Beware a Trojan bearing a horse. +% +Boulder dash! +% +By a streak of coincidence, it really happened. +% +By the time we unlock the bandages, he will have gone down the drain. +% +Cheapness doesn't come free. +% +Clean up or fly right. +% +Clean up your own can of worms! +% +Come down off your charlie horse. +% +Conceptual things are in the eye of the beholder. +% +Deep water runs still. +% +Dig a hole and bury it. +% +Dig yourself a hole and bury it. +% +Do it now; don't dingle-dally over it. +% +Do not fumble with a woman's logic. +% +Does it joggle any bells? +% +Don't bite the hand that stabs you in the back. +% +Don't burn your bridges until you come to them. +% +Don't cash in your chips until the shill is down. +% +Don't cast a gander upon the water. +% +Don't cast any dispersions. +% +Don't cast doubts on troubled waters. +% +Don't count your chickens until the barn door is closed. +% +Don't criticize him for lack of inexperience. +% +Don't cut off the limb you've got your neck strung out on. +% +Don't do anything I wouldn't do standing up in a hammock. +% +Don't eat with your mouth full. +% +Don't get your eye out of joint. +% +Don't jump off the gun. +% +Don't jump off the handle. +% +Don't jump on a ship that's going down in flames. +% +Don't just stand there like a sitting duck. +% +Don't lead them down the garden path and cut them off at the knees. +% +Don't leave the nest that feeds you. +% +Don't let the camels get their feet in the door. +% +Don't look a gift horse in the face. +% +Don't look a mixed bag in the mouth. +% +Don't look at me in that tone of voice. +% +Don't look for a gift in the horse's mouth. +% +Don't make a molehill out of a can of beans. +% +Don't make a tempest out of a teapot. +% +Don't muddle the waters. +% +Don't pull a panic button. +% +Don't pull an enigma on me. +% +Don't put all you irons on the fire in one pot. +% +Don't rattle the boat. +% +Don't rock the boat that feeds you. +% +Don't roll up your nostrils at me. +% +Don't stick your oar in muddy waters. +% +Don't strike any bells while the fire is hot. +% +Don't talk to me with your clothes on. +% +Don't talk with your mouth open. +% +Don't throw the baby out with the dishwasher. +% +Don't throw the dog's blanket over the horse's nose. +% +Don't twiddle your knee-caps at me! +% +Don't upset the apple pie. +% +Dot your t's and cross your i's. +% +Drop the other foot, for Christ's sake! +% +Each of us sleazes by at our own pace. +% +Erase that indelibly from your memory. +% +Every cloud has a blue horizon. +% +Every rainbow has a silver lining. +% +Everything is going all bananas. +% +Everything is ipso facto. +% +Everything is mutually intertangled. +% +Everything's all ruffled over. +% +Fade out in a blaze of glory. +% +Feather your den with somebody else's nest. +% +Fellow alumni run thicker than water. +% +Fish or get off the pot! +% +Float off into several individual conferees. +% +For all intensive purposes, the act is over. +% +From here on up, it's down hill all the way. +% +Gander your eye at that! +% +Gee, it must have fallen into one of my cracks. +% +Get off the stick and do something. +% +Get the hot poop right off the vine. +% +Getting him to do anything is like pulling hen's teeth. +% +Give him a project to get his teeth wet on. +% +Give him a square shake. +% +Give him an inch and he'll screw you. +% +Give him enough rope and he will run away with it. +% +Go fly your little red wagon somewhere else. +% +Good grace is in the eye of the beholder. +% +Good riddance aforethought. +% +Half a loaf is better than two in the bush. +% +Half a worm is better than none. +% +Hands were made before feet. +% +Have it prepared under my signature. +% +Have more discretion in the face of valor. +% +Have the seeds we've sown fallen on deaf ears? +% +Have we been cast a strange eye at? +% +Have we gone too fast too far? +% +He has a dire need, actually it's half-dire, but he thinks +it's double-dire. +% +He may be the greatest piece of cheese that ever walked down +the plank. +% +He and his group are two different people. +% +He came in on my own volition. +% +He can't hack the other can of worms. +% +He choked on his own craw. +% +He deserves a well-rounded hand of applause. +% +He didn't even bat an eyebrow. +% +He didn't flinch an eyelid. +% +He disappeared from nowhere. +% +He doesn't have the brain to rub two nickels together. +% +He doesn't know which side his head is buttered on. +% +He drinks like a sieve. +% +He flipped his cork. +% +He gave me a blanket check. +% +He got taken right through the nose. +% +He got up on his highheels. +% +He grates me the wrong way. +% +He has a marvelous way of extruding you. +% +He has a very weak indigestion. +% +He has a wool of steel. +% +He has feet of molasses. +% +He has his ass on the wrong end of his head. +% +He has his crutches around her throat. +% +He has his foot in the pie. +% +He has his neck out on a limb. +% +He has his pot in too many pies. +% +He has the character of navel lint. +% +He has the courage of a second-story man. +% +He hit the nose right on the head. +% +He is as dishonest as the day is long. +% +He just sat there like a bump on a wart. +% +He keeps his ear to the vine. +% +He knows which side his pocketbook is buttered on. +% +He knows which side of his bread his goose is buttered on. +% +He needs to get blown out of his water. +% +He popped out of nowhere like a jack-in-the-bean-box. +% +He pulled himself up on top of his own bootstraps. +% +He rammed it down their ears. +% +He reads memos with a fine tooth comb. +% +He rules with an iron thumb. +% +He said it thumb in cheek. +% +He should be gracious for small favors. +% +He smokes like a fish. +% +He wants to get his nose wet in several areas. +% +He was hoisted by a skyhook on his own petard! +% +He was hoisted by his own canard. +% +He was hung by his own bootstraps. +% +He was left out on the lurch. +% +He was putrified with fright. +% +He wears his finger on his sleeve. +% +He would forget his head if it weren't screwed up. +% +Heads are rolling in the aisles. +% +He'll get his neck in hot water. +% +He'll grease any palm that will pat his ass. +% +He's tossing symbols around like a percussionist in a John +Philip Sousa band. +% +He's a bulldog in a china shop. +% +He's a child progeny. +% +He's a fart off the old block. +% +He's a lion in a den of Daniels. +% +He's a little clog in a big wheel. +% +He's a shirking violet. +% +He's a wolf in sheep's underware. +% +He's a young peeksqueek. +% +He's as crazy as a bloody loon! +% +He's as crazy as a fruitcake. +% +He's as happy as a pig at high tide. +% +He's as quick as an eyelash. +% +He's bailing him out of the woods. +% +He's been living off his laurels for years. +% +He's being pruned for the job. +% +He's being shifted from shuttle to cock. +% +He's biting the shaft and getting the short end of the problem. +% +He's breathing down my throat. +% +He's casting a red herring on the face of the water. +% +He's clam bait. +% +He's cornered on all sides. +% +He's faster than the naked eye. +% +He's fuming at the seams. +% +He's going to fall flat on his feet. +% +He's got a rat's nest by the tail. +% +He's got a tough axe to hoe. +% +He's got four sheets in the wind. +% +He's got his intentions crossed. +% +He's got so much zap he can barely twitch. +% +He's king bee. +% +He's letting ground grow under his feet. +% +He's like a wine glass in a storm. +% +He's like sheep in a bullpen. +% +He's lying through his britches. +% +He's not breathing a muscle. +% +He's off in a cloud of ``hearty heigh-ho Silver''. +% +He's on the back of the pecking order. +% +He's one of the world's greatest flamingo dancers. +% +He's paying through the neck. +% +He's procrastinating like a bandit. +% +He's reached the crescent of his success. +% +He's restoring order to chaos. +% +He's running around like a bull with his head cut off. +% +He's running around like a chicken with his ass cut off. +% +He's running around with his chicken cut off. +% +He's running from gamut to gamut. +% +He's running off at the seams. +% +He's salivating at the chops. +% +He's seething at the teeth. +% +He's sharp as a whip. +% +He's singing a little off-keel. +% +He's so far above me I can't reach his bootstraps. +% +He's so mad he is spitting wooden nickels. +% +He's somewhere down wind of the innuendo. +% +He's spending a lot of brunt on the task. +% +He's splitting up at the seams. +% +He's the best programmer east of the Mason-Dixon line. +% +He's the king of queens. +% +He's the last straw on the camel's back to be called. +% +He's too smart for his own bootstraps. +% +He's up a creek with his paddles leaking. +% +He's within eyeshot of shore. +% +His eyeballs perked up. +% +His feet have come home to roost. +% +His foot is in his mouth up to his ear. +% +His head's too big for his britches. +% +His position is not commiserate with his abilities. +% +History is just a repetition of the past. +% +Hold your cool! +% +How old is your 2-year old? +% +I speak only with olive branches dripping from the corners +of my mouth. +% +I accept it with both barrels. +% +I apologize on cringed knees. +% +I came within a hair's breathe of it. +% +I can do it with one eye tied behind me. +% +I can remember everything; I have a pornographic mind. +% +I can't hum a straight tune. +% +I case my ground very well before I jump into it. +% +I come to you on bended bootstrap. +% +I contributed to the charity of my cause. +% +I could count it on the fingers of one thumb. +% +I could tell you stories that would curdle your hair. +% +I did it sitting flat on my back. +% +I don't always play with a full house of cards. +% +I don't know which dagger to clothe it in. +% +I don't like the feel of this ball of wax. +% +I don't want to be the pie that upset the applecart. +% +I don't want to cast a pall on the water. +% +I don't want to start hurdling profanity. +% +I don't want to stick my hand in the mouth that's feeding me. +% +I don't want to throw a wrench in the ointment. +% +I enjoy his smiling continence. +% +I flew it by ear. +% +I got you by the nap of your neck. +% +I guess I'd better get my duff on the road. +% +I guess I'm putting all my birds in one pie. +% +I guess that muddled the waters. +% +I had her by the nap of the neck. +% +I had to make a split decision. +% +I had to scratch in the back recesses of my memory. +% +I had to throw in the white flag. +% +I have a green thumb up to my elbow. +% +I have a rot-gut feeling about that. +% +I have feedback on both sides of the coin. +% +I have my neck hung out on an open line. +% +I have no personal bones to grind about it. +% +I have people crawling out of my ears. +% +I have post-naval drip. +% +I have reasonably zero desire to do it. +% +I have the self-discipline of a mouse. +% +I have to get my guts up. +% +I have too many cooks in the pot already. +% +I haven't bitten off an easy nut. +% +I haven't gotten the knack down yet. +% +I hear the handwriting on the wall. +% +I heard it out of the corner of my eyes. +% +I just pulled those out of the seat of my pants. +% +I keep stubbing my shins. +% +I know what we have to do to get our feet off the ground. +% +I listen with a very critical eye. +% +I looked at it with some askance. +% +I march to a different kettle of fish. +% +I only hear half of what I believe. +% +I only hope your every wish is desired. +% +I only mentioned it to give you another side of the horse. +% +I only read it in snips and snabs. +% +I owe you a great gratitude of thanks. +% +I pulled my feet out from under my rug. +% +I put all my marbles in one basket. +% +I read the sign, but it went in one ear and out the other. +% +I resent the insinuendoes. +% +I rushed around like a chicken out of my head. +% +I said it beneath my breath. +% +I see several little worms raising their heads around the corner. +% +I think he's gone over the bend. +% +I think I've committed a fore paw. +% +I think that we are making an out-and-out molehill of this issue. +% +I think the real crux is the matter. +% +I thought I'd fall out of my gourd. +% +I want half a cake and eat it too. +% +I want to embark upon your qualms. +% +I want to get more fire into the iron. +% +I want to get to know them on a face-to-name basis. +% +I want to go into that at short length. +% +I want to see him get a good hands-on feel. +% +I was working my balls to the bone. +% +I wish somebody could drop the other foot. +% +I won't hang my laurels on it. +% +I won't kick a gift horse in the mouth. +% +I worked my toes to the bonenail. +% +I would imagine he chafes a bit. +% +I wouldn't give it to a wet dog. +% +I wouldn't marry her with a twenty-foot pole. +% +I wouldn't take him on a ten foot pole. +% +I wouldn't want to be sitting in his shoes. +% +I'd better get my horse on it's ass. +% +I'd better jack up my bootstraps and get going. +% +I'd have been bent out of shape like spades. +% +I'd kill a dog to bite that man. +% +I'd like to intersperse a comment. +% +I'd like to put another foot into the pot. +% +I'd like to strike while the inclination is hot. +% +I'd rather be tight than right. +% +If they do that, they'll be committing suicide for the rest of +their lives. +% +If they had to stand on their own two feet, they would have gone +down the drain a long time ago. +% +If we keep going this way, somebody is going to be left standing +at the church with his pants on. +% +If you don't want words put in your mouth, don't leave it +hanging open. +% +If anything, I bend over on the backwards side. +% +If Calvin Coolidge were alive today, he'd turn over in his grave. +% +If the onus fits, wear it. +% +If the shoe fits, put it in your mouth. +% +If the shoe is on the other foot, wear it. +% +If there's no fire, don't make waves. +% +If they do it there won't be a living orgasm left. +% +If you ask him he could wax very quickly on that subject. +% +If you listen in the right tone of voice, you'll hear what I mean. +% +If you see loose strings that have to be tied down that are not +nailed up, see me about it. +% +If you want something bad enough, you have to pay the price. +% +If you want to be heard, go directly to the horse's ear. +% +If you want to get your jollies off, watch this! +% +If you'd let me, I'd forget the shirt off my back. +% +If you're going to break a chicken, you have to scramble a few eggs. +% +I'll be ready just in case a windfall comes down the pike. +% +I'll be there in the next foreseeable future. +% +I'll be there with spades one. +% +I'll bet there's one guy out in the woodwork. +% +I'll descend on them to the bone. +% +I'll fight him hand and nail. +% +I'll hit him right between the teeth. +% +I'll procrastinate when I get around to it. +% +I'll reek the benefits. +% +I'll see it when I believe it. +% +I'll stay away from that like a 10-foot pole. +% +I'll take a few pegs out of his sails. +% +I'll take any warm body in a storm. +% +I'm a mere fragment of my imagination. +% +I'm all ravelled up. +% +I'm basking in his shadow. +% +I'm burning my bridges out from under me! +% +I'm casting the dye on the face of the water. +% +I'm collapsing around the seams. +% +I'm creaking at the seams. +% +I'm creaming off the top of my head. +% +I'm deathly curious. +% +I'm flapping at the gills. +% +I'm going off tangentially. +% +I'm going right out of my bonker. +% +I'm going right over the bend. +% +I'm going to cast my rocks to the wind. +% +I'm going to down-peddle that aspect. +% +I'm going to feel it out by the ear. +% +I'm going to litigate it to the eyeballs. +% +I'm going to put a little variety in your spice of life. +% +I'm going to put my horn in. +% +I'm going to read between your lines. +% +I'm going to resolve it by ear. +% +I'm going to scatter them like chaff before the wind. +% +I'm going to scream right out of my gourd. +% +I'm going to take my vendetta out on them. +% +I'm going to take my venom out on you. +% +I'm going to throw myself into the teeth of the gamut. +% +I'm ground up to a high pitch. +% +I'm having a hard time getting my handles around that one. +% +I'm in my reclining years. +% +I'm in transit on that point. +% +I'm listening with baited ears. +% +I'm looking at it with a jaundiced ear. +% +I'm not going to bail him out of his own juice. +% +I'm not going to beat a dead horse to death. +% +I'm not going to get side tracked onto a tangent. +% +I'm not sure it's my bag of tea. +% +I'm not sure we're all speaking from the same sheet of music. +% +I'm not trying to grind anybody's axes. +% +I'm out of my bloomin' loon. +% +I'm over the hilt. +% +I'm parked somewhere in the boondoggles. +% +I'm pulling something over on you. +% +I'm ready to go when the bell opens. +% +I'm running around like a one-armed paper bandit. +% +I'm signing my own death knell. +% +I'm sitting on the edge of my ice. +% +I'm smarting at the seams. +% +I'm soaked to the teeth. +% +I'm standing over your shoulder. +% +I'm sticking my neck out on a ledge. +% +I'm stone cold sane. +% +I'm talking up a dead alley. +% +I'm throwing those ideas to you off the top of my hat. +% +I'm too uptight for my own bootstraps. +% +I'm up a wrong alley. +% +I'm up against a blind wall. +% +I'm up to my earballs in garbage. +% +I'm walking on cloud nine. +% +I'm walking on thin water. +% +I'm weighted down with baited breath. +% +I'm willing to throw my two cents into the fire. +% +I'm working my blood up into a fervor. +% +I'm wound up like a cork. +% +I'm your frontface in this matter. +% +In one mouth and out the other. +% +In this period of time, its getting very short. +% +In this vein I will throw out another item for Pandora' box. +% +Indiscretion is the better part of valor. +% +Is he an Amazon! +% +Is there any place we can pull a chink out of the log jam? +% +It is better to have tried and failed than never to have failed +at all. +% +It cuts like a hot knife through solid rock. +% +It drove me to no wits end. +% +It fills a well-needed gap. +% +It floated right to the bottom. +% +It flows like water over the stream. +% +It gets grained into you. +% +It goes from one gamut to another. +% +It goes from tippy top to tippy bottom. +% +It goes in one era and out the other. +% +It goes out one ear and in the other. +% +It got left out in the lurch. +% +It has more punch to the unch. +% +It hit me to the core. +% +It hit the epitome of it. +% +It leaks like a fish. +% +It looks like it's going to go on ad infinitum for a while. +% +It looks real enough to be artificial. +% +It may seem incredulous, but it's true. +% +It might break the straw that holds the camel's back. +% +It might have been a figment of my illusion. +% +It' not an easy thing to get your teeth around. +% +It rolls off her back like a duck. +% +It runs the full width of the totem pole. +% +It sounds like roses to my ears. +% +It sure hits the people between the head. +% +It was a heart-rendering decision. +% +It was a maelstrom around his neck. +% +It was deja vu all over again. +% +It was oozing right out of the lurches. +% +It was really amazing to see the spectra of people there. +% +It went through the palm of my shoe. +% +It will spurn a lot of furious action. +% +It will take a while to ravel down. +% +It's like asking a man to stop eating in the middle of a starvation diet. +% +It's a Byzantine thicket of quicksand. +% +It's a caterpillar in pig's clothing. +% +It's a fiat accompli. +% +It's a fool's paradise wrapped in sheep's clothing. +% +It's a hairy banana. +% +It's a hairy can of worms. +% +It's a home of contention. +% +It's a lot like recumbent DNA. +% +It's a lot of passed water under the bridge. +% +It's a mare's nest in sheep's clothing. +% +It's a mecca of people. +% +It's a monkey wrench in your ointment. +% +It's a new high in lows. +% +It's a road of hard knocks. +% +It's a sight for sore ears. +% +It's a slap in the chaps. +% +It's a tempest in a teacup. +% +It's a terrible crutch to bear. +% +It's a tough nut to hoe. +% +It's a tough road to haul. +% +It's a travesty to the human spirit. +% +It's a typical case of alligator mouth and hummingbird ass. +% +It's a useful ace in the pocket. +% +It's a white elephant around my neck. +% +It's a white herring. +% +It's about 15 feet as the eye flies. +% +It's about as satisfactory as falling off a log. +% +It's all above and beyond board. +% +It's all in knowing when to let a dead horse die. +% +It's all water under the dam. +% +It's always better to be safe than have your neck out on a limb. +% +It's an ill wind that doesn't blow somebody. +% +It's another millstone in the millpond of life. +% +It's as easy as falling off a piece of cake. +% +It's as flat as a door knob. +% +It's as predictable as cherry pie. +% +It's bouncing like a greased pig. +% +It's burned to shreds. +% +Its coming down like buckets outside. +% +It's crumbling at the seams. +% +It's enough to make you want to rot your socks. +% +It's going to bog everybody up. +% +It's going to fall on its ass from within. +% +It's got all the bugs and whistles. +% +It's hanging out like a sore tongue. +% +It's like a greased pig in a wet blanket. +% +It's like a knife through hot butter. +% +It's like a raft on roller skates. +% +It's like harnessing a hare to a tortoise. +% +It's like pulling hen's teeth. +% +It's like talking to a needle in a haystack. +% +It's like the flood of the Hesperis. +% +It's like trying to light a fire under a lead camel. +% +It's like trying to squeeze blood out of a stone. +% +It's more than the mind can boggle. +% +It's music to your eyes. +% +It's no chip off my clock. +% +It's no skin off my stiff upper lip. +% +It's no sweat off my nose. +% +It's not an easy thing to get your teeth wet on. +% +It's not completely an unblessed advantage. +% +It's not his bag of tea. +% +It's not my cup of pie. +% +It's not my Diet of Worms. +% +It's not really hide nor hair. +% +It's one more cog in the wheel. +% +It's perfect, but it will have to do. +% +It's raining like a bandit. +% +It's right on the tip of my head. +% +It's sloppy mismanagement. +% +It's so unbelievable you wouldn't believe it. +% +It's something you're all dying to wait for. +% +It's the blind leading the deaf. +% +It's the greatest little seaport in town. +% +It's the old chicken-in-the-egg problem. +% +It's the old Paul Revere bit . . . one if by two and two if by one. +% +It's the other end of the kettle of fish. +% +It's the straw that broke the ice. +% +It's the highest of the lows. +% +It's the vilest smell I ever heard. +% +It's time to take off our gloves and talk from the heart. +% +It's under closed doors. +% +It's within the pall of reason. +% +It's wrought with problems. +% +It's your ball of wax, you unravel it. +% +I've been burning the midnight hours. +% +I've built enough fudge into that factor. +% +I've got applicants up to the ears. +% +I've got to put my duff to the grindstone. +% +I've had it up to the hilt. +% +I've had more girls than you've got hair between your teeth. +% +I've milked that dead end for all it's worth. +% +I've worked my shins to the bone. +% +Judas Proust! +% +Just because it's there, you don't have to mount it. +% +Just cut a thin slither of it. +% +Just remember that, and then forget it. +% +Keep the water as firm as possible until a fellow has his feet on the ground. +% +Keep this under your vest. +% +Keep your ear peeled! +% +Keep your eyes geared to the situation. +% +Keep your nose to the mark. +% +Keep your nose to the plow. +% +Lay a bugaboo to rest. +% +Let he who casts the first stone cast it in concrete. +% +Let him be rent from limb to limb. +% +Let him fry in his own juice. +% +Let it slip between the cracks. +% +Let me clarify my fumbling. +% +Let me feast your ears. +% +Let me flame your fan. +% +Let me say a word before I throw in the reins. +% +Let me take you under my thumb. +% +Let me throw a monkey into the wrench. +% +Let me throw a monkey wrench in the ointment. +% +Let sleeping uncertainties lie. +% +Let them fry in their socks. +% +Let them hang in their own juice. +% +Let's bend a few lapels. +% +Let's get down to brass facts. +% +Let's go outside and commiserate with nature. +% +Let's grab the initiative by the horns. +% +Let's kick the bucket with a certain amount of daintiness. +% +Let's kill two dogs with one bone. +% +Let's look at it from the other side of the view. +% +Let's lurch into the next hour of the show. +% +Let's not drag any more dead herrings across the garden path. +% +Let's not get ahead of the bandwagon. +% +Let's not hurdle into too many puddles at once. +% +Let's not open the skeleton in that closet. +% +Let's play the other side of the coin. +% +Let's put out a smeller. +% +Let's raise our horizons. +% +Let's roll up our elbows and get to work. +% +Let's set up a straw vote and knock it down. +% +Let's shoot holes at it. +% +Let's skin another can of worms. +% +Let's solve two problems with one bird. +% +Let's strike the fire before the iron gets hot. +% +Let's talk to the horse's mouth. +% +Let's wreck havoc! +% +Like the shoemaker's children, we have computers running out of our ears. +% +Look at the camera and say `bird'. +% +Look before you turn the other cheek. +% +Man cannot eat by bread alone. +% +May I inveigle on you? +% +Men, women, and children first! +% +Mind your own petard! +% +My antipathy runneth over. +% +My chicken house has come home to roost. +% +My dog was pent up all day. +% +My ebb is running low. +% +My foot is going out of its mind. +% +My head is twice its size. +% +My mind is a vacuum of information. +% +My mind slipped into another cog. +% +My mind went blank and I had to wait until the dust cleared. +% +My off-the-head reaction is negative. +% +My steam is wearing down. +% +My stomach gets all knotted up in rocks. +% +My train of thought went out to lunch. +% +Necessity is the invention of strange bedfellows. +% +Necessity is the mother of strange bedfellows. +% +Never feed a hungry dog an empty loaf of bread. +% +Never the twixt should change. +% +No Californian will walk a mile if possible. +% +No crumbs gather under his feet. +% +No dust grows under her feet. +% +No loaf is better than half a loaf at all. +% +No moss grows on his stone. +% +No one can predict the wheel of fortune as it falls. +% +No problem is so formidable that you can't just walk away from it. +% +No rocks grow on Charlie. +% +No sooner said, the better. +% +Nobody could fill his socks. +% +Nobody is going to give you the world in a saucer. +% +Nobody marches with the same drummer. +% +Nobody's going to put his neck out on a limb. +% +Nostalgia just isn't what it used to be. +% +Not all the irons in the fire will bear fruit or even come home to roost. +% +Not by the foggiest stretch of the imagination! +% +Not in a cocked hat, you don't! +% +Not in a pig's bladder you don't! +% +Not me, I didn't open my peep. +% +Not on your bootstraps! +% +Now he's sweating in his own pool. +% +Now the laugh is on the other foot! +% +Now we have some chance to cut new water. +% +One back scratches another. +% +One doesn't swallow the whole cake at the first sitting. +% +One man's curiosity is another man's Pandora's box. +% +Our backs are up the wall. +% +Our deal fell through the boards. +% +Peanut butter jelly go together hand over fist. +% +People in glass houses shouldn't call the kettle black. +% +Picasso wasn't born in a day. +% +Pick them up from their bootstraps. +% +Pictures speak louder than words. +% +Please come here ipso pronto. +% +Pour sand on troubled waters. +% +Put all your money where your marbles are. +% +Put it in a guinea sack. +% +Put it on the back of the stove and let it simper. +% +Put that in your pocket and smoke it! +% +Put the onus on the other foot. +% +Put your mouth where your money is. +% +Right off the top of my cuff, I don' know what to say. +% +Right off the top of my hand, I'd say no. +% +Roll out the Ouija ball. +% +Rome wasn't built on good intentions alone. +% +Row, row, row your boat, gently down the drain. +% +See the forest through the trees. +% +She had a missed conception. +% +She had an aurora of goodness about her. +% +She has eyes like two holes in a burnt blanket. +% +She hit the nail on the nose. +% +She looks like she's been dead for several years, lately. +% +She makes Raquel Welch look like Twiggy standing backwards. +% +She stepped full-face on it. +% +She was sitting there with an insidious look on her face. +% +She'll fight it tooth and toenail. +% +She's a virgin who has never been defoliated. +% +She's flying off the deep end. +% +She's got a bee in her bonnet and just won't let it go. +% +She's melting out punishment. +% +She's steel wool and a yard wide. +% +She's trying to feather her own bush. +% +Shoot it up the flag pole. +% +Somebody is going to have to take a forefront here. +% +Somebody pushed the panic nerve. +% +Somebody's flubbing his dub. +% +Someone is going to be left in the church with his pants on. +% +Sometimes I don't have both sails in the water. +% +Speaking off the hand, I'd advise you to quit. +% +Straighten up or fly right. +% +Strange bedfellows flock together. +% +Take care of two stones with one bird. +% +Take it with a block of salt. +% +That aspect permutes the whole situation. +% +That curdles my toes. +% +That curdles the milk of human kindness. +% +That didn't amount to a hill of worms. +% +That doesn't cut any weight with him. +% +That job is at the bottom of the rung. +% +That makes me as mad as a wet hatter. +% +That opens up a whole other kettle of songs. +% +That problem is getting pushed into the horizon. +% +That puts me up a worse creek. +% +That really uprooted the apple cart. +% +That restaurant is so crowded no one goes there anymore. +% +That solves two stones with one bird. +% +That was a mere peanut in the bucket. +% +That was almost half done unconsciously. +% +That was like getting the horse before the barn. +% +That was the corker in the bottle. +% +That was the pan he was flashed in. +% +That would drive him right out of his banana. +% +That would have been right up Harry's meat. +% +That'll take the steam out of their sails. +% +That's a ball of another wax. +% +That's a bird of a different color. +% +That's a camel's eye strained through a gnat's tooth. +% +That's a different jar of worms. +% +That's a horse of a different feather. +% +That's a matter for sore eyes. +% +That's a measle-worded statement if I ever heard one. +% +That's a sight for deaf ears. +% +That's a tough nut to carry on your back. +% +That's a two-edged circle. +% +That's a whole new ballpark. +% +That's an unexpected surprise. +% +That's getting to the crotch of the matter. +% +That's just putting the gravy on the cake. +% +That's no sweat off my back. +% +That's not my sack of worms. +% +That's obviously a very different cup of fish. +% +That's pushing a dead horse. +% +That's the other end of the coin. +% +That's the straw that broke the camel's hump. +% +That's the wart that sank the camel's back. +% +That's the way the old ball game bounces. +% +That's the whole ball of snakes. +% +That's the whole kettle of fish in a nutshell. +% +That's the whole kit and caboose. +% +That's their applecart, let them choke on it. +% +That's water under the dam. +% +That's way down in the chicken feed. +% +That's when I first opened an eyelash. +% +That's worse than running chalk up and down your back. +% +The grass is always greener when you can't see the forest for the trees. +% +The aggressor is on the wrong foot. +% +The analogy is a deeply superficial one. +% +The atmosphere militates against a solution. +% +The ball is in our lap. +% +The die has been cast on the face of the waters. +% +The early bird will find his can of worms. +% +The early worm catches the fish. +% +The eggs we put all in one basket have come home to roost. +% +The faculty has cast a jaundiced eye upon the waters. +% +The fervor is so deep you can taste it. +% +The foot that rocks the cradle is usually in the mouth. +% +The fruits of our labors are about to be felt. +% +The future is not what it used to be. +% +The gremlins have gone off to roost on someone else's canard. +% +The grocer's son always has shoes. +% +The groundwork is thoroughly broken. +% +The hand is on the wall. +% +The horse is stolen before the barn even gets its door closed. +% +The idea did cross my head. +% +The ideas sprang full-blown from the hydra's heads. +% +The initiative is on the wrong foot. +% +The lights are so bright the air is opaque. +% +The meeting was a first-class riot squad. +% +The onus is on the other foot. +% +The pipeline has ramped up. +% +The restaurants are terrible; the town is completely indigestible. +% +The sink is shipping. +% +The up-kick of all that will be nothing. +% +The viewpoints run from hot to cold. +% +The whole thing is a hairy potpourri. +% +The wishbone's connected to the kneebone. +% +Their attitude is to let lying dogs sleep. +% +There are enough cooks in the pot already. +% +There are too many cooks and not enough Indians. +% +There are two sides to every marshmallow. +% +There hasn't been much of a peep about it. +% +There is a prolifery of new ideas. +% +There is no surefool way of proceeding. +% +There is one niche in his armor. +% +There is some milk of contention between us. +% +There was danger lurking under the tip of an iceberg. +% +There were foot-high puddles. +% +There will be fangs flying. +% +There's a dark cloud on every rainbow's horizon. +% +There's a flaw in the ointment. +% +There's a little life in the old shoe yet. +% +There's a lot of blanche here to carte. +% +There's a lot of bull in the china shop. +% +There's a lot of credibility in that gap! +% +There's a strong over current here. +% +There's a vortex swimming around out there. +% +There's going to be hell and high water to pay. +% +There's laughing on the outside, panelling on the inside. +% +There's more than one way to skin an egg without letting the goose +out of the bag. +% +There's no place in the bowl for another spoon to stir the broth. +% +There's no two ways around it. +% +There's nothing like stealing the barn door after the horse is gone. +% +There's some noise afoot about the problem. +% +There's some trash to be separated from the chaff. +% +They are straining at nits. +% +They are unscrupulously honest. +% +They are very far and few between. +% +They closed the doors after the barn was stolen. +% +They descended on me like a hoar of locust. +% +They don't like to dictate themselves to the problem. +% +They don't see eye for eye with us. +% +They don't stand a tea bag's chance in hell. +% +They fell all over their faces. +% +They just want to chew the bull. +% +They just want to shoot the fat. +% +They locked the door after the house was stolen. +% +They make strange bedfellows together. +% +They rolled their eyebrows at me. +% +They run across the gamut. +% +They sucked all the cream off the crop. +% +They sure dipsied his doodle. +% +They unspaded some real down to earth data. +% +They went after him tooth and fang. +% +They wrecked havoc in the kitchen. +% +They'll carve that spectrum any way we desire it. +% +They're atrophying on the vine. +% +They're colder than blue blazes. +% +They're coming farther between. +% +They're dropping his course like flies. +% +They're dying off like fleas. +% +They're eating out of our laps. +% +They're germs in the rough. +% +They're grasping for needles. +% +They're spreading like wild flowers. +% +They're very far and few between. +% +They're working their bones off. +% +They's chomping their lips at the prospect. +% +They've beaten the bushes to death. +% +They've got the bull by the tail now. +% +They've reached a new level of lowness. +% +Things are all up in a heaval. +% +Things have slowed down to a terrible halt. +% +Things keep falling out of it, three or four years at a time. +% +This field of research is so virginal that no human eye has set foot on it. +% +This program has many weaknesses, but its strongest weakness remains to be seen. +% +This bit of casting oil on troubled feathers is more than I can take. +% +This ivory tower we're living in is a glass house. +% +This office requires a president who will work right up to the hilt. +% +This thing kills me to the bone. +% +This wine came from a really great brewery. +% +This work was the understatement of the year. +% +Those are good practices to avoid. +% +Those guys are as independent as hogs on ice. +% +Those guys weld a lot of power. +% +Those people have no bones to grind. +% +Those words were very carefully weaseled. +% +Time and tide strike but once. +% +To be a leader, you have to develop a spear de corps. +% +To coin a cliche, let's have at them. +% +To sweeten the pie, I'll add some cash. +% +To the cook goes the broth! +% +Together again for the first time. +% +Too many chiefs spoil the soup. +% +Too many drinks spoil the broth. +% +Too many hands spoil the soap. +% +Trying to do anything is like a tour de force. +% +Trying to get a doctor on Wednesday is like trying to shoot a horse on Sunday. +% +Watch her, she gets on the stick very quickly. +% +We are on equally unfooted ground. +% +We are paying for the sins of serenity. +% +We brought this can of worms into the open. +% +We can clean ourselves right up to date. +% +We can throw a lot of muscle into the pot. +% +We can't get through the forest for the trees. +% +We didn't know which facts were incorrect. +% +We don't want to get enhangled in that either. +% +We got another thing out of it that I want to heave in. +% +We got on board at ground zero. +% +We got the story post hoc. +% +We have a difference of agreement. +% +We have a real ball of wax to unravel. +% +We have a real messy ball of wax. +% +We have a wide range of broad-gauge people. +% +We have achieved a wide specter of support. +% +We threw everything in the kitchen sink at them. +% +We're getting down to bare tacks. +% +What can we do to shore up these problems? +% +When the tough get going they let sleeping dogs lie. +% +When they go downstairs, you can hear neither hide nor hair of them. +% +When you're jumping on sacred cows, you've got to watch your step. +% +You can make a prima donna sing, but you can't make her dance. +% +You get more for your mileage that way. +% +You gotta strike while the shoe is hot or the iron may be on the other foot. +% +You have sowed a festering cowpie of suspicion. +% +You put all your eggs before the horse. +% +You really can't compare us -- our similarities are different. +% +Your wild oats have come home to roost. +% +You're blowing it all out of context. +% +You've always been the bone of human kindness. diff --git a/fortune/datfiles/fortunes b/fortune/datfiles/fortunes new file mode 100644 index 0000000..c24de4f --- /dev/null +++ b/fortune/datfiles/fortunes @@ -0,0 +1,16163 @@ +!07/11 PDP a ni deppart m'I !pleH +% +(1) Alexander the Great was a great general. +(2) Great generals are forewarned. +(3) Forewarned is forearmed. +(4) Four is an even number. +(5) Four is certainly an odd number of arms for a man to have. +(6) The only number that is both even and odd is infinity. + +Therefore, Alexander the Great had an infinite number of arms. +% +(1) Everything depends. +(2) Nothing is always. +(3) Everything is sometimes. +% +1.79 x 10^12 furlongs per fortnight -- it's not just a good idea, it's +the law! +% +10.0 times 0.1 is hardly ever 1.0. +% +100 buckets of bits on the bus +100 buckets of bits +Take one down, short it to ground +FF buckets of bits on the bus + +FF buckets of bits on the bus +FF buckets of bits +Take one down, short it to ground +FE buckets of bits on the bus + +ad infinitum... +% +$100 invested at 7% interest for 100 years will become $100,000, at +which time it will be worth absolutely nothing. + -- Lazarus Long, "Time Enough for Love" +% +101 USES FOR A DEAD MICROPROCESSOR + (1) Scarecrow for centipedes + (2) Dead cat brush + (3) Hair barrettes + (4) Cleats + (5) Self-piercing earrings + (6) Fungus trellis + (7) False eyelashes + (8) Prosthetic dog claws + . + . + . + (99) Window garden harrow (pulled behind Tonka tractors) + (100) Killer velcro + (101) Currency +% +186,282 miles per second: + +It isn't just a good idea, it's the law! +% +2180, U.S. History question: + What 20th Century U.S. President was almost impeached and what +office did he later hold? +% +$3,000,000 +% +355/113 -- Not the famous irrational number PI, but an incredible +simulation! +% +3 syncs represent the trinity -- init, the child and the eternal zombie +process. In doing 3, you're paying homage to each and I think such +traditions are important in this shallow, mercurial business we find +ourselves in. + -- Jordan K. Hubbard +% +43rd Law of Computing: + Anything that can go wr +fortune: Segmentation violation -- Core dumped +% +77. HO HUM -- The Redundant + +------- (7) This hexagram refers to a situation of extreme +--- --- (8) boredom. Your programs always bomb off. Your wife +------- (7) smells bad. Your children have hives. You are working +---O--- (6) on an accounting system, when you want to develop the +---X--- (9) GREAT AMERICAN COMPILER. You give up hot dates to +--- --- (8) nurse sick computers. What you need now is sex. + +Nine in the second place means: + The yellow bird approaches the malt shop. Misfortune. + +Six in the third place means: + In former times men built altars to honor the Internal Revenue + Service. Great Dragons! Are you in trouble! +% +7:30, Channel 5: The Bionic Dog (Action/Adventure) + The Bionic Dog drinks too much and kicks over the National + Redwood Forest. +% +7:30, Channel 5: The Bionic Dog (Action/Adventure) + The Bionic Dog gets a hormonal short-circuit and violates the + Mann Act with an interstate Greyhound bus. +% +99 blocks of crud on the disk, +99 blocks of crud! +You patch a bug, and dump it again: +100 blocks of crud on the disk! + +100 blocks of crud on the disk, +100 blocks of crud! +You patch a bug, and dump it again: +101 blocks of crud on the disk! ... +% +A "No" uttered from deepest conviction is better and greater than a +"Yes" merely uttered to please, or what is worse, to avoid trouble. + -- Mahatma Gandhi +% +A [golf] ball hitting a tree shall be deemed not to have hit the tree. +Hitting a tree is simply bad luck and has no place in a scientific +game. The player should estimate the distance the ball would have +traveled if it had not hit the tree and play the ball from there, +preferably atop a nice firm tuft of grass. + -- Donald A. Metz +% +A [golf] ball sliced or hooked into the rough shall be lifted and +placed in the fairway at a point equal to the distance it carried or +rolled into the rough. Such veering right or left frequently results +from friction between the face of the club and the cover of the ball +and the player should not be penalized for the erratic behavior of the +ball resulting from such uncontrollable physical +phenomena. + -- Donald A. Metz +% +A baby is an alimentary canal with a loud voice at one end and no +responsibility at the other. +% +A baby is God's opinion that the world should go on. + -- Carl Sandburg +% +A bachelor is a selfish, undeserving guy who has cheated some woman out +of a divorce. + -- Don Quinn +% +A banker is a fellow who lends you his umbrella when the sun is shining +and wants it back the minute it begins to rain. + -- Mark Twain +% +A billion here, a couple of billion there -- first thing you know it +adds up to be real money. + -- Senator Everett McKinley Dirksen +% +A bird in the bush usually has a friend in there with him. +% +A bird in the hand is worth what it will bring. +% +A bird in the hand makes it awfully hard to blow your nose. +% +... A booming voice says, "Wrong, cretin!", and you notice that you +have turned into a pile of dust. +% +A bore is someone who persists in holding his own views after we have +enlightened him with ours. +% +A budget is just a method of worrying before you spend money, as well +as afterward. +% +A candidate is a person who gets money from the rich and votes from the +poor to protect them from each other. +% +A celebrity is a person who is known for his well-knownness. +% +A child can go only so far in life without potty training. It is not +mere coincidence that six of the last seven presidents were potty +trained, not to mention nearly half of the nation's state legislators. + -- Dave Barry +% +A child of five could understand this! Fetch me a child of five. +% +A chubby man with a white beard and a red suit will approach you soon. +Avoid him. He's a Commie. +% +A citizen of America will cross the ocean to fight for democracy, but +won't cross the street to vote in a national election. + -- Bill Vaughan +% +A city is a large community where people are lonesome together. + -- Herbert Prochnow +% +A classic is something that everybody wants to have read and nobody +wants to read. + -- Mark Twain, "The Disappearance of Literature" +% +A closed mouth gathers no foot. +% +A conclusion is simply the place where someone got tired of thinking. +% +A CONS is an object which cares. + -- Bernie Greenberg +% +A consultant is a person who borrows your watch, tells you what time it +is, pockets the watch, and sends you a bill for it. +% +A continuing flow of paper is sufficient to continue the flow of paper. + -- Dyer +% +A copy of the universe is not what is required of art; one of the +damned things is ample. + -- Rebecca West +% +A countryman between two lawyers is like a fish between two cats. + -- Ben Franklin +% +A cynic is a person searching for an honest man, with a stolen +lantern. + -- Edgar A. Shoaff +% +A day for firm decisions!!!!! Or is it? +% +A day without sunshine is like night. +% +A diplomat is a man who can convince his wife she'd look stout in a fur +coat. +% +A diplomat is someone who can tell you to go to hell in such a way that +you will look forward to the trip. +% + A disciple of another sect once came to Drescher as he was +eating his morning meal. "I would like to give you this personality +test", said the outsider, "because I want you to be happy." + Drescher took the paper that was offered him and put it into +the toaster -- "I wish the toaster to be happy too". +% +A diva who specializes in risqu'e arias is an off-coloratura soprano ... +% + A doctor, an architect, and a computer scientist were arguing +about whose profession was the oldest. In the course of their +arguments, they got all the way back to the Garden of Eden, whereupon +the doctor said, "The medical profession is clearly the oldest, because +Eve was made from Adam's rib, as the story goes, and that was a simply +incredible surgical feat." + The architect did not agree. He said, "But if you look at the +Garden itself, in the beginning there was chaos and void, and out of +that, the Garden and the world were created. So God must have been an +architect." + The computer scientist, who had listened to all of this said, +"Yes, but where do you think the chaos came from?" +% +A door is what a dog is perpetually on the wrong side of. + -- Ogden Nash +% +A famous Lisp Hacker noticed an Undergraduate sitting in front of a +Xerox 1108, trying to edit a complex Klone network via a browser. +Wanting to help, the Hacker clicked one of the nodes in the network +with the mouse, and asked "what do you see?" Very earnestly, the +Undergraduate replied "I see a cursor." The Hacker then quickly +pressed the boot toggle at the back of the keyboard, while +simultaneously hitting the Undergraduate over the head with a thick +Interlisp Manual. The Undergraduate was then Enlightened. +% +A fanatic is one who can't change his mind and won't change the +subject. + -- Winston Churchill +% +A fool must now and then be right by chance. +% +A fool's brain digests philosophy into folly, science into +superstition, and art into pedantry. Hence University education. + -- G. B. Shaw +% +A fool-proof method for sculpting an elephant: first, get a huge block +of marble; then you chip away everything that doesn't look like an +elephant. +% +A formal parsing algorithm should not always be used. + -- D. Gries +% +A fractal is by definition a set for which the Hausdorff Besicovitch +dimension strictly exceeds the topological dimension. + -- Mandelbrot, "The Fractal Geometry of Nature" +% +A free society is one where it is safe to be unpopular. + -- Adlai Stevenson +% +A Galileo could no more be elected president of the United States than +he could be elected Pope of Rome. Both high posts are reserved for men +favored by God with an extraordinary genius for swathing the bitter +facts of life in bandages of self-illusion. + -- H. L. Mencken +% +A general leading the State Department resembles a dragon commanding +ducks. + -- New York Times, Jan. 20, 1981 +% +A girl and a boy bump into each other -- surely an accident. +A girl and a boy bump and her handkerchief drops -- surely another accident. +But when a girl gives a boy a dead squid -- *____that ___had __to ____mean _________something*. + -- S. Morgenstern, "The Silent Gondoliers" +% +A gleekzorp without a tornpee is like a quop without a fertsneet (sort +of). +% +A good question is never answered. It is not a bolt to be tightened +into place but a seed to be planted and to bear more seed toward the +hope of greening the landscape of idea. + -- John Ciardi +% +A great many people think they are thinking when they are merely +rearranging their prejudices. + -- William James +% +A great nation is any mob of people which produces at least one honest +man a century. +% +A hypothetical paradox: + What would happen in a battle between an Enterprise security +team, who always get killed soon after appearing, and a squad of +Imperial Stormtroopers, who can't hit the broad side of a planet? + -- Tom Galloway +% +A is for Amy who fell down the stairs, B is for Basil assaulted by bears. +C is for Clair who wasted away, D is for Desmond thrown out of the sleigh. +E is for Ernest who choked on a peach, F is for Fanny, sucked dry by a leech. +G is for George, smothered under a rug, H is for Hector, done in by a thug. +I is for Ida who drowned in the lake, J is for James who took lye, by mistake. +K is for Kate who was struck with an axe, L is for Leo who swallowed some tacks. +M is for Maud who was swept out to sea, N is for Nevil who died of ennui. +O is for Olive, run through with an awl, P is for Prue, trampled flat in a brawl +Q is for Quinton who sank in a mire, R is for Rhoda, consumed by a fire. +S is for Susan who parished of fits, T is for Titas who flew into bits. +U is for Una who slipped down a drain, V is for Victor, squashed under a train. +W is for Winnie, embedded in ice, X is for Xerxes, devoured by mice. +Y is for Yoric whose head was bashed in, Z is for Zilla who drank too much gin. + -- Edward Gorey "The Gashlycrumb Tinies" +% +A journey of a thousand miles begins with a cash advance. +% +A jury consists of 12 persons chosen to decide who has the better lawyer. + -- Robert Frost +% +A lack of leadership is no substitute for inaction. +% +A lady with one of her ears applied +To an open keyhole heard, inside, +Two female gossips in converse free -- +The subject engaging them was she. +"I think", said one, "and my husband thinks +That she's a prying, inquisitive minx!" +As soon as no more of it she could hear +The lady, indignant, removed her ear. +"I will not stay," she said with a pout, +"To hear my character lied about!" + -- Gopete Sherany +% +A language that doesn't affect the way you think about programming is +not worth knowing. +% +A language that doesn't have everything is actually easier to program +in than some that do. + -- Dennis M. Ritchie +% +A large number of installed systems work by fiat. That is, they work +by being declared to work. + -- Anatol Holt +% +A Law of Computer Programming: + Make it possible for programmers to write in English and you +will find the programmers cannot write in English. +% +A LISP programmer knows the value of everything, but the cost of +nothing. + -- Alan Perlis +% +A little inaccuracy sometimes saves tons of explanation. + -- H. H. Munroe, "Saki" +% +A long memory is the most subversive idea in America. +% +A long-forgotten loved one will appear soon. Buy the negatives at any +price. +% +A Los Angeles judge ruled that "a citizen may snore with immunity in +his own home, even though he may be in possession of unusual and +exceptional ability in that particular field." +% +A lot of people are afraid of heights. Not me. I'm afraid of widths. + -- Steve Wright +% +A lot of people I know believe in positive thinking, and so do I. I +believe everything positively stinks. + -- Lew Col +% + A man goes to a tailor to try on a new custom-made suit. The +first thing he notices is that the arms are too long. + "No problem," says the tailor. "Just bend them at the elbow +and hold them out in front of you. See, now it's fine." + "But the collar is up around my ears!" + "It's nothing. Just hunch your back up a little ... no, a +little more ... that's it." + "But I'm stepping on my cuffs!" the man cries in desperation. + "Nu, bend you knees a little to take up the slack. There you +go. Look in the mirror -- the suit fits perfectly." + So, twisted like a pretzel, the man lurches out onto the +street. Reba and Florence see him go by. + "Oh, look," says Reba, "that poor man!" + "Yes," says Florence, "but what a beautiful suit." + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +A man said to the Universe: "Sir, I exist!" + +"However," replied the Universe, "the fact has not created in me a +sense of obligation." + -- Stephen Crane +% +A man wrapped up in himself makes a very small package. +% + A master was explaining the nature of Tao to one of his +novices. "The Tao is embodied in all software -- regardless of how +insignificant," said the master. + + "Is Tao in a hand-held calculator?" asked the novice. + + "It is," came the reply. + + "Is the Tao in a video game?" continued the novice. + + "It is even in a video game," said the master. + + "And is the Tao in the DOS for a personal computer?" + + The master coughed and shifted his position slightly. "The +lesson is over for today," he said. + -- "The Tao of Programming" +% +A mathematician is a machine for converting coffee into theorems. +% +A Mexican newspaper reports that bored Royal Air Force pilots stationed +on the Falkland Islands have devised what they consider a marvelous new +game. Noting that the local penguins are fascinated by airplanes, the +pilots search out a beach where the birds are gathered and fly slowly +along it at the water's edge. Perhaps ten thousand penguins turn their +heads in unison watching the planes go by, and when the pilots turn +around and fly back, the birds turn their heads in the opposite +direction, like spectators at a slow-motion tennis match. Then, the +paper reports, "The pilots fly out to sea and directly to the penguin +colony and overfly it. Heads go up, up, up, and ten thousand penguins +fall over gently onto their backs. + + -- Audubon Society Magazine + + +[From the BBC, 2001-02-02: + For five weeks, a team from the British Antarctic Survey (BAS) +monitored 1,000 king penguins on the island of South Georgia as Lynx +helicopters passed overhead. + "Not one king penguin fell over when the helicopters came over," +said team leader Dr. Richard Stone. + "As the aircraft approached, the birds went quiet and stopped +calling to each other, and adolescent birds that were not associated +with nests began walking away from the noise. Pure animal instinct, +really." + The conclusion, said Dr. Stone, is that flights over 305 metres +(1,000 feet) caused "only minor and transitory ecological effects" on +king penguins.] +% + A musician of more ambition than talent composed an elegy at +the death of composer Edward MacDowell. She played the elegy for the +pianist Josef Hoffman, then asked his opinion. "Well, it's quite +nice," he replied, but don't you think it would be better if ..." + "If what?" asked the composer. + "If ... if you had died and MacDowell had written the elegy?" +% +A neighbor came to Nasrudin, asking to borrow his donkey. "It is out +on loan," the teacher replied. At that moment, the donkey brayed +loudly inside the stable. "But I can hear it bray, over there." "Whom +do you believe," asked Nasrudin, "me or a donkey?" +% +A new koan: + + If you have some ice cream, I will give it to you. + + If you have no ice cream, I will take it away from you. + +It is an ice cream koan. +% +A new supply of round tuits has arrived and are available from Mary. +Anyone who has been putting off work until they got a round tuit now +has no excuse for further procrastination. +% +A New York City judge ruled that if two women behind you at the movies +insist on discussing the probable outcome of the film, you have the +right to turn around and blow a Bronx cheer at them. +% +A New York City ordinance prohibits the shooting of rabbits from the +rear of a Third Avenue street car -- if the car is in motion. +% + A novel approach is to remove all power from the system, which +removes most system overhead so that resources can be fully devoted to +doing nothing. Benchmarks on this technique are promising; tremendous +amounts of nothing can be produced in this manner. Certain hardware +limitations can limit the speed of this method, especially in the +larger systems which require a more involved & less efficient +power-down sequence. + An alternate approach is to pull the main breaker for the +building, which seems to provide even more nothing, but in truth has +bugs in it, since it usually inhibits the systems which keep the beer +cool. +% +A novice was trying to fix a broken Lisp machine by turning the power +off and on. Knight, seeing what the student was doing spoke sternly: +"You can not fix a machine by just power-cycling it with no +understanding of what is going wrong." Knight turned the machine off +and on. The machine worked. +% +A nuclear war can ruin your whole day. +% +A pedestal is as much a prison as any small, confined space. + -- Gloria Steinem +% +A penny saved is ridiculous. +% +A person is just about as big as the things that make them angry. +% +A physicist is an atom's way of knowing about atoms. + -- George Wald +% +A pig is a jolly companion, +Boar, sow, barrow, or gilt -- +A pig is a pal, who'll boost your morale, +Though mountains may topple and tilt. +When they've blackballed, bamboozled, and burned you, +When they've turned on you, Tory and Whig, +Though you may be thrown over by Tabby and Rover, +You'll never go wrong with a pig, a pig, +You'll never go wrong with a pig! + -- Thomas Pynchon, "Gravity's Rainbow" +% + A Plan for the Improvement of English Spelling + by Mark Twain + + For example, in Year 1 that useless letter "c" would be dropped +to be replased either by "k" or "s", and likewise "x" would no longer +be part of the alphabet. The only kase in which "c" would be retained +would be the "ch" formation, which will be dealt with later. Year 2 +might reform "w" spelling, so that "which" and "one" would take the +same konsonant, wile Year 3 might well abolish "y" replasing it with +"i" and Iear 4 might fiks the "g/j" anomali wonse and for all. + Jenerally, then, the improvement would kontinue iear bai iear +with Iear 5 doing awai with useless double konsonants, and Iears 6-12 +or so modifaiing vowlz and the rimeining voist and unvoist konsonants. +Bai Iear 15 or sou, it wud fainali bi posibl tu meik ius ov thi +ridandant letez "c", "y" and "x" -- bai now jast a memori in the maindz +ov ould doderez -- tu riplais "ch", "sh", and "th" rispektivli. + Fainali, xen, aafte sam 20 iers ov orxogrefkl riform, wi wud +hev a lojikl, kohirnt speling in ius xrewawt xe Ingliy-spiking werld. +% +A power so great, it can only be used for Good or Evil! + -- The Firesign Theatre, "The Giant Rat of Sumatra" +% +A priest asked: What is Fate, Master? + +And the Master answered: + +It is that which gives a beast of burden its reason for existence. + +It is that which men in former times had to bear upon their backs. + +It is that which has caused nations to build byways from City to City +upon which carts and coaches pass, and alongside which inns have come +to be built to stave off Hunger, Thirst and Weariness. + +And that is Fate? said the priest. + +Fate ... I thought you said Freight, responded the Master. + +That's all right, said the priest. I wanted to know what Freight was +too. + -- Kehlog Albran, "The Profit" +% + A priest was walking along the cliffs at Dover when he came +upon two locals pulling another man ashore on the end of a rope. +"That's what I like to see", said the priest, "A man helping his fellow +man". + As he was walking away, one local remarked to the other, "Well, +he sure doesn't know the first thing about shark fishing." +% +A professor is one who talks in someone else's sleep. +% +A programmer is a person who passes as an exacting expert on the basis +of being able to turn out, after innumerable punching, an infinite +series of incomprehensible answers calculated with micrometric +precisions from vague assumptions based on debatable figures taken from +inconclusive documents and carried out on instruments of problematical +accuracy by persons of dubious reliability and questionable mentality +for the avowed purpose of annoying and confounding a hopelessly +defenseless department that was unfortunate enough to ask for the +information in the first place. + -- IEEE Grid news magazine +% +A psychiatrist is a person who will give you expensive answers that +your wife will give you for free. +% +A public debt is a kind of anchor in the storm; but if the anchor be +too heavy for the vessel, she will be sunk by that very weight which +was intended for her preservation. + -- Colton +% +A putt that stops close enough to the cup to inspire such comments as +"you could blow it in" may be blown in. This rule does not apply if +the ball is more than three inches from the hole, because no one wants +to make a travesty of the game. + -- Donald A. Metz +% +A raccoon tangled with a 23,000 volt line today. The results blacked +out 1400 homes and, of course, one raccoon. + -- Steel City News +% +A radioactive cat has eighteen half-lives. +% +A reading from the Book of Armaments, Chapter 4, Verses 16 to 20: + +Then did he raise on high the Holy Hand Grenade of Antioch, saying, +"Bless this, O Lord, that with it thou mayst blow thine enemies to tiny +bits, in thy mercy." And the people did rejoice and did feast upon the +lambs and toads and tree-sloths and fruit-bats and orangutans and +breakfast cereals ... Now did the Lord say, "First thou pullest the +Holy Pin. Then thou must count to three. Three shall be the number of +the counting and the number of the counting shall be three. Four shalt +thou not count, neither shalt thou count two, excepting that thou then +proceedeth to three. Five is right out. Once the number three, being +the number of the counting, be reached, then lobbest thou the Holy Hand +Grenade in the direction of thine foe, who, being naughty in my sight, +shall snuff it." + -- Monty Python, "Monty Python and the Holy Grail" +% +A real patriot is the fellow who gets a parking ticket and rejoices +that the system works. +% +A real person has two reasons for doing anything ... a good reason and +the real reason. +% +A recent study has found that concentrating on difficult off-screen +objects, such as the faces of loved ones, causes eye strain in computer +scientists. Researchers into the phenomenon cite the added +concentration needed to "make sense" of such unnatural three +dimensional objects ... +% +A Riverside, California, health ordinance states that two persons may +not kiss each other without first wiping their lips with carbolized +rosewater. +% +A rock pile ceases to be a rock pile the moment a single man +contemplates it, bearing within him the image of a cathedral. + -- Antoine de Saint-Exupery +% +A sense of humor keen enough to show a man his own absurdities will +keep him from the commission of all sins, or nearly all, save those +that are worth committing. + -- Samuel Butler +% + A Severe Strain on the Credulity + +As a method of sending a missile to the higher, and even to the highest +parts of the earth's atmospheric envelope, Professor Goddard's rocket +is a practicable and therefore promising device. It is when one +considers the multiple-charge rocket as a traveler to the moon that one +begins to doubt ... for after the rocket quits our air and really +starts on its journey, its flight would be neither accelerated nor +maintained by the explosion of the charges it then might have left. +Professor Goddard, with his "chair" in Clark College and countenancing +of the Smithsonian Institution, does not know the relation of action to +re-action, and of the need to have something better than a vacuum +against which to react ... Of course he only seems to lack the +knowledge ladled out daily in high schools. + -- New York Times Editorial, 1920 +% +A sine curve goes off to infinity or at least the end of the blackboard. + -- Prof. Steiner +% +... A solemn, unsmiling, sanctimonious old iceberg who looked like he +was waiting for a vacancy in the Trinity. + -- Mark Twain +% +A straw vote only shows which way the hot air blows. + -- O'Henry +% +A strong conviction that something must be done is the parent of many +bad measures. + -- Daniel Webster +% +A student who changes the course of history is probably taking an +exam. +% +A student, in hopes of understanding the Lambda-nature, came to +Greenblatt. As they spoke a Multics system hacker walked by. "Is it +true," asked the student, "that PL-1 has many of the same data types as +Lisp?" Almost before the student had finished his question, Greenblatt +shouted, "FOO!", and hit the student with a stick. +% +A successful [software] tool is one that was used to do something +undreamed of by its author. + -- S. C. Johnson +% +A system admin's life is a sorry one. The only advantage he has over +Emergency Room doctors is that malpractice suits are rare. On the +other hand, ER doctors never have to deal with patients installing +new versions of their own innards! + -- Michael O'Brien +% +A tautology is a thing which is tautological. +% +A total abstainer is one who abstains from everything but abstention, +and especially from inactivity in the affairs of others. + -- Ambrose Bierce, "The Devil's Dictionary" +% +A transistor protected by a fast-acting fuse will protect the fuse by +blowing first. +% +A triangle which has an angle of 135 degrees is called an obscene +triangle. +% +A truly wise man never plays leapfrog with a unicorn. +% +A university is what a college becomes when the faculty loses interest +in students. + -- John Ciardi +% +A University without students is like an ointment without a fly. + -- Ed Nather, professor of astronomy at UT Austin +% +A vacuum is a hell of a lot better than some of the stuff that nature +replaces it with. + -- Tennessee Williams +% +A well adjusted person is one who makes the same mistake twice without +getting nervous. +% +A witty saying proves nothing, but saying something pointless gets +people's attention. +% +A witty saying proves nothing. + -- Voltaire +% +A wizard cannot do everything; a fact most magicians are reticent to +admit, let alone discuss with prospective clients. Still, the fact +remains that there are certain objects, and people, that are, for one +reason or another, completely immune to any direct magical spell. It +is for this group of beings that the magician learns the subtleties of +using indirect spells. It also does no harm, in dealing with these +matters, to carry a large club near your person at all times. + -- The Teachings of Ebenezum, Volume VIII +% +A year spent in artificial intelligence is enough to make one believe in God. +% +A.A.A.A.A.: + An organization for drunks who drive +% +AAAAAAAAAaaaaaaaaaaaaaaaccccccccckkkkkk!!!!!!!!! +You brute! Knock before entering a ladies room! +% +Abandon the search for Truth; settle for a good fantasy. +% +About the time we think we can make ends meet, somebody moves the ends. + -- Herbert Hoover +% +Absence makes the heart go wander. +% +Absent, adj.: + Exposed to the attacks of friends and acquaintances; defamed; +slandered. +% +Absentee, n.: + A person with an income who has had the forethought to remove +himself from the sphere of exaction. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Abstainer, n.: + A weak person who yields to the temptation of denying himself a +pleasure. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Absurdity, n.: + A statement or belief manifestly inconsistent with one's own +opinion. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Academic politics is the most vicious and bitter form of politics, +because the stakes are so low. + -- Wallace Sayre +% +Accident, n.: + A condition in which presence of mind is good, but absence of +body is better. + -- Foolish Dictionary +% +Accidents cause History. + +If Sigismund Unbuckle had taken a walk in 1426 and met Wat Tyler, the +Peasant's Revolt would never have happened and the motor car would not +have been invented until 2026, which would have meant that all the oil +could have been used for lamps, thus saving the electric light bulb and +the whale, and nobody would have caught Moby Dick or Billy Budd. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +According to Arkansas law, Section 4761, Pope's Digest: "No person +shall be permitted under any pretext whatever, to come nearer than +fifty feet of any door or window of any polling room, from the opening +of the polls until the completion of the count and the certification of +the returns." +% +According to Kentucky state law, every person must take a bath at least +once a year. +% +According to my best recollection, I don't remember. + -- Vincent "Jimmy Blue Eyes" Alo +% +According to the latest official figures, 43% of all statistics are +totally worthless. +% +According to the obituary notices, a mean and unimportant person never +dies. +% +According to the Rand McNally Places-Rated Almanac, the best place to +live in America is the city of Pittsburgh. The city of New York came +in twenty-fifth. Here in New York we really don't care too much. +Because we know that we could beat up their city anytime. + -- David Letterman +% +Accordion, n.: + A bagpipe with pleats. +% +Accuracy, n.: + The vice of being right. +% + ACHTUNG!!! + +Das machine is nicht fur gefingerpoken und mittengrabben. Ist easy +schnappen der springenwerk, blowenfusen und corkenpoppen mit +spitzensparken. Ist nicht fur gewerken by das dummkopfen. Das +rubbernecken sightseeren keepen hands in das pockets. Relaxen und +vatch das blinkenlights!!! +% +Acid -- better living through chemistry. +% +Acid absorbs 47 times its weight in excess Reality. +% +Acquaintance, n.: + A person whom we know well enough to borrow from, but not well +enough to lend to. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Acting is an art which consists of keeping the audience from coughing. +% +Actor: "I'm a smash hit. Why, yesterday during the last act, I had + everyone glued in their seats!" +Oliver Herford: "Wonderful! Wonderful! Clever of you to think of + it!" +% +Actor: So what do you do for a living? +Doris: I work for a company that makes deceptively shallow serving + dishes for Chinese restaurants. + -- Woody Allen, "Without Feathers" +% +Actors will happen even in the best-regulated families. +% +ADA, n.: + Something you need only know the name of to be an Expert in +Computing. Useful in sentences like, "We had better develop an ADA +awareness." + -- "Datamation", January 15, 1984 +% +Admiration, n.: + Our polite recognition of another's resemblance to ourselves. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Adolescence, n.: + The stage between puberty and adultery. +% +Adopted kids are such a pain -- you have to teach them how to look +like you ... + -- Gilda Radner +% +Adore, v.: + To venerate expectantly. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Adult, n.: + One old enough to know better. +% +Advertising is a valuable economic factor because it is the cheapest +way of selling goods, particularly if the goods are worthless. + -- Sinclair Lewis +% +Advice to young men: Be ascetic, and if you can't be ascetic, +then at least be aseptic. +% +After [Benjamin] Franklin came a herd of Electrical Pioneers whose +names have become part of our electrical terminology: Myron Volt, Mary +Louise Amp, James Watt, Bob Transformer, etc. These pioneers conducted +many important electrical experiments. For example, in 1780 Luigi +Galvani discovered (this is the truth) that when he attached two +different kinds of metal to the leg of a frog, an electrical current +developed and the frog's leg kicked, even though it was no longer +attached to the frog, which was dead anyway. Galvani's discovery led +to enormous advances in the field of amphibian medicine. Today, +skilled veterinary surgeons can take a frog that has been seriously +injured or killed, implant pieces of metal in its muscles, and watch it +hop back into the pond just like a normal frog, except for the fact +that it sinks like a stone. + -- Dave Barry, "What is Electricity?" +% +After a few boring years, socially meaningful rock 'n' roll died out. +It was replaced by disco, which offers no guidance to any form of life +more advanced than the lichen family. + -- Dave Barry, "Kids Today: They Don't Know Dum Diddly Do" +% +After a number of decimal places, nobody gives a damn. +% +... After all, all he did was string together a lot of old, well-known +quotations. + -- H. L. Mencken, on Shakespeare +% +After all, what is your hosts' purpose in having a party? Surely not +for you to enjoy yourself; if that were their sole purpose, they'd have +simply sent champagne and women over to your place by taxi. + -- P. J. O'Rourke +% +After an instrument has been assembled, extra components will be found +on the bench. +% + After his Ignoble Disgrace, Satan was being expelled from +Heaven. As he passed through the Gates, he paused a moment in thought, +and turned to God and said, "A new creature called Man, I hear, is soon +to be created." + "This is true," He replied. + "He will need laws," said the Demon slyly. + "What! You, his appointed Enemy for all Time! You ask for the +right to make his laws?" + "Oh, no!" Satan replied, "I ask only that he be allowed to +make his own." + It was so granted. + -- Ambrose Bierce, "The Devil's Dictionary" +% +After I asked him what he meant, he replied that freedom consisted of +the unimpeded right to get rich, to use his ability, no matter what the +cost to others, to win advancement. + -- Norman Thomas +% +After I run your program, let's make love like crazed weasels, OK? +% +After living in New York, you trust nobody, but you believe +everything. Just in case. +% +After the last of 16 mounting screws has been removed from an access +cover, it will be discovered that the wrong access cover has been +removed. +% +Afternoon very favorable for romance. Try a single person for a +change. +% +Afternoon, n.: + That part of the day we spend worrying about how we wasted the +morning. +% +Age before beauty; and pearls before swine. + -- Dorothy Parker +% +Age, n.: + That period of life in which we compound for the vices that we +still cherish by reviling those that we no longer have the enterprise +to commit. + -- Ambrose Bierce +% +Ah say, son, you're about as sharp as a bowlin' ball. +% +Ah, but the choice of dreams to live, +there's the rub. + +For all dreams are not equal, +some exit to nightmare +most end with the dreamer + +But at least one must be lived ... and died. +% +Ah, you know the type. They like to blame it all on the Jews or the +Blacks, 'cause if they couldn't, they'd have to wake up to the fact +that life's one big, scary, glorious, complex and ultimately +unfathomable crapshoot -- and the only reason THEY can't seem to keep +up is they're a bunch of misfits and losers. + -- A analysis of Neo-Nazis, from "The Badger" comic +% +Air is water with holes in it. +% +Alas, I am dying beyond my means. + -- Oscar Wilde, as he sipped champagne on his deathbed +% +Albert Einstein, when asked to describe radio, replied: "You see, wire +telegraph is a kind of a very, very long cat. You pull his tail in New +York and his head is meowing in Los Angeles. Do you understand this? +And radio operates exactly the same way: you send signals here, they +receive them there. The only difference is that there is no cat." +% +Alden's Laws: + (1) Giving away baby clothes and furniture is the major cause + of pregnancy. + (2) Always be backlit. + (3) Sit down whenever possible. +% +Aleph-null bottles of beer on the wall, +Aleph-null bottles of beer, + You take one down, and pass it around, +Aleph-null bottles of beer on the wall. +% +Alex Haley was adopted! +% +Alexander Graham Bell is alive and well in New York, and still waiting +for a dial tone. +% +Alimony is a system by which, when two people make a mistake, one of +them keeps paying for it. + -- Peggy Joyce +% +All [zoos] actually offer to the public in return for the taxes spent +upon them is a form of idle and witless amusement, compared to which a +visit to a penitentiary, or even to a State legislature in session, is +informing, stimulating and ennobling. + -- H. L. Mencken +% +All bridge hands are equally likely, but some are more equally likely +than others. + -- Alan Truscott +% +All extremists should be taken out and shot. +% +All Finagle Laws may be bypassed by learning the simple art of doing +without thinking. +% +"All flesh is grass" + -- Isaiah +Smoke a friend today. +% +All I ask is a chance to prove that money can't make me happy. +% +All I ask of life is a constant and exaggerated sense of my own +importance. +% +All I can think of is a platter of organic PRUNE CRISPS being trampled +by an army of swarthy, Italian LOUNGE SINGERS ... +% +All I want is a warm bed and a kind word and unlimited power. + -- Ashleigh Brilliant +% +All men are mortal. Socrates was mortal. Therefore, all men are +Socrates. + -- Woody Allen +% +All my friends and I are crazy. That's the only thing that keeps us sane. +% +All my life I wanted to be someone; I guess I should have been more +specific. + -- Jane Wagner +% +All of the true things I am about to tell you are shameless lies. + -- The Book of Bokonon / Kurt Vonnegut Jr. +% +All other things being equal, a bald man cannot be elected President of +the United States. + -- Vic Gold +% +All power corrupts, but we need electricity. +% +All programmers are playwrights and all computers are lousy actors. +% +All progress is based upon a universal innate desire on the part of +every organism to live beyond its income. + -- Samuel Butler, "Notebooks" +% +All science is either physics or stamp collecting. + -- Ernest Rutherford +% +All snakes who wish to remain in Ireland will please raise their right +hands. + -- Saint Patrick +% +All syllogisms have three parts; therefore this is not a syllogism. +% +All the big corporations depreciate their possessions, and you can, +too, provided you use them for business purposes. For example, if you +subscribe to the Wall Street Journal, a business-related newspaper, you +can deduct the cost of your house, because, in the words of U.S. +Supreme Court Chief Justice Warren Burger in a landmark 1979 tax +decision: "Where else are you going to read the paper? Outside? What +if it rains?" + -- Dave Barry, "Sweating Out Taxes" +% +... all the modern inconveniences ... + -- Mark Twain +% +All the passions make us commit faults; love makes us commit the most +ridiculous ones. + -- La Rochefoucauld +% +All the taxes paid over a lifetime by the average American are spent by +the government in less than a second. + -- Jim Fiebig +% +All the world's a stage and most of us are desperately unrehearsed. + -- Sean O'Casey +% +All the world's a VAX, +And all the coders merely butchers; +They have their exits and their entrails; +And one int in his time plays many widths, +His sizeof being _N bytes. At first the infant, +Mewling and puking in the Regent's arms. +And then the whining schoolboy, with his Sun, +And shining morning face, creeping like slug +Unwillingly to school. + -- A Very Annoyed PDP-11 +% +All theoretical chemistry is really physics; +and all theoretical chemists know it. + -- Richard P. Feynman +% +All things are possible, except skiing thru a revolving door. +% +All this wheeling and dealing around, why, it isn't for money, it's for +fun. Money's just the way we keep score. + -- Henry Tyroon +% +All true wisdom is found on T-shirts. +% +All wars are civil wars, because all men are brothers ... Each one owes +infinitely more to the human race than to the particular country in +which he was born. + -- Francois Fenelon +% +Alliance, n.: + In international politics, the union of two thieves who have +their hands so deeply inserted in each other's pocket that they cannot +separately plunder a third. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Alone, adj.: + In bad company. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Although golf was originally restricted to wealthy, overweight +Protestants, today it's open to anybody who owns hideous clothing. + -- Dave Barry +% +Although the moon is smaller than the earth, it is farther away. +% +Although we modern persons tend to take our electric lights, radios, +mixers, etc., for granted, hundreds of years ago people did not have +any of these things, which is just as well because there was no place +to plug them in. Then along came the first Electrical Pioneer, +Benjamin Franklin, who flew a kite in a lighting storm and received a +serious electrical shock. This proved that lighting was powered by the +same force as carpets, but it also damaged Franklin's brain so severely +that he started speaking only in incomprehensible maxims, such as "A +penny saved is a penny earned." Eventually he had to be given a job +running the post office. + -- Dave Barry, "What is Electricity?" +% +Although written many years ago, Lady Chatterley's Lover has just been +reissued by the Grove Press, and this pictorial account of the +day-to-day life of an English gamekeeper is full of considerable +interest to outdoor minded readers, as it contains many passages on +pheasant-raising, the apprehending of poachers, ways to control vermin, +and other chores and duties of the professional gamekeeper. +Unfortunately, one is obliged to wade through many pages of extraneous +material in order to discover and savour those sidelights on the +management of a midland shooting estate, and in this reviewer's opinion +the book cannot take the place of J. R. Miller's "Practical +Gamekeeping." + -- Ed Zern, "Field and Stream" (Nov. 1959) +% +Always borrow money from a pessimist; he doesn't expect to be paid +back. +% +Always remember that you are unique. Just like everyone else. +% +Always try to do things in chronological order; it's less confusing +that way. +% +Am I ranting? I hope so. My ranting gets raves. +% + AMAZING BUT TRUE ... + +If all the salmon caught in Canada in one year were laid end to end +across the Sahara Desert, the smell would be absolutely awful. +% + AMAZING BUT TRUE ... + +There is so much sand in Northern Africa that if it were spread out it +would completely cover the Sahara Desert. +% +Ambidextrous, adj.: + Able to pick with equal skill a right-hand pocket or a left. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Ambition is a poor excuse for not having sense enough to be lazy. + -- Charlie McCarthy +% +America may be unique in being a country which has leapt from barbarism +to decadence without touching civilization. + -- John O'Hara +% +America was discovered by Amerigo Vespucci and was named after him, +until people got tired of living in a place called "Vespuccia" and +changed its name to "America". + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +American business long ago gave up on demanding that prospective +employees be honest and hardworking. It has even stopped hoping for +employees who are educated enough that they can tell the difference +between the men's room and the women's room without having little +pictures on the doors. + -- Dave Barry, "Urine Trouble, Mister" +% +Amnesia used to be my favorite word, but then I forgot it. +% +An age is called Dark not because the light fails to shine, but because +people refuse to see it. + -- James Michener, "Space" +% +An American's a person who isn't afraid to criticize the President but +is always polite to traffic cops. +% +An anthropologist at Tulane has just come back from a field trip to +New Guinea with reports of a tribe so primitive that they have Tide but +not new Tide with lemon-fresh Borax. + -- David Letterman +% +An apple every eight hours will keep three doctors away. +% + An architect's first work is apt to be spare and clean. He +knows he doesn't know what he's doing, so he does it carefully and with +great restraint. + As he designs the first work, frill after frill and +embellishment after embellishment occur to him. These get stored away +to be used "next time". Sooner or later the first system is finished, +and the architect, with firm confidence and a demonstrated mastery of +that class of systems, is ready to build a second system. + This second is the most dangerous system a man ever designs. +When he does his third and later ones, his prior experiences will +confirm each other as to the general characteristics of such systems, +and their differences will identify those parts of his experience that +are particular and not generalizable. + The general tendency is to over-design the second system, using +all the ideas and frills that were cautiously sidetracked on the first +one. The result, as Ovid says, is a "big pile". + -- Frederick Brooks, "The Mythical Man Month" +% +An artist should be fit for the best society and keep out of it. +% +An attorney was defending his client against a charge of first-degree +murder. "Your Honor, my client is accused of stuffing his lover's +mutilated body into a suitcase and heading for the Mexican border. +Just north of Tijuana a cop spotted her hand sticking out of the +suitcase. Now, I would like to stress that my client is *not* a +murderer. A sloppy packer, maybe..." +% +An authority is a person who can tell you more about something than you +really care to know. +% +An effective way to deal with predators is to taste terrible. +% +An elephant is a mouse with an operating system. +% +An English judge, growing weary of the barrister's long-winded +summation, leaned over the bench and remarked, "I've heard your +arguments, Sir Geoffrey, and I'm none the wiser!" Sir Geoffrey +responded, "That may be, Milord, but at least you're better informed!" +% +An Englishman never enjoys himself, except for a noble purpose. + -- A. P. Herbert +% +An excellence-oriented '80s male does not wear a regular watch. He +wears a Rolex watch, because it weighs nearly six pounds and is +advertised only in excellence-oriented publications such as Fortune and +Rich Protestant Golfer Magazine. The advertisements are written in +incomplete sentences, which is how advertising copywriters denote +excellence: + +The Rolex Hyperion. An elegant new standard in quality excellence and +discriminating handcraftsmanship. For the individual who is truly able +to discriminate with regard to excellent quality standards of crafting +things by hand. Fabricated of 100 percent 24-karat gold. No watch +parts or anything. Just a great big chunk on your wrist. Truly a +timeless statement. For the individual who is very secure. Who +doesn't need to be reminded all the time that he is very successful. +Much more successful than the people who laughed at him in high +school. Because of his acne. People who are probably nowhere near as +successful as he is now. Maybe he'll go to his 20th reunion, and +they'll see his Rolex Hyperion. Hahahahahahahahaha. + -- Dave Barry, "In Search of Excellence" +% +An exotic journey in downtown Newark is in your future. +% +... an experienced, industrious, ambitious, and often quite often +picturesque liar. + -- Mark Twain +% +An idea is an eye given by God for the seeing of God. Some of these +eyes we cannot bear to look out of, we blind them as quickly as +possible. + -- Russell Hoban, "Pilgermann" +% +An idea is not responsible for the people who believe in it. +% + An old Jewish man reads about Einstein's theory of relativity +in the newspaper and asks his scientist grandson to explain it to him. + "Well, zayda, it's sort of like this. Einstein says that if +you're having your teeth drilled without Novocain, a minute seems like +an hour. But if you're sitting with a beautiful woman on your lap, an +hour seems like a minute." + The old man considers this profound bit of thinking for a +moment and says, "And from this he makes a living?" + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +An ounce of prevention is worth a pound of purge. +% +Anarchy may not be the best form of government, but it's better than no +government at all. +% +And as we stand on the edge of darkness +Let our chant fill the void +That others may know + + In the land of the night + The ship of the sun + Is drawn by + The grateful dead. + + -- Tibetan "Book of the Dead," ca. 4000 BC. +% +... and furthermore ... I don't like your trousers. +% +And I heard Jeff exclaim, +As they strolled out of sight, +"Merry Christmas to all -- +You take credit cards, right?" + -- "Outsiders" comic +% +... And malt does more than Milton can +To justify God's ways to man + -- A. E. Housman +% +And on the seventh day, He exited from append mode. +% +... And remember: if you don't like the news, go out and make some of +your own. + -- "Scoop" Nisker, KFOG radio reporter + Preposterous Words +% +And so, men, we can see that human skin is an even more complex and +fascinating organ than we thought it was, and if we want to keep it +looking good, we have to care for it as though it were our own. One +approach is to undergo a painful surgical procedure wherein your skin +is turned inside-out, so the young cells are on the outside, but then +of course you have the unpleasant side effect that your insides +gradually fill up with dead old cells and you explode. So this +procedure is pretty much limited to top Hollywood stars for whom +youthful beauty is a career necessity, such as Elizabeth Taylor and +Orson Welles. + -- Dave Barry, "Saving Face" +% +...and the fully armed nuclear warheads, are, of course, merely a +courtesy detail. +% +And this is a table ma'am. What in essence it consists of is a +horizontal rectilinear plane surface maintained by four vertical +columnar supports, which we call legs. The tables in this laboratory, +ma'am, are as advanced in design as one will find anywhere in the +world. + -- Michael Frayn, "The Tin Men" +% + "And what will you do when you grow up to be as big as me?" +asked the father of his little son. + "Diet." +% +And yet, seasons must be taken with a grain of salt, for they too have +a sense of humor, as does history. Corn stalks comedy, comedy stalks +tragedy, and this too is historic. And yet, still, when corn meets +tragedy face to face, we have politics. + -- Dalglish, Larsen and Sutherland, "Root Crops and + Ground Cover" +% +Andrea: Unhappy the land that has no heroes. +Galileo: No, unhappy the land that _____needs heroes. + -- Bertolt Brecht, "Life of Galileo" +% +Angels we have heard on High +Tell us to go out and Buy. + -- Tom Lehrer +% +Ankh if you love Isis. +% +Anoint, v.: + To grease a king or other great functionary already +sufficiently slippery. + -- Ambrose Bierce, "The Devil's Dictionary" +% + Another Glitch in the Call + ------- ------ -- --- ---- + (Sung to the tune of a recent Pink Floyd song.) + +We don't need no indirection +We don't need no flow control +No data typing or declarations +Did you leave the lists alone? + + Hey! Hacker! Leave those lists alone! + +Chorus: + All in all, it's just a pure-LISP function call. + All in all, it's just a pure-LISP function call. +% +Another good night not to sleep in a eucalyptus tree. +% +Another possible source of guidance for teenagers is television, but +television's message has always been that the need for truth, wisdom +and world peace pales by comparison with the need for a toothpaste that +offers whiter teeth *___and* fresher breath. + -- Dave Barry, "Kids Today: They Don't Know Dum Diddly Do" +% + Answers to Last Fortune's Questions: + +(1) None. (Moses didn't have an ark). +(2) Your mother, by the pigeonhole principle. +(3) I don't know. +(4) Who cares? +(5) 6 (or maybe 4, or else 3). Mr. Alfred J. Duncan of Podunk, + Montana, submitted an interesting solution to Problem 5. +(6) There is an interesting solution to this problem on page 1029 of my + book, which you can pick up for $23.95 at finer bookstores and + bathroom supply outlets (or 99 cents at the table in front of + Papyrus Books). +% +Anthony's Law of Force: + Don't force it; get a larger hammer. +% +Anthony's Law of the Workshop: + Any tool when dropped, will roll into the least accessible + corner of the workshop. + +Corollary: + On the way to the corner, any dropped tool will first strike + your toes. +% +Antonym, n.: + The opposite of the word you're trying to think of. +% +Any clod can have the facts, but having opinions is an art. + -- Charles McCabe +% +Any dramatic series the producers want us to take seriously as a +representation of contemporary reality cannot be taken seriously as a +representation of anything -- except a show to be ignored by anyone +capable of sitting upright in a chair and chewing gum simultaneously. + -- Richard Schickel +% +Any excuse will serve a tyrant. + -- Aesop +% +Any father who thinks he's all important should remind himself that +this country honors fathers only one day a year while pickles get a +whole week. +% +Any fool can paint a picture, but it takes a wise person to be able to +sell it. +% +Any great truth can -- and eventually will -- be expressed as a cliche +-- a cliche is a sure and certain way to dilute an idea. For instance, +my grandmother used to say, "The black cat is always the last one off +the fence." I have no idea what she meant, but at one time, it was +undoubtedly true. + -- Solomon Short +% +Any philosophy that can be put "in a nutshell" belongs there. + -- Sydney J. Harris +% +Any small object that is accidentally dropped will hide under a larger +object. +% +Any stone in your boot always migrates against the pressure gradient to +exactly the point of most pressure. + -- Milt Barber +% +Any sufficiently advanced bug is indistinguishable from a feature. + -- Rich Kulawiec +% +Any sufficiently advanced technology is indistinguishable from a rigged +demo. +% +Any sufficiently advanced technology is indistinguishable from magic. + -- Arthur C. Clarke +% +Any time things appear to be going better, you have overlooked +something. +% +Any two philosophers can tell each other all they know in two hours. + -- Oliver Wendell Holmes, Jr. +% +Anybody can win, unless there happens to be a second entry. +% +Anybody who doesn't cut his speed at the sight of a police car is +probably parked. +% +Anybody with money to burn will easily find someone to tend the fire. +% +Anyone can do any amount of work provided it isn't the work he is +supposed to be doing at the moment. + -- Robert Benchley +% +Anyone can hold the helm when the sea is calm. + -- Publius Syrus +% +Anyone can make an omelet with eggs. The trick is to make one with +none. +% +Anyone who cannot cope with mathematics is not fully human. At best he +is a tolerable subhuman who has learned to wear shoes, bathe and not +make messes in the house. + -- Lazarus Long, "Time Enough for Love" +% +Anyone who goes to a psychiatrist ought to have his head examined. + -- Samuel Goldwyn +% +Anyone who hates Dogs and Kids Can't be All Bad. + -- W. C. Fields +% +Anyone who is capable of getting themselves made President should on no +account be allowed to do the job. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Anyone who uses the phrase "easy as taking candy from a baby" has never +tried taking candy from a baby. + -- Robin Hood +% +Anything free is worth what you pay for it. +% +Anything is good if it's made of chocolate. +% +Anything labeled "NEW" and/or "IMPROVED" isn't. The label means the +price went up. The label "ALL NEW", "COMPLETELY NEW", or "GREAT NEW" +means the price went way up. +% +Anything that is good and useful is made of chocolate. +% +Anything worth doing is worth overdoing. +% +Apathy is not the problem, it's the solution. +% +Aphorism, n.: + A concise, clever statement. +Afterism, n.: + A concise, clever statement you don't think of until too late. + -- James Alexander Thom +% +APL is a mistake, carried through to perfection. It is the language of +the future for the problems of the past: it creates a new generation of +coding bums. +% +APL is a write-only language. I can write programs in APL, but I +can't read any of them. + -- Roy Keir +% +Aquadextrous, adj.: + Possessing the ability to turn the bathtub faucet on and off +with your toes. + -- Rich Hall, "Sniglets" +% +AQUARIUS (Jan 20 - Feb 18) + You have an inventive mind and are inclined to be progressive. + You lie a great deal. On the other hand, you are inclined to + be careless and impractical, causing you to make the same + mistakes over and over again. People think you are stupid. +% +Arbitrary systems, pl.n.: + Systems about which nothing general can be said, save "nothing +general can be said." +% +ARCHDUKE FERDINAND FOUND ALIVE -- + FIRST WORLD WAR A MISTAKE +% +Are you a turtle? +% +Arguments with furniture are rarely productive. + -- Kehlog Albran, "The Profit" +% +ARIES (Mar 21 - Apr 19) + You are the pioneer type and hold most people in contempt. You + are quick tempered, impatient, and scornful of advice. You are + not very nice. +% +Arithmetic is being able to count up to twenty without taking off your +shoes. + -- Mickey Mouse +% +Armadillo: + To provide weapons to a Spanish pickle +% +Arnold's Laws of Documentation: + (1) If it should exist, it doesn't. + (2) If it does exist, it's out of date. + (3) Only documentation for useless programs transcends the + first two laws. +% +Around computers it is difficult to find the correct unit of time to +measure progress. Some cathedrals took a century to complete. Can you +imagine the grandeur and scope of a program that would take as long? + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +Art is anything you can get away with. + -- Marshall McLuhan +% +Art is either plagiarism or revolution. + -- Paul Gauguin +% +Arthur's Laws of Love: + (1) People to whom you are attracted invariably think you + remind them of someone else. + (2) The love letter you finally got the courage to send will be + delayed in the mail long enough for you to make a fool of + yourself in person. +% +Artistic ventures highlighted. Rob a museum. +% +As a professional humorist, I often get letters from readers who are +interested in the basic nature of humor. "What kind of a sick +perverted disgusting person are you," these letters typically ask, +"that you make jokes about setting fire to a goat?" + -- Dave Barry, "Why Humor is Funny" +% +As an adolescent I aspired to lasting fame, I craved factual +certainty, and I thirsted for a meaningful vision of human life -- so I +became a scientist. This is like becoming an archbishop so you can +meet girls. + -- Matt Cartmill +% +As far as the laws of mathematics refer to reality, they are not +certain, and as far as they are certain, they do not refer to reality. + -- Albert Einstein +% +As far as we know, our computer has never had an undetected error. + -- Weisert +% +As I was going up Punch Card Hill, + Feeling worse and worser, +There I met a C.R.T. + And it drop't me a cursor. + +C.R.T., C.R.T., + Phosphors light on you! +If I had fifty hours a day + I'd spend them all at you. + + -- Uncle Colonel's Cursory Rhymes +% +As I was passing Project MAC, +I met a Quux with seven hacks. +Every hack had seven bugs; +Every bug had seven manifestations; +Every manifestation had seven symptoms. +Symptoms, manifestations, bugs, and hacks, +How many losses at Project MAC? +% +As long as I am mayor of this city [Jersey City, New Jersey] the great +industries are secure. We hear about constitutional rights, free +speech and the free press. Every time I hear these words I say to +myself, "That man is a Red, that man is a Communist". You never hear a +real American talk like that. + -- Frank Hague (1896-1956) +% +As long as the answer is right, who cares if the question is wrong? +% +As long as war is regarded as wicked, it will always have its +fascination. When it is looked upon as vulgar, it will cease to be +popular. + -- Oscar Wilde +% +As of next week, passwords will be entered in Morse code. +% +As part of the conversion, computer specialists rewrote 1,500 +programs; a process that traditionally requires some debugging. + -- USA Today, referring to the IRS switchover to a new + computer system. +% +As soon as we started programming, we found to our surprise that it +wasn't as easy to get programs right as we had thought. Debugging had +to be discovered. I can remember the exact instant when I realized +that a large part of my life from then on was going to be spent in +finding mistakes in my own programs. + -- Maurice Wilkes discovers debugging, 1949 +% +As the poet said, "Only God can make a tree" -- probably because it's +so hard to figure out how to get the bark on. + -- Woody Allen +% +As the trials of life continue to take their toll, remember that there +is always a future in Computer Maintenance. + -- National Lampoon, "Deteriorata" +% +As Will Rogers would have said, "There is no such thing as a free +variable." +% +As with most fine things, chocolate has its season. There is a simple +memory aid that you can use to determine whether it is the correct time +to order chocolate dishes: any month whose name contains the letter A, +E, or U is the proper time for chocolate. + -- Sandra Boynton, "Chocolate: The Consuming Passion" +% +As you know, birds do not have sexual organs because they would +interfere with flight. [In fact, this was the big breakthrough for the +Wright Brothers. They were watching birds one day, trying to figure +out how to get their crude machine to fly, when suddenly it dawned on +Wilbur. "Orville," he said, "all we have to do is remove the sexual +organs!" You should have seen their original design.] As a result, +birds are very, very difficult to arouse sexually. You almost never +see an aroused bird. So when they want to reproduce, birds fly up and +stand on telephone lines, where they monitor telephone conversations +with their feet. When they find a conversation in which people are +talking dirty, they grip the line very tightly until they are both +highly aroused, at which point the female gets pregnant. + -- Dave Barry, "Sex and the Single Amoeba: What Every + Teen Should Know" +% +As you reach for the web, a venomous spider appears. Unable to pull +your hand away in time, the spider promptly, but politely, bites you. +The venom takes affect quickly causing your lips to turn plaid along +with your complexion. You become dazed, and in your stupor you fall +from the limbs of the tree. Snap! Your head falls off and rolls all +over the ground. The instant before you croak, you hear the whoosh of +a vacuum being filled by the air surrounding your head. Worse yet, the +spider is suing you for damages. +% +As Zeus said to Narcissus, "Watch yourself." +% +ASHes to ASHes, DOS to DOS. +% +Ask five economists and you'll get five different explanations (six if +one went to Harvard). + -- Edgar R. Fiedler +% +Ask not for whom the tolls. +% +Ask Not for whom the Bell Tolls, and You will Pay only the +Station-to-Station rate. +% +Ask not for whom the telephone bell tolls ... if thou art in the +bathtub, it tolls for thee. +% +Ask your boss to reconsider -- it's so difficult to take "Go to hell" +for an answer. +% +Asked by reporters about his upcoming marriage to a forty-two-year-old +woman, director Roman Polanski told reporters, `The way I look at it, +she's the equivalent of three fourteen-year-olds.' + -- David Letterman +% +Ass, n.: + The masculine of "lass". +% +Associate with well-mannered persons and your manners will improve. +Run with decent folk and your own decent instincts will be +strengthened. Keep the company of bums and you will become a bum. +Hang around with rich people and you will end by picking up the check +and dying broke. + -- Stanley Walker +% +At a recent meeting in Snowmass, Colorado, a participant from Los +Angeles fainted from hyperoxygenation, and we had to hold his head +under the exhaust of a bus until he revived. +% +At any given moment, an arrow must be either where it is or where it is +not. But obviously it cannot be where it is not. And if it is where +it is, that is equivalent to saying that it is at rest. + -- Zeno's paradox of the moving (still?) arrow +% +At Group L, Stoffel oversees six first-rate programmers, a managerial +challenge roughly comparable to herding cats. + -- The Washington Post Magazine, June 9, 1985 +% +... at least I thought I was dancing, 'til somebody stepped on my hand. + -- J. B. White +% +At least they're ___________EXPERIENCED incompetents +% +At no time is freedom of speech more precious than when a man hits his +thumb with a hammer. + -- Marshall Lumsden +% +At the source of every error which is blamed on the computer you will +find at least two human errors, including the error of blaming it on +the computer. +% +Atlanta makes it against the law to tie a giraffe to a telephone pole +or street lamp. +% +Atlee is a very modest man. And with reason. + -- Winston Churchill +% +Authors (and perhaps columnists) eventually rise to the top of whatever +depths they were once able to plumb. + -- Stanley Kaufman +% +Automobile, n.: + A four-wheeled vehicle that runs up hills and down pedestrians. +% +Avoid Quiet and Placid persons unless you are in Need of Sleep. + -- National Lampoon, "Deteriorata" +% +Avoid reality at all costs. +% +Avoid revolution or expect to get shot. Mother and I will grieve, but +we will gladly buy a dinner for the National Guardsman who shot you. + -- Dr. Paul Williamson, father of a student entering + school in the fall after the Kent State shootings +% +Bacchus, n.: + A convenient deity invented by the ancients as an excuse for +getting drunk. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Bagbiter: + 1. n.; Equipment or program that fails, usually +intermittently. 2. adj.: Failing hardware or software. "This +bagbiting system won't let me get out of spacewar." Usage: verges on +obscenity. Grammatically separable; one may speak of "biting the +bag". Synonyms: LOSER, LOSING, CRETINOUS, BLETCHEROUS, BARFUCIOUS, +CHOMPER, CHOMPING. +% +Bagdikian's Observation: + Trying to be a first-rate reporter on the average American +newspaper is like trying to play Bach's "St. Matthew Passion" on a +ukulele. +% +Baker's First Law of Federal Geometry: + A block grant is a solid mass of money surrounded on all sides +by governors. +% +Ban the bomb. Save the world for conventional warfare. +% +Banectomy, n.: + The removal of bruises on a banana. + -- Rich Hall, "Sniglets" +% +Bank error in your favor. Collect $200. +% +Barach's Rule: + An alcoholic is a person who drinks more than his own physician. +% +Bare feet magnetize sharp metal objects so they point upward from the +floor -- especially in the dark. +% +Barometer, n.: + An ingenious instrument which indicates what kind of weather we +are having. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Barth's Distinction: + There are two types of people: those who divide people into two +types, and those who don't. +% +Baruch's Observation: + If all you have is a hammer, everything looks like a nail. +% +Baseball is a skilled game. It's America's game -- it, and high +taxes. + -- Will Rogers +% +Basic is a high level languish. +APL is a high level anguish. +% +BASIC is the Computer Science equivalent of `Scientific Creationism'. +% +BASIC, n.: + A programming language. Related to certain social diseases in +that those who have it will not admit it in polite company. +% +Bathquake, n.: + The violent quake that rattles the entire house when the water +faucet is turned on to a certain point. + -- Rich Hall, "Sniglets" +% +Be a better psychiatrist and the world will beat a psychopath to your +door. +% +BE ALERT!!!! (The world needs more lerts ...) +% +Be assured that a walk through the ocean of most Souls would scarcely +get your Feet wet. Fall not in Love, therefore: it will stick to your +face. + -- National Lampoon, "Deteriorata" +% +Be braver -- you can't cross a chasm in two small jumps. +% +Be careful of reading health books. You might die of a misprint. + -- Mark Twain +% +Be different: conform. +% +Be free and open and breezy! Enjoy! Things won't get any better so +get used to it. +% +Be security conscious -- National Defense is at stake. +% +Be wary of strong drink. It can make you shoot at tax collectors and +miss + -- Lazarus Long, "Time Enough for Love" +% +Bees are very busy souls +They have no time for birth controls +And that is why in times like these +There are so many Sons of Bees. +% + Before he became a hermit, Zarathud was a young Priest, and +took great delight in making fools of his opponents in front of his +followers. + One day Zarathud took his students to a pleasant pasture and +there he confronted The Sacred Chao while She was contentedly grazing. + "Tell me, you dumb beast," demanded the Priest in his +commanding voice, "why don't you do something worthwhile? What is your +Purpose in Life, anyway?" + Munching the tasty grass, The Sacred Chao replied "MU". (The +Chinese ideogram for NO-THING.) + Upon hearing this, absolutely nobody was enlightened. + Primarily because nobody understood Chinese. + -- Camden Benares, "Zen Without Zen Masters" +% +Before Xerox, five carbons were the maximum extension of anybody's ego. +% +Begathon, n.: + A multi-day event on public television, used to raise money so +you won't have to watch commercials. +% +Behold the warranty ... the bold print giveth and the fine print taketh +away. +% +Beifeld's Principle: + The probability of a young man meeting a desirable and +receptive young female increases by pyramidal progression when he is +already in the company of: (1) a date, (2) his wife, (3) a better +looking and richer male friend. +% +"Being disintegrated makes me ve-ry an-gry!" +% +Bell Labs Unix -- Reach out and grep someone. +% +Bennett's Laws of Horticulture: + (1) Houses are for people to live in. + (2) Gardens are for plants to live in. + (3) There is no such thing as a houseplant. +% +Benson, you are so free of the ravages of intelligence. + -- Time Bandits +% +Besides the device, the box should contain: + +* Eight little rectangular snippets of paper that say "WARNING" + +* A plastic packet containing four 5/17 inch pilfer grommets and two + club-ended 6/93 inch boxcar prawns. + +YOU WILL NEED TO SUPPLY: a matrix wrench and 60,000 feet of tram +cable. + +IF ANYTHING IS DAMAGED OR MISSING: You IMMEDIATELY should turn to your +spouse and say: "Margaret, you know why this country can't make a car +that can get all the way through the drive-through at Burger King +without a major transmission overhaul? Because nobody cares, that's +why." + +WARNING: This is assuming your spouse's name is Margaret. + -- Dave Barry, "Read This First!" +% +Best of all is never to have been born. Second best is to die soon. +% +better !pout !cry +better watchout +lpr why +santa claus town + +cat /etc/passwd >list +ncheck list +ncheck list +cat list | grep naughty >nogiftlist +cat list | grep nice >giftlist +santa claus town + +who | grep sleeping +who | grep awake +who | egrep 'bad|good' +for (goodness sake) { + be good +} +% +Better dead than mellow. +% +Between 1950 and 1952, a bored weatherman, stationed north of Hudson +Bay, left a monument that neither government nor time can eradicate. +Using a bulldozer abandoned by the Air Force, he spent two years and +great effort pushing boulders into a single word. + +It can be seen from 10,000 feet, silhouetted against the snow. +Government officials exchanged memos full of circumlocutions (no Latin +equivalent exists) but failed to word an appropriation bill for the +destruction of this cairn, that wouldn't alert the press and embarrass +both Parliament and Party. + +It stands today, a monument to human spirit. If life exists on other +planets, this may be the first message received from us. + -- The Realist, November, 1964 +% +Beware of bugs in the above code; I have only proved it correct, not +tried it. + -- Donald Knuth +% +Beware of computerized fortune-tellers! +% +Beware of low-flying butterflies. +% +Beware of Programmers who carry screwdrivers. + -- Leonard Brandwein +% +Beware of self-styled experts: an ex is a has-been, and a spurt is a +drip under pressure. +% +Beware of the man who works hard to learn something, learns it, and +finds himself no wiser than before," Bokonon tells us. "He is full of +murderous resentment of people who are ignorant without having come by +their ignorance the hard way. + -- Kurt Vonnegut, "Cat's Cradle" +% +Beware of the Turing Tar-pit in which everything is possible but +nothing of interest is easy. +% +Binary, adj.: + Possessing the ability to have friends of both sexes. +% +Biology is the only science in which multiplication means the same +thing as division. +% +Bipolar, adj.: + Refers to someone who has homes in Nome, Alaska, and Buffalo, +New York +% +Birth, n.: + The first and direst of all disasters. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Bizarreness is the essence of the exotic. +% +Bizoos, n.: + The millions of tiny individual bumps that make up a +basketball. + -- Rich Hall, "Sniglets" +% +... bleakness ... desolation ... plastic forks ... +% +Blessed are the young for they shall inherit the national debt. + -- Herbert Hoover +% +Blessed are they who Go Around in Circles, +for they Shall be Known as Wheels. +% +BLISS is ignorance. +% +Blood flows down one leg and up the other. +% +Blood is thicker than water, and much tastier. +% +Blore's Razor: + Given a choice between two theories, take the one which is +funnier. +% +Board the windows, up your car insurance, and don't leave any booze in +plain sight. It's St. Patrick's day in Chicago again. The legend has +it that St. Patrick drove the snakes out of Ireland. In fact, he was +arrested for drunk driving. The snakes left because people kept +throwing up on them. +% +Boling's postulate: + If you're feeling good, don't worry. You'll get over it. +% +Bolub's Fourth Law of Computerdom: + Project teams detest weekly progress reporting because it so +vividly manifests their lack of progress. +% +Bombeck's Rule of Medicine: + Never go to a doctor whose office plants have died. +% +BOO! We changed Coke again! BLEAH! BLEAH! +% +Boob's Law: + You always find something in the last place you look. +% +Bore, n.: + A guy who wraps up a two-minute idea in a two-hour vocabulary. + -- Walter Winchell +% +Bore, n.: + A person who talks when you wish him to listen. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Boren's Laws: + (1) When in charge, ponder. + (2) When in trouble, delegate. + (3) When in doubt, mumble. +% +Boss, n.: + According to the Oxford English Dictionary, in the Middle Ages +the words "boss" and "botch" were largely synonymous, except that boss, +in addition to meaning "a supervisor of workers" also meant "an +ornamental stud." +% +Boston State House is the hub of the Solar System. You couldn't pry +that out of a Boston man if you had the tire of all creation +straightened out for a crowbar. + -- O. W. Holmes +% +Boston, n.: + Ludwig van Beethoven being jeered by 50,000 sports fans for +finishing second in the Irish jig competition. +% +Boy, life takes a long time to live. + -- Steven Wright +% +Boy, n.: + A noise with dirt on it. +% +Boys are beyond the range of anybody's sure understanding, at least +when they are between the ages of 18 months and 90 years. + -- James Thurber +% +Boys will be boys, and so will a lot of middle-aged men. + -- Kim Hubbard +% +Brace yourselves. We're about to try something that borders on the +unique: an actually rather serious technical book which is not only +(gasp) vehemently anti-Solemn, but also (shudder) takes sides. I tend +to think of it as `Constructive Snottiness.' + -- Mike Padlipsky, Foreword to "Elements of Networking Style" +% +Bradley's Bromide: + If computers get too powerful, we can organize them into a +committee -- that will do them in. +% +Brady's First Law of Problem Solving: + When confronted by a difficult problem, you can solve it more +easily by reducing it to the question, "How would the Lone Ranger have +handled this?" +% +Brain fried -- Core dumped +% +Brain, n.: + The apparatus with which we think that we think. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Brain, v. [as in "to brain"]: + To rebuke bluntly, but not pointedly; to dispel a source of +error in an opponent. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Breast Feeding should not be attempted by fathers with hairy chests, +since they can make the baby sneeze and give it wind. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Bride, n.: + A woman with a fine prospect of happiness behind her. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Bringing computers into the home won't change either one, but may +revitalize the corner saloon. +% +British Israelites: + The British Israelites believe the white Anglo-Saxons of +Britain to be descended from the ten lost tribes of Israel deported by +Sargon of Assyria on the fall of Sumeria in 721 B.C. ... They further +believe that the future can be foretold by the measurements of the +Great Pyramid, which probably means it will be big and yellow and in +the hand of the Arabs. They also believe that if you sleep with your +head under the pillow a fairy will come and take all your teeth. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Broad-mindedness, n.: + The result of flattening high-mindedness out. +% +Brontosaurus Principle: + Organizations can grow faster than their brains can manage them +in relation to their environment and to their own physiology: when +this occurs, they are an endangered species. + -- Thomas K. Connellan +% +Brook's Law: + Adding manpower to a late software project makes it later +% +Brooke's Law: + Whenever a system becomes completely defined, some damn fool +discovers something which either abolishes the system or expands it +beyond recognition. +% +Bubble Memory, n.: + A derogatory term, usually referring to a person's +intelligence. See also "vacuum tube". +% +Bucy's Law: + Nothing is ever accomplished by a reasonable man. +% +Bug, n.: + An aspect of a computer program which exists because the +programmer was thinking about Jumbo Jacks or stock options when s/he +wrote the program. + +Fortunately, the second-to-last bug has just been fixed. + -- Ray Simard +% +Bugs, pl. n.: + Small living things that small living boys throw on small +living girls. +% +BULLWINKLE: "You just leave that to my pal. He's the brains of the + outfit." +GENERAL: "What does that make YOU?" +BULLWINKLE: "What else? An executive." + -- Jay Ward +% +Bumper sticker: + +All the parts falling off this car are of the very finest British +manufacture. +% +Bureaucrat, n.: + A person who cuts red tape sideways. + -- J. McCabe +% +Bureaucrat, n.: + A politician who has tenure. +% +Bureaucrats cut red tape -- lengthwise. +% +Burn's Hog Weighing Method: + (1) Get a perfectly symmetrical plank and balance it across a + sawhorse. + (2) Put the hog on one end of the plank. + (3) Pile rocks on the other end until the plank is again + perfectly balanced. + (4) Carefully guess the weight of the rocks. + -- Robert Burns +% + But as records of courts and justice are admissible, it can +easily be proved that powerful and malevolent magicians once existed +and were a scourge to mankind. The evidence (including confession) +upon which certain women were convicted of witchcraft and executed was +without a flaw; it is still unimpeachable. The judges' decisions based +on it were sound in logic and in law. Nothing in any existing court +was ever more thoroughly proved than the charges of witchcraft and +sorcery for which so many suffered death. If there were no witches, +human testimony and human reason are alike destitute of value. + -- Ambrose Bierce, "The Devil's Dictionary" +% +But don't you worry, its for a cause -- feeding global corporations paws. +% +But I don't like Spam!!!! +% + But if we laugh with derision, we will never understand. Human +intellectual capacity has not altered for thousands of years so far as +we can tell. If intelligent people invested intense energy in issues +that now seem foolish to us, then the failure lies in our understanding +of their world, not in their distorted perceptions. Even the standard +example of ancient nonsense -- the debate about angels on pinheads -- +makes sense once you realize that theologians were not discussing +whether five or eighteen would fit, but whether a pin could house a +finite or an infinite number. + -- S. J. Gould, "Wide Hats and Narrow Minds" +% +But in our enthusiasm, we could not resist a radical overhaul of the +system, in which all of its major weaknesses have been exposed, +analyzed, and replaced with new weaknesses. + -- Bruce Leverett, "Register Allocation in Optimizing + Compilers" +% +But officer, I was only trying to gain enough speed so I could coast +to the nearest gas station. +% +But scientists, who ought to know +Assure us that it must be so. +Oh, let us never, never doubt +What nobody is sure about. + -- Hilaire Belloc +% +But soft you, the fair Ophelia: +Ope not thy ponderous and marble jaws, +But get thee to a nunnery -- go! + -- Mark "The Bard" Twain +% +But the greatest Electrical Pioneer of them all was Thomas Edison, who +was a brilliant inventor despite the fact that he had little formal +education and lived in New Jersey. Edison's first major invention in +1877, was the phonograph, which could soon be found in thousands of +American homes, where it basically sat until 1923, when the record was +invented. But Edison's greatest achievement came in 1879, when he +invented the electric company. Edison's design was a brilliant +adaptation of the simple electrical circuit: the electric company sends +electricity through a wire to a customer, then immediately gets the +electricity back through another wire, then (this is the brilliant +part) sends it right back to the customer again. + +This means that an electric company can sell a customer the same batch +of electricity thousands of times a day and never get caught, since +very few customers take the time to examine their electricity closely. +In fact the last year any new electricity was generated in the United +States was 1937; the electric companies have been merely re-selling it +ever since, which is why they have so much free time to apply for rate +increases. + -- Dave Barry, "What is Electricity?" +% +But this has taken us far afield from interface, which is not a bad +place to be, since I particularly want to move ahead to the kludge. +Why do people have so much trouble understanding the kludge? What is a +kludge, after all, but not enough Ks, not enough ROMs, not enough RAMs, +poor quality interface and too few bytes to go around? Have I +explained yet about the bytes? +% +... But we've only fondled the surface of that subject. + -- Virginia Masters +% +But what we need to know is, do people want nasally-insertable +computers? +% +Buzz off, Banana Nose; Relieve mine eyes +Of hateful soreness, purge mine ears of corn; +Less dear than army ants in apple pies +Art thou, old prune-face, with thy chestnuts worn, +Dropt from thy peeling lips like lousy fruit; +Like honeybees upon the perfum'd rose +They suck, and like the double-breasted suit +Are out of date; therefore, Banana Nose, +Go fly a kite, thy welcome's overstayed; +And stem the produce of thy waspish wits: +Thy logick, like thy locks, is disarrayed; +Thy cheer, like thy complexion, is the pits. +Be off, I say; go bug somebody new, +Scram, beat it, get thee hence, and nuts to you. +% +By doing just a little every day, you can gradually let the task +completely overwhelm you. +% +By necessity, by proclivity, and by delight, we all quote. In fact, +it is as difficult to appropriate the thoughts of others as it is to +invent. + -- R. Emerson + -- Quoted from a fortune cookie program + (whose author claims, "Actually, stealing IS easier.") + [to which I reply, "You think it's easy for me to + misconstrue all these misquotations?!?"] +% +By the time they had diminished from 50 to 8, the other dwarves began +to suspect 'Hungry' ... + -- Gary Larson, "The Far Side" +% +By trying, we can easily learn to endure adversity -- another man's, I +mean. + -- Mark Twain +% +Bypasses are devices that allow some people to dash from point A to +point B very fast while other people dash from point B to point A very +fast. People living at point C, being a point directly in between, are +often given to wonder what's so great about point A that so many people +from point B are so keen to get there and what's so great about point B +that so many people from point A are so keen to get _____there. They often +wish that people would just once and for all work out where the hell +they wanted to be. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +C, n.: + A programming language that is sort of like Pascal except more +like assembly except that it isn't very much like either one, or +anything else. It is either the best language available to the art +today, or it isn't. + -- Ray Simard +% +Cabbage, n.: + A familiar kitchen-garden vegetable about as large and wise as +a man's head. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Cable is not a luxury, since many areas have poor TV reception. + -- The mayor of Tucson, Arizona, 1989 +% +Cahn's Axiom: + When all else fails, read the instructions. +% +California is a fine place to live -- if you happen to be an orange. + -- Fred Allen +% +California, n.: + From Latin "calor", meaning "heat" (as in English "calorie" or +Spanish "caliente"); and "fornia'" for "sexual intercourse" or +"fornication." Hence: Tierra de California, "the land of hot sex." + -- Ed Moran +% +Call on God, but row away from the rocks. + -- Indian proverb +% +Calling J-Man Kink. Calling J-Man Kink. Hash missile sighted, target +Los Angeles. Disregard personal feelings about city and intercept. +% +Calvin Coolidge looks as if he had been weaned on a pickle. + -- Alice Roosevelt Longworth +% +Calvin Coolidge was the greatest man who ever came out of Plymouth +Corner, Vermont. + -- Clarence Darrow +% +Campus sidewalks never exist as the straightest line between two +points. + -- M. M. Johnston +% +Canada Bill Jone's Motto: + It's morally wrong to allow suckers to keep their money. + +Supplement: + A .44 magnum beats four aces. +% +Canada Post doesn't really charge 32 cents for a stamp. It's 2 cents +for postage and 30 cents for storage. + -- Gerald Regan, Cabinet Minister, 12/31/83 Financial Post +% +Cancel me not -- for what then shall remain? +Abscissas, some mantissas, modules, modes, +A root or two, a torus and a node: +The inverse of my verse, a null domain. + -- Stanislaw Lem, "Cyberiad" +% +CANCER (June 21 - July 22) + You are sympathetic and understanding to other people's +problems. They think you are a sucker. You are always putting things +off. That's why you'll never make anything of yourself. Most welfare +recipients are Cancer people. +% +Canonical, adj.: + The usual or standard state or manner of something. A true +story: One Bob Sjoberg, new at the MIT AI Lab, expressed some +annoyance at the use of jargon. Over his loud objections, we made a +point of using jargon as much as possible in his presence, and +eventually it began to sink in. Finally, in one conversation, he used +the word "canonical" in jargon-like fashion without thinking. + Steele: "Aha! We've finally got you talking jargon too!" + Stallman: "What did he say?" + Steele: "He just used `canonical' in the canonical way." +% +CAPRICORN (Dec 23 - Jan 19) + You are conservative and afraid of taking risks. You don't do +much of anything and are lazy. There has never been a Capricorn of any +importance. Capricorns should avoid standing still for too long as +they take root and become trees. +% +Captain Penny's Law: + You can fool all of the people some of the time, and some of +the people all of the time, but you Can't Fool Mom. +% +Carelessly planned projects take three times longer to complete than +expected. Carefully planned projects take four times longer to +complete than expected, mostly because the planners expect their +planning to reduce the time it takes. +% +Carmel, New York, has an ordinance forbidding men to wear coats and +trousers that don't match. +% +Carperpetuation (kar' pur pet u a shun), n.: + The act, when vacuuming, of running over a string at least a +dozen times, reaching over and picking it up, examining it, then +putting it back down to give the vacuum one more chance. + -- Rich Hall, "Sniglets" +% +Cat, n.: + Lapwarmer with built-in buzzer. +% +Cauliflower is nothing but Cabbage with a College Education. + -- Mark Twain, "Pudd'nhead Wilson" +% +Caution: breathing may be hazardous to your health. +% +CChheecckk yyoouurr dduupplleexx sswwiittcchh.. +% +Cecil, you're my final hope +Of finding out the true Straight Dope +For I have been reading of Schrodinger's cat +But none of my cats are at all like that. +This unusual animal (so it is said) +Is simultaneously alive and dead! +What I don't understand is just why he +Can't be one or the other, unquestionably. +My future now hangs in between eigenstates. +In one I'm enlightened, in the other I ain't. +If *you* understand, Cecil, then show me the way +And rescue my psyche from quantum decay. +But if this queer thing has perplexed even you, +Then I will *___and* I won't see you in Schrodinger's zoo. + -- Randy F., Chicago, "The Straight Dope, a compendium + of human knowledge" by Cecil Adams +% +Celebrate Hannibal Day this year. Take an elephant to lunch. +% +Celestial navigation is based on the premise that the Earth is the +center of the universe. The premise is wrong, but the navigation +works. An incorrect model can be a useful tool. + -- Kelvin Throop III +% +Census Taker to Housewife: Did you ever have the measles, and, if so, +how many? +% +Cerebus: I'd love to lick apricot brandy out of your navel. +Jaka: Look, Cerebus-- Jaka has to tell you ... something +Cerebus: If Cerebus had a navel, would you lick apricot brandy + out of it? +Jaka: Ugh! +Cerebus: You don't like apricot brandy? + -- Cerebus #6, "The Secret" +% +Certain old men prefer to rise at dawn, taking a cold bath and a long +walk with an empty stomach and otherwise mortifying the flesh. They +then point with pride to these practices as the cause of their sturdy +health and ripe years; the truth being that they are hearty and old, +not because of their habits, but in spite of them. The reason we find +only robust persons doing this thing is that it has killed all the +others who have tried it. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Certainly there are things in life that money can't buy, +But it's very funny-- + Did you ever try buying them without money? + -- Ogden Nash +% + Chapter 1 + +The story so far: + + In the beginning the Universe was created. This has made a lot +of people very angry and been widely regarded as a bad move. +% +Character Density, n.: + The number of very weird people in the office. +% +Checkuary, n.: + The thirteenth month of the year. Begins New Year's Day and +ends when a person stops absentmindedly writing the old year on his +checks. +% +Chef, n.: + Any cook who swears in French. +% +Chemicals, n.: + Noxious substances from which modern foods are made. +% +Chemistry is applied theology. + -- Augustus Stanley Owsley III +% +Chicago law prohibits eating in a place that is on fire. +% +Chicago Transit Authority Rider's Rule #36: + Never ever ask the tough looking gentleman wearing El Rukn +headgear where he got his "pyramid powered pizza warmer". + -- Chicago Reader 3/27/81 +% +Chicago Transit Authority Rider's Rule #84: + The CTA has complimentary pop-up timers available on request +for overheated passengers. When your timer pops up, the driver will +cheerfully baste you. + -- Chicago Reader 5/28/82 +% +Chicago, n.: + Where the dead still vote ... early and often! +% +Chicken Little only has to be right once. +% +Chicken Little was right. +% +Chicken Soup, n.: + An ancient miracle drug containing equal parts of aureomycin, +cocaine, interferon, and TLC. The only ailment chicken soup can't cure +is neurotic dependence on one's mother. + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Children are natural mimics who act like their parents despite every +effort to teach them good manners. +% +Children are unpredictable. You never know what inconsistency they're +going to catch you in next. + -- Franklin P. Jones +% +Children aren't happy without something to ignore, +And that's what parents were created for. + -- Ogden Nash +% +Children seldom misquote you. In fact, they usually repeat word for +word what you shouldn't have said. +% +Chism's Law of Completion: + The amount of time required to complete a government project is +precisely equal to the length of time already spent on it. +% +Chisolm's First Corollary to Murphy's Second Law: + When things just can't possibly get any worse, they will. +% +Chivalry, Schmivalry! + Roger the thief has a + method he uses for + sneaky attacks: +Folks who are reading are + Characteristically + Always Forgetting to + Guard their own bac ... +% +Christ: + A man who was born at least 5,000 years ahead of his time. +% +Churchill's Commentary on Man: + Man will occasionally stumble over the truth, but most of the +time he will pick himself up and continue on. +% +Cigarette, n.: + A fire at one end, a fool at the other, and a bit of tobacco in +between. +% +Cinemuck, n.: + The combination of popcorn, soda, and melted chocolate which +covers the floors of movie theaters. + -- Rich Hall, "Sniglets" +% +Clairvoyant, n.: + A person, commonly a woman, who has the power of seeing that +which is invisible to her patron -- namely, that he is a blockhead. + -- Ambrose Bierce +% +Cleaning your house while your kids are still growing is like +shoveling the walk before it stops snowing. + -- Phyllis Diller +% +Cleanliness is next to impossible. +% +Cleveland still lives. God ____must be dead. +% +Cleveland? Yes, I spent a week there one day. +% +Cloning is the sincerest form of flattery. +% +Clothes make the man. Naked people have little or no influence on +society. + -- Mark Twain +% +COBOL programs are an exercise in Artificial Inelegance. +% +Cocaine -- the thinking man's Dristan. +% +Cogito cogito ergo cogito sum -- +"I think that I think, therefore I think that I am." + -- Ambrose Bierce, "The Devil's Dictionary" +% +Cogito ergo I'm right and you're wrong. + -- Blair Houghton +% +Coincidence, n.: + You weren't paying attention to the other half of what was +going on. +% +Coincidences are spiritual puns. + -- G. K. Chesterton +% +Cold, adj.: + When the local flashers are handing out written descriptions. +% +Cold, adj.: + When the politicians walk around with their hands in their own +pockets. +% +Collaboration, n.: + A literary partnership based on the false assumption that the +other fellow can spell. +% +College football is a game which would be much more interesting if the +faculty played instead of the students, and even more interesting if +the trustees played. There would be a great increase in broken arms, +legs, and necks, and simultaneously an appreciable diminution in the +loss to humanity. + -- H. L. Mencken +% +Colvard's Logical Premises: + All probabilities are 50%. Either a thing will happen or it + won't. + +Colvard's Unconscionable Commentary: + This is especially true when dealing with someone you're + attracted to. + +Grelb's Commentary + Likelihoods, however, are 90% against you. +% +Come, every frustum longs to be a cone, +And every vector dreams of matrices. +Hark to the gentle gradient of the breeze: +It whispers of a more ergodic zone. + -- Stanislaw Lem, "Cyberiad" +% +Come, let us hasten to a higher plane, +Where dyads tread the fairy fields of Venn, +Their indices bedecked from one to _n, +Commingled in an endless Markov chain! + -- Stanislaw Lem, "Cyberiad" +% +Command, n.: + Statement presented by a human and accepted by a computer in +such a manner as to make the human feel as if he is in control. +% + COMMENT + +Oh, life is a glorious cycle of song, +A medley of extemporanea; +And love is thing that can never go wrong; +And I am Marie of Roumania. + -- Dorothy Parker +% +Commitment, n.: + Commitment can be illustrated by a breakfast of ham and eggs. +The chicken was involved, the pig was committed. +% +Committee Rules: + (1) Never arrive on time, or you will be stamped a beginner. + (2) Don't say anything until the meeting is half over; this + stamps you as being wise. + (3) Be as vague as possible; this prevents irritating the + others. + (4) When in doubt, suggest that a subcommittee be appointed. + (5) Be the first to move for adjournment; this will make you + popular -- it's what everyone is waiting for. +% +Committee, n.: + A group of men who individually can do nothing but as a group +decide that nothing can be done. + -- Fred Allen +% +Committees have become so important nowadays that subcommittees have to +be appointed to do the work. +% +Common sense and a sense of humor are the same thing, moving at +different speeds. A sense of humor is just common sense, dancing. + -- Clive James +% +Common sense is instinct, and enough of it is genius. + -- Josh Billings +% +Common sense is the collection of prejudices acquired by age eighteen. + -- Albert Einstein +% +Comparing information and knowledge is like asking whether the fatness +of a pig is more or less green than the designated hitter rule." + -- David Guaspari +% +Computer programmers do it byte by byte. +% +Computer Science is merely the post-Turing decline in formal systems +theory. +% +Computers are not intelligent. They only think they are. +% +Computers are useless. They can only give you answers. + -- Pablo Picasso +% +Computers can figure out all kinds of problems, except the things in +the world that just don't add up. +% +Computers will not be perfected until they can compute how much more +than the estimate the job will cost. +% +Conceit causes more conversation than wit. + -- La Rochefoucauld +% +Concept, n.: + Any "idea" for which an outside consultant billed you more than +$25,000. +% +... [concerning quotation marks] even if we *___did* quote anybody in this +business, it probably would be gibberish. + -- Thom McLeod +% +Condense soup, not books! +% +Confession is good for the soul only in the sense that a tweed coat is +good for dandruff. + -- Peter de Vries +% +Confidence is the feeling you have before you understand the situation. +% +Congratulations! You have purchased an extremely fine device that +would give you thousands of years of trouble-free service, except that +you undoubtedly will destroy it via some typical bonehead consumer +maneuver. Which is why we ask you to PLEASE FOR GOD'S SAKE READ THIS +OWNER'S MANUAL CAREFULLY BEFORE YOU UNPACK THE DEVICE. YOU ALREADY +UNPACKED IT, DIDN'T YOU? YOU UNPACKED IT AND PLUGGED IT IN AND TURNED +IT ON AND FIDDLED WITH THE KNOBS, AND NOW YOUR CHILD, THE SAME CHILD +WHO ONCE SHOVED A POLISH SAUSAGE INTO YOUR VIDEOCASSETTE RECORDER AND +SET IT ON "FAST FORWARD", THIS CHILD ALSO IS FIDDLING WITH THE KNOBS, +RIGHT? AND YOU'RE JUST NOW STARTING TO READ THE INSTRUCTIONS, +RIGHT??? WE MIGHT AS WELL JUST BREAK THESE DEVICES RIGHT AT THE +FACTORY BEFORE WE SHIP THEM OUT, YOU KNOW THAT? + -- Dave Barry, "Read This First!" +% +Connector Conspiracy, n: + [probably came into prominence with the appearance of the +KL-10, none of whose connectors match anything else] The tendency of +manufacturers (or, by extension, programmers or purveyors of anything) +to come up with new products which don't fit together with the old +stuff, thereby making you buy either all new stuff or expensive +interface devices. +% +Conscience is a mother-in-law whose visit never ends. + -- H. L. Mencken +% +Conscience is the inner voice that warns us somebody is looking. + -- H. L. Mencken, "A Mencken Chrestomathy" +% +Conscience is what hurts when everything else feels so good. +% +Conscious is when you are aware of something and conscience is when you +wish you weren't. +% +Consequences, Schmonsequences, as long as I'm rich. + -- "Ali Baba Bunny" [1957, Chuck Jones] +% +Consultants are mystical people who ask a company for a number and then +give it back to them. +% +"Contrariwise," continued Tweedledee, "if it was so, it might be, and +if it were so, it would be; but as it isn't, it ain't. That's logic!" + -- Lewis Carroll, "Through the Looking Glass" +% +Contrary to popular belief, penguins are not the salvation of modern +technology. Neither do they throw parties for the urban proletariat. +% +Conversation, n.: + A vocal competition in which the one who is catching his breath +is called the listener. +% +Conway's Law: + In any organization there will always be one person who knows + what is going on. + + This person must be fired. +% +Coronation, n.: + The ceremony of investing a sovereign with the outward and +visible signs of his divine right to be blown skyhigh with a dynamite +bomb. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Corrupt, adj.: + In politics, holding an office of trust or profit. +% +Corrupt, stupid grasping functionaries will make at least as big a +muddle of socialism as stupid, selfish and acquisitive employers can +make of capitalism. + -- Walter Lippmann +% +Corruption is not the #1 priority of the Police Commissioner. His job +is to enforce the law and fight crime. + -- P.B.A. President E. J. Kiernan +% +Court, n.: + A place where they dispense with justice. + -- Arthur Train +% +Coward, n.: + One who in a perilous emergency thinks with his legs. + -- Ambrose Bierce, "The Devil's Dictionary" +% +[Crash programs] fail because they are based on the theory that, with +nine women pregnant, you can get a baby a month. + -- Wernher von Braun +% +Crime does not pay ... as well as politics. + -- A. E. Neuman +% +Critic, n.: + A person who boasts himself hard to please because nobody tries +to please him. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Croll's Query: + If tin whistles are made of tin, what are foghorns made of? +% +cursor address, n: + "Hello, cursor!" + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +Cutting the space budget really restores my faith in humanity. It +eliminates dreams, goals, and ideals and lets us get straight to the +business of hate, debauchery, and self-annihilation. + -- Johnny Hart +% +Cynic, n.: + A blackguard whose faulty vision sees things as they are, not +as they ought to be. Hence the custom among the Scythians of plucking +out a cynic's eyes to improve his vision. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Cynic, n.: + One who looks through rose-colored glasses with a jaundiced eye. +% +Dare to be naive. + -- R. Buckminster Fuller +% +Darth Vader sleeps with a Teddywookie. +% +Dave Mack: "Your stupidity, Allen, is simply not up to par." +Allen Gwinn: "Yours is." +% +Dawn, n.: + The time when men of reason go to bed. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Day of inquiry. You will be subpoenaed. +% +%DCL-E-MEM-BAD, bad memory +-VMS-F-PDGERS, pudding between the ears +% +Dealing with failure is easy: work hard to improve. Success is also +easy to handle: you've solved the wrong problem. Work hard to +improve. +% +Dear Lord: + I just want *___one* one-armed manager so I never have to hear "On +the other hand", again. +% +Dear Miss Manners: + My home economics teacher says that one must never place one's +elbows on the table. However, I have read that one elbow, in between +courses, is all right. Which is correct? + +Gentle Reader: + For the purpose of answering examinations in your home +economics class, your teacher is correct. Catching on to this +principle of education may be of even greater importance to you now +than learning correct current table manners, vital as Miss Manners +believes that is. +% +Dear Miss Manners: + Please list some tactful ways of removing a man's saliva from +your face. + +Gentle Reader: + Please list some decent ways of acquiring a man's saliva on +your face ... +% +Dear Mister Language Person: I am curious about the expression, "Part +of this complete breakfast". The way it comes up is, my 5-year-old +will be watching TV cartoon shows in the morning, and they'll show a +commercial for a children's compressed breakfast compound such as +"Froot Loops" or "Lucky Charms", and they always show it sitting on a +table next to some actual food such as eggs, and the announcer always +says: "Part of this complete breakfast". Don't that really mean, +"Adjacent to this complete breakfast", or "On the same table as this +complete breakfast"? And couldn't they make essentially the same claim +if, instead of Froot Loops, they put a can of shaving cream there, or a +dead bat? + +Answer: Yes. + -- Dave Barry, "Tips for Writer's" +% +Dear Mister Language Person: What is the purpose of the apostrophe? + +Answer: The apostrophe is used mainly in hand-lettered small business +signs to alert the reader than an "S" is coming up at the end of a +word, as in: WE DO NOT EXCEPT PERSONAL CHECK'S, or: NOT RESPONSIBLE FOR +ANY ITEM'S. Another important grammar concept to bear in mind when +creating hand- lettered small-business signs is that you should put +quotation marks around random words for decoration, as in "TRY" OUR HOT +DOG'S, or even TRY "OUR" HOT DOG'S. + -- Dave Barry, "Tips for Writer's" +% +Death is God's way of telling you not to be such a wise guy. +% +Death is life's way of telling you you've been fired. + -- R. Geis +% +Death is Nature's way of recycling human beings. +% +Death is nature's way of saying `Howdy'. +% +Death is nature's way of telling you to slow down. +% +Death is only a state of mind. + +Only it doesn't leave you much time to think about anything else. +% +Death to all fanatics! +% +Decision maker, n.: + The person in your office who was unable to form a task force +before the music stopped. +% +Decisions of the judges will be final unless shouted down by a really +overwhelming majority of the crowd present. Abusive and obscene +language may not be used by contestants when addressing members of the +judging panel, or, conversely, by members of the judging panel when +addressing contestants (unless struck by a boomerang). + -- Mudgeeraba Creek Emu-Riding and Boomerang-Throwing Assoc. +% + Deck Us All With Boston Charlie + +Deck us all with Boston Charlie, +Walla Walla, Wash., an' Kalamazoo! +Nora's freezin' on the trolley, +Swaller dollar cauliflower, alleygaroo! + +Don't we know archaic barrel, +Lullaby Lilla Boy, Louisville Lou. +Trolley Molly don't love Harold, +Boola boola Pensacoola hullabaloo! + -- Walt Kelly +% +"Deep" is a word like "theory" or "semantic" -- it implies all sorts of +marvelous things. It's one thing to be able to say "I've got a +theory", quite another to say "I've got a semantic theory", but, ah, +those who can claim "I've got a deep semantic theory", they are truly +blessed. + -- Randy Davis +% +default, n.: + [Possibly from Black English "De fault wid dis system is you, +mon."] The vain attempt to avoid errors by inactivity. "Nothing will +come of nothing: speak again." -- King Lear + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +#define BITCOUNT(x) (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255) +#define BX_(x) ((x) - (((x)>>1)&0x77777777) \ + - (((x)>>2)&0x33333333) \ + - (((x)>>3)&0x11111111)) + + -- really weird C code to count the number of bits in a word +% +Definitions of hardware and software for dummies: + Hardware is what you kick; + Software is what you curse. +% + DELETE A FORTUNE! + +Don't some of these fortunes just drive you nuts?! Wouldn't you like +to see some of them deleted from the system? You can! Just mail to +"fortune" with the fortune you hate most, and we MIGHT make sure it +gets expunged. +% +Deliberation, n.: + The act of examining one's bread to determine which side it is +buttered on. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Deliver yesterday, code today, think tomorrow. +% +Demand the establishment of the government +in its rightful home at Disneyland. +% +Democracy is a device that insures we shall be governed no better than +we deserve. + -- George Bernard Shaw +% +Democracy is a form of government in which it is permitted to wonder +aloud what the country could do under first-class management. + -- Senator Soaper +% +Democracy is a form of government that substitutes election by the +incompetent many for appointment by the corrupt few. + -- G. B. Shaw +% +Democracy is a government where you can say what you think even if you +don't think. +% +Democracy is also a form of worship. It is the worship of Jackals by +Jackasses. + -- H. L. Mencken +% +Democracy is good. I say this because other systems are worse. + -- Jawaharlal Nehru +% +Democracy is the recurrent suspicion that more than half of the people +are right more than half of the time. + -- E. B. White +% +Democracy, n.: + A government of the masses. Authority derived through mass +meeting or any other form of direct expression. Results in mobocracy. +Attitude toward property is communistic... negating property rights. +Attitude toward law is that the will of the majority shall regulate, +whether it is based upon deliberation or governed by passion, +prejudice, and impulse, without restraint or regard to consequences. +Result is demagogism, license, agitation, discontent, anarchy. + -- U. S. Army Training Manual No. 2000-25 (1928-1932), + since withdrawn. +% +Demographic polls show that you have lost credibility across the +board. Especially with those 14 year-old Valley girls. +% +Dentist, n.: + A Prestidigitator who, putting metal in one's mouth, pulls +coins out of one's pockets. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Dessert is probably the most important stage of the meal, since it will +be the last thing your guests remember before they pass out all over +the table. + -- The Anarchist Cookbook +% + DETERIORATA + +Go placidly amid the noise and waste, +And remember what comfort there may be in owning a piece thereof. +Avoid quiet and passive persons, unless you are in need of sleep. +Rotate your tires. +Speak glowingly of those greater than yourself, +And heed well their advice -- even though they be turkeys. +Know what to kiss -- and when. +Remember that two wrongs never make a right, +But that three do. +Wherever possible, put people on "HOLD". +Be comforted, that in the face of all aridity and disillusionment, +And despite the changing fortunes of time, +There is always a big future in computer maintenance. + + You are a fluke of the universe ... + You have no right to be here. + Whether you can hear it or not, the universe + Is laughing behind your back. + -- National Lampoon +% +DeVries's Dilemma: + If you hit two keys on the typewriter, the one you don't want +hits the paper. +% +Did I say 2? I lied. +% +Did you know ... + +That no-one ever reads these things? +% +Did you know that clones never use mirrors? + -- Ambrose Bierce, "The Devil's Dictionary" +% +Did you know that if you took all the economists in the world and lined +them up end to end, they'd still point in the wrong direction? +% +Did you know that the voice tapes easily identify the Russian pilot +that shot down the Korean jet? At one point he definitely states: + + "Natasha! First we shoot jet, then we go after moose and + squirrel." + + -- ihuxw!tommyo +% +Die, v.: + To stop sinning suddenly. + -- Elbert Hubbard +% +Die? I should say not, dear fellow. No Barrymore would allow such a +conventional thing to happen to him. + -- John Barrymore's dying words +% +Different all twisty a of in maze are you, passages little. +% +Dimensions will always be expressed in the least usable term. +Velocity, for example, will be expressed in furlongs per fortnight. +% +Diplomacy is the art of saying "nice doggy" until you can find a rock. +% +Disc space -- the final frontier! +% +Disclaimer: "These opinions are my own, though for a small fee they be +yours too." + -- Dave Haynie +% +Disclaimer: Any resemblance between the above views and those of my +employer, my terminal, or the view out my window are purely +coincidental. Any resemblance between the above and my own views is +non-deterministic. The question of the existence of views in the +absence of anyone to hold them is left as an exercise for the reader. +The question of the existence of the reader is left as an exercise for +the second god coefficient. (A discussion of non-orthogonal, +non-integral polytheism is beyond the scope of this article.) +% +Disco is to music what Etch-A-Sketch is to art. +% +Distinctive, adj.: + A different color or shape than our competitors. +% +Distress, n.: + A disease incurred by exposure to the prosperity of a friend. + -- Ambrose Bierce, "The Devil's Dictionary" +% +District of Columbia pedestrians who leap over passing autos to escape +injury, and then strike the car as they come down, are liable for any +damage inflicted on the vehicle. +% +Do infants have as much fun in infancy as adults do in adultery? +% +Do molecular biologists wear designer genes? +% +Do not believe in miracles -- rely on them. +% +Do not drink coffee in early a.m. It will keep you awake until noon. +% +Do not meddle in the affairs of troff, for it is subtle and quick to +anger. +% +Do not meddle in the affairs of wizards, for you are crunchy and good +with ketchup. +% +Do not read this fortune under penalty of law. +Violators will be prosecuted. +(Penal Code sec. 2.3.2 (II.a.)) +% +Do not sleep in a eucalyptus tree tonight. +% +Do not try to solve all life's problems at once -- learn to dread each +day as it comes. + -- Donald Kaul +% +Do something unusual today. Pay a bill. +% +Do what comes naturally now. Seethe and fume and throw a tantrum. +% +Do you have lysdexia? +% +Do you realize how many holes there could be if people would just take +the time to take the dirt out of them? +% +"Do you think what we're doing is wrong?" +"Of course it's wrong! It's illegal!" +"I've never done anything illegal before." +"I thought you said you were an accountant!" +% +Documentation is like sex: when it is good, it is very, very good; and +when it is bad, it is better than nothing. + -- Dick Brandon +% +Documentation is the castor oil of programming. Managers know it must +be good because the programmers hate it so much. +% +Does the name Pavlov ring a bell? +% +Don't abandon hope: your Tom Mix decoder ring arrives tomorrow. +% +Don't be humble ... you're not that great. + -- Golda Meir +% +Don't believe everything you hear or anything you say. +% +Don't change the reason, just change the excuses! + -- Joe Cointment +% +"Don't come back until you have him", the Tick-Tock Man said quietly, +sincerely, extremely dangerously. + +They used dogs. They used probes. They used cardio plate crossoffs. +They used teepers. They used bribery. They used stick tites. They +used intimidation. They used torment. They used torture. They used +finks. They used cops. They used search and seizure. They used +fallaron. They used betterment incentives. They used finger prints. +They used the bertillion system. They used cunning. They used guile. +They used treachery. They used Raoul-Mitgong but he wasn't much help. +They used applied physics. They used techniques of criminology. And +what the hell, they caught him. + + -- Harlan Ellison, "Repent, Harlequin, said the Tick-Tock Man" +% +Don't cook tonight -- starve a rat today! +% +Don't feed the bats tonight. +% +Don't get even -- get odd! +% +Don't get suckered in by the comments -- they can be terribly +misleading. Debug only code. + -- Dave Storer +% +Don't go around saying the world owes you a living. The world owes +you nothing. It was here first. + -- Mark Twain +% +Don't go surfing in South Dakota for a while. +% +Don't hate yourself in the morning -- sleep till noon. +% +Don't hit a man when he's down -- kick him; it's easier. +% +Don't kiss an elephant on the lips today. +% +Don't knock President Fillmore. He kept us out of Vietnam. +% +Don't let people drive you crazy when you know it's in walking distance. +% +Don't let your mind wander -- it's too little to be let out alone. +% +Don't look back, the lemmings are gaining on you. +% +Don't put off for tomorrow what you can do today, because if you enjoy +it today you can do it again tomorrow. +% +Don't say yes until I finish talking. + -- Darryl F. Zanuck +% +Don't steal; thou'lt never thus compete successfully in business. +Cheat. + -- Ambrose Bierce +% +Don't suspect your friends -- turn them in! + -- "Brazil" +% +Don't take life so serious, son, it ain't nohow permanent. + -- Walt Kelly +% +Don't take life too seriously -- you'll never get out of it alive. +% +Don't tell any big lies today. Small ones can be just as effective. +% +Don't tell me I'm burning the candle at both ends -- tell me where to +get more wax!! +% +Don't worry about avoiding temptation -- as you grow older, it starts +avoiding you. + -- The Old Farmer's Almanac +% +Don't worry about people stealing your ideas. If your ideas are any +good, you'll have to ram them down people's throats. + -- Howard Aiken +% +Don't worry about the world coming to an end today. It's already +tomorrow in Australia. + -- Charles Schultz +% +Don't worry over what other people are thinking about you. They're too +busy worrying over what you are thinking about them. +% +Don't you feel more like you do now than you did when you came in? +% +Don Ameche: I didn't know you had a cousin Penelope, Bill! Was she + pretty? +W. C.: Well, her face was so wrinkled it looked like seven miles of + bad road. She had so many gold teeth, Don, she use to have to + sleep with her head in a safe. She died in Bolivia. +Don: Oh Bill, it must be hard to lose a relative. +W. C.: It's almost impossible. + -- W. C. Fields, from "The Further Adventures of Larson + E. Whipsnade and other Tarradiddles" +% + Double Bucky + (Sung to the tune of "Rubber Duckie") + +Double bucky, you're the one! +You make my keyboard lots of fun + Double bucky, an additional bit or two: +(Vo-vo-de-o!) +Control and Meta side by side, +Augmented ASCII, nine bits wide! + Double bucky, a half a thousand glyphs, plus a few! + +Oh, I sure wish that I, +Had a couple of bits more! +Perhaps a set of pedals to make the number of bits four. + +Double bucky, left and right +OR'd together, outta sight! + Double bucky, I'd like a whole word of + Double bucky, I'm happy I heard of + Double bucky, I'd like a whole word of you! + + -- (C) 1978 by Guy L. Steele, Jr. + (to Nicholas Wirth, who suggested that an extra bit + be added to terminal codes on 36-bit machines for use + by screen editors. [to the tune of "Rubber Ducky"]) +% +Double-Blind Experiment, n.: + An experiment in which the chief researcher believes he is +fooling both the subject and the lab assistant. Often accompanied by a +strong belief in the tooth fairy. +% +Down with categorical imperative! +% +Drawing on my fine command of language, I said nothing. +% +Drew's Law of Highway Biology: + The first bug to hit a clean windshield lands directly in front +of your eyes. +% +Drink Canada Dry! You might not succeed, but it *__is* fun trying. +% +Drive defensively. Buy a tank. +% +Drugs may be the road to nowhere, but at least they're the scenic route! +% +Ducharme's Axiom: + If you view your problem closely enough you will recognize +yourself as part of the problem. +% +Ducharme's Precept: + Opportunity always knocks at the least opportune moment. +% +Duct tape is like the force. It has a light side, and a dark side, and +it holds the universe together. + -- Carl Zwanzig +% +Due to a shortage of devoted followers, the production of great leaders +has been discontinued. +% +Due to circumstances beyond your control, you are master of your fate +and captain of your soul. +% +Due to lack of disk space, this fortune database has been +discontinued. +% + During a grouse hunt in North Carolina two intrepid sportsmen +were blasting away at a clump of trees near a stone wall. Suddenly a +red-faced country squire popped his head over the wall and shouted, +"Hey, you almost hit my wife." + "Did I?" cried the hunter, aghast. "Terribly sorry. Have a +shot at mine, over there." +% +During the next two hours, the system will be going up and down several +times, often with lin~po_~{po ~poz~ppo\~{ o n~po_~{o[po ~y oodsou>#w4k**n~po_~{ol;lkld;f;g;dd;po\~{o +% +Dying is a very dull, dreary affair. And my advice to you is to have +nothing whatever to do with it. + -- W. Somerset Maugham (last words) +% +E Pluribus Unix +% +Eagleson's Law: + Any code of your own that you haven't looked at for six or more +months, might as well have been written by someone else. (Eagleson is +an optimist, the real number is more like three weeks.) +% +Earn cash in your spare time -- blackmail your friends +% +/earth is 98% full ... please delete anyone you can. +% +Earth is a beta site. +% +Earth is a great, big funhouse without the fun. + -- Jeff Berner +% +Easiest Color to Solve on a Rubik's Cube: + Black. Simply remove all the little colored stickers on the +cube, and each of side of the cube will now be the original color of +the plastic underneath -- black. According to the instructions, this +means the puzzle is solved. + -- Steve Rubenstein +% +Eat, drink, and be merry, for tomorrow they may make it illegal. +% +Eat, drink, and be merry, for tomorrow you may work. +% +Economics is extremely useful as a form of employment for economists. + -- John Kenneth Galbraith +% +Economics, n.: + Economics is the study of the value and meaning of J. K. +Galbraith ... + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Economists can certainly disappoint you. One said that the economy +would turn up by the last quarter. Well, I'm down to mine and it +hasn't. + -- Robert Orben +% +Economists state their GNP growth projections to the nearest tenth of a +percentage point to prove they have a sense of humor. + -- Edgar R. Fiedler +% +Ed Sullivan will be around as long as someone else has talent. + -- Fred Allen +% +Education is the process of casting false pearls before real swine. + -- Irsin Edman +% +Eeny, Meeny, Jelly Beanie, the spirits are about to speak! + -- Bullwinkle Moose +% +Eggheads unite! You have nothing to lose but your yolks. + -- Adlai Stevenson +% +Eggnog is a traditional holiday drink invented by the English. Many +people wonder where the word "eggnog" comes from. The first syllable +comes from the English word "egg", meaning "egg". I don't know where +the "nog" comes from. + +To make eggnog, you'll need rum, whiskey, wine gin and, if they are in +season, eggs... +% +Egotism is the anesthetic given by a kindly nature to relieve the pain +of being a damned fool. + -- Bellamy Brooks +% +Egotist, n.: + A person of low taste, more interested in himself than me. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Ehrman's Commentary: + (1) Things will get worse before they get better. + (2) Who said things would get better? +% +Eighty percent of air pollution comes from plants and trees. + -- Ronald Reagan, famous movie star +% +Eleanor Rigby + Sits at the keyboard + And waits for a line on the screen +Lives in a dream +Waits for a signal + Finding some code + That will make the machine do some more. +What is it for? + +All the lonely users, where do they all come from? +All the lonely users, why does it take so long? + +Hacker MacKensie +Writing the code for a program that no one will run +It's nearly done +Look at him working, fixing the bugs in the night when there's nobody there. +What does he care? + +All the lonely users, where do they all come from? +All the lonely users, why does it take so long? +Ah, look at all the lonely users. +Ah, look at all the lonely users. +% +Electrical Engineers do it with less resistance. +% + Electricity is actually made up of extremely tiny particles, +called electrons, that you cannot see with the naked eye unless you +have been drinking. Electrons travel at the speed of light, which in +most American homes is 110 volts per hour. This is very fast. In the +time it has taken you to read this sentence so far, an electron could +have traveled all the way from San Francisco to Hackensack, New Jersey, +although God alone knows why it would want to. + The five main kinds of electricity are alternating current, +direct current, lightning, static, and European. Most American homes +have alternating current, which means that the electricity goes in one +direction for a while, then goes in the other direction. This prevents +harmful electron buildup in the wires. + -- Dave Barry, "The Taming of the Screw" +% +Electrocution, n.: + Burning at the stake with all the modern improvements. +% +Elevators smell different to midgets. +% +Emerson's Law of Contrariness: + Our chief want in life is somebody who shall make us do what we +can. Having found them, we shall then hate them for it. +% +Encyclopedia Salesmen: + Invite them all in. Nip out the back door. Phone the police +and tell them your house is being burgled. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Endless Loop: n., see Loop, Endless. +Loop, Endless: n., see Endless Loop. + -- Random Shack Data Processing Dictionary +% +Entropy isn't what it used to be. +% +Enzymes are things invented by biologists that explain things which +otherwise require harder thinking. + -- Jerome Lettvin +% +Epperson's law: + When a man says it's a silly, childish game, it's probably +something his wife can beat him at. +% +Equal bytes for women. +% +Error in operator: add beer +% +Es brilig war. Die schlichte Toven + Wirrten und wimmelten in Waben; +Und aller-m"umsige Burggoven + Dir mohmen R"ath ausgraben. + -- Lewis Carroll, "Through the Looking Glass" +% +Eternal nothingness is fine if you happen to be dressed for it. + -- Woody Allen +% +Etymology, n.: + Some early etymological scholars came up with derivations that +were hard for the public to believe. The term "etymology" was formed +from the Latin "etus" ("eaten"), the root "mal" ("bad"), and "logy" +("study of"). It meant "the study of things that are hard to swallow." + -- Mike Kellen +% +Even if you do learn to speak correct English, whom are you going to +speak it to? + -- Clarence Darrow +% +Even if you're on the right track, you'll get run over if you just sit there. + -- Will Rogers +% +Even the best of friends cannot attend each other's funeral. + -- Kehlog Albran, "The Profit" +% +Even though they raised the rate for first class mail in the United +States we really shouldn't complain -- it's still only two cents a +day. +% +Ever notice that even the busiest people are never too busy to tell you +just how busy they are? +% +Ever since prehistoric times, wise men have tried to understand what, +exactly, make people laugh. That's why they were called "wise men." +All the other prehistoric people were out puncturing each other with +spears, and the wise men were back in the cave saying: "How about: +Would you please take my wife? No. How about: Here is my wife, please +take her right now. No How about: Would you like to take something? +My wife is available. No. How about ..." + -- Dave Barry, "Why Humor is Funny" +% +Every absurdity has a champion who will defend it. +% +Every creature has within him the wild, uncontrollable urge to punt. +% +Every four seconds a woman has a baby. Our problem is to find this +woman and stop her. +% +Every group has a couple of experts. And every group has at least one +idiot. Thus are balance and harmony (and discord) maintained. It's +sometimes hard to remember this in the bulk of the flamewars that all +of the hassle and pain is generally caused by one or two +highly-motivated, caustic twits. + -- Chuq Von Rospach, about Usenet +% +Every gun that is made, every warship launched, every rocket fired +signifies in the final sense, a theft from those who hunger and are not +fed, those who are cold and are not clothed. This world in arms is not +spending money alone. It is spending the sweat of its laborers, the +genius of its scientists, the hopes of its children. This is not a way +of life at all in any true sense. Under the clouds of war, it is +humanity hanging on a cross of iron. + -- Dwight D. Eisenhower, April 16, 1953 +% +Every Horse has an Infinite Number of Legs (proof by intimidation): + +Horses have an even number of legs. Behind they have two legs, and in +front they have fore-legs. This makes six legs, which is certainly an +odd number of legs for a horse. But the only number that is both even +and odd is infinity. Therefore, horses have an infinite number of +legs. Now to show this for the general case, suppose that somewhere, +there is a horse that has a finite number of legs. But that is a horse +of another color, and by the [above] lemma ["All horses are the same +color"], that does not exist. +% +Every improvement in communication makes the bore more terrible. + -- Frank Moore Colby +% +Every journalist has a novel in him, which is an excellent place for it. +% +Every little picofarad has a nanohenry all its own. + -- Don Vonada +% +Every man has his price. Mine is $3.95. +% +Every man is as God made him, ay, and often worse. + -- Miguel de Cervantes +% +Every morning, I get up and look through the 'Forbes' list of the +richest people in America. If I'm not there, I go to work. + -- Robert Orben +% +Every nonzero finite dimensional inner product space has an orthonormal basis. + +It makes sense, when you don't think about it. +% +Every program has at least one bug and can be shortened by at least one +instruction -- from which, by induction, one can deduce that every +program can be reduced to one instruction which doesn't work. +% +Every program has two purposes -- one for which it was written and +another for which it wasn't. +% +Every program is a part of some other program, and rarely fits. +% +Every solution breeds new problems. +% +Every successful person has had failures but repeated failure is no +guarantee of eventual success. +% +Every time I think I know where it's at, they move it. +% +Every word is like an unnecessary stain on silence and nothingness. + -- Beckett +% +Everybody is somebody else's weirdo. + -- Dykstra +% +Everybody wants to go to heaven, but nobody wants to die. +% +Everyone can be taught to sculpt: Michelangelo would have had to be +taught how ___not to. So it is with the great programmers. +% +Everyone is a genius. It's just that some people are too stupid to +realize it. +% +Everyone knows that dragons don't exist. But while this simplistic +formulation may satisfy the layman, it does not suffice for the +scientific mind. The School of Higher Neantical Nillity is in fact +wholly unconcerned with what ____does exist. Indeed, the banality of +existence has been so amply demonstrated, there is no need for us to +discuss it any further here. The brilliant Cerebron, attacking the +problem analytically, discovered three distinct kinds of dragon: the +mythical, the chimerical, and the purely hypothetical. They were all, +one might say, nonexistent, but each nonexisted in an entirely +different way ... + -- Stanislaw Lem, "Cyberiad" +% +Everyone talks about apathy, but no one ____does anything about it. +% +Everything is controlled by a small evil group to which, unfortunately, +no one we know belongs. +% +Everything is worth precisely as much as a belch, the difference being +that a belch is more satisfying. + -- Ingmar Bergman +% +Everything journalists write is true, except when they write about +something you know. + -- Dag-Erling Smorgrav, + June 1999, FreeBSD-Stable Mailing List +% +Everything should be built top-down, except the first time. +% +Everything you know is wrong! +% +Everything you've learned in school as "obvious" becomes less and less +obvious as you begin to study the universe. For example, there are no +solids in the universe. There's not even a suggestion of a solid. +There are no absolute continuums. There are no surfaces. There are no +straight lines. + -- R. Buckminster Fuller +% + Excellence is THE trend of the '80s. Walk into any shopping +mall bookstore, go to the rack where they keep the best-sellers such as +"Garfield Gets Spayed", and you'll see a half-dozen books telling you +how to be excellent: "In Search of Excellence", "Finding Excellence", +"Grasping Hold of Excellence", "Where to Hide Your Excellence at Night +So the Cleaning Personnel Don't Steal It", etc. + -- Dave Barry, "In Search of Excellence" +% +Excellent day for drinking heavily. Spike the office water cooler. +% +Excellent day for putting Slinkies on an escalator. +% +Excellent day to have a rotten day. +% +Excellent time to become a missing person. +% +Excess on occasion is exhilarating. It prevents moderation from +acquiring the deadening effect of a habit. + -- W. Somerset Maugham +% +Excessive login or logout messages are a sure sign of senility. +% +Executive ability is deciding quickly and getting somebody else to do +the work. + -- John G. Pollard +% +Expect the worst. It's the least you can do. +% +Expense Accounts, n.: + Corporate food stamps. +% +Experience is something you don't get until just after you need it. + -- Olivier +% +Experience is that marvelous thing that enables you recognize a mistake +when you make it again. + -- Franklin P. Jones +% +Experience is the worst teacher. It always gives the test first and +the instruction afterward. +% +Experience is what causes a person to make new mistakes instead of old +ones. +% +Experience is what you get when you were expecting something else. +% +Experience varies directly with equipment ruined. +% +Expert, n.: + Someone who comes from out of town and shows slides. +% +Extract from Official Sweepstakes Rules: + + NO PURCHASE REQUIRED TO CLAIM YOUR PRIZE + +To claim your prize without purchase, do the following: (a) Carefully +cut out your computer-printed name and address from upper right hand +corner of the Prize Claim Form. (b) Affix computer-printed name and +address -- with glue or cellophane tape (no staples or paper clips) -- +to a 3x5 inch index card. (c) Also cut out the "No" paragraph (lower +left hand corner of Prize Claim Form) and affix it to the 3x5 card +below your address label. (d) Then print on your 3x5 card, above your +computer-printed name and address the words "CARTER & VAN PEEL +SWEEPSTAKES" (Use all capital letters.) (e) Finally place 3x5 card +(without bending) into a plain envelope [NOTE: do NOT use the +Official Prize Claim and CVP Perfume Reply Envelope or you may be +disqualified], and mail to: CVP, Box 1320, Westbury, NY 11595. Print +this address correctly. Comply with above instructions carefully and +completely or you may be disqualified from receiving your prize. +% +F u cn rd ths u cnt spl wrth a dm! +% +f u cn rd ths, itn tyg h myxbl cd. +% +f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng. +% +F: When into a room I plunge, I + Sometimes find some VIOLET FUNGI. + Then I linger, darkly brooding + On the poison they're exuding. + -- The Roguelet's ABC +% +Facts are stubborn, but statistics are more pliable. +% +Fairy Tale, n.: + A horror story to prepare children for the newspapers. +% +Faith is the quality that enables you to eat blackberry jam on a picnic +without looking to see whether the seeds move. +% +Faith, n: + That quality which enables us to believe what we know to be +untrue. +% +Fakir, n: + A psychologist whose charismatic data have inspired almost +religious devotion in his followers, even though the sources seem to +have shinnied up a rope and vanished. +% +Familiarity breeds attempt. +% +Families, when a child is born +Want it to be intelligent. +I, through intelligence, +Having wrecked my whole life, +Only hope the baby will prove +Ignorant and stupid. +Then he will crown a tranquil life +By becoming a Cabinet Minister + -- Su Tung-p'o +% +Famous last words: +% +Famous last words: + (1) "Don't worry, I can handle it." + (2) "You and what army?" + (3) "If you were as smart as you think you are, you wouldn't be + a cop." +% +Famous last words: + (1) Don't unplug it, it will just take a moment to fix. + (2) Let's take the shortcut, he can't see us from there. + (3) What happens if you touch these two wires tog-- + (4) We won't need reservations. + (5) It's always sunny there this time of the year. + (6) Don't worry, it's not loaded. + (7) They'd never (be stupid enough to) make him a manager. + (8) Don't worry! Women love it! +% +Famous, adj.: + Conspicuously miserable. + -- Ambrose Bierce +% +Far out in the uncharted backwaters of the unfashionable end of the +Western Spiral arm of the Galaxy lies a small unregarded yellow sun. +Orbiting this at a distance of roughly ninety-eight million miles is an +utterly insignificant little blue-green planet whose ape-descended life +forms are so amazingly primitive that they still think digital watches +are a pretty neat idea. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Fashion is a form of ugliness so intolerable that we have to alter it +every six months. + -- Oscar Wilde +% +Fats Loves Madelyn. +% +Feel disillusioned? I've got some great new illusions ... +% +Fertility is hereditary. If your parents didn't have any children, +neither will you. +% + Festivity Level 1: Your guests are chatting amiably with each +other, admiring your Christmas-tree ornaments, singing carols around +the upright piano, sipping at their drinks and nibbling hors +d'oeuvres. + Festivity Level 2: Your guests are talking loudly -- sometimes +to each other, and sometimes to nobody at all, rearranging your +Christmas-tree ornaments, singing "I Gotta Be Me" around the upright +piano, gulping their drinks and wolfing down hors d'oeuvres. + Festivity Level 3: Your guests are arguing violently with +inanimate objects, singing "I can't get no satisfaction," gulping down +other peoples' drinks, wolfing down Christmas tree ornaments and +placing hors d'oeuvres in the upright piano to see what happens when +the little hammers strike. + Festivity Level 4: Your guests, hors d'oeuvres smeared all over +their naked bodies are performing a ritual dance around the burning +Christmas tree. The piano is missing. + + You want to keep your party somewhere around level 3, unless +you rent your home and own Firearms, in which case you can go to level +4. The best way to get to level 3 is egg-nog. +% +Fifth Law of Applied Terror: + If you are given an open-book exam, you will forget your book. + +Corollary: + If you are given a take-home exam, you will forget where you live. +% +Fifth Law of Procrastination: + Procrastination avoids boredom; one never has the feeling that +there is nothing important to do. +% +Fifty flippant frogs +Walked by on flippered feet +And with their slime they made the time +Unnaturally fleet. +% + FIGHTING WORDS + +Say my love is easy had, + Say I'm bitten raw with pride, +Say I am too often sad -- + Still behold me at your side. + +Say I'm neither brave nor young, + Say I woo and coddle care, +Say the devil touched my tongue -- + Still you have my heart to wear. + +But say my verses do not scan, + And I get me another man! + -- Dorothy Parker +% +Fights between cats and dogs are prohibited by statute in Barber, North +Carolina. +% +Finagle's Creed: + Science is true. Don't be misled by facts. +% +Finagle's First Law: + If an experiment works, something has gone wrong. +% +Finagle's Fourth Law: + Once a job is fouled up, anything done to improve it only makes +it worse. +% +Finagle's Second Law: + No matter what the anticipated result, there will always be +someone eager to (a) misinterpret it, (b) fake it, or (c) believe it +happened according to his own pet theory. +% +Finagle's Third Law: + In any collection of data, the figure most obviously correct, + beyond all need of checking, is the mistake. + +Corollaries: + (1) Nobody whom you ask for help will see it. + (2) The first person who stops by, whose advice you really + don't want to hear, will see it immediately. +% +Finding out what goes on in the C.I.A. is like performing acupuncture +on a rock. + -- New York Times, Jan. 20, 1981 +% +Fine day to throw a party. Throw him as far as you can. +% +Fine day to work off excess energy. Steal something heavy. +% +Fine's Corollary: + Functionality breeds Contempt. +% +Finish the sentence below in 25 words or less: + + "Love is what you feel just before you give someone a good ..." + +Mail your answer along with the top half of your supervisor to: + + P.O. Box 35 + Baffled Greek, Michigan +% +First Corollary of Taber's Second Law: + Machines that piss people off get murdered. + -- Pat Taber +% +First Law of Bicycling: + No matter which way you ride, it's uphill and against the +wind. +% +First Law of Procrastination: + Procrastination shortens the job and places the responsibility +for its termination on someone else (i.e., the authority who imposed +the deadline). +% +First Law of Socio-Genetics: + Celibacy is not hereditary. +% +First Rule of History: + History doesn't repeat itself -- historians merely repeat each +other. +% +First things first -- but not necessarily in that order + -- The Doctor, "Doctor Who" +% +First, a few words about tools. + +Basically, a tool is an object that enables you to take advantage of +the laws of physics and mechanics in such a way that you can seriously +injure yourself. Today, people tend to take tools for granted. If +you're ever walking down the street and you notice some people who look +particularly smug, the odds are that they are taking tools for +granted. If I were you, I'd walk right up and smack them in the face. + -- Dave Barry, "The Taming of the Screw" +% +Five is a sufficiently close approximation to infinity. + -- Robert Firth +% +FLASH! Intelligence of mankind decreasing. Details at ... uh, when +the little hand is on the .... +% +Flon's Law: + There is not now, and never will be, a language in which it is +the least bit difficult to write bad programs. +% +Florence Flask was ... dressing for the opera when she turned to her +husband and screamed, "Erlenmeyer! My joules! Someone has stolen my +joules!" + +"Now, now, my dear," replied her husband, "keep your balance and reflux +a moment. Perhaps they're mislead." + +"No, I know they're stolen," cried Florence. "I remember putting them +in my burette ... We must call a copper." + +Erlenmeyer did so, and the flatfoot who turned up, one Sherlock Ohms, +said the outrage looked like the work of an arch-criminal by the name +of Lawrence Ium. + +"We must be careful -- he's a free radical, ultraviolet, and +dangerous. His girlfriend is a chlorine at the Palladium. Maybe I can +catch him there." With that, he jumped on his carbon cycle in an +activated state and sped off along the reaction pathway ... + -- Daniel B. Murphy, "Precipitations" +% +flowchart, n. & v.: + [From flow "to ripple down in rich profusion, as hair" + chart +"a cryptic hidden-treasure map designed to mislead the uninitiated."] +1. n. The solution, if any, to a class of Mascheroni construction +problems in which given algorithms require geometrical representation +using only the 35 basic ideograms of the ANSI template. 2. n. Neronic +doodling while the system burns. 3. n. A low-cost substitute for +wallpaper. 4. n. The innumerate misleading the illiterate. "A +thousand pictures is worth ten lines of code." -- The Programmer's +Little Red Vade Mecum, Mao Tse T'umps. 5. v.intrans. To produce +flowcharts with no particular object in mind. 6. v.trans. To obfuscate +(a problem) with esoteric cartoons. + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +Flugg's Law: + When you need to knock on wood is when you realize that the +world is composed of vinyl, naugahyde and aluminum. +% +Flying saucers on occasion + Show themselves to human eyes. +Aliens fume, put off invasion + While they brand these tales as lies. +% +Fog Lamps, n.: + Excessively (often obnoxiously) bright lamps mounted on the +fronts of automobiles; used on dry, clear nights to indicate that the +driver's brain is in a fog. + +See also "Idiot Lights". +% +Food for thought is no substitute for the real thing. + -- Walt Kelly, "Putluck Pogo" +% +For 20 dollars, I'll give you a good fortune next time ... +% +For a man to truly understand rejection, he must first be ignored by a +cat. +% +For an adequate time call 555-3321. +% +For an idea to be fashionable is ominous, since it must afterwards be +always old-fashioned. +% +For every complex problem, there is a solution that is simple, neat, +and wrong. + -- H. L. Mencken +% +For every credibility gap, there is a gullibility fill. + -- R. Clopton +% + "For I perceive that behind this seemingly unrelated sequence +of events, there lurks a singular, sinister attitude of mind." + + "Whose?" + + "MINE! HA-HA!" +% +For large values of one, one equals two, for small values of two. +% +For my son, Robert, this is proving to be the high-point of his entire +life to date. He has had his pajamas on for two, maybe three days +now. He has the sense of joyful independence a 5-year-old child gets +when he suddenly realizes that he could be operating an acetylene torch +in the coat closet and neither parent [because of the flu] would have +the strength to object. He has been foraging for his own food, which +means his diet consists entirely of "food" substances which are +advertised only on Saturday-morning cartoon shows; substances that are +the color of jukebox lights and that, for legal reasons, have their +names spelled wrong, as in New Creemy Chok-'n'-Cheez Lumps o' Froot +("part of this complete breakfast"). + -- Dave Barry, "Molecular Homicide" +% +For perfect happiness, remember two things: + (1) Be content with what you've got. + (2) Be sure you've got plenty. +% +For some reason a glaze passes over people's faces when you say +"Canada". Maybe we should invade South Dakota or something. + -- Sandra Gotlieb, wife of the Canadian ambassador to + the U.S. +% +For some reason, this fortune reminds everyone of Marvin Zelkowitz. +% +For that matter, compare your pocket computer with the massive jobs of +a thousand years ago. Why not, then, the last step of doing away with +computers altogether? + -- Jehan Shuman +% +For those who like this sort of thing, this is the sort of thing they like. + -- Abraham Lincoln +% +For three days after death hair and fingernails continue to grow but +phone calls taper off. + -- Johnny Carson +% +For years a secret shame destroyed my peace -- +I'd not read Eliot, Auden or MacNiece. +But now I think a thought that brings me hope: +Neither had Chaucer, Shakespeare, Milton, Pope. + -- Justin Richardson +% +For your penance, say five Hail Marys and one loud BLAH! +% +Forgetfulness, n.: + A gift of God bestowed upon debtors in compensation for their +destitution of conscience. +% +Forms follow function, and often obliterate it. +% +FORTUNE DISCUSSES THE OBSCURE FILMS! #6 + +RAZORBACK: Paul Harbride, 1984, 2 hours 25 min. + One of the great Australian films of the early 1980's, and + arguably the best movie ever made about a large, man-eating + hog. Some violence. With Gregory Harrison. +% +fortune's Contribution of the Month to the Animal Rights Debate: + + I'll stay out of animals' way if they'll stay out of mine. + "Hey you, get off my plate" + -- Roger Midnight +% +Fortune's Fictitious Country Song Title of the Week: + "How Can I Miss You if You Won't Go Away?" +% +Fortune's graffito of the week (or maybe even month): + + Don't Write On Walls! + + (and underneath) + + You want I should type? +% +Fortune's Law of the Week (this week, from Kentucky): + No female shall appear in a bathing suit at any airport in this +State unless she is escorted by two officers or unless she is armed +with a club. The provisions of this statute shall not apply to females +weighing less than 90 pounds nor exceeding 200 pounds, nor shall it +apply to female horses. +% +Fortune's nomination for All-Time Champion and Protector of Youthful +Morals goes to Representative Clare E. Hoffman of Michigan. During an +impassioned House debate over a proposed bill to "expand oyster and +clam research," a sharp-eared informant transcribed the following +exchange between our hero and Rep. John D. Dingell, also of Michigan. + +DINGELL: There are places in the world at the present time where we are + having to artificially propagate oysters and clams. +HOFFMAN: You mean the oysters I buy are not nature's oysters? +DINGELL: They may or may not be natural. The simple fact of the matter + is that female oysters through their living habits cast out + large amounts of seed and the male oysters cast out large + amounts of fertilization ... +HOFFMAN: Wait a minute! I do not want to go into that. There are many + teenagers who read The Congressional Record. +% +Fortune's Office Door Sign of the Week: + + Incorrigible punster -- Do not incorrige. +% +FORTUNE'S PARTY TIPS #14 + +Tired of finding that other people are helping themselves to your good +liquor at BYOB parties? Take along a candle, which you insert and +light after you've opened the bottle. No one ever expects anything +drinkable to be in a bottle which has a candle stuck in its neck. +% +Fortune's Real-Life Courtroom Quote #18: + +Q: Are you married? +A: No, I'm divorced. +Q: And what did your husband do before you divorced him? +A: A lot of things I didn't know about. +% +Fortune's Real-Life Courtroom Quote #19: + +Q: Doctor, how many autopsies have you performed on dead people? +A: All my autopsies have been performed on dead people. +% +Fortune's Real-Life Courtroom Quote #29: + +THE JUDGE: Now, as we begin, I must ask you to banish all present + information and prejudice from your minds, if you have + any ... +% +Fortune's Real-Life Courtroom Quote #32: + +Q: Do you know how far pregnant you are right now? +A: I will be three months November 8th. +Q: Apparently then, the date of conception was August 8th? +A: Yes. +Q: What were you and your husband doing at that time? +% +Fortune's Real-Life Courtroom Quote #37: + +Q: Did he pick the dog up by the ears? +A: No. +Q: What was he doing with the dog's ears? +A: Picking them up in the air. +Q: Where was the dog at this time? +A: Attached to the ears. +% +Fortune's Real-Life Courtroom Quote #3: + +Q: When he went, had you gone and had she, if she wanted to and were + able, for the time being excluding all the restraints on her not to + go, gone also, would he have brought you, meaning you and she, with + him to the station? +MR. BROOKS: Objection. That question should be taken out and shot. +% +Fortune's Real-Life Courtroom Quote #41: + +Q: Now, Mrs. Johnson, how was your first marriage terminated? +A: By death. +Q: And by whose death was it terminated? +% +Fortune's Real-Life Courtroom Quote #52: + +Q: What is your name? +A: Ernestine McDowell. +Q: And what is your marital status? +A: Fair. +% +Fortune's Real-Life Courtroom Quote #7: + +Q: What happened then? +A: He told me, he says, "I have to kill you because you can identify + me." +Q: Did he kill you? +A: No. +% +fortune: CPU time/usefulness ratio too high -- core dumped. +% +Fortune: You will be attacked next Wednesday at 3:15 p.m. by six samurai +sword wielding purple fish glued to Harley-Davidson motorcycles. + +Oh, and have a nice day! + -- Bryce Nesbitt '84 +% +Fourth Law of Applied Terror: + The night before the English History mid-term, your Biology +instructor will assign 200 pages on planaria. + +Corollary: + Every instructor assumes that you have nothing else to do +except study for that instructor's course. +% +Fourth Law of Revision: + It is usually impractical to worry beforehand about +interferences -- if you have none, someone will make one for you. +% +Fourth Law of Thermodynamics: If the probability of success is not +almost one, it is damn near zero. + -- David Ellis +% +Frankfort, Kentucky, makes it against the law to shoot off a +policeman's tie. +% +Fresco's Discovery: + If you knew what you were doing you'd probably be bored. +% +Friends, Romans, Hipsters, +Let me clue you in; +I come to put down Caesar, not to groove him. +The square kicks some cats are on stay with them; +The hip bits, like, go down under; so let it lay with Caesar. The cool Brutus +Gave you the message: Caesar had big eyes; +If that's the sound, someone's copping a plea, +And, like, old Caesar really set them straight. +Here, copacetic with Brutus and the studs, -- for Brutus is a real cool cat; +So are they all, all cool cats, -- +Come I to make this gig at Caesar's laying down. +% +Frisbeetarianism, n.: + The belief that when you die, your soul goes up on the roof and +gets stuck. +% +Frobnicate, v.: + To manipulate or adjust, to tweak. Derived from FROBNITZ. +Usually abbreviated to FROB. Thus one has the saying "to frob a +frob". See TWEAK and TWIDDLE. Usage: FROB, TWIDDLE, and TWEAK +sometimes connote points along a continuum. FROB connotes aimless +manipulation; TWIDDLE connotes gross manipulation, often a coarse +search for a proper setting; TWEAK connotes fine-tuning. If someone is +turning a knob on an oscilloscope, then if he's carefully adjusting it +he is probably tweaking it; if he is just turning it but looking at the +screen he is probably twiddling it; but if he's just doing it because +turning a knob is fun, he's frobbing it. +% +Frobnitz, pl. Frobnitzem (frob'nitsm) n.: + An unspecified physical object, a widget. Also refers to +electronic black boxes. This rare form is usually abbreviated to +FROTZ, or more commonly to FROB. Also used are FROBNULE, FROBULE, and +FROBNODULE. Starting perhaps in 1979, FROBBOZ (fruh-bahz'), pl. +FROBBOTZIM, has also become very popular, largely due to its exposure +via the Adventure spin-off called Zork (Dungeon). These can also be +applied to non-physical objects, such as data structures. +% +[From an announcement of a congress of the International Ontopsychology +Association, in Rome]: + +The Ontopsychological school, availing itself of new research criteria +and of a new telematic epistemology, maintains that social modes do not +spring from dialectics of territory or of class, or of consumer goods, +or of means of power, but rather from dynamic latencies capillarized in +millions of individuals in system functions which, once they have +reached the event maturation, burst forth in catastrophic phenomenology +engaging a suitable stereotype protagonist or duty marionette (general, +president, political party, etc.) to consummate the act of social +schizophrenia in mass genocide. +% +From the "Guiness Book of World Records", 1973: + +Certain passages in several laws have always defied interpretation and +the most inexplicable must be a matter of opinion. A judge of the +Court of Session of Scotland has sent the editors of this book his +candidate which reads, "In the Nuts (unground), (other than ground +nuts) Order, the expression nuts shall have reference to such nuts, +other than ground nuts, as would but for this amending Order not +qualify as nuts (unground)(other than ground nuts) by reason of their +being nuts (unground)." +% +From the moment I picked your book up until I put it down I was +convulsed with laughter. Some day I intend reading it. + -- Groucho Marx, from "The Book of Insults" +% +[From the operation manual for the CI-300 Dot Matrix Line Printer, made +in Japan]: + +The excellent output machine of MODEL CI-300 as extraordinary DOT +MATRIX LINE PRINTER, built in two MICRO-PROCESSORs as well as EAROM, is +featured by permitting wonderful co-existence such as; "high quality +against low cost", "diversified functions with compact design", +"flexibility in accessibleness and durability of approx. 2000,000,00 +Dot/Head", "being sophisticated in mechanism but possibly agile +operating under noises being extremely suppressed" etc. + +And as a matter of course, the final goal is just simply to help +achieve "super shuttle diplomacy" between cool data, perhaps earned by +HOST COMPUTER, and warm heart of human being. +% +From the Pro 350 Pocket Service Guide, p. 49, Step 5 of the +instructions on removing an I/O board from the card cage, comes a new +experience in sound: + + 5. Turn the handle to the right 90 degrees. The pin-spreading + sound is normal for this type of connector. +% +From too much love of living, +From hope and fear set free, +We thank with brief thanksgiving, +Whatever gods may be, +That no life lives forever, +That dead men rise up never, +That even the weariest river winds somewhere safe to sea. + -- Swinburne +% +Fuch's Warning: + If you actually look like your passport photo, you aren't well +enough to travel. +% +Fudd's First Law of Opposition: + Push something hard enough and it will fall over. +% +Furbling, v.: + Having to wander through a maze of ropes at an airport or bank +even when you are the only person in line. + -- Rich Hall, "Sniglets" +% +Furious activity is no substitute for understanding. + -- H. H. Williams +% +Future looks spotty. You will spill soup in late evening. +% +G. B. Shaw to William Douglas Home: "Go on writing plays, my boy. One +of these days a London producer will go into his office and say to his +secretary, `Is there a play from Shaw this morning?' and when she says +`No,' he will say, `Well, then we'll have to start on the rubbish.' And +that's your chance, my boy." +% +Garbage In -- Gospel Out. +% +Garter, n.: + An elastic band intended to keep a woman from coming out of her +stockings and desolating the country. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Gauls! We have nothing to fear; except perhaps that the sky may fall +on our heads tomorrow. But as we all know, tomorrow never comes!! + -- Adventures of Asterix +% +Gay shlafen: Yiddish for "go to sleep". + + Now doesn't "gay shlafen" have a softer, more soothing sound +than the harsh, staccato "go to sleep"? Listen to the difference: + "Go to sleep, you little wretch!" ... "Gay shlafen, darling." +Obvious, isn't it? + Clearly the best thing you can do for you children is to start +speaking Yiddish right now and never speak another word of English as +long as you live. This will, of course, entail teaching Yiddish to all +your friends, business associates, the people at the supermarket, and +so on, but that's just the point. It has to start with committed +individuals and then grow ... + Some minor adjustments will have to be made, of course: those +signs written in what look like Yiddish letters won't be funny when +everything is written in Yiddish. And we'll have to start driving on +the left side of the road so we won't be reading the street signs +backwards. But is that too high a price to pay for world peace? I +think not, my friend, I think not. + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% + "Gee, Mudhead, everyone at More Science High has an +extracurricular activity except you." + "Well, gee, doesn't Louise count?" + "Only to ten, Mudhead." + -- The Firesign Theatre +% +Gee, Toto, I don't think we are in Kansas anymore. +% +GEMINI (May 21 - June 20) + You are a quick and intelligent thinker. People like you +because you are bisexual. However, you are inclined to expect too much +for too little. This means you are cheap. Geminis are known for +committing incest. +% +GEMINI (May 21 to Jun. 20) + Good news and bad news highlighted. Enjoy the good news while +you can; the bad news will make you forget it. You will enjoy praise +and respect from those around you; everybody loves a sucker. A short +trip is in the stars, possibly to the men's room. +% +Genderplex, n.: + The predicament of a person in a restaurant who is unable to +determine his or her designated restroom (e.g., turtles and +tortoises). + -- Rich Hall, "Sniglets" +% +Genetics explains why you look like your father, and if you don't, why +you should. +% +Genius may have its limitations, but stupidity is not thus +handicapped. + -- Elbert Hubbard +% +Genius, n.: + A chemist who discovers a laundry additive that rhymes with +"bright". +% +George Orwell 1984. Northwestern 0. + -- Chicago Reader 10/15/82 +% +George Orwell was an optimist. +% +George Washington was first in war, first in peace -- and the first to +have his birthday juggled to make a long weekend. + -- Ashley Cooper +% +Gerrold's Laws of Infernal Dynamics: + (1) An object in motion will always be headed in the wrong + direction. + (2) An object at rest will always be in the wrong place. + (3) The energy required to change either one of these states + will always be more than you wish to expend, but never so + much as to make the task totally impossible. +% +Get forgiveness now -- tomorrow you may no longer feel guilty. +% + Get GUMMed + --- ------ +The Gurus of Unix Meeting of Minds (GUMM) takes place Wednesday, April +1, 2076 (check THAT in your perpetual calendar program), 14 feet above +the ground directly in front of the Milpitas Gumps. Members will grep +each other by the hand (after intro), yacc a lot, smoke filtered +chroots in pipes, chown with forks, use the wc (unless uuclean), fseek +nice zombie processes, strip, and sleep, but not, we hope, od. Three +days will be devoted to discussion of the ramifications of whodo. Two +seconds have been allotted for a complete rundown of all the user- +friendly features of Unix. Seminars include "Everything You Know is +Wrong", led by Tom Kempson, "Batman or Cat:man?" led by Richie Dennis +"cc C? Si! Si!" led by Kerwin Bernighan, and "Document Unix, Are You +Kidding?" led by Jan Yeats. No Reader Service No. is necessary because +all GUGUs (Gurus of Unix Group of Users) already know everything we +could tell them. + -- Dr. Dobb's Journal, June '84 +% +Get Revenge! Live long enough to be a problem for your children! +% + -- Gifts for Children -- + +This is easy. You never have to figure out what to get for children, +because they will tell you exactly what they want. They spend months +and months researching these kinds of things by watching Saturday- +morning cartoon-show advertisements. Make sure you get your children +exactly what they ask for, even if you disapprove of their choices. If +your child thinks he wants Murderous Bob, the Doll with the Face You +Can Rip Right Off, you'd better get it. You may be worried that it +might help to encourage your child's antisocial tendencies, but believe +me, you have not seen antisocial tendencies until you've seen a child +who is convinced that he or she did not get the right gift. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% + -- Gifts for Men -- + +Men are amused by almost any idiot thing -- that is why professional +ice hockey is so popular -- so buying gifts for them is easy. But you +should never buy them clothes. Men believe they already have all the +clothes they will ever need, and new ones make them nervous. For +example, your average man has 84 ties, but he wears, at most, only +three of them. He has learned, through humiliating trial and error, +that if he wears any of the other 81 ties, his wife will probably laugh +at him ("You're not going to wear THAT tie with that suit, are you?"). +So he has narrowed it down to three safe ties, and has gone several +years without being laughed at. If you give him a new tie, he will +pretend to like it, but deep inside he will hate you. + +If you want to give a man something practical, consider tires. More +than once, I would have gladly traded all the gifts I got for a new set +of tires. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% + Gimmie That Old Time Religion +We will follow Zarathustra, We will worship like the Druids, +Zarathustra like we use to, Dancing naked in the woods, +I'm a Zarathustra booster, Drinking strange fermented fluids, +And he's good enough for me! And it's good enough for me! + (chorus) (chorus) + +In the church of Aphrodite, +The priestess wears a see-through nightie, +She's a mighty righteous sightie, +And she's good enough for me! + (chorus) + +CHORUS: Give me that old time religion, + Give me that old time religion, + Give me that old time religion, + 'Cause it's good enough for me! +% +Ginsberg's Theorem: + (1) You can't win. + (2) You can't break even. + (3) You can't even quit the game. + +Freeman's Commentary on Ginsberg's theorem: + Every major philosophy that attempts to make life seem + meaningful is based on the negation of one part of Ginsberg's + Theorem. To wit: + + (1) Capitalism is based on the assumption that you can win. + (2) Socialism is based on the assumption that you can break even. + (3) Mysticism is based on the assumption that you can quit the game. +% +Give me a Plumber's friend the size of the Pittsburgh dome, and a place +to stand, and I will drain the world. +% +Give me enough medals, and I'll win any war. + -- Napoleon +% +Give me the Luxuries, and the Hell with the Necessities! +% +Give thought to your reputation. Consider changing name and moving to +a new town. +% +Give your child mental blocks for Christmas. +% +Given the choice between accomplishing something and just lying +around, I'd rather lie around. No contest. + -- Eric Clapton +% +Giving up on assembly language was the apple in our Garden of Eden: +Languages whose use squanders machine cycles are sinful. The LISP +machine now permits LISP programmers to abandon bra and fig-leaf. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +Glib's Fourth Law of Unreliability: + Investment in reliability will increase until it exceeds the +probable cost of errors, or until someone insists on getting some +useful work done. +% +Gnagloot, n.: + A person who leaves all his ski passes on his jacket just to +impress people. + -- Rich Hall, "Sniglets" +% +Go 'way! You're bothering me! +% +Go climb a gravity well! +% +Go placidly amid the noise and waste, and remember what value there may +be in owning a piece thereof. + -- National Lampoon, "Deteriorata" +% +//GO.SYSIN DD *, DOODAH, DOODAH +% +God did not create the world in seven days; he screwed around for six +days and then pulled an all-nighter. +% +God doesn't play dice. + -- Albert Einstein +% +"God gives burdens; also shoulders" + +Jimmy Carter cited this Jewish saying in his concession speech at the +end of the 1980 election. At least he said it was a Jewish saying; I +can't find it anywhere. I'm sure he's telling the truth though; why +would he lie about a thing like that? + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +God has intended the great to be great and the little to be little ... +The trade unions, under the European system, destroy liberty ... I do +not mean to say that a dollar a day is enough to support a workingman +... not enough to support a man and five children if he insists on +smoking and drinking beer. But the man who cannot live on bread and +water is not fit to live! A family may live on good bread and water in +the morning, water and bread at midday, and good bread and water at +night! + -- Rev. Henry Ward Beecher +% +God is a comic playing to an audience that's afraid to laugh. +% +God is a polytheist. +% +God is Dead + -- Nietzsche +Nietzsche is Dead + -- God +Nietzsche is God + -- The Dead +% +God is not dead! He's alive and autographing bibles at Cody's +% +God is real, unless declared integer. +% +God is really only another artist. He invented the giraffe, the +elephant and the cat. He has no real style, He just goes on trying +other things. + -- Pablo Picasso +% +God is the tangential point between zero and infinity. + -- Alfred Jarry +% +God isn't dead, he just couldn't find a parking place. +% +God made machine language; all the rest is the work of man. +% +God made the Idiot for practice, and then He made the School Board + -- Mark Twain +% +God made the integers; all else is the work of Man. + -- Kronecker +% +God made the world in six days, and was arrested on the seventh. +% +God may be subtle, but He isn't plain mean. + -- Albert Einstein +% +God must love the Common Man; He made so many of them. +% +God rest ye CS students now, +Let nothing you dismay. +The VAX is down and won't be up, +Until the first of May. +The program that was due this morn, +Won't be postponed, they say. + + Oh, tidings of comfort and joy, + Comfort and joy, + Oh, tidings of comfort and joy. + +The bearings on the drum are gone, +The disk is wobbling, too. +We've found a bug in Lisp, and Algol +Can't tell false from true. +And now we find that we can't get +At Berkeley's 4.2. + + (chorus) +% +Going to church does not make a person religious, nor does going to +school make a person educated, any more than going to a garage makes a +person a car. +% +Gold, n.: + A soft malleable metal relatively scarce in distribution. It +is mined deep in the earth by poor men who then give it to rich men who +immediately bury it back in the earth in great prisons, although gold +hasn't done anything to them. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Goldenstern's Rules: + (1) Always hire a rich attorney. + (2) Never buy from a rich salesman. +% +Good advice is something a man gives when he is too old to set a bad +example. + -- La Rochefoucauld +% +Good day for a change of scene. Repaper the bedroom wall. +% +Good day for overcoming obstacles. Try a steeplechase. +% +Good day to avoid cops. Crawl to school. +% +Good day to let down old friends who need help. +% +Good leaders being scarce, following yourself is allowed. +% +Good news is just life's way of keeping you off balance. +% +Good news. Ten weeks from Friday will be a pretty good day. +% +Good night to spend with family, but avoid arguments with your mate's +new lover. +% +Good-bye. I am leaving because I am bored. + -- George Saunders' dying words +% +Gordon's first law: + If a research project is not worth doing, it is not worth doing +well. +% +Gosh that takes me back... or is it forward? That's the trouble with +time travel, you never can tell. + -- Doctor Who, "Androids of Tara" +% +Got Mole problems? +Call Avogadro 6.02 x 10^23 +% +Goto, n.: + A programming tool that exists to allow structured programmers +to complain about unstructured programmers. + -- Ray Simard +% +Government [is] an illusion the governed should not encourage. + -- John Updike, "Couples" +% +Government lies, and newspapers lie, but in a democracy they are +different lies. +% +Government spending? I don't know what it's all about. I don't know +any more about this thing than an economist does, and, God knows, he +doesn't know much. + -- Will Rogers +% +Grabel's Law: + 2 is not equal to 3 -- not even for large values of 2. +% +Graduate life -- it's not just a job, it's an indenture. +% +Graduate life: It's not just a job. It's an indenture. +% +Grandpa Charnock's Law: + You never really learn to swear until you learn to drive. +% +Gravity is a myth: the Earth sucks. +% +Gray's Law of Programming: + `_n+1' trivial tasks are expected to be accomplished in the same +time as `_n' tasks. + +Logg's Rebuttal to Gray's Law: + `_n+1' trivial tasks take twice as long as `_n' trivial tasks. +% +Great minds run in great circles. +% + GREAT MOMENTS IN AMERICAN HISTORY #21 -- July 30, 1917 + +On this day, New York City hotel detectives burst in and caught then- +Senator Warren G. Harding in bed with an underage girl. He bought them +off with a $20 bribe, and later remarked thankfully, "I thought I +wouldn't get out of that under $1000!" Always one to learn from his +mistakes, in later years President Harding carried on his affairs in a +tiny closet in the White House Cabinet Room while Secret Service men +stood lookout. +% +Green light in A.M. for new projects. +Red light in P.M. for traffic tickets. +% +Greener's Law: + Never argue with a man who buys ink by the barrel. +% +Grelb's Reminder: + Eighty percent of all people consider themselves to be above +average drivers. +% +Grub first, then ethics. + -- Bertolt Brecht +% +Gurmlish, n.: + The red warning flag at the top of a club sandwich which +prevents the person from biting into it and puncturing the roof of his +mouth. + -- Rich Hall & Friends, "Sniglets" +% +Gyroscope, n.: + A wheel or disk mounted to spin rapidly about an axis and also +free to rotate about one or both of two axes perpendicular to each +other and the axis of spin so that a rotation of one of the two +mutually perpendicular axes results from application of torque to the +other when the wheel is spinning and so that the entire apparatus +offers considerable opposition depending on the angular momentum to any +torque that would change the direction of the axis of spin. + -- Webster's Seventh New Collegiate Dictionary +% +H. L. Mencken suffers from the hallucination that he is H. L. +Mencken -- there is no cure for a disease of that magnitude. + -- Maxwell Bodenheim +% +H. L. Mencken's Law: + Those who can -- do. + Those who can't -- teach. + +Martin's Extension: + Those who cannot teach -- administrate. +% +H: If a 'GOBLIN (HOB) waylays you, + Slice him up before he slays you. + Nothing makes you look a slob + Like running from a HOB'LIN (GOB). + -- The Roguelet's ABC +% +Hacker's Law: + The belief that enhanced understanding will necessarily stir a +nation to action is one of mankind's oldest illusions. +% +Hacking's just another word for nothing left to kludge. +% +Had this been an actual emergency, we would have fled in terror, +and you would not have been informed. +% +Hail to the sun god +He sure is a fun god +Ra! Ra! Ra! +% +Hain't we got all the fools in town on our side? And hain't that a big +enough majority in any town? + -- Mark Twain, "Huckleberry Finn" +% +Half Moon tonight. (At least it's better than no Moon at all.) +% +Half-done: + This is the best way to eat a kosher dill -- when it's still +crunchy, light green, yet full of garlic flavor. The difference +between this and the typical soggy dark green cucumber corpse is like +the difference between life and death. + You may find it difficult to find a good half-done kosher dill +there in Seattle, so what you should do is take a cab out to the +airport, fly to New York, take the JFK Express to Jay Street-Borough +Hall, transfer to an uptown F, get off at East Broadway, walk north on +Essex (along the park), make your first left onto Hester Street, walk +about fifteen steps, turn ninety degrees left, and stop. Say to the +man, "Let me have a nice half-done." + Worth the trouble, wasn't it? + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Hall's Laws of Politics: + (1) The voters want fewer taxes and more spending. + (2) Citizens want honest politicians until they want something + fixed. + (3) Constituency drives out consistency (i.e., liberals defend + military spending, and conservatives social spending in + their own districts). +% +Hand, n.: + A singular instrument worn at the end of a human arm and +commonly thrust into somebody's pocket. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Hanlon's Razor: + Never attribute to malice that which is adequately explained by +stupidity. +% +Hanson's Treatment of Time: + There are never enough hours in a day, but always too many days +before Saturday. +% +Happiness is having a scratch for every itch. + -- Ogden Nash +% +Happiness isn't something you experience; it's something you remember. + -- Oscar Levant +% +Happiness, n.: + An agreeable sensation arising from contemplating the misery of +another. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Hard work may not kill you, but why take chances? +% +Hardware, n.: + The parts of a computer system that can be kicked. +% +Hark ye, Clinker, you are a most notorious offender. You stand +convicted of sickness, hunger, wretchedness, and want. + -- Tobias Smollet +% +Hark, Hark, the dogs do bark +The Duke is fond of kittens +He likes to take their insides out +And use them for his mittens + From "The Thirteen Clocks" +% +Hark, the Herald Tribune sings, +Advertising wondrous things. + -- Tom Lehrer +% +Harris's Lament: + All the good ones are taken. +% +Harrisberger's Fourth Law of the Lab: + Experience is directly proportional to the amount of equipment +ruined. +% +Harry is heavily into camping, and every year in the late fall, he +makes us all go to Assateague, which is an island on the Atlantic Ocean +famous for its wild horses. I realize that the concept of wild horses +probably stirs romantic notions in many of you, but this is because you +have never met any wild horses in person. In person, they are like +enormous hooved rats. They amble up to your camp site, and their +attitude is: "We're wild horses. We're going to eat your food, knock +down your tent and poop on your shoes. We're protected by federal law, +just like Richard Nixon." + -- Dave Barry, "Tenting Grandpa Bob" +% +Hartley's First Law: + You can lead a horse to water, but if you can get him to float +on his back, you've got something. +% +Hartley's Second Law: + Never sleep with anyone crazier than yourself. +% +Harvard Law: + Under the most rigorously controlled conditions of pressure, +temperature, volume, humidity, and other variables, the organism will +do as it damn well pleases. +% +"Has anyone had problems with the computer accounts?" +"Yes, I don't have one." +"Okay, you can send mail to one of the tutors ..." + -- E. D'Azevedo, Computer Science 372 +% +Has everyone noticed that all the letters of the word "database" are +typed with the left hand? Now the layout of the QWERTYUIOP typewriter +keyboard was designed, among other things, to facilitate the even use +of both hands. It follows, therefore, that writing about databases is +not only unnatural, but a lot harder than it appears. +% + Has your family tried 'em? + + POWDERMILK BISCUITS + + Heavens, they're tasty and expeditious! + + They're made from whole wheat, to give shy persons the + strength to get up and do what needs to be done. + + POWDERMILK BISCUITS + + Buy them ready-made in the big blue box with the picture of the + biscuit on the front, or in the brown bag with the dark stains + that indicate freshness. +% +Hatred, n.: + A sentiment appropriate to the occasion of another's +superiority. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Have an adequate day. +% +Have people realized that the purpose of the fortune cookie program is +to defuse project tensions? When did you ever see a cheerful cookie, a +non-cynical, or even an informative cookie? + +Perhaps inadvertently, we have a channel for our aggressions. This +still begs the question of whether the cookie releases the pressure or +only serves to blunt the warning signs. + + Long live the revolution! + Have a nice day. +% +Have you ever noticed that the people who are always trying to tell +you, "There's a time for work and a time for play," never find the time +for play? +% +Have you ever wondered what makes Californians so calm? Besides drugs, +I mean. The answer is hot tubs. A hot tub is a redwood container +filled with water that you sit in naked with members of the opposite +sex, none of whom is necessarily your spouse. After a few hours in +their hot tubs, Californians don't give a damn about earthquakes or +mass murderers. They don't give a damn about anything , which is why +they are able to produce "Laverne and Shirley" week after week. + -- Dave Barry, "The Taming of the Screw" +% +"Have you lived here all your life?" +"Oh, twice that long." +% +Have you noticed that all you need to grow healthy, vigorous grass is a +crack in your sidewalk? +% +Have you noticed the way people's intelligence capabilities decline +sharply the minute they start waving guns around? + -- Dr. Who +% +Have you reconsidered a computer career? +% +He did decide, though, that with more time and a great deal of mental +effort, he could probably turn the activity into an acceptable +perversion. + -- Mick Farren, "When Gravity Fails" +% +He flung himself on his horse and rode madly off in all directions. + -- Stephen Leacock +% +He had occasional flashes of silence that made his conversation +perfectly delightful. + -- Sydney Smith +% +He had that rare weird electricity about him -- that extremely wild and +heavy presence that you only see in a person who has abandoned all hope +of ever behaving "normally." + -- Hunter S. Thompson, "Fear and Loathing '72" +% +He hadn't a single redeeming vice. + -- Oscar Wilde +% +He is now rising from affluence to poverty. + -- Mark Twain +% +He looked at me as if I was a side dish he hadn't ordered. +% +He played the king as if afraid someone else would play the ace. + -- John Mason Brown, drama critic +% +He thought he saw an albatross +That fluttered 'round the lamp. +He looked again and saw it was +A penny postage stamp. +"You'd best be getting home," he said, +"The nights are rather damp." +% +He was a fiddler, and consequently a rogue. + -- Jonathan Swift +% +He was a modest, good-humored boy. It was Oxford that made him insufferable. +% +He was so narrow minded he could see through a keyhole with both eyes. +% +He who attacks the fundamentals of the American broadcasting industry +attacks democracy itself. + -- William S. Paley, chairman of CBS +% +He who Laughs, Lasts. +% +He's just a politician trying to save both his faces ... +% +He's the kind of guy, that, well, if you were ever in a jam he'd be +there ... with two slices of bread and some chunky peanut butter. +% +He's the kind of man for the times that need the kind of man he is ... +% +HE: Let's end it all, bequeathin' our brains to science. +SHE: What?!? Science got enough trouble with their ___OWN brains. + -- Walt Kelley +% +Health is merely the slowest possible rate at which one can die. +% +Health nuts are going to feel stupid someday, lying in hospitals dying +of nothing. + -- Redd Foxx +% +Heaven, n.: + A place where the wicked cease from troubling you with talk of +their personal affairs, and the good listen with attention while you +expound your own. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Heavy, adj.: + Seduced by the chocolate side of the force. +% +Heisenberg may have slept here. +% +Hell hath no fury like a bureaucrat scorned. + -- Milton Friedman +% +Heller's Law: + The first myth of management is that it exists. + +Johnson's Corollary: + Nobody really knows what is going on anywhere within the +organization. +% +"Hello," he lied. + -- Don Carpenter quoting a Hollywood agent +% +Help a swallow land at Capistrano. +% +Help fight continental drift. +% +Help me, I'm a prisoner in a Fortune cookie file! +% +Help stamp out and abolish redundancy. +% +Help! I'm trapped in a PDP 11/70! +% +HELP! MY TYPEWRITER IS BROKEN! + -- E. E. CUMMINGS +% +Her locks an ancient lady gave +Her loving husband's life to save; +And men -- they honored so the dame -- +Upon some stars bestowed her name. + +But to our modern married fair, +Who'd give their lords to save their hair, +No stellar recognition's given. +There are not stars enough in heaven. +% +Here at the Phone Company, we serve all kinds of people; from +Presidents and Kings to the scum of the earth ... +% +Here I sit, broken-hearted, +All logged in, but work unstarted. +First net.this and net.that, +And a hot buttered bun for net.fat. + +The boss comes by, and I play the game, +Then I turn back to net.flame. +Is there a cure (I need your views), +For someone trapped in net.news? + +I need your help, I say 'tween sobs, +'Cause I'll soon be listed in net.jobs. +% +Here in my heart, I am Helen; + I'm Aspasia and Hero, at least. +I'm Judith, and Jael, and Madame de Sta"el; + I'm Salome, moon of the East. + +Here in my soul I am Sappho; + Lady Hamilton am I, as well. +In me R'ecamier vies with Kitty O'Shea, + With Dido, and Eve, and poor nell. + +I'm all of the glamorous ladies + At whose beckoning history shook. +But you are a man, and see only my pan, + So I stay at home with a book. + -- Dorothy Parker +% +Here is a simple experiment that will teach you an important electrical +lesson: On a cool, dry day, scuff your feet along a carpet, then reach +your hand into a friend's mouth and touch one of his dental fillings. +Did you notice how your friend twitched violently and cried out in +pain? This teaches us that electricity can be a very powerful force, +but we must never use it to hurt others unless we need to learn an +important electrical lesson. + +It also teaches us how an electrical circuit works. When you scuffed +your feet, you picked up batches of "electrons", which are very small +objects that carpet manufacturers weave into carpets so they will +attract dirt. The electrons travel through your bloodstream and +collect in your finger, where they form a spark that leaps to your +friend's filling, then travels down to his feet and back into the +carpet, thus completing the circuit. + +Amazing Electronic Fact: If you scuffed your feet long enough without +touching anything, you would build up so many electrons that your +finger would explode! But this is nothing to worry about unless you +have carpeting. + -- Dave Barry, "What is Electricity?" +% + Here is the fact of the week, maybe even the fact of the +month. According to probably reliable sources, the Coca-Cola people +are experiencing severe marketing anxiety in China. + The words "Coca-Cola" translate into Chinese as either +(depending on the inflection) "wax-fattened mare" or "bite the wax +tadpole". + Bite the wax tadpole. + There is a sort of rough justice, is there not? + The trouble with this fact, as lovely as it is, is that it's +hard to get a whole column out of it. I'd like to teach the world to +bite a wax tadpole. Coke -- it's the real wax-fattened mare. Not bad, +but broad satiric vistas do not open up. + -- John Carroll, San Francisco Chronicle +% +Here's something to think about: How come you never see a headline like +`Psychic Wins Lottery'? + -- Jay Leno +% +Heuristics are bug ridden by definition. If they didn't have bugs, +then they'd be algorithms. +% +Hey! Who took the cork off my lunch??! + -- W. C. Fields +% +Hi there! This is just a note from me, to you, to tell you, the person +reading this note, that I can't think up any more famous quotes, jokes, +nor bizarre stories, so you may as well go home. +% +"Hi, I'm Preston A. Mantis, president of Consumers Retail Law Outlet. +As you can see by my suit and the fact that I have all these books of +equal height on the shelves behind me, I am a trained legal attorney. +Do you have a car or a job? Do you ever walk around? If so, you +probably have the makings of an excellent legal case. Although of +course every case is different, I would definitely say that based on my +experience and training, there's no reason why you shouldn't come out +of this thing with at least a cabin cruiser. + +"Remember, at the Preston A. Mantis Consumers Retail Law Outlet, our +motto is: 'It is very difficult to disprove certain kinds of pain.'" + -- Dave Barry, "Pain and Suffering" +% +Hier liegt ein Mann ganz ohnegleich; +Im Leibe dick, an Suenden reich. +Wir haben ihn in das Grab gesteckt, Here lies a man with sundry flaws +Weil es uns duenkt er sei verreckt. And numerous Sins upon his head; + We buried him today because + As far as we can tell, he's dead. + -- PDQ Bach's epitaph, as requested by his cousin Betty + Sue Bach and written by the local doggerel catcher; + "The Definitive Biography of PDQ Bach", Peter Schickele +% +Higgledy Piggledy, +Hamlet of Elsinore +Ruffled the critics by +Dropping this bomb: +"Phooey on Freud and his +Psychoanalysis -- +Oedipus, Shmoedipus, +I just loved Mom." +% +Hindsight is an exact science. +% +Hippogriff, n.: + An animal (now extinct) which was half horse and half griffin. +The griffin was itself a compound creature, half lion and half eagle. +The hippogriff was actually, therefore, only one quarter eagle, which +is two dollars and fifty cents in gold. The study of zoology is full +of surprises. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Hire the morally handicapped. +% +His great aim was to escape from civilization, and, as soon as he had +money, he went to Southern California. +% +His mind is like a steel trap -- full of mice. + -- Foghorn Leghorn +% +His super power is to turn into a scotch terrier. +% +History is curious stuff + You'd think by now we had enough +Yet the fact remains I fear + They make more of it every year. +% +History repeats itself. That's one thing wrong with history. +% +History, n.: + Papa Hegel he say that all we learn from history is that we +learn nothing from history. I know people who can't even learn from +what happened this morning. Hegel must have been taking the long +view. + -- Chad C. Mulligan, "The Hipcrime Vocab" +% +Hlade's Law: + If you have a difficult task, give it to a lazy person -- they +will find an easier way to do it. +% +Hoare's Law of Large Problems: + Inside every large problem is a small problem struggling to get out. +% +Hofstadter's Law: + It always takes longer than you expect, even when you take +Hofstadter's Law into account. +% +Hollywood is where if you don't have happiness you send out for it. + -- Rex Reed +% + Home centers are designed for the do-it-yourselfer who's +willing to pay higher prices for the convenience of being able to shop +for lumber, hardware, and toasters all in one location. Notice I say +"shop for", as opposed to "obtain". This is the major drawback of home +centers: they are always out of everything except artificial Christmas +trees. The home center employees have no time to reorder merchandise +because they are too busy applying little price stickers to every +object -- every board, washer, nail and screw -- in the entire store ... + Let's say a piece in your toilet tank breaks, so you remove the +broken part, take it to the home center, and ask an employee if he has +a replacement. The employee, who has never is his life even seen the +inside of a toilet tank, will peer at the broken part in very much the +same way that a member of a primitive Amazon jungle tribe would look at +an electronic calculator, and then say, "We're expecting a shipment of +these sometime around the middle of next week". + -- Dave Barry, "The Taming of the Screw" +% +Home of Doberman Propulsion Laboratories: +The ultimate in watchdog weaponry. + -- Chris Shaw +% +Honesty is the best policy, but insanity is a better defense. +% +Honesty pays, but it doesn't seem to pay enough to suit some people. + -- F. M. Hubbard +% +Honk if you hate bumper stickers that say "Honk if ..." +% +Honk if you love peace and quiet. +% +Honorable, adj.: + Afflicted with an impediment in one's reach. In legislative +bodies, it is customary to mention all members as honorable; as, "the +honorable gentleman is a scurvy cur." + -- Ambrose Bierce, "The Devil's Dictionary" +% +Horngren's Observation: + Among economists, the real world is often a special case. +% +Horse sense is the thing a horse has which keeps it from betting on +people. + -- W. C. Fields +% +Horses are forbidden to eat fire hydrants in Marshalltown, Iowa. +% +Houston, Tranquillity Base here. The Eagle has landed. + -- Neil Armstrong +% +How can you be in two places at once when you're not anywhere at all? +% +How come only your friends step on your new white sneakers? +% +How come wrong numbers are never busy? +% +How do I love thee? My accumulator overflows. +% +How do you explain school to a higher intelligence? + -- Elliot, "E.T." +% +How doth the little crocodile + Improve his shining tail, +And pour the waters of the Nile + On every golden scale! + +How cheerfully he seems to grin, + How neatly spreads his claws, +And welcomes little fishes in, + With gently smiling jaws! + -- Lewis Carroll, "Alice in Wonderland" +% +How doth the VAX's C compiler +Improve its object code. +And even as we speak does it +Increase the system load. + +How patiently it seems to run +And spit out error flags, +While users, with frustration, all +Tear their clothes to rags. +% +How I love to watch the morn, + With golden sun that shines, +Up above to nicely warm + These frosty toes of mine. + +The wind doth taste so bitter sweet, + Like Jaspar wine and sugar, +It must have blown through someone's feet, + Like those of ... Caspar Weinberger. + -- P. Opus (Bloom County) +% +How doth the VAX's C-compiler +Improve its object code. +And even as we speak does it +Increase the system load. + +How patiently it seems to run +And spit out error flags, +While users, with frustration, all +Tear all their clothes to rags. +% +How long a minute is depends on which side of the bathroom door you're +on. +% +How many hardware engineers does it take to change a lightbulb? +None: "We'll fix it in software." + +How many software engineers does it take to change a lightbulb? +None: "We'll document it in the manual." + +How many tech writers does it take to change a lightbulb? +None: "The user can work it out." +% +How many hors d'oeuvres you are allowed to take off a tray being +carried by a waiter at a nice party? + +Two, but there are ways around it, depending on the style of the hors +d'oeuvre. If they're those little pastry things where you can't tell +what's inside, you take one, bite off about two-thirds of it, then +say: "This is cheese! I hate cheese!" Then you put the rest of it +back on the tray and bite another one and go, "Darn it! Another +cheese!" and so on. + -- Dave Barry, "The Stuff of Etiquette" +% + How many seconds are there in a year? If I tell you there are +3.155 x 10^7, you won't even try to remember it. On the other hand, +who could forget that, to within half a percent, pi seconds is a +nanocentury. + -- Tom Duff, Bell Labs +% +How much does it cost to entice a dope-smoking UNIX system guru to Dayton? + -- Brian Boyle, UNIX/WORLD's First Annual Salary Survey +% +How wonderful opera would be if there were no singers. +% +HOW YOU CAN TELL THAT IT'S GOING TO BE A ROTTEN DAY: + #1040 Your income tax refund cheque bounces. +% +HOW YOU CAN TELL THAT IT'S GOING TO BE A ROTTEN DAY: + #15 Your pet rock snaps at you. +% +HOW YOU CAN TELL THAT IT'S GOING TO BE A ROTTEN DAY: + #32: You call your answering service and they've never heard of you. +% +Howe's Law: + Everyone has a scheme that will not work. +% +However, never daunted, I will cope with adversity in my traditional +manner ... sulking and nausea. + -- Tom K. Ryan +% +HR 3128. Omnibus Budget Reconciliation, Fiscal 1986. Martin, R-Ill., +motion that the House recede from its disagreement to the Senate +amendment making changes in the bill to reduce fiscal 1986 deficits. +The Senate amendment was an amendment to the House amendment to the +Senate amendment to the House amendment to the Senate amendment to the +bill. The original Senate amendment was the conference agreement on +the bill. Agreed to. + -- Albuquerque Journal +% + Hug O' War + +I will not play at tug o' war. +I'd rather play at hug o' war, +Where everyone hugs +Instead of tugs, +Where everyone giggles +And rolls on the rug, +Where everyone kisses, +And everyone grins, +And everyone cuddles, +And everyone wins. + -- Shel Silverstein +% +Human beings were created by water to transport it uphill. +% +Human cardiac catheterization was introduced by Werner Forssman in +1929. Ignoring his department chief, and tying his assistant to an +operating table to prevent his interference, he placed a urethral +catheter into a vein in his arm, advanced it to the right atrium [of +his heart], and walked upstairs to the x-ray department where he took +the confirmatory x-ray film. In 1956, Dr. Forssman was awarded the +Nobel Prize. +% +Hummingbirds never remember the words to songs. +% +Humor is a drug which it's the fashion to abuse. + -- William Gilbert +% +Hurewitz's Memory Principle: + The chance of forgetting something is directly proportional +to ..... to ........ uh .............. +% +I also believe that academic freedom should protect the right of a +professor or student to advocate Marxism, socialism, communism, or any +other minority viewpoint -- no matter how distasteful to the majority. + -- Richard M. Nixon + +What are our schools for if not indoctrination against Communism? + -- Richard M. Nixon +% +I am convinced that the manufacturers of carpet odor removing powder +have included encapsulated time released cat urine in their products. +This technology must be what prevented its distribution during my mom's +reign. My carpet smells like piss, and I don't have a cat. Better go +buy some more. + -- timw@zeb.USWest.COM +% +I am more bored than you could ever possibly be. Go back to work. +% +I am not an Economist. I am an honest man! + -- Paul McCracken +% +I am not now, and never have been, a girlfriend of Henry Kissinger. + -- Gloria Steinem +% +I am not now, nor have I ever been, a member of the demigodic party. + -- Dennis M. Ritchie +% +I am not sure what this is, but an `F' would only dignify it. + -- English Professor +% +I am ready to meet my Maker. Whether my Maker is prepared for the +great ordeal of meeting me is another matter. + -- Winston Churchill +% +I am returning this otherwise good typing paper to you because someone +has printed gibberish all over it and put your name at the top. + -- English Professor, Ohio University +% +I am so optimistic about beef prices that I've just leased a pot roast +with an option to buy. +% +I am the mother of all things, and all things should wear a sweater. +% +I am, in point of fact, a particularly haughty and exclusive person, +of pre-Adamite ancestral descent. You will understand this when I tell +you that I can trace my ancestry back to a protoplasmal primordial +atomic globule. Consequently, my family pride is something +inconceivable. I can't help it. I was born sneering. + -- Pooh-Bah, "The Mikado", Gilbert & Sullivan +% +I appreciate the fact that this draft was done in haste, but some of +the sentences that you are sending out in the world to do your work for +you are loitering in taverns or asleep beside the highway. + -- Dr. Dwight Van de Vate, Professor of Philosophy, + University of Tennessee at Knoxville +% +I argue very well. Ask any of my remaining friends. I can win an +argument on any topic, against any opponent. People know this, and +steer clear of me at parties. Often, as a sign of their great respect, +they don't even invite me. + -- Dave Barry +% +I believe in getting into hot water; it keeps you clean. + -- G. K. Chesterton +% +I belong to no organized party. I am a Democrat. + -- Will Rogers +% +I bet the human brain is a kludge. + -- Marvin Minsky +% +I brake for chezlogs! +% +I call them as I see them. If I can't see them, I make them up. + -- Biff Barf +% +I can feel for her because, although I have never been an Alaskan +prostitute dancing on the bar in a spangled dress, I still get very +bored with washing and ironing and dishwashing and cooking day after +relentless day. + -- Betty MacDonald +% +I can read your mind, and you should be ashamed of yourself. +% +I can remember when a good politician had to be 75 percent ability and +25 percent actor, but I can well see the day when the reverse could be +true. + -- Harry S. Truman +% +I can resist anything but temptation. +% +I can't complain, but sometimes I still do. + -- Joe Walsh +% +I can't decide whether to commit suicide or go bowling. + -- Florence Henderson +% +I can't understand it. I can't even understand the people who can +understand it. + -- Queen Juliana of the Netherlands. +% +I can't understand why a person will take a year or two to write a +novel when he can easily buy one for a few dollars. + -- Fred Allen +% +I cannot and will not cut my conscience to fit this year's fashions. + -- Lillian Hellman +% +I cannot conceive that anybody will require multiplications at the rate +of 40,000 or even 4,000 per hour ... + -- F. H. Wales (1936) +% +I cannot overemphasize the importance of good grammar. + +What a crock. I could easily overemphasize the importance of good +grammar. For example, I could say: "Bad grammar is the leading cause +of slow, painful death in North America," or "Without good grammar, the +United States would have lost World War II." + -- Dave Barry, "An Utterly Absurd Look at Grammar" +% + "I cannot read the fiery letters," said Frito Bugger in a +quavering voice. + "No," said GoodGulf, "but I can. The letters are Elvish, of +course, of an ancient mode, but the language is that of Mordor, which +I will not utter here. They are lines of a verse long known in +Elven-lore: + + "This Ring, no other, is made by the elves, + Who'd pawn their own mother to grab it themselves. + Ruler of creeper, mortal, and scallop, + This is a sleeper that packs quite a wallop. + The Power almighty rests in this Lone Ring. + The Power, alrighty, for doing your Own Thing. + If broken or busted, it cannot be remade. + If found, send to Sorhed (with postage prepaid)." + -- Harvard Lampoon, "Bored of the Rings" +% +I changed my headlights the other day. I put in strobe lights +instead! Now when I drive at night, it looks like everyone else is +standing still ... + -- Steven Wright +% +I could dance till the cows come home. On second thought, I'd rather +dance with the cows till you come home. + -- Groucho Marx +% +I couldn't remember when I had been so disappointed. Except perhaps +the time I found out that M&Ms really *do* melt in your hand ... + -- Peter Oakley +% +I didn't know it was impossible when I did it. +% +I didn't like the play, but I saw it under adverse conditions. The +curtain was up. +% + I disapprove of the F-word, not because it's dirty, but because +we use it as a substitute for thoughtful insults, and it frequently +leads to violence. What we ought to do, when we anger each other, say, +in traffic, is exchange phone numbers, so that later on, when we've had +time to think of witty and learned insults or look them up in the +library, we could call each other up: + + You: Hello? Bob? + Bob: Yes? + You: This is Ed. Remember? The person whose parking space you + took last Thursday? Outside of Sears? + Bob: Oh yes! Sure! How are you, Ed? + You: Fine, thanks. Listen, Bob, the reason I'm calling is: + "Madam, you may be drunk, but I am ugly, and ..." No, wait. + I mean: "you may be ugly, but I am Winston Churchill + and ..." No, wait. (Sound of reference book thudding onto + the floor.) S-word. Excuse me. Look, Bob, I'm going to + have to get back to you. + Bob: Fine. + -- Dave Barry, "$#$%#^%!^%&@%@!" +% +I do hate sums. There is no greater mistake than to call arithmetic an +exact science. There are permutations and aberrations discernible to +minds entirely noble like mine; subtle variations which ordinary +accountants fail to discover; hidden laws of number which it requires a +mind like mine to perceive. For instance, if you add a sum from the +bottom up, and then again from the top down, the result is always +different. + -- Mrs. La Touche (19th cent.) +% +I do not fear computers. I fear the lack of them. + -- Isaac Asimov +% +I do not feel obliged to believe that the same God who has endowed us +with sense, reason, and intellect has intended us to forego their use. + -- Galileo Galilei +% +I do not know myself, and God forbid that I should. + -- Johann Wolfgang von Goethe +% +I don't believe in astrology. But then I'm an Aquarius, and Aquarians +don't believe in astrology. + -- James R. F. Quirk +% +I don't believe there really IS a GAS SHORTAGE.. I think it's all just +a BIG HOAX on the part of the plastic sign salesmen -- to sell more +numbers!! +% +I don't care for the Sugar Smacks commercial. I don't like the idea of +a frog jumping on my Breakfast. + -- Lowell, Chicago Reader 10/15/82 +% +I don't care who does the electing as long as I get to do the +nominating. + -- Boss Tweed +% +I don't have any solution but I certainly admire the problem. + -- Ashleigh Brilliant +% +I don't have to take this abuse from you -- I've got hundreds of +people waiting to abuse me. + -- Bill Murray, "Ghostbusters" +% +I don't know anything about music. In my line you don't have to. + -- Elvis Presley +% + "I don't know what you mean by `glory,'" Alice said + Humpty Dumpty smiled contemptuously. "Of course you don't -- +till I tell you. I meant `there's a nice knock-down argument for +you!'" + "But glory doesn't mean `a nice knock-down argument,'" Alice +objected. + "When I use a word," Humpty Dumpty said, in a rather scornful +tone, "it means just what I choose it to mean -- neither more nor +less." + "The question is," said Alice, "whether you can make words mean +so many different things." + "The question is," said Humpty Dumpty, "which is to be master-- +that's all." + -- Lewis Carroll, "Through the Looking Glass" +% +I don't like spinach, and I'm glad I don't, because if I liked it I'd +eat it, and I just hate it. + -- Clarence Darrow +% +I don't mind going nowhere as long as it's an interesting path. + -- Ronald Mabbitt +% +I don't mind what Congress does, as long as they don't do it in the +streets and frighten the horses. + -- Victor Hugo +% +I don't object to sex before marriage, but two minutes before?!? +% +"I don't think so," said Ren'e Descartes. Just then, he vanished. +% +I don't think they could put him in a mental hospital. On the other +hand, if he were already in, I don't think they'd let him out. +% +I don't want to alarm anybody, but there is an excellent chance that +the Earth will be destroyed in the next several days. Congress is +thinking about eliminating a federal program under which scientists +broadcast signals to alien beings. This would be a large mistake. +Alien beings have nuclear blaster death cannons. You cannot cut off +their federal programs as if they were merely poor people ... + -- Davy Barry, "THE ALIENS ARE COMING, THE ALIENS ARE + COMING!" +% +I doubt, therefore I might be. +% +I dread success. To have succeeded is to have finished one's business +on earth, like the male spider, who is killed by the female the moment +he has succeeded in his courtship. I like a state of continual +becoming, with a goal in front and not behind. + -- George Bernard Shaw +% +I drink to make other people interesting. + -- George Jean Nathan +% +I fell asleep reading a dull book, and I dreamt that I was reading on, +so I woke up from sheer boredom. +% +I for one cannot protest the recent M.T.A. fare hike and the +accompanying promises that this would in no way improve service. For +the transit system, as it now operates, has hidden advantages that +can't be measured in monetary terms. + +Personally, I feel that it is well worth 75 cents or even $1 to have +that unimpeachable excuse whenever I am late to anything: "I came by +subway." Those four words have such magic in them that if Godot should +someday show up and mumble them, any audience would instantly +understand his long delay. +% +I found out why my car was humming. It had forgotten the words. +% +I gained nothing at all from Supreme Enlightenment, and for that very +reason it is called Supreme Enlightenment. + -- Gautama Buddha +% +I gave up Smoking, Drinking and Sex. It was the most *__________horrifying* 20 +minutes of my life! +% +I generally avoid temptation unless I can't resist it. + -- Mae West +% +I get up each morning, gather my wits. + Pick up the paper, read the obits. +If I'm not there I know I'm not dead. + So I eat a good breakfast and go back to bed. +% +I get up each morning, gather my wits. +Pick up the paper, read the obits. +If I'm not there I know I'm not dead. +So I eat a good breakfast and go back to bed. + +Oh, how do I know my youth is all spent? +My get-up-and-go has got-up-and-went. +But in spite of it all, I'm able to grin, +And think of the places my get-up has been. + -- Pete Seeger +% +I had this sudden vision of a klein pizza containing all the mozarella +in the world. + -- Peter da Silva +% +I had to censor everything my sons watched ... even on the Mary Tyler +Moore show I heard the word 'damn'! + -- Mary Lou Bax +% +I had to hit him -- he was starting to make sense. +% +I hate it when my foot falls asleep during the day cause that means +it's going to be up all night. + -- Steven Wright +% +I hate quotations. + -- Ralph Waldo Emerson +% +I have a simple philosophy: + + Fill what's empty. + Empty what's full. + Scratch where it itches. + -- A. R. Longworth +% +I have a very firm grasp on reality! I can reach out and strangle it +any time! +% +I have come up with a sure-fire concept for a hit television show, +which would be called `A Live Celebrity Gets Eaten by a Shark'. + -- Dave Barry, "The Wonders of Sharks on TV" +% +I have discovered the art of deceiving diplomats. I tell them the truth +and they never believe me. + -- Camillo Di Cavour +% +I have great faith in fools -- self confidence my friends call it. + -- Edgar Allan Poe +% +I have just read your lousy review buried in the back pages. You +sound like a frustrated old man who never made a success, an +eight-ulcer man on a four-ulcer job, and all four ulcers working. I +have never met you, but if I do you'll need a new nose and plenty of +beefsteak and perhaps a supporter below. Westbrook Pegler, a +guttersnipe, is a gentleman compared to you. You can take that as more +of an insult than as a reflection on your ancestry. + -- President Harry S. Truman +% +I have learned +To spell hors d'oeuvres +Which still grates on +Some people's n'oeuvres. + -- Warren Knox +% +I have made mistakes but I have never made the mistake of claiming +that I have never made one. + -- James Gordon Bennett +% +I have made this letter longer than usual because I lack the time to +make it shorter. + -- Blaise Pascal +% +I have more humility in my little finger than you have in your whole +____BODY! + -- from "Cerebus" #82 +% +I have seen the future and it is just like the present, only longer. + -- Kehlog Albran, "The Profit" +% +I have the simplest tastes. I am always satisfied with the best. + -- Oscar Wilde +% +I have the world's largest collection of seashells. I keep it +scattered around the beaches of the world ... Perhaps you've seen it. + -- Steven Wright +% +I have to convince you, or at least snow you ... + -- Prof. Romas Aleliunas, CS 435 +% +I have two very rare photographs: one is a picture of Houdini locking +his keys in his car; the other is a rare photograph of Norman Rockwell +beating up a child. + -- Steven Wright +% +I have yet to see any problem, however complicated, which, when looked +at in the right way, did not become still more complicated. + -- Poul Anderson +% +I haven't lost my mind -- it's backed up on tape somewhere. +% +I haven't lost my mind; I know exactly where I left it. +% +I just forgot my whole philosophy of life!!! +% +I just need enough to tide me over until I need more. + -- Bill Hoest +% +I know it all. I just can't remember it all at once. +% +I know not with what weapons World War III will be fought, but World +War IV will be fought with sticks and stones. + -- Albert Einstein +% +I know the answer! The answer lies within the heart of all mankind! +The answer is twelve? I think I'm in the wrong building. + -- Charles Schulz +% +I like being single. I'm always there when I need me. + -- Art Leo +% +I like to believe that people in the long run are going to do more to +promote peace than our governments. Indeed, I think that people want +peace so much that one of these days governments had better get out of +the way and let them have it. + -- Dwight D. Eisenhower +% +I like work ... I can sit and watch it for hours. +% +I like your game but we have to change the rules. +% +I love Saturday morning cartoons, what classic humour! This is what +entertainment is all about ... Idiots, explosives and falling anvils. + -- Calvin and Hobbes, Bill Watterson +% +"I love to eat them Smurfies + Smurfies what I love to eat + Bite they ugly heads off, + Nibble on they bluish feet." +% +I may appear to be just sitting here like a bucket of tapioca, but +don't let appearances fool you. I'm approaching old age ... at the +speed of light. + -- Prof. Cosmo Fishhawk +% +I may not be totally perfect, but parts of me are excellent. + -- Ashleigh Brilliant +% +I must have a prodigious quantity of mind; it takes me as much as a +week sometimes to make it up. + -- Mark Twain, "The Innocents Abroad" +% +I must have slipped a disk -- my pack hurts +% +I never fail to convince an audience that the best thing they could do +was to go away. +% +I never met a piece of chocolate I didn't like. +% +I often quote myself; it adds spice to my conversation. + -- G. B. Shaw +% +I only touch base with reality on an as-needed basis! + -- Royal Floyd Mengot (Klaus) +% +I played lead guitar in a band called The Federal Duck, which is the +kind of name that was popular in the '60s as a result of controlled +substances being in widespread use. Back then, there were no +restrictions, in terms of talent, on who could make an album, so we +made one, and it sounds like a group of people who have been given +powerful but unfamiliar instruments as a therapy for a degenerative +nerve disease. + -- Dave Barry, "The Snake" +% +I predict that today will be remembered until tomorrow! +% +I profoundly believe it takes a lot of practice to become a moral slob. + -- William F. Buckley +% + "I quite agree with you," said the Duchess; "and the moral of +that is -- `Be what you would seem to be' -- or, if you'd like it put +more simply -- `Never imagine yourself not to be otherwise than what it +might appear to others that what you were or might have been was not +otherwise than what you had been would have appeared to them to be +otherwise.'" + -- Lewis Carroll, "Alice in Wonderland" +% +I realize that the MX missile is none of our concern. I realize that +the whole point of living in a democracy is that we pay professional +congresspersons to concern themselves with things like the MX missile +so we can be free to concern ourselves with getting hold of the +plumber. + +But from time to time, I feel I must address major public issues such +as this, because in a free and open society, where the very future of +the world hinges on decisions made by our elected leaders, you never +win large cash journalism awards if you stick to the topics I usually +write about, such as nose-picking. + -- Dave Barry, "At Last, the Ultimate Deterrent Against + Political Fallout" +% +I really hate this damned machine +I wish that they would sell it. +It never does quite what I want +But only what I tell it. +% +I refuse to have a battle of wits with an unarmed person. +% +I see a good deal of talk from Washington about lowering taxes. I hope +they do get 'em lowered enough so people can afford to pay 'em. + -- Will Rogers +% +I see the eigenvalue in thine eye, +I hear the tender tensor in thy sigh. +Bernoulli would have been content to die +Had he but known such _a-squared cos 2(phi)! + -- Stanislaw Lem, "Cyberiad" +% +I sent a letter to the fish, +I told them, "This is what I wish." +The little fishes of the sea, +They sent an answer back to me. +The little fishes' answer was +"We cannot do it, sir, because ..." +I sent a letter back to say +It would be better to obey. +But someone came to me and said +"The little fishes are in bed." +I said to him, and I said it plain +"Then you must wake them up again." +I said it very loud and clear, +I went and shouted in his ear. +But he was very stiff and proud, +He said "You needn't shout so loud." +And he was very proud and stiff, +He said "I'll go and wake them if ..." +I took a kettle from the shelf, +I went to wake them up myself. +But when I found the door was locked +I pulled and pushed and kicked and knocked, +And when I found the door was shut, +I tried to turn the handle, But ... + + "Is that all?" asked Alice. + "That is all." said Humpty Dumpty. "Goodbye." + -- Lewis Carroll, "Through the Looking Glass" +% +I shot an arrow into the air, and it stuck. + -- Graffito in Los Angeles +% +"... I should explain that I was wearing a black velvet cape that was +supposed to make me look like the dashing, romantic Zorro but which +actually made me look like a gigantic bat wearing glasses ..." + -- Dave Barry, "The Wet Zorro Suit and Other Turning + Points in l'Amour" +% +I stayed up all night playing poker with tarot cards. I got a full +house and four people died. + -- Steven Wright +% +I stopped believing in Santa Claus when I was six. Mother took me to +see him in a department store and he asked for my autograph. + -- Shirley Temple +% +I suggest you locate your hot tub outside your house, so it won't do +too much damage if it catches fire or explodes. First you decide which +direction your hot tub should face for maximum solar energy. After +much trial and error, I have found that the best direction for a hot +tub to face is up. + -- Dave Barry, "The Taming of the Screw" +% +I think it is true for all _n. I was just playing it safe with _n >= 3 +because I couldn't remember the proof. + -- Baker, Pure Math 351a +% +I think sex is better than logic, but I can't prove it. +% +I think that all good, right thinking people in this country are sick +and tired of being told that all good, right thinking people in this +country are fed up with being told that all good, right thinking people +in this country are fed up with being sick and tired. I'm certainly +not, and I'm sick and tired of being told that I am. + -- Monty Python +% +I think that I shall never see +A billboard lovely as a tree. +Perhaps, unless the billboards fall +I'll never see a tree at all. + -- Ogden Nash +% +I think that I shall never see +A thing as lovely as a tree. +But as you see the trees have gone +They went this morning with the dawn. +A logging firm from out of town +Came and chopped the trees all down. +But I will trick those dirty skunks +And write a brand new poem called 'Trunks'. +% +I think the sky is blue because it's a shift from black through purple +to blue, and it has to do with where the light is. You know, the +farther we get into darkness, and there's a shifting of color of light +into the blueness, and I think as you go farther and farther away from +the reflected light we have from the sun or the light that's bouncing +off this earth, uh, the darker it gets ... I think if you look at the +color scale, you start at black, move it through purple, move it on +out, it's the shifting of color. We mentioned before about the stars +singing, and that's one of the effects of the shifting of colors. + -- Pat Robertson, The 700 Club +% +I think we can all agree that there is not enough common courtesy shown +... HEY! PAY ATTENTION WHEN I'M TALKING TO YOU DAMMIT! I said I think +we can all agree that there is not enough common courtesy shown today. +When we take the time to be courteous to each other, we find that we +are happier and less likely to engage in nuclear war. This point was +driven home by the recent summit talks, where Nancy Reagan and Raisa +Gorbachev, each of whose husband thinks the other's husband is vermin, +were able to sit down at a high-level tea and engage in courteous +conversation ... + -- Dave Barry, "The Stuff of Etiquette" +% +"I thought you were trying to get into shape." +"I am. The shape I've selected is a triangle." +% + ... I told my doctor I got all the exercise I needed being a +pallbearer for all my friends who run and do exercises! + -- Winston Churchill +% +I took a course in speed reading and was able to read War and Peace in +twenty minutes. It's about Russia. + -- Woody Allen +% +I used to be an agnostic, but now I'm not so sure. +% +I used to get high on life but lately I've built up a resistance. +% +I used to think I was indecisive, but now I'm not so sure. +% +I used to think that the brain was the most wonderful organ in my +body. Then I realized who was telling me this. + -- Emo Phillips +% +I used to work in a fire hydrant factory. You couldn't park anywhere +near the place. + -- Steven Wright +% +I value kindness to human beings first of all, and kindness to +animals. I don't respect the law; I have a total irreverence for +anything connected with society except that which makes the roads +safer, the beer stronger, the food cheaper, and old men and women +warmer in the winter, and happier in the summer. + -- Brendan Behan +% +I want to buy a husband who, every week when I sit down to watch `St. +Elsewhere', won't scream, `FORGET IT, BLANCHE ... IT'S TIME FOR "HEE +HAW"!!' + -- Berke Breathed, "Bloom County" +% +I was born because it was a habit in those days, people didn't know +anything else ... I was not a Child Prodigy, because a Child Prodigy is +a child who knows as much when it is a child as it does when it grows +up. + -- Will Rogers +% +I was drunk last night, crawled home across the lawn. By accident I +put the car key in the door lock. The house started up. So I figured +what the hell, and drove it around the block a few times. I thought I +should go park it in the middle of the freeway and yell at everyone to +get off my driveway. + -- Steven Wright +% +I was gratified to be able to answer promptly, and I did. I said I +didn't know. + -- Mark Twain +% +I was part of that strange race of people aptly described as spending +their lives doing things they detest to make money they don't want to +buy things they don't need to impress people they dislike. + -- Emile Henry Gauvreay +% +I was playing poker the other night ... with Tarot cards. I got a full +house and four people died. + -- Steven Wright +% +I went into a general store, and they wouldn't sell me anything specific. + -- Steven Wright +% +I went on to test the program in every way I could devise. I strained +it to expose its weaknesses. I ran it for high-mass stars and low-mass +stars, for stars born exceedingly hot and those born relatively cold. +I ran it assuming the superfluid currents beneath the crust to be +absent -- not because I wanted to know the answer, but because I had +developed an intuitive feel for the answer in this particular case. +Finally I got a run in which the computer showed the pulsar's +temperature to be less than absolute zero. I had found an error. I +chased down the error and fixed it. Now I had improved the program to +the point where it would not run at all. + -- George Greenstein, "Frozen Star: Of Pulsars, Black + Holes and the Fate of Stars" +% +I went to a job interview the other day, the guy asked me if I had any +questions , I said yes, just one, if you're in a car traveling at the +speed of light and you turn your headlights on, does anything happen? + +He said he couldn't answer that, I told him sorry, but I couldn't work +for him then. + -- Steven Wright +% +I went to the hardware store and bought some used paint. It was in +the shape of a house. I also bought some batteries, but they weren't +included. + -- Steven Wright +% +I went to the museum where they had all the heads and arms from the +statues that are in all the other museums. + -- Steven Wright +% +I went to the race track once and bet on a horse that was so good that +it took seven others to beat him! +% +I wish there was a knob on the TV to turn up the intelligence. +There's a knob called `brightness', but it doesn't work. + -- Gallagher +% +I wouldn't recommend sex, drugs or insanity for everyone, but they've +always worked for me. + -- Hunter S. Thompson +% +I'd give my right arm to be ambidextrous. +% +I'd love to go out with you, but I did my own thing and now I've got +to undo it. +% +I'd love to go out with you, but I have to floss my cat. +% +I'd love to go out with you, but I have to stay home and see if I snore. +% +I'd love to go out with you, but I never go out on days that end in `Y.' +% +I'd love to go out with you, but I want to spend more time with my blender. +% +I'd love to go out with you, but I'm attending the opening of my garage door. +% +I'd love to go out with you, but I'm converting my calendar watch from +Julian to Gregorian. +% +I'd love to go out with you, but I'm doing door-to-door collecting for +static cling. +% +I'd love to go out with you, but I'm having all my plants neutered. +% +I'd love to go out with you, but I'm staying home to work on my +cottage cheese sculpture. +% +I'd love to go out with you, but I'm taking punk totem pole carving. +% +I'd love to go out with you, but I've been scheduled for a karma transplant. +% +I'd love to go out with you, but it's my parakeet's bowling night. +% +I'd love to go out with you, but my favorite commercial is on TV. +% +I'd love to go out with you, but the last time I went out, I never came back. +% +I'd love to go out with you, but the man on television told me to stay tuned. +% +I'd love to go out with you, but there are important world issues that +need worrying about. +% +I'd rather have a bottle in front of me than a frontal lobotomy. +% +I'll carry your books, I'll carry a tune, I'll carry on, carry over, +carry forward, Cary Grant, cash & carry, Carry Me Back To Old Virginia, +I'll even Hara Kari if you show me how, but I will *not* carry a gun. + -- Hawkeye, M*A*S*H +% +I'll defend to the death your right to say that, but I never said I'd +listen to it! + -- Tom Galloway with apologies to Voltaire +% +I'll grant thee random access to my heart, +Thoul't tell me all the constants of thy love; +And so we two shall all love's lemmas prove +And in our bound partition never part. + -- Stanislaw Lem, "Cyberiad" +% +I'll rob that rich person and give it to some poor deserving slob. +That will *prove* I'm Robin Hood. + -- Daffy Duck, "Robin Hood Daffy", [1958, Chuck Jones] +% +I'm a creationist; I refuse to believe that I could have evolved from man. +% +I'm a Lisp variable -- bind me! +% +I'm all for computer dating, but I wouldn't want one to marry my sister. +% +I'm changing my name to Chrysler +I'm going down to Washington, D.C. +I'll tell some power broker + What they did for Iacocca +Will be perfectly acceptable to me! +I'm changing my name to Chrysler, +I'm heading for that great receiving line. +When they hand a million grand out, + I'll be standing with my hand out, +Yessir, I'll get mine! + -- Tom Paxton +% +I'm defending her honor, which is more than she ever did. +% +I'm fed up to the ears with old men dreaming up wars for young men to +die in. + -- George McGovern +% +I'm going to Boston to see my doctor. He's a very sick man. + -- Fred Allen +% +I'm going to live forever, or die trying! + -- Spider Robinson +% +... I'm IMAGINING a sensuous GIRAFFE, CAVORTING in the BACK ROOM of a +KOSHER DELI!! +% +I'm in Pittsburgh. Why am I here? + -- Harold Urey, Nobel Laureate +% +I'm living so far beyond my income that we may almost be said to be +living apart. + -- e. e. cummings +% +I'm N-ary the tree, I am, +N-ary the tree, I am, I am. +I'm getting traversed by the parser next door, +She's traversed me seven times before. +And ev'ry time it was an N-ary (N-ary!) +Never wouldn't ever do a binary. (No sir!) +I'm 'er eighth tree that was N-ary. +N-ary the tree I am, I am, +N-ary the tree I am. +% +I'm not under the alkafluence of inkahol that some thinkle peep I am. +It's just the drunker I sit here the longer I get. +% +I'm prepared for all emergencies but totally unprepared for everyday life. +% +I'm proud to be paying taxes in the United States. The only thing is +-- I could be just as proud for half the money. + -- Arthur Godfrey +% +I'm rated PG-34!! +% +I'm really enjoying not talking to you ... Let's not talk again ____REAL +soon ... +% +I'm returning this note to you, instead of your paper, because it +(your paper) presently occupies the bottom of my bird cage. + -- English Professor, Providence College +% +I'm very good at integral and differential calculus, +I know the scientific names of beings animalculous; +In short, in matters vegetable, animal, and mineral, +I am the very model of a modern Major-General. + -- Gilbert & Sullivan, "Pirates of Penzance" +% +I'm willing to sacrifice anything for this cause, even other people's lives +% +I've built a better model than the one at Data General +For data bases vegetable, animal, and mineral +My OS handles CPUs with multiplexed duality; +My PL/1 compiler shows impressive functionality. +My storage system's better than magnetic core polarity, +You never have to bother checking out a bit for parity; +There isn't any reason to install non-static floor matting; +My disk drive has capacity for variable formatting. + +I feel compelled to mention what I know to be a gloating point: +There's lots of room in memory for variables floating-point, +Which shows for input vegetable, animal, and mineral +I've built a better model than the one at Data General. + + -- Steve Levine, "A Computer Song" (To the tune of + "Modern Major General", from "Pirates of Penzance", + by Gilbert & Sullivan) +% +I've enjoyed just about as much of this as I can stand. +% +I've found my niche. If you're wondering why I'm not there, there was +this little hole in the bottom ... + -- John Croll +% +I've given up reading books; I find it takes my mind off myself. +% +I've had a perfectly wonderful evening. But this wasn't it. + -- Groucho Marx +% +I've known him as a man, as an adolescent and as a child -- sometimes +on the same day. +% +I've seen better heads on half a pint of beer. +% +I've seen, I SAY, I've seen better heads on a mug of beer. + -- Senator Claghorn +% +I've seen Sun monitors on fire off the side of the multimedia lab. +I've seen NTU lights glitter in the dark near the Mail Gate. +All these things will be lost in time, like the root partition last week. +Time to die... + -- Peter Gutmann +% +I've touch'd the highest point of all my greatness; +And from that full meridian of my glory +I haste now to my setting. I shall fall, +Like a bright exhalation in the evening +And no man see me more. + -- William Shakespeare +% +IBM had a PL/I, + Its syntax worse than JOSS; +And everywhere this language went, + It was a total loss. +% +Idaho state law makes it illegal for a man to give his sweetheart a box +of candy weighing less than fifty pounds. +% +Ideas don't stay in some minds very long because they don't like +solitary confinement. +% +Idiot Box, n.: + The part of the envelope that tells a person where to place the +stamp when they can't quite figure it out for themselves. + -- Rich Hall, "Sniglets" +% +Idiot, n.: + A member of a large and powerful tribe whose influence in human +affairs has always been dominant and controlling. + -- Ambrose Bierce, "The Devil's Dictionary" +% +If a 6600 used paper tape instead of core memory, it would use up tape +at about 30 miles/second. + -- Grishman, Assembly Language Programming +% +If A = B and B = C, then A = C, except where void or prohibited by law. + -- Roy Santoro +% +If a camel flies, no one laughs if it doesn't get very far. + -- Paul White +% +If a camel is a horse designed by a committee, then a consensus +forecast is a camel's behind. + -- Edgar R. Fiedler +% +If A equals success, then the formula is _A = _X + _Y + _Z. _X is work. _Y +is play. _Z is keep your mouth shut. + -- Albert Einstein +% +If a group of _N persons implements a COBOL compiler, there will be _N-1 +passes. Someone in the group has to be the manager. + -- T. Cheatham +% +If a jury in a criminal trial stays out for more than twenty-four +hours, it is certain to vote acquittal, save in those instances where +it votes guilty. + -- Joseph C. Goulden +% +If a listener nods his head when you're explaining your program, wake +him up. +% +If a President doesn't do it to his wife, he'll do it to his country. +% +If a putt passes over the hole without dropping, it is deemed to have +dropped. The law of gravity holds that any object attempting to +maintain a position in the atmosphere without something to support it +must drop. The law of gravity supersedes the law of golf. + -- Donald A. Metz +% +If a team is in a positive frame of mind, it will have a good +attitude. If it has a good attitude, it will make a commitment to +playing the game right. If it plays the game right, it will win -- +unless, of course, it doesn't have enough talent to win, and no manager +can make goose-liver pate out of goose feathers, so why worry? + -- Sparky Anderson +% +If all be true that I do think, +There be Five Reasons why one should Drink; +Good friends, good wine, or being dry, +Or lest we should be by-and-by, +Or any other reason why. +% +If all else fails, immortality can always be assured by spectacular +error. + -- John Kenneth Galbraith +% +If all the Chinese simultaneously jumped into the Pacific off a 10 foot +platform erected 10 feet off their coast, it would cause a tidal wave +that would destroy everything in this country west of Nebraska. +% +If all the world's a stage, I want to operate the trap door. + -- Paul Beatty +% +If all the world's economists were laid end to end, we wouldn't reach a +conclusion. + -- William Baumol +% +If an S and an I and an O and a U +With an X at the end spell Su; +And an E and a Y and an E spell I, +Pray what is a speller to do? +Then, if also an S and an I and a G +And an HED spell side, +There's nothing much left for a speller to do +But to go commit siouxeyesighed. + -- Charles Follen Adams, "An Orthographic Lament" +% +If anything can go wrong, it will. +% +If at first you don't succeed, give up. No use being a damn fool. +% +If at first you don't succeed, redefine success. +% +If bankers can count, how come they have eight windows and only four +tellers? +% +If dolphins are so smart, why did Flipper work for television? +% +If entropy is increasing, where is it coming from? +% +If everybody minded their own business, the world would go +around a deal faster. + -- The Duchess, "Through the Looking Glass" +% +If everything is coming your way then you're in the wrong lane. +% +... If forced to travel on an airplane, try and get in the cabin with +the Captain, so you can keep an eye on him and nudge him if he falls +asleep or point out any mountains looming up ahead ... + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +If God didn't mean for us to juggle, tennis balls wouldn't come three +to a can. +% +If God had intended Man to Smoke, He would have set him on Fire. +% +If God had intended Man to Walk, He would have given him Feet. +% +If God had intended Man to Watch TV, He would have given him Rabbit Ears. +% +If God had intended Men to Smoke, He would have put Chimneys in their Heads. +% +If God had meant for us to be in the Army, we would have been born with +green, baggy skin. +% +If God had meant for us to be naked, we would have been born that way. +% +If God had not given us sticky tape, it would have been necessary to +invent it. +% +If God had wanted you to go around nude, He would have given you bigger +hands. +% +If God is dead, who will save the Queen? +% +If God is perfect, why did He create discontinuous functions? +% +If God lived on Earth, people would knock out all His windows. + -- Yiddish saying +% +If God wanted us to be brave, why did he give us legs? + -- Marvin Kitman +% +If I am elected, the concrete barriers around the WHITE HOUSE will be +replaced by tasteful foam replicas of ANN MARGARET! +% +If I could drop dead right now, I'd be the happiest man alive! + -- Samuel Goldwyn +% +If I don't drive around the park, +I'm pretty sure to make my mark. +If I'm in bed each night by ten, +I may get back my looks again. +If I abstain from fun and such, +I'll probably amount to much; +But I shall stay the way I am, +Because I do not give a damn. + -- Dorothy Parker +% +If I don't see you in the future, I'll see you in the pasture. +% +If I had a plantation in Georgia and a home in Hell, I'd sell the +plantation and go home. + -- Eugene P. Gallagher +% +If I had any humility I would be perfect. + -- Ted Turner +% +If I had only known, I would have been a locksmith. + -- Albert Einstein +% +If I have seen farther than others, it is because I was standing on the +shoulders of giants. + -- Isaac Newton + +In the sciences, we are now uniquely privileged to sit side by side +with the giants on whose shoulders we stand. + -- Gerald Holton + +If I have not seen as far as others, it is because giants were standing +on my shoulders. + -- Hal Abelson + +In computer science, we stand on each other's feet. + -- Brian K. Reid +% +If I kiss you, that is a psychological interaction. + +On the other hand, if I hit you over the head with a brick, that is +also a psychological interaction. + +The difference is that one is friendly and the other is not so +friendly. + +The crucial point is if you can tell which is which. + -- Dolph Sharp, "I'm O.K., You're Not So Hot" +% +If I traveled to the end of the rainbow +As Dame Fortune did intend, +Murphy would be there to tell me +The pot's at the other end. + -- Bert Whitney +% +If ignorance is bliss, why aren't there more happy people? +% +If it's Tuesday, this must be someone else's fortune. +% +If Jesus Christ were to come today, people would not even crucify him. +They would ask him to dinner, and hear what he had to say, and make fun +of it. + -- Thomas Carlyle +% +If just one piece of mail gets lost, well, they'll just think they +forgot to send it. But if *two* pieces of mail get lost, hell, they'll +just think the other guy hasn't gotten around to answering his mail. +And if *fifty* pieces of mail get lost, can you imagine it, if *fifty* +pieces of mail get lost, why they'll think someone *else* is broken! +And if 1Gb of mail gets lost, they'll just *know* that Arpa is down and +think it's a conspiracy to keep them from their God given right to +receive Net Mail ... + -- Leith (Casey) Leedom +% +If life is a stage, I want some better lighting. +% +If little else, the brain is an educational toy. + -- Tom Robbins +% +If little green men land in your back yard, hide any little green women +you've got in the house. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +If mathematically you end up with the wrong answer, try multiplying by +the page number. +% +If money can't buy happiness, I guess you'll just have to rent it. +% +If once a man indulges himself in murder, very soon he comes to think +little of robbing; and from robbing he next comes to drinking and +Sabbath-breaking, and from that to incivility and procrastination. + -- Thomas De Quincey (1785 - 1859) +% +If one studies too zealously, one easily loses his pants. + -- Albert Einstein +% +If only God would give me some clear sign! Like making a large deposit +in my name at a Swiss bank. + -- Woody Allen, "Without Feathers" +% +If only I could be respected without having to be respectable. +% +If only one could get that wonderful feeling of accomplishment without +having to accomplish anything. +% +If Patrick Henry thought that taxation without representation was bad, +he should see how bad it is with representation. +% +If scientific reasoning were limited to the logical processes of +arithmetic, we should not get very far in our understanding of the +physical world. One might as well attempt to grasp the game of poker +entirely by the use of the mathematics of probability. + -- Vannevar Bush +% +If someone had told me I would be Pope one day, I would have studied +harder. + -- Pope John Paul I +% +If that makes any sense to you, you have a big problem. + -- C. Durance, Computer Science 234 +% +If the aborigine drafted an IQ test, all of Western civilization would +presumably flunk it. + -- Stanley Garn +% +If the code and the comments disagree, then both are probably wrong. + -- Norm Schryer +% +If the colleges were better, if they really had it, you would need to +get the police at the gates to keep order in the inrushing multitude. +See in college how we thwart the natural love of learning by leaving +the natural method of teaching what each wishes to learn, and insisting +that you shall learn what you have no taste or capacity for. The +college, which should be a place of delightful labor, is made odious +and unhealthy, and the young men are tempted to frivolous amusements to +rally their jaded spirits. I would have the studies elective. +Scholarship is to be created not by compulsion, but by awakening a pure +interest in knowledge. The wise instructor accomplishes this by +opening to his pupils precisely the attractions the study has for +himself. The marking is a system for schools, not for the college; for +boys, not for men; and it is an ungracious work to put on a professor. + -- Ralph Waldo Emerson +% +If the King's English was good enough for Jesus, it's good enough for me! + -- "Ma" Ferguson, Governor of Texas (circa 1920) +% +If the odds are a million to one against something occurring, chances +are 50-50 it will. +% +If the weather is extremely bad, church attendance will be down. +If the weather is extremely good, church attendance will be down. +If the bulletin covers are in short supply, however, church attendance +will exceed all expectations. + -- Reverend Chichester +% +If there are epigrams, there must be meta-epigrams. +% +If there is a possibility of several things going wrong, the one that +will cause the most damage will be the one to go wrong. +% +If there is no God, who pops up the next Kleenex? + -- Art Hoppe +% +If they can make penicillin out of moldy bread, they can sure make +something out of you. + -- Muhammad Ali +% +If this fortune didn't exist, somebody would have invented it. +% +If this is timesharing, give me my share right now. +% +If time heals all wounds, how come the belly button stays the same? +% +If today is the first day of the rest of your life, what the hell was +yesterday? +% +If two men agree on everything, you may be sure that one of them is +doing the thinking. + -- Lyndon Baines Johnson +% +If two wrongs don't make a right, try three. + -- Laurence J. Peter +% +If value corrupts then absolute value corrupts absolutely +% +If we were meant to fly, we wouldn't keep losing our luggage. +% +If while you are in school, there is a shortage of qualified personnel +in a particular field, then by the time you graduate with the necessary +qualifications, that field's employment market is glutted. + -- Marguerite Emmons +% +If you are a fatalist, what can you do about it? + -- Ann Edwards-Duff +% +If you can count your money, you don't have a billion dollars. + -- J. Paul Getty +% +If you can lead it to water and force it to drink, it isn't a horse. +% +If you can read this, you're too close. +% +If you can survive death, you can probably survive anything. +% +If you can't be good, be careful. +If you can't be careful, give me a call. +% +If you can't learn to do it well, learn to enjoy doing it badly. +% +If you cannot convince them, confuse them. + -- Harry S. Truman +% +If you didn't get caught, did you really do it? +% +If you don't care where you are, then you ain't lost. +% +If you don't go to other men's funerals they won't go to yours. + -- Clarence Day +% +If you don't have a nasty obituary you probably didn't matter. + -- Freeman Dyson +% +If you don't want your dog to have bad breath, do what I do: Pour a little +Lavoris in the toilet. + -- Jay Leno +% +If you eat a live frog in the morning, nothing worse will happen to +either of you for the rest of the day. +% +If you ever want to get anywhere in politics, my boy, you're going to +have to get a toehold in the public eye. +% +If you explain so clearly that nobody can misunderstand, somebody +will. +% +If you give Congress a chance to vote on both sides of an issue, it +will always do it. + -- Les Aspin, D., Wisconsin +% +If you go on with this nuclear arms race, all you are going to do is +make the rubble bounce. + -- Winston Churchill +% +If you had any brains, you'd be dangerous. +% +If you have a procedure with 10 parameters, you probably missed some. +% +If you have to hate, hate gently. +% +If you just try long enough and hard enough, you can always manage to +boot yourself in the posterior. + -- A. J. Liebling, "The Press" +% +If you keep anything long enough, you can throw it away. +% +If you live in a country run by committee, be on the committee. + -- Graham Summer +% +If you live to the age of a hundred you have it made because very few +people die past the age of a hundred. + -- George Burns +% +If you make people think they're thinking, they'll love you; +but if you really make them think they'll hate you. +% +If you only have a hammer, you tend to see every problem as a nail. + -- Maslow +% +If you perceive that there are four possible ways in which a procedure +can go wrong, and circumvent these, then a fifth way will promptly +develop. +% +If you pick up a starving dog and make him prosperous, he will not bite +you. This is the principal difference between a dog and a man. + -- Mark Twain +% +If you push the "extra ice" button on the soft drink vending machine, +you won't get any ice. If you push the "no ice" button, you'll get +ice, but no cup. +% +If you put garbage in a computer nothing comes out but garbage. But +this garbage, having passed through a very expensive machine, is +somehow ennobled and none dare criticize it. +% +If you sit down at a poker game and don't see a sucker, get up. You're +the sucker. +% +If you stand on your head, you will get footprints in your hair. +% +If you think education is expensive, try ignorance. + -- Derek Bok, president of Harvard +% +If you think last Tuesday was a drag, wait till you see what happens +tomorrow! +% +If you think nobody cares if you're alive, try missing a couple of car +payments. + -- Earl Wilson +% +If you think the problem is bad now, just wait until we've solved it. + -- Arthur Kasspe +% +If you think the United States has stood still, who built the largest +shopping center in the world? + -- Richard M. Nixon +% +If you throw a New Year's Party, the worst thing that you can do would +be to throw the kind of party where your guests wake up today, and call +you to say they had a nice time. Now you'll be be expected to throw +another party next year. + +What you should do is throw the kind of party where your guest wake up +several days from now and call their lawyers to find out if they've +been indicted for anything. You want your guests to be so anxious to +avoid a recurrence of your party that they immediately start planning +parties of their own, a year in advance, just to prevent you from +having another one ... + +If your party is successful, the police will knock on your door, unless +your party is very successful in which case they will lob tear gas +through your living room window. As host, your job is to make sure +that they don't arrest anybody. Or if they're dead set on arresting +someone, your job is to make sure it isn't you ... + -- Dave Barry +% +If you took all the students that felt asleep in class and laid them +end to end, they'd be a lot more comfortable. + -- "Graffiti in the Big Ten" +% +If you understand what you're doing, you're not learning anything. + -- A. L. +% +If you want divine justice, die. + -- Nick Seldon +% +If you want to know what god thinks of money, just look at the people +he gave it to. + -- Dorothy Parker +% +If you want to understand your government, don't begin by reading the +Constitution. It conveys precious little of the flavor of today's +statecraft. Instead, read selected portions of the Washington +telephone directory containing listings for all the organizations with +titles beginning with the word "National". + -- George Will +% +If you want your spouse to listen and pay strict attention to every +word you say, talk in your sleep. +% +If you wants to get elected president, you'se got to think up some +memoraboble homily so's school kids can be pestered into memorizin' it, +even if they don't know what it means. + -- Walt Kelly, "The Pogo Party" +% +If you wish to live wisely, ignore sayings -- including this one. +% +If you're going to do something tonight that you'll be sorry for +tomorrow morning, sleep late. + -- Henny Youngman +% +If you're happy, you're successful. +% + If you're like most homeowners, you're afraid that many repairs +around your home are too difficult to tackle. So, when your furnace +explodes, you call in a so-called professional to fix it. The +"professional" arrives in a truck with lettering on the sides and +deposits a large quantity of tools and two assistants who spend the +better part of the week in your basement whacking objects at random +with heavy wrenches, after which the "professional" returns and gives +you a bill for slightly more money than it would cost you to run a +successful campaign for the U.S. Senate. + And that's why you've decided to start doing things yourself. +You figure, "If those guys can fix my furnace, then so can I. How +difficult can it be?" + Very difficult. In fact, most home projects are impossible, +which is why you should do them yourself. There is no point in paying +other people to screw things up when you can easily screw them up +yourself for far less money. This article can help you. + -- Dave Barry, "The Taming of the Screw" +% +If you're not part of the solution, you're part of the precipitate. +% +If you're not very clever you should be conciliatory. + -- Benjamin Disraeli +% +If you're right 90% of the time, why quibble about the remaining 3%? +% +If you've done six impossible things before breakfast, why not round it +off with dinner at Milliway's, the restaurant at the end of the universe? +% +If you've seen one redwood, you've seen them all. + -- Ronald Reagan +% +Ignisecond, n.: + The overlapping moment of time when the hand is locking the car +door even as the brain is saying, "my keys are in there!" + -- Rich Hall, "Sniglets" +% +Il brilgue: les t^oves libricilleux + Se gyrent et frillant dans le guave, +Enm^im'es sont les gougebosquex, + Et le m^omerade horgrave. + -- Lewis Carroll, "Through the Looking Glass" +% +Iles's Law: + There is always an easier way to do it. When looking directly +at the easy way, especially for long periods, you will not see it. +Neither will Iles. +% +Illinois isn't exactly the land that God forgot -- it's more like the +land He's trying to ignore. +% +Imagination is the one weapon in the war against reality. + -- Jules de Gaultier +% +Imagine if every Thursday your shoes exploded if you tied them the +usual way. This happens to us all the time with computers, and nobody +thinks of complaining. + -- Jeff Raskin, interviewed in Doctor Dobb's Journal +% +Imagine that Cray computer decides to make a personal computer. It has +a 150 MHz processor, 200 megabytes of RAM, 1500 megabytes of disk +storage, a screen resolution of 4096 x 4096 pixels, relies entirely on +voice recognition for input, fits in your shirt pocket and costs $300. +What's the first question that the computer community asks? + +"Is it PC compatible?" +% +Immigration is the sincerest form of flattery. + -- Jack Paar +% +Immortality -- a fate worse than death. + -- Edgar A. Shoaff +% +Impartial, adj.: + Unable to perceive any promise of personal advantage from +espousing either side of a controversy or adopting either of two +conflicting opinions. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Important letters which contain no errors will develop errors in the +mail. Corresponding errors will show up in the duplicate while the +Boss is reading it. +% +Impossible, adj.: + (1) I wouldn't like it and when it happens I won't approve; + (2) I can't be bothered; + (3) God can't be bothered. +Meaning (3) may perhaps be valid but the others are 101% whaledreck. + -- Chad C. Mulligan, "The Hipcrime Vocab" +% +In 1750 Issac Newton became discouraged when he fell up a flight of +stairs. +% +In 1869 the waffle iron was invented for people who had wrinkled waffles. +% +In 1880 the French captured Detroit but gave it back ... they couldn't +get parts. +% +In 1914, the first crossword puzzle was printed in a newspaper. The +creator received $4000 down ... and $3000 across. +% +In 1915 pancake make-up was invented but most people still preferred +syrup. +% +In a five year period we can get one superb programming language. Only +we can't control when the five year period will begin. +% + In a forest a fox bumps into a little rabbit, and says, "Hi, +junior, what are you up to?" + "I'm writing a dissertation on how rabbits eat foxes," said the +rabbit. + "Come now, friend rabbit, you know that's impossible!" + "Well, follow me and I'll show you." They both go into the +rabbit's dwelling and after a while the rabbit emerges with a satisfied +expression on his face. + Comes along a wolf. "Hello, what are we doing these days?" + "I'm writing the second chapter of my thesis, on how rabbits +devour wolves." + "Are you crazy? Where is your academic honesty?" + "Come with me and I'll show you." As before, the rabbit comes +out with a satisfied look on his face and a diploma in his paw. +Finally, the camera pans into the rabbit's cave and, as everybody +should have guessed by now, we see a mean-looking, huge lion sitting +next to some bloody and furry remnants of the wolf and the fox. + +The moral: It's not the contents of your thesis that are important -- +it's your PhD advisor that really counts. +% +In a medium in which a News Piece takes a minute and an "In-Depth" +Piece takes two minutes, the Simple will drive out the Complex. + -- Frank Mankiewicz +% +In a museum in Havana, there are two skulls of Christopher Columbus, +"one when he was a boy and one when he was a man." + -- Mark Twain +% +In Africa some of the native tribes have a custom of beating the ground +with clubs and uttering spine chilling cries. Anthropologists call +this a form of primitive self-expression. In America we call it golf. +% +In America today ... we have Woody Allen, whose humor has become so +sophisticated that nobody gets it any more except Mia Farrow. All +those who think Mia Farrow should go back to making movies where the +devil gets her pregnant and Woody Allen should go back to dressing up +as a human sperm, please raise your hands. Thank you. + -- Dave Barry, "Why Humor is Funny" +% +In America, any boy may become president and I suppose that's just one +of the risks he takes. + -- Adlai Stevenson +% +In an organization, each person rises to the level of his own +incompetency + -- The Peter Principle +% +In any formula, constants (especially those obtained from handbooks) +are to be treated as variables. +% +In any world menu, Canada must be considered the vichyssoise of +nations -- it's cold, half-French, and difficult to stir. + -- Stuart Keate +% +In Blythe, California, a city ordinance declares that a person must own +at least two cows before he can wear cowboy boots in public. +% +In Boston, it is illegal to hold frog-jumping contests in nightclubs. +% +In case of atomic attack, the federal ruling against prayer in schools +will be temporarily canceled. +% +In case of injury notify your superior immediately. He'll kiss it and +make it better. +% +In Columbia, Pennsylvania, it is against the law for a pilot to tickle +a female flying student under her chin with a feather duster in order +to get her attention. +% +In Corning, Iowa, it's a misdemeanor for a man to ask his wife to ride +in any motor vehicle. +% +In defeat, unbeatable; in victory, unbearable. + -- Winston Churchill, of Montgomery +% +In Denver it is unlawful to lend your vacuum cleaner to your next-door +neighbor. +% +In Devon, Connecticut, it is unlawful to walk backwards after sunset. +% +In Dr. Johnson's famous dictionary patriotism is defined as the last +resort of the scoundrel. With all due respect to an enlightened but +inferior lexicographer I beg to submit that it is the first. + -- Ambrose Bierce, "The Devil's Dictionary" +% +In English, every word can be verbed. Would that it were so in our +programming languages. +% +In Greene, New York, it is illegal to eat peanuts and walk backwards on +the sidewalks when a concert is on. +% +In India, "cold weather" is merely a conventional phrase and has come +into use through the necessity of having some way to distinguish +between weather which will melt a brass door-knob and weather which +will only make it mushy. + -- Mark Twain +% +In Lexington, Kentucky, it's illegal to carry an ice cream cone in your +pocket. +% +In Lowes Crossroads, Delaware, it is a violation of local law for any +pilot or passenger to carry an ice cream cone in their pocket while +either flying or waiting to board a plane. +% +In Memphis, Tennessee, it is illegal for a woman to drive a car unless +there is a man either running or walking in front of it waving a red +flag to warn approaching motorists and pedestrians. +% +In Ohio, if you ignore an orator on Decoration day to such an extent as +to publicly play croquet or pitch horseshoes within one mile of the +speaker's stand, you can be fined $25.00. +% +In order to make an apple pie from scratch, you must first create the +universe. + -- Carl Sagan, Cosmos +% +In our civilization, and under our republican form of government, +intelligence is so highly honored that it is rewarded by exemption from +the cares of office. + -- Ambrose Bierce, "The Devil's Dictionary" +% +In Pocataligo, Georgia, it is a violation for a woman over 200 pounds +and attired in shorts to pilot or ride in an airplane. +% +In Pocatello, Idaho, a law passed in 1912 provided that "The carrying +of concealed weapons is forbidden, unless same are exhibited to public +view." +% +In Riemann, Hilbert or in Banach space +Let superscripts and subscripts go their ways. +Our asymptotes no longer out of phase, +We shall encounter, counting, face to face. + -- Stanislaw Lem, "Cyberiad" +% +In Seattle, Washington, it is illegal to carry a concealed weapon that +is over six feet in length. +% +In seeking the unattainable, simplicity only gets in the way. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +In short, _N is Richardian if, and only if, _N is not Richardian. +% +In specifications, Murphy's Law supersedes Ohm's. +% +In Tennessee, it is illegal to shoot any game other than whales from a +moving automobile. +% +[In the 60's] there was madness in any direction, at any hour ... You +could strike sparks anywhere. There was a fantastic universal sense +that whatever we were doing was `right', that we were winning ... + +And that, I think, was the handle -- the sense of inevitable victory +over the forces of Old and Evil. Not in any mean or military sense; we +didn't need that. Our energy would simply `prevail'. There was no +point in fighting -- on our side or theirs. We had all the momentum; +we were riding the crest of a high and beautiful wave .... + +So now, less than five years later, you can go up on a steep hill in +Las Vegas and look West, and with the right kind of eyes you can almost +___see the high-water mark -- the place where the wave finally broke and +rolled back. + -- Hunter S. Thompson, "Fear and Loathing in Las Vegas" +% +In the beginning was the word. +But by the time the second word was added to it, +there was trouble. +For with it came syntax ... + -- John Simon +% +In the days when Sussman was a novice Minsky once came to him as he sat +hacking at the PDP-6. "What are you doing?", asked Minsky. "I am +training a randomly wired neural net to play Tic-Tac-Toe." "Why is the +net wired randomly?", asked Minsky. "I do not want it to have any +preconceptions of how to play." Minsky shut his eyes. "Why do you +close your eyes?", Sussman asked his teacher. "So the room will be +empty." At that moment, Sussman was enlightened. +% +In the force if Yoda's so strong, construct a sentence with words in +the proper order then why can't he? +% +In the land of the dark, the Ship of the Sun is driven by the Grateful +Dead. + -- Egyptian Book of the Dead +% +In the long run, every program becomes rococo, and then rubble. + -- Alan Perlis +% +In the olden days in England, you could be hung for stealing a sheep or +a loaf of bread. However, if a sheep stole a loaf of bread and gave it +to you, you would only be tried for receiving, a crime punishable by +forty lashes with the cat or the dog, whichever was handy. If you +stole a dog and were caught, you were punished with twelve rabbit +punches, although it was hard to find rabbits big enough or strong +enough to punch you. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +In the space of one hundred and seventy-six years the Mississippi has +shortened itself two hundred and forty-two miles. Therefore ... in the +Old Silurian Period the Mississippi River was upward of one million +three hundred thousand miles long ... seven hundred and forty-two years +from now the Mississippi will be only a mile and three-quarters long. +... There is something fascinating about science. One gets such +wholesome returns of conjecture out of such a trifling investment of +fact. + -- Mark Twain +% +In the Top 40, half the songs are secret messages to the teen world to +drop out, turn on, and groove with the chemicals and light shows at +discotheques. + -- Art Linkletter +% +In those days he was wiser than he is now -- he used to frequently take +my advice. + -- Winston Churchill +% +In Tulsa, Oklahoma, it is against the law to open a soda bottle without +the supervision of a licensed engineer. +% +In West Union, Ohio, No married man can go flying without his spouse +along at any time, unless he has been married for more than 12 months. +% +Incumbent, n.: + Person of liveliest interest to the outcumbents. + -- Ambrose Bierce, "The Devil's Dictionary" +% +... indifference is a militant thing ... when it goes away it leaves +smoking ruins, where lie citizens bayonetted through the throat. It is +not a children's pastime like mere highway robbery. + -- Stephen Crane +% +Indifference will be the downfall of mankind, but who cares? +% +Individualists unite! +% +Infancy, n.: + The period of our lives when, according to Wordsworth, "Heaven +lies about us." The world begins lying about us pretty soon +afterward. + -- Ambrose Bierce +% +Information Center, n.: + A room staffed by professional computer people whose job it is +to tell you why you cannot have the information you require. +% +Ingrate, n.: + A man who bites the hand that feeds him, and then complains of +indigestion. +% +Injustice anywhere is a threat to justice everywhere. + -- Martin Luther King, Jr. +% +Ink, n.: + A villainous compound of tannogallate of iron, gum-arabic, and +water, chiefly used to facilitate the infection of idiocy and promote +intellectual crime. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Innovation is hard to schedule. + -- Dan Fylstra +% +Insanity is hereditary. You get it from your kids. +% +Insanity is the final defense ... It's hard to get a refund when the +salesman is sniffing your crotch and baying at the moon. +% +Interpreter, n.: + One who enables two persons of different languages to +understand each other by repeating to each what it would have been to +the interpreter's advantage for the other to have said. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Intolerance is the last defense of the insecure. +% +I/O, I/O, +It's off to disk I go, +A bit or byte to read or write, +I/O, I/O, I/O +% + INVENTORY +Four be the things I am wiser to know: +Idleness, sorrow, a friend, and a foe. + +Four be the things I'd been better without: +Love, curiosity, freckles, and doubt. + +Three be the things I shall never attain: +Envy, content, and sufficient champagne. + +Three be the things I shall have till I die: +Laughter and hope and a sock in the eye. +% +Iron Law of Distribution: + Them that has, gets. +% +Irrationality is the square root of all evil + -- Douglas Hofstadter +% +Is it possible that software is not like anything else, that it is +meant to be discarded: that the whole point is to always see it as a +soap bubble? +% +Is not marriage an open question, when it is alleged, from the +beginning of the world, that such as are in the institution wish to get +out, and such as are out wish to get in? + -- Ralph Emerson +% +Is your job running? You'd better go catch it! +% +Isn't it interesting that the same people who laugh at science fiction +listen to weather forecasts and economists? + -- Kelvin Throop III +% +Isn't it strange that the same people that laugh at gypsy fortune +tellers take economists seriously? +% +Issawi's Laws of Progress: + + The Course of Progress: + Most things get steadily worse. + + The Path of Progress: + A shortcut is the longest distance between two points. +% +It appears that after his death, Albert Einstein found himself working +as the doorkeeper at the Pearly Gates. One slow day, he found that he +had time to chat with the new entrants. To the first one he asked, +"What's your IQ?" The new arrival replied, "190". They discussed +Einstein's theory of relativity for hours. When the second new arrival +came, Einstein once again inquired as to the newcomer's IQ. The answer +this time came "120". To which Einstein replied, "Tell me, how did the +Cubs do this year?" and they proceeded to talk for half an hour or so. +To the final arrival, Einstein once again posed the question, "What's +your IQ?". Upon receiving the answer "70", Einstein smiled and asked, +"Got a minute to tell me about VMS 4.0?" +% +It happened that a fire broke out backstage in a theater. The clown +came out to inform the public. They thought it was just a jest and +applauded. He repeated his warning, they shouted even louder. So I +think the world will come to an end amid general applause from all the +wits, who believe that it is a joke. + -- S. A. Kierkegaard (1813-1855) +% +It has been observed that one's nose is never so happy as when it is +thrust into the affairs of another, from which some physiologists have +drawn the inference that the nose is devoid of the sense of smell. + -- Ambrose Bierce, "The Devil's Dictionary" +% +It has been said [by Anatole France], "it is not by amusing oneself +that one learns," and, in reply: "it is *____only* by amusing oneself that +one can learn." + -- Edward Kasner and James R. Newman +% +It has been said that man is a rational animal. All my life I have +been searching for evidence which could support this. + -- Bertrand Russell +% +It has just been discovered that research causes cancer in rats. +% +It is against the grain of modern education to teach children to +program. What fun is there in making plans, acquiring discipline in +organizing thoughts, devoting attention to detail, and learning to be +self-critical? + -- Alan Perlis +% +It is against the law for a monster to enter the corporate limits of +Urbana, Illinois. +% +It is always preferable to visit home with a friend. Your parents will +not be pleased with this plan, because they want you all to themselves +and because in the presence of your friend, they will have to act like +mature human beings ... + -- Playboy, January 1983 +% +It is amusing that a virtue is made of the vice of chastity; and it's a +pretty odd sort of chastity at that, which leads men straight into the +sin of Onan, and girls to the waning of their color. + -- Voltaire +% +It is an important and popular fact that things are not always what +they seem. For instance, on the planet Earth, man had always assumed +that he was more intelligent than dolphins because he had achieved so +much -- the wheel, New York wars and so on -- whilst all the dolphins +had ever done was muck about in the water having a good time. But +conversely, the dolphins had always believed that they were far more +intelligent than man -- for precisely the same reasons. + +Curiously enough, the dolphins had long known of the impending +destruction of the of the planet Earth and had made many attempts to +alert mankind to the danger; but most of their communications were +misinterpreted ... + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +It is better for civilization to be going down the drain than to be +coming up it. + -- Henry Allen +% +It is better never to have been born. But who among us has such luck? +One in a million, perhaps. +% +It is better to kiss an avocado than to get in a fight with an aardvark +% +It is by the fortune of God that, in this country, we have three +benefits: freedom of speech, freedom of thought, and the wisdom never +to use either. + -- Mark Twain +% +It is difficult to produce a television documentary that is both +incisive and probing when every twelve minutes one is interrupted by +twelve dancing rabbits singing about toilet paper. + -- Rod Serling +% +It is easier for a camel to pass through the eye of a needle if it is +lightly greased. + -- Kehlog Albran, "The Profit" +% +It is easier to be a "humanitarian" than to render your own country its +proper due; it is easier to be a "patriot" than to make your community +a better place to live in; it is easier to be a "civic leader" than to +treat your own family with loving understanding; for the smaller the +focus of attention, the harder the task. + -- Sydney J. Harris +% +It is easier to change the specification to fit the program than vice versa. +% +It is easier to get forgiveness than permission. +% +It is easier to write an incorrect program than understand a correct one. +% +It is generally agreed that "Hello" is an appropriate greeting because +if you entered a room and said "Goodbye," it could confuse a lot of +people. + -- Dolph Sharp, "I'm O.K., You're Not So Hot" +% +It is illegal to drive more than two thousand sheep down Hollywood +Boulevard at one time. +% +It is illegal to say "Oh, Boy" in Jonesboro, Georgia. +% +It is impossible to experience one's death objectively and still carry +a tune. + -- Woody Allen +% +It is impossible to make anything foolproof because fools are so +ingenious. +% +It is impossible to travel faster than light, and certainly not +desirable, as one's hat keeps blowing off. + -- Woody Allen +% +It is Mr. Mellon's credo that $200,000,000 can do no wrong. Our +offense consists in doubting it. + -- Justice Robert H. Jackson +% +It is much easier to suggest solutions when you know nothing about the +problem. +% +It is necessary for the welfare of society that genius should be +privileged to utter sedition, to blaspheme, to outrage good taste, to +corrupt the youthful mind, and generally to scandalize one's uncles. + -- George Bernard Shaw +% +It is not enough to succeed. Others must fail. + -- Gore Vidal +% +It is not true that life is one damn thing after another -- it's one +damn thing over and over. + -- Edna St. Vincent Millay +% +It is now 10 p.m. Do you know where Henry Kissinger is? + -- Elizabeth Carpenter +% +It is now pitch dark. If you proceed, you will likely fall into a pit. +% +It is one of the superstitions of the human mind to have imagined that +virginity could be a virtue. + -- Voltaire +% +It is only people of small moral stature who have to stand on their +dignity. +% +It is only the great men who are truly obscene. If they had not dared +to be obscene, they could never have dared to be great. + -- Havelock Ellis +% +It is practically impossible to teach good programming style to +students that have had prior exposure to BASIC: as potential +programmers they are mentally mutilated beyond hope of +regeneration. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +It is said that the lonely eagle flies to the mountain peaks while the +lowly ant crawls the ground, but cannot the soul of the ant soar as +high as the eagle? +% +It is something to be able to paint a particular picture, or to carve a +statue, and so to make a few objects beautiful; but it is far more +glorious to carve and paint the very atmosphere and medium through +which we look, which morally we can do. To affect the quality of the +day, that is the highest of arts. + -- Henry David Thoreau, "Where I Live" +% +It is Texas law that when two trains meet each other at a railroad +crossing, each shall come to a full stop, and neither shall proceed +until the other has gone. +% +It is the business of little minds to shrink. + -- Carl Sandburg +% +It is the business of the future to be dangerous. + -- Hawkwind +% +It is true that if your paperboy throws your paper into the bushes for +five straight days it can be explained by Newton's Law of Gravity. But +it takes Murphy's law to explain why it is happening to you. +% +It is very difficult to prophesy, especially when it pertains to the +future. +% +It looks like blind screaming hedonism won out. +% +It may be bad manners to talk with your mouth full, but it isn't too +good either if you speak when your head is empty. +% +It may be that your whole purpose in life is simply to serve as a +warning to others. +% +It runs like _x, where _x is something unsavory + -- Prof. Romas Aleliunas, CS 435 +% +It seems like the less a statesman amounts to, the more he loves the +flag. +% +It shall be unlawful for any suspicious person to be within the +municipality. + -- Local ordinance, Euclid Ohio +% +It took me fifteen years to discover that I had no talent for writing, +but I couldn't give up because by that time I was too famous. + -- Robert Benchly +% +It was a book to kill time for those who liked it better dead. +% +It was a virgin forest, a place where the Hand of Man had never set foot. +% +It was one of those perfect summer days -- the sun was shining, a +breeze was blowing, the birds were singing, and the lawn mower was +broken ... + -- James Dent +% +It was pleasant to me to get a letter from you the other day. Perhaps +I should have found it pleasanter if I had been able to decipher it. I +don't think that I mastered anything beyond the date (which I knew) and +the signature (which I guessed at). There's a singular and a perpetual +charm in a letter of yours; it never grows old, it never loses its +novelty .... Other letters are read and thrown away and forgotten, but +yours are kept forever -- unread. One of them will last a reasonable +man a lifetime. + -- Thomas Aldrich +% + It was the next morning that the armies of Twodor marched east +laden with long lances, sharp swords, and death-dealing hangovers. The +thousands were led by Arrowroot, who sat limply in his sidesaddle, +nursing a whopper. Goodgulf, Gimlet, and the rest rode by him, praying +for their fate to be quick, painless, and if possible, someone else's. + Many an hour the armies forged ahead, the war-merinos bleating +under their heavy burdens and the soldiers bleating under their melting +icepacks. + -- The Harvard Lampoon, "Bored of the Rings" +% +It wasn't that she had a rose in her teeth, exactly. It was more like +the rose and the teeth were in the same glass. +% +It will be advantageous to cross the great stream ... the Dragon is on +the wing in the Sky ... the Great Man rouses himself to his Work. +% +It will be generally found that those who sneer habitually at human +nature and affect to despise it, are among its worst and least pleasant +examples. + -- Charles Dickens +% +It would be nice if the Food and Drug Administration stopped issuing +warnings about toxic substances and just gave me the names of one or +two things still safe to eat. + -- Robert Fuoss +% +It's a damn poor mind that can only think of one way to spell a word. + -- Andrew Jackson +% +It's a dog-eat-dog world out there, and I'm wearing Milkbone underwear. + -- Cheers +% +It's a good thing we don't get all the government we pay for. +% +It's a small world, but I wouldn't want to have to paint it. + -- Steven Wright +% +"It's a summons." +"What's a summons?" +"It means summon's in trouble." + -- Rocky and Bullwinkle +% +It's a very *__UN*lucky week in which to be took dead. + -- Churchy La Femme +% +It's always darkest just before it gets pitch black. +% +It's bad luck to be superstitious. + -- Andrew W. Mathis +% +It's better to be wanted for murder than not to be wanted at all. + -- Marty Winch +% +"It's easier said than done." + +... and if you don't believe it, try proving that it's easier done than +said, and you'll see that "it's easier said that `it's easier done than +said' than it is done", which really proves that "it's easier said than +done". +% +It's easier to fight for one's principles than to live up to them. +% +It's easier to get forgiveness for being wrong than forgiveness for +being right. +% +It's Fabulous! We haven't seen anything like it in the last half an hour! + -- Macy's +% +It's illegal in Wilbur, Washington, to ride an ugly horse. +% +It's is not, it isn't ain't, and it's it's, not its, if you mean it +is. If you don't, it's its. Then too, it's hers. It isn't her's. It +isn't our's either. It's ours, and likewise yours and theirs. + -- Oxford University Press, "Edpress News" +% +It's just a jump to the left + And then a step to the right. +Put your hands on your hips + And pull your knees in tight. +But it's the pelvic thrust + That really drives you insa-a-a-a-a-ane! + + LET'S DO THE TIME WARP AGAIN! + + -- Rocky Horror Picture Show +% +It's kind of fun to do the impossible. + -- Walt Disney +% +"It's Like This" + +Even the samurai +have teddy bears, +and even the teddy bears +get drunk. +% +It's lucky you're going so slowly, because you're going in the wrong +direction. +% +It's men like him that give the Y chromosome a bad name. +% +It's more than magnificent -- it's mediocre. + -- Sam Goldwyn +% +It's no surprise that things are so screwed up: everyone that knows how +to run a government is either driving taxicabs or cutting hair. + -- George Burns +% +It's not an optical illusion, it just looks like one. + -- Phil White +% +It's not Camelot, but it's not Cleveland, either. + -- Kevin White, mayor of Boston +% +It's not enough to be Hungarian; you must have talent too. + -- Alexander Korda +% +It's not just a computer -- it's your ass. + -- Cal Keegan +% +It's not reality or how you perceive things that's important -- it's +what you're taking for it... +% +It's not so hard to lift yourself by your bootstraps once you're off +the ground. + -- Daniel B. Luten +% +It's not that I'm afraid to die. I just don't want to be there when it +happens. + -- Woody Allen +% +It's not the valleys in life I dread so much as the dips. + -- Garfield +% +It's odd, and a little unsettling, to reflect upon the fact that +English is the only major language in which "I" is capitalized; in many +other languages "You" is capitalized and the "i" is lower case. + -- Sydney J. Harris +% +It's raisins that make Post Raisin Bran so raisiny ... +% +It's really quite a simple choice: Life, Death, or Los Angeles. +% +It's so stupid of modern civilization to have given up believing in the +Devil when he is the only explanation of it. +% +It's the opinion of some that crops could be grown on the moon. Which +raises the fear that it may not be long before we're paying somebody +not to. + -- Franklin P. Jones +% +It's the thought, if any, that counts! +% + JACK AND THE BEANSTACK + by Mark Isaak + + Long ago, in a finite state far away, there lived a JOVIAL +character named Jack. Jack and his relations were poor. Often their +hash table was bare. One day Jack's parent said to him, "Our matrices +are sparse. You must go to the market to exchange our RAM for some +BASICs." She compiled a linked list of items to retrieve and passed it +to him. + So Jack set out. But as he was walking along a Hamilton path, +he met the traveling salesman. + "Whither dost thy flow chart take thou?" prompted the salesman +in high-level language. + "I'm going to the market to exchange this RAM for some chips +and Apples," commented Jack. + "I have a much better algorithm. You needn't join a queue +there; I will swap your RAM for these magic kernels now." + Jack made the trade, then backtracked to his house. But when +he told his busy-waiting parent of the deal, she became so angry she +started thrashing. + "Don't you even have any artificial intelligence? All these +kernels together hardly make up one byte," and she popped them out the +window ... +% +Jacquin's Postulate on Democratic Government: + No man's life, liberty, or property are safe while the +legislature is in session. +% +James Joyce -- an essentially private man who wished his total +indifference to public notice to be universally recognized. + -- Tom Stoppard +% +Jenkinson's Law: + It won't work. +% +Jesus Saves, +Moses Invests, +But only Buddha pays Dividends. +% +Job Placement, n.: + Telling your boss what he can do with your job. +% +Joe's sister puts spaghetti in her shoes! +% +Johnson's First Law: + When any mechanical contrivance fails, it will do so at the +most inconvenient possible time. +% +Join in the new game that's sweeping the country. It's called +"Bureaucracy". Everybody stands in a circle. The first person to do +anything loses. +% +Join the march to save individuality! +% +Jone's Law: + The man who smiles when things go wrong has thought of someone +to blame it on. +% +Jone's Motto: + Friends come and go, but enemies accumulate. +% +Jones's First Law: + Anyone who makes a significant contribution to any field of +endeavor, and stays in that field long enough, becomes an obstruction +to its progress -- in direct proportion to the importance of their +original contribution. +% +Just about every computer on the market today runs Unix, except the Mac +(and nobody cares about it). + -- Bill Joy 6/21/85 +% +Just as most issues are seldom black or white, so are most good +solutions seldom black or white. Beware of the solution that requires +one side to be totally the loser and the other side to be totally the +winner. The reason there are two sides to begin with usually is +because neither side has all the facts. Therefore, when the wise +mediator effects a compromise, he is not acting from political +motivation. Rather, he is acting from a deep sense of respect for the +whole truth. + -- Stephen R. Schwambach +% +Just because everything is different doesn't mean anything has +changed. + -- Irene Peter +% +Just because you're paranoid doesn't mean they AREN'T after you. +% +Just because your doctor has a name for your condition doesn't mean he +knows what it is. +% +Just go with the flow control, roll with the crunches, and, when you +get a prompt, type like hell. +% +Just once, I wish we would encounter an alien menace that wasn't +immune to bullets. + -- The Brigader, "Dr. Who" +% +Just out of curiosity does this actually mean something or have some +of the few remaining bits of your brain just evaporated? + -- Patricia O Tuama, rissa@killer.DALLAS.TX.US +% +Just remember, it all started with a mouse. + -- Walt Disney +% +Just remember: when you go to court, you are trusting your fate to +twelve people that weren't smart enough to get out of jury duty! +% +`Just the place for a Snark!' the Bellman cried, + As he landed his crew with care; +Supporting each man on the top of the tide + By a finger entwined in his hair. + +'Just the place for a Snark! I have said it twice: + That alone should encourage the crew. +Just the place for a Snark! I have said it thrice: + What I tell you three times is true.' +% +Just when you thought you were winning the rat race, along comes a +faster rat!!! +% +Justice always prevails ... three times out of seven! + -- Michael J. Wagner +% +Justice is incidental to law and order. + -- J. Edgar Hoover +% +Justice, n.: + A decision in your favor. +% +K: Cobalt's metal, hard and shining; + Cobol's wordy and confining; + KOBOLDS topple when you strike them; + Don't feel bad, it's hard to like them. + -- The Roguelet's ABC +% +Kansas state law requires pedestrians crossing the highways at night to +wear tail lights. +% +Katz' Law: + Man and nations will act rationally when all other +possibilities have been exhausted. +% +Keep America beautiful. Swallow your beer cans. +% +Keep Cool, but Don't Freeze + - Hellman's Mayonnaise +% +Keep emotionally active. Cater to your favorite neurosis. +% +Keep grandma off the streets -- legalize bingo. +% +Keep in mind always the two constant Laws of Frisbee: + (1) The most powerful force in the world is that of a disc + straining to land under a car, just out of reach (this + force is technically termed "car suck"). + (2) Never precede any maneuver by a comment more predictive + than "Watch this!" +% +Keep your Eye on the Ball, +Your Shoulder to the Wheel, +Your Nose to the Grindstone, +Your Feet on the Ground, +Your Head on your Shoulders. +Now ... try to get something DONE! +% +Ken Thompson has an automobile which he helped design. Unlike most +automobiles, it has neither speedometer, nor gas gage, nor any of the +numerous idiot lights which plague the modern driver. Rather, if the +driver makes any mistake, a giant "?" lights up in the center of the +dashboard. "The experienced driver", he says, "will usually know +what's wrong." +% +Kerr's Three Rules for a Successful College: + Have plenty of football for the alumni, sex for the students, +and parking for the faculty. +% +Kids have *_____never* taken guidance from their parents. If you could +travel back in time and observe the original primate family in the +original tree, you would see the primate parents yelling at the primate +teenager for sitting around and sulking all day instead of hunting for +grubs and berries like dad primate. Then you'd see the primate +teenager stomp up to his branch and slam the leaves. + -- Dave Barry, "Kids Today: They Don't Know Dum Diddly Do" +% +Kin, n.: + An affliction of the blood +% +Kinkler's First Law: + Responsibility always exceeds authority. + +Kinkler's Second Law: + All the easy problems have been solved. +% +Kirk to Enterprise -- beam down yeoman Rand and a six-pack. +% +Kirkland, Illinois, law forbids bees to fly over the village or through +any of its streets. +% +Kiss me twice. I'm schizophrenic. +% +Kiss your keyboard goodbye! +% +Klein bottle for rent -- inquire within. +% +Kleptomaniac, n.: + A rich thief. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Know thyself. If you need help, call the C.I.A. +% +Know what I hate most? Rhetorical questions. + -- Henry N. Camp +% +Krogt, n. (chemical symbol: Kr): + The metallic silver coating found on fast-food game cards. + -- Rich Hall, "Sniglets" +% +Labor, n.: + One of the processes by which A acquires property for B. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Lackland's Laws: + (1) Never be first. + (2) Never be last. + (3) Never volunteer for anything +% +Lactomangulation, n.: + Manhandling the "open here" spout on a milk carton so badly +that one has to resort to using the "illegal" side. + -- Rich Hall, "Sniglets" +% +Ladybug, ladybug, +Look to your stern! +Your house is on fire, +Your children will burn! +So jump ye and sing, for +The very first time +The four lines above +Have been put into rhyme. + -- Walt Kelly +% +Laetrile is the pits +% +Langsam's Laws: + (1) Everything depends. + (2) Nothing is always. + (3) Everything is sometimes. +% +Larkinson's Law: + All laws are basically false. +% +Lassie looked brilliant, in part because the farm family she lived with +was made up of idiots. Remember? One of them was always getting +pinned under the tractor, and Lassie was always rushing back to the +farmhouse to alert the other ones. She'd whimper and tug at their +sleeves, and they'd always waste precious minutes saying things: "Do +you think something's wrong? Do you think she wants us to follow her? +What is it, girl?", etc., as if this had never happened before, instead +of every week. What with all the time these people spent pinned under +the tractor, I don't see how they managed to grow any crops +whatsoever. They probably got by on federal crop supports, which +Lassie filed the applications for. + -- Dave Barry +% +Last night, I came home and realized that everything in my apartment +had been stolen and replaced with an exact duplicate. I told this to +my friend -- he said, `Do I know you?' + -- Steven Wright +% +Last week a cop stopped me in my car. He asked me if I had a police +record. I said, no, but I have the new DEVO album. Cops have no sense +of humor. +% +Last yeer I kudn't spel Engineer. Now I are won. +% +Laugh at your problems; everybody else does. +% +Laughter is the closest distance between two people." + -- Victor Borge +% +Law of Communications: + The inevitable result of improved and enlarged communications +between different levels in a hierarchy is a vastly increased area of +misunderstanding. +% +Law of Probable Dispersal: + Whatever it is that hits the fan will not be evenly +distributed. +% +Law of Selective Gravity: + An object will fall so as to do the most damage. + +Jenning's Corollary: + The chance of the bread falling with the buttered side down is +directly proportional to the cost of the carpet. + +Law of the Perversity of Nature: + You cannot successfully determine beforehand which side of the +bread to butter. +% +Laws of Serendipity: + + (1) In order to discover anything, you must be looking for + something. + (2) If you wish to make an improved product, you must already + be engaged in making an inferior one. +% +Lazlo's Chinese Relativity Axiom: + No matter how great your triumphs or how tragic your defeats -- +approximately one billion Chinese couldn't care less. +% +Learned men are the cisterns of knowledge, not the fountainheads. +% +Learning French is trivial: the word for horse is cheval, and +everything else follows in the same way. + -- Alan J. Perlis +% +Left to themselves, things tend to go from bad to worse. +% +Legalize free-enterprise murder: why should governments have all the +fun? +% +Legislation proposed in the Illinois State Legislature, May, 1907: + "Speed upon county roads will be limited to ten miles an hour +unless the motorist sees a bailiff who does not appear to have had a +drink in 30 days, when the driver will be permitted to make what he +can." +% +Leibowitz's Rule: + When hammering a nail, you will never hit your finger if you +hold the hammer with both hands. +% +LEO (July 23 - Aug 22) + You consider yourself a born leader. Others think you are + pushy. Most Leo people are bullies. You are vain and dislike + honest criticism. Your arrogance is disgusting. Leo people + are thieves. +% +LEO (July 23 - Aug 22) + Your determination and sense of humor will come to the fore. + Your ability to laugh at adversity will be a blessing because + you've got a day coming you wouldn't believe. As a matter of + fact, if you can laugh at what happens to you today, you've got + a sick sense of humor. +% +Let He who taketh the Plunge Remember to return it by Tuesday. +% +Let me assure you that to us here at First National, you're not just a +number. You're two numbers, a dash, three more numbers, another dash +and another number. + -- James Estes +% +Let us live!!! +Let us love!!! +Let us share the deepest secrets of our souls!!! + +You first. +% +Let's just say that where a change was required, I adjusted. In every +relationship that exists, people have to seek a way to survive. If you +really care about the person, you do what's necessary, or that's the +end. For the first time, I found that I really could change, and the +qualities I most admired in myself I gave up. I stopped being loud and +bossy ... Oh, all right. I was still loud and bossy, but only behind +his back. + -- Kate Hepburn, on Tracy and Hepburn +% +Let's say your wedding ring falls into your toaster, and when you stick +your hand in to retrieve it, you suffer Pain and Suffering as well as +Mental Anguish. You would sue: + +* The toaster manufacturer, for failure to include, in the instructions + section that says you should never never never ever stick you hand + into the toaster, the statement "Not even if your wedding ring falls + in there". + +* The store where you bought the toaster, for selling it to an obvious + cretin like yourself. + +* Union Carbide Corporation, which is not directly responsible in this + case, but which is feeling so guilty that it would probably send you + a large cash settlement anyway. + -- Dave Barry +% +Let's talk about how to fill out your 1984 tax return. Here's an often +overlooked accounting technique that can save you thousands of +dollars: For several days before you put it in the mail, carry your +tax return around under your armpit. No IRS agent is going to want to +spend hours poring over a sweat-stained document. So even if you owe +money, you can put in for an enormous refund and the agent will +probably give it to you, just to avoid an audit. What does he care? +It's not his money. + -- Dave Barry, "Sweating Out Taxes" +% +LETTERS TO THE EDITOR (The Times of London) + +Dear Sir, + +I am firmly opposed to the spread of microchips either to the home or +to the office. We have more than enough of them foisted upon us in +public places. They are a disgusting Americanism, and can only result +in the farmers being forced to grow smaller potatoes, which in turn +will cause massive unemployment in the already severely depressed +agricultural industry. + +Yours faithfully, + Capt. Quinton D'Arcy, J. P. + Sevenoaks +% +Lewis's Law of Travel: + The first piece of luggage out of the chute doesn't belong to +anyone, ever. +% +Liar, n.: + A lawyer with a roving commission. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Liberty is always dangerous, but it is the safest thing we have. + -- Harry Emerson Fosdick +% +LIBRA (Sep. 23 to Oct. 22) + Your desire for justice and truth will be overshadowed by your + desire for filthy lucre and a decent meal. Be gracious and + polite. Someone is watching you, so stop staring like that. +% +LIBRA (Sept 23 - Oct 22) + You are the artistic type and have a difficult time with + reality. If you are a man, you are more than likely gay. + Chances for employment and monetary gains are excellent. Most + Libra women are prostitutes. All Libra people die of venereal + disease. +% +Lie, n.: + A very poor substitute for the truth, but the only one +discovered to date. +% +Lieberman's Law: + Everybody lies, but it doesn't matter since nobody listens. +% +Life is a whim of several billion cells to be you for a while. +% +Life is a yo-yo, and mankind ties knots in the string. +% +Life is like a bowl of soup with hairs floating on it. You have to +eat it nevertheless. + -- Flaubert +% +Life is like a buffet; it's not good but there's plenty of it. +% +Life is like a simile. +% +Life is like an analogy. +% +Life is like an onion: you peel off layer after layer, then you find +there is nothing in it. +% +Life is too important to take seriously. + -- Corky Siegel +% +Life may have no meaning -- or even worse, it may have a meaning of +which I disapprove. +% +Life to you is a bold and dashing responsibility. + -- a Mary Chung's fortune cookie +% +Life would be much simpler and things would get done much faster if it +weren't for other people. + -- Blore +% +Life would be so much easier if we could just look at the source code. +% +Life, loathe it or ignore it, you can't like it. + -- Marvin, "The Hitchhiker's Guide to the Galaxy" +% +Like so many Americans, she was trying to construct a life that made +sense from things she found in gift shops. + -- Kurt Vonnegut, Jr. +% +Like the ski resort of girls looking for husbands and husbands looking +for girls, the situation is not as symmetrical as it might seem. + -- Alan McKay +% +Line Printer paper is strongest at the perforations. +% +Linus: I guess it's wrong always to be worrying about tomorrow. Maybe + we should think only about today. +Charlie Brown: + No, that's giving up. I'm still hoping that yesterday will get + better. +% +Living in LA is like not having a date on Saturday night. + -- Candice Bergen +% +Living on Earth may be expensive, but it includes an annual free trip +around the Sun. +% +Living your life is a task so difficult, it has never been attempted +before. +% +Lizzie Borden took an axe, +And plunged it deep into the VAX; +Don't you envy people who +Do all the things ___YOU want to do? +% +Loan-department manager: "There isn't any fine print. At these +interest rates, we don't need it." +% +Lobster: + Everyone loves these delectable crustaceans, but many cooks are +squeamish about placing them into boiling water alive, which is the +only proper method of preparing them. Frankly, the easiest way to +eliminate your guilt is to establish theirs by putting them on trial +before they're cooked. The fact is, lobsters are among the most +ferocious predators on the sea floor, and you're helping reduce crime +in the reefs. Grasp the lobster behind the head, look it right in its +unmistakably guilty eyestalks and say, "Where were you on the night of +the 21st?", then flourish a picture of a scallop or a sole and shout, +"Perhaps this will refresh that crude neural apparatus you call a +memory!" The lobster will squirm noticeably. It may even take a swipe +at you with one of its claws. Incorrigible. Pop it into the pot. +Justice has been served, and shortly you and your friends will be, +too. + -- Dave Barry, "Cooking: The Art of Using Appliances and + Utensils into Excuses and Apologies" +% +Lockwood's Long Shot: + The chances of getting eaten up by a lion on Main Street aren't +one in a million, but once would be enough. +% +Logic is a little bird, sitting in a tree; that smells *_____awful*. +% +... Logically incoherent, semantically incomprehensible, and +legally ... impeccable! +% +Logicians have but ill defined +As rational the human kind. +Logic, they say, belongs to man, +But let them prove it if they can. + -- Oliver Goldsmith +% +Look out! Behind you! +% +Look, we play the Star Spangled Banner before every game. You want us +to pay income taxes, too? + -- Bill Veeck, Chicago White Sox +% +Loose bits sink chips. +% +Losing your drivers' license is just God's way of saying +"BOOGA, BOOGA!" +% +Lost interest? It's so bad I've lost apathy. +% +Loud burping while walking around the airport is prohibited in +Halstead, Kansas. +% +Love and scandal are the best sweeteners of tea. +% +Love at first sight is one of the greatest labor-saving devices the +world has ever seen. +% +Love cannot be much younger than the lust for murder. + -- Sigmund Freud +% +Love is a snowmobile racing across the tundra and then suddenly it +flips over, pinning you underneath. At night, the ice weasels come. + -- Matt Groening +% +Love is a word that is constantly heard, +Hate is a word that is not. +Love, I am told, is more precious than gold. +Love, I have read, is hot. +But hate is the verb that to me is superb, +And Love but a drug on the mart. +Any kiddie in school can love like a fool, +But Hating, my boy, is an Art. + -- Ogden Nash +% +Love is an ideal thing, marriage a real thing; a confusion of the real with +the ideal never goes unpunished. + -- Johann Wolfgang von Goethe +% +Love is sentimental measles. +% +Love is the triumph of imagination over intelligence. + -- H. L. Mencken +% +Love means having to say you're sorry every five minutes. +% +Love thy neighbor as thyself, but choose your neighborhood. + -- Louise Beal +% +Love your enemies: they'll go crazy trying to figure out what you're up to. +% + Love's Drug + +My love is like an iron wand + That conks me on the head, +My love is like the valium + That I take before my bed, +My love is like the pint of scotch + That I drink when I be dry; +And I shall love thee still, my dear, + Until my wife is wise. +% +Lowery's Law: + If it jams -- force it. If it breaks, it needed replacing +anyway. +% +LSD melts in your mind, not in your hand. +% +Lubarsky's Law of Cybernetic Entomology: + There's always one more bug. +% +Lunatic Asylum, n.: + The place where optimism most flourishes. +% +Lysistrata had a good idea. +% +MacDonald has the gift on compressing the largest amount of words into +the smallest amount of thoughts. + -- Winston Churchill +% +Machine-Independent, adj.: + Does not run on any existing machine. +% +Machines certainly can solve problems, store information, correlate, +and play games -- but not with pleasure. + -- Leo Rosten +% +Mad, adj.: + Affected with a high degree of intellectual independence. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Madam, there's no such thing as a tough child -- if you parboil them +first for seven hours, they always come out tender. + -- W. C. Fields +% +MAFIA, n: + [Acronym for Mechanized Applications in Forced Insurance +Accounting.] An extensive network with many on-line and offshore +subsystems running under OS, DOS, and IOS. MAFIA documentation is +rather scanty, and the MAFIA sales office exhibits that testy +reluctance to bona fide inquiries which is the hallmark of so many DP +operations. From the little that has seeped out, it would appear that +MAFIA operates under a non-standard protocol, OMERTA, a tight-lipped +variant of SNA, in which extended handshakes also perform complex +security functions. The known timesharing aspects of MAFIA point to a +more than usually autocratic operating system. Screen prompts carry an +imperative, nonrefusable weighting (most menus offer simple YES/YES +options, defaulting to YES) that precludes indifference or delay. +Uniquely, all editing under MAFIA is performed centrally, using a +powerful rubout feature capable of erasing files, filors, filees, and +entire nodal aggravations. + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +Magnet, n.: Something acted upon by magnetism. + +Magnetism, n.: Something acting upon a magnet. + +The two definition immediately preceding are condensed from the works +of one thousand eminent scientists, who have illuminated the subject +with a great white light, to the inexpressible advancement of human +knowledge. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Magnocartic, adj.: + Any automobile that, when left unattended, attracts shopping carts. + -- Sniglets, "Rich Hall & Friends" +% +Magpie, n.: + A bird whose thievish disposition suggested to someone that it +might be taught to talk. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Maier's Law: + If the facts don't conform to the theory, they must be disposed of. + +Corollaries: + (1) The bigger the theory, the better. + (2) The experiment may be considered a success if no more than + 50% of the observed measurements must be discarded to + obtain a correspondence with the theory. +% +Main's Law: + For every action there is an equal and opposite government program. +% +Maintainer's Motto: + If we can't fix it, it ain't broke. +% +Major Premise: Sixty men can do a piece of work sixty times as quickly + as one man. + +Minor Premise: One man can dig a posthole in sixty seconds. + +Conclusion: Sixty men can dig a posthole in one second. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Majority, n.: + That quality that distinguishes a crime from a law. +% +Make it myself? But I'm a physical organic chemist! +% +Making files is easy under the UNIX operating system. Therefore, users +tend to create numerous files using large amounts of file space. It +has been said that the only standard thing about all UNIX systems is +the message-of-the-day telling users to clean up their files. + -- System V.2 administrator's guide +% +Malek's Law: + Any simple idea will be worded in the most complicated way. +% +Man 1: Ask me the what the most important thing about telling a good + joke is. + +Man 2: OK, what is the most impo -- + +Man 1: ______TIMING! +% +Man invented language to satisfy his deep need to complain. + -- Lily Tomlin +% +Man is a rational animal who always loses his temper when he is called +upon to act in accordance with the dictates of reason. + -- Oscar Wilde +% +Man is the best computer we can put aboard a spacecraft ... and the +only one that can be mass produced with unskilled labor. + -- Wernher von Braun +% +Man is the only animal that blushes -- or needs to. + -- Mark Twain +% +Man is the only animal that can remain on friendly terms with the +victims he intends to eat until he eats them. + -- Samuel Butler (1835-1902) +% +Man usually avoids attributing cleverness to somebody else -- unless it +is an enemy. + -- Albert Einstein +% +Man, n.: + An animal so lost in rapturous contemplation of what he thinks +he is as to overlook what he indubitably ought to be. His chief +occupation is extermination of other animals and his own species, which, +however, multiplies with such insistent rapidity as to infest the whole +habitable earth and Canada. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Mandrell: "You know what I think?" +Doctor: "Ah, ah that's a catch question. With a brain your size you + don't think, right?" + -- Dr. Who +% +Mankind's yearning to engage in sports is older than recorded history, +dating back to the time millions of years ago, when the first primitive +man picked up a crude club and a round rock, tossed the rock into the +air, and whomped the club into the sloping forehead of the first +primitive umpire. + +What inner force drove this first athlete? Your guess is as good as +mine. Better, probably, because you haven't had four beers. + -- Dave Barry, "Sports is a Drag" +% +Manual, n.: + A unit of documentation. There are always three or more on a +given item. One is on the shelf; someone has the others. The +information you need is in the others. + -- Ray Simard +% +Many years ago in a period commonly know as Next Friday Afternoon, +there lived a King who was very Gloomy on Tuesday mornings because he +was so Sad thinking about how Unhappy he had been on Monday and how +completely Mournful he would be on Wednesday ... + -- Walt Kelly +% +Mark's Dental-Chair Discovery: + Dentists are incapable of asking questions that require a +simple yes or no answer. +% +Marriage is the only adventure open to the cowardly. + -- Voltaire +% +Maryel brought her bat into Exit once and started whacking people on +the dance floor. Now everyone's doing it. It's called grand slam +dancing. + -- Ransford, Chicago Reader 10/7/83 +% +Maternity pay? Now every Tom, Dick and Harry will get pregnant. + -- Malcolm Smith +% +Math is like love -- a simple idea but it can get complicated. + -- R. Drabek +% +Mathematicians are like Frenchmen: whatever you say to them they +translate into their own language, and forthwith it is something +entirely different. + -- Johann Wolfgang von Goethe +% +Mathematicians often resort to something called Hilbert space, which is +described as being n-dimensional. Like modern sex, any number can +play. + -- Dr. Thor Wald, in "Beep/The Quincunx of Time", by + James Blish +% +Matrimony isn't a word, it's a sentence. +% +Matter cannot be created or destroyed, +nor can it be returned without a receipt. +% +Maturity is only a short break in adolescence. + -- Jules Feiffer +% +May a Misguided Platypus lay its Eggs in your Jockey Shorts. +% +May Euell Gibbons eat your only copy of the manual! +% +May the Fleas of a Thousand Camels infest one of your Erogenous Zones. +% +May your Tongue stick to the Roof of your Mouth with the Force of a +Thousand Caramels. +% +Maybe Computer Science should be in the College of Theology. + -- R. S. Barton +% +Maybe you can't buy happiness, but these days you can certainly charge +it. +% +McGowan's Madison Avenue Axiom: + If an item is advertised as "under $50", you can bet it's not +$19.95. +% +Meader's Law: + Whatever happens to you, it will previously have happened to +everyone you know, only more so. +% +Meeting, n.: + An assembly of people coming together to decide what person or +department not represented in the room must solve a problem. +% +Men were real men, women were real women, and small, furry creatures +from Alpha Centauri were REAL small, furry creatures from Alpha +Centauri. Spirits were brave, men boldly split infinitives that no man +had split before. Thus was the Empire forged. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Men's skin is different from women's skin. It is usually bigger, and +it has more snakes tattooed on it. Also, if you examine a woman's skin +very closely, inch by inch, starting at her shapely ankles, then gently +tracing the slender curve of her calves, then moving up to her ... + [EDITOR'S NOTE: To make room for news articles about important + world events such as agriculture, we're going to delete the + next few square feet of the woman's skin. Thank you.] +... until finally the two of you are lying there, spent, smoking your +cigarettes, and suddenly it hits you: Human skin is actually made up of +billions of tiny units of protoplasm, called "cells"! And what is even +more interesting, the ones on the outside are all dying! This is a +fact. Your skin is like an aggressive modern corporation, where the +older veteran cells, who have finally worked their way to the top and +obtained offices with nice views, are constantly being shoved out the +window head first, without so much as a pension plan, by younger +hotshot cells moving up from below. + -- Dave Barry, "Saving Face" +% +Mencken and Nathan's Fifteenth Law of The Average American: + The worst actress in the company is always the manager's wife. +% +Mencken and Nathan's Ninth Law of The Average American: + The quality of a champagne is judged by the amount of noise the +cork makes when it is popped. +% +Mencken and Nathan's Second Law of The Average American: + All the postmasters in small towns read all the postcards. +% +Mencken and Nathan's Sixteenth Law of The Average American: + Milking a cow is an operation demanding a special talent that +is possessed only by yokels, and no person born in a large city can +never hope to acquire it. +% +Menu, n.: + A list of dishes which the restaurant has just run out of. +% +Meskimen's Law: + There's never time to do it right, but there's always time to +do it over. +% +MESSAGE ACKNOWLEDGED -- The Pershing II missiles have been launched. +% +Message will arrive in the mail. Destroy, before the FBI sees it. +% +methionylglutaminylarginyltyrosylglutamylserylleucylphenylalanylalanylglutamin- +ylleucyllysylglutamylarginyllysylglutamylglycylalanylphenylalanylvalylprolyl- +phenylalanylvalylthreonylleucylglycylaspartylprolylglycylisoleucylglutamylglu- +taminylserylleucyllysylisoleucylaspartylthreonylleucylisoleucylglutamylalanyl- +glycylalanylaspartylalanylleucylglutamylleucylglycylisoleucylprolylphenylala- +nylserylaspartylprolylleucylalanylaspartylglycylprolylthreonylisoleucylgluta- +minylasparaginylalanylthreonylleucylarginylalanylphenylalanylalanylalanylgly- +cylvalylthreonylprolylalanylglutaminylcysteinylphenylalanylglutamylmethionyl- +leucylalanylleucylisoleucylarginylglutaminyllysylhistidylprolylthreonylisoleu- +cylprolylisoleucylglycylleucylleucylmethionyltyrosylalanylasparaginylleucylva- +lylphenylalanylasparaginyllysylglycylisoleucylaspartylglutamylphenylalanyltyro- +sylalanylglutaminylcysteinylglutamyllysylvalylglycylvalylaspartylserylvalylleu- +cylvalylalanylaspartylvalylprolylvalylglutaminylglutamylserylalanylprolylphe- +nylalanylarginylglutaminylalanylalanylleucylarginylhistidylasparaginylvalylala- +nylprolylisoleucylphenylalanylisoleucylcysteinylprolylprolylaspartylalanylas- +partylaspartylaspartylleucylleucylarginylglutaminylisoleucylalanylseryltyrosyl- +glycylarginylglycyltyrosylthreonyltyrosylleucylleucylserylarginylalanylglycyl- +valylthreonylglycylalanylglutamylasparaginylarginylalanylalanylleucylprolylleu- +cylasparaginylhistidylleucylvalylalanyllysylleucyllysylglutamyltyrosylasparagi- +nylalanylalanylprolylprolylleucylglutaminylglycylphenylalanylglycylisoleucylse- +rylalanylprolylaspartylglutaminylvalyllysylalanylalanylisoleucylaspartylalanyl- +glycylalanylalanylglycylalanylisoleucylserylglycylserylalanylisoleucylvalylly- +sylisoleucylisoleucylglutamylglutaminylhistidylasparaginylisoleucylglutamylpro- +lylglutamyllysylmethionylleucylalanylalanylleucyllysylvalylphenylalanylvalyl- +glutaminylprolylmethionyllysylalanylalanylthreonylarginylserine, n.: + The chemical name for tryptophan synthetase A protein, a + 1,913-letter enzyme with 267 amino acids. + -- Mrs. Bryne's Dictionary of Unusual, Obscure, and + Preposterous Words +% +Mickey Mouse wears a Spiro Agnew watch. +% +Micro Credo: + Never trust a computer bigger than you can lift. +% +Microwave oven? Whaddya mean, it's a microwave oven? I've been +watching Channel 4 on the thing for two weeks. +% +Might as well be frank, monsieur. It would take a miracle to get you +out of Casablanca and the Germans have outlawed miracles. + -- Casablanca +% +Mike: "The Fourth Dimension is a shambles?" +Bernie: "Nobody ever empties the ashtrays. People are SO + inconsiderate." + -- Gary Trudeau, "Doonesbury" +% +Miksch's Law: + If a string has one end, then it has another end. +% +Military intelligence is a contradiction in terms. + -- Groucho Marx +% +Military justice is to justice what military music is to music. + -- Groucho Marx +% +Millihelen, adj: + The amount of beauty required to launch one ship. +% +Millions long for immortality who do not know what to do with +themselves on a rainy Sunday afternoon. + -- Susan Ertz +% +Millions of sensible people are too high-minded to concede that +politics is almost always the choice of the lesser evil. "Tweedledum +and Tweedledee," they say, "I will not vote." Having abstained, they +are presented with a President who appoints the people who are going to +rummage around in their lives for the next four years. Consider all +the people who sat home in a stew in 1968 rather than vote for Hubert +Humphrey. They showed Humphrey. Those people who taught Hubert +Humphrey a lesson will still be enjoying the Nixon Supreme Court when +Tricia and Julie begin to find silver threads among the gold and the +black. + -- Russel Baker, "Ford without Flummery" +% +Mind! I don't mean to say that I know, of my own knowledge, what there +is particularly dead about a door-nail. I might have been inclined, +myself, to regard a coffin-nail as the deadest piece of ironmongery in +the trade. But the wisdom of our ancestors is in the simile; and my +unhallowed hands shall not disturb it, or the Country's done for. You +will therefore permit me to repeat, emphatically, that Marley was as +dead as a door-nail. +% +Minnie Mouse is a slow maze learner. +% +Minors in Kansas City, Missouri, are not allowed to purchase cap +pistols; they may buy shotguns freely, however. +% +Misery loves company, but company does not reciprocate. +% +Misery no longer loves company. Nowadays it insists on it. + -- Russell Baker +% +Misfortune, n.: + The kind of fortune that never misses. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Miss, n.: + A title with which we brand unmarried women to indicate that +they are in the market. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Mistakes are often the stepping stones to utter failure. +% +Mitchell's Law of Committees: + Any simple problem can be made insoluble if enough meetings are +held to discuss it. +% +MOCK APPLE PIE (No Apples Needed) + + Pastry to two crust 9-inch pie 36 RITZ Crackers +2 cups water 2 cups sugar +2 teaspoons cream of tartar 2 tablespoons lemon juice + Grated rind of one lemon Butter or margarine + Cinnamon + +Roll out bottom crust of pastry and fit into 9-inch pie plate. Break +RITZ Crackers coarsely into pastry-lined plate. Combine water, sugar +and cream of tartar in saucepan, boil gently for 15 minutes. Add lemon +juice and rind. Cool. Pour this syrup over Crackers, dot generously +with butter or margarine and sprinkle with cinnamon. Cover with top +crust. Trim and flute edges together. Cut slits in top crust to let +steam escape. Bake in a hot oven (425 F) 30 to 35 minutes, until crust +is crisp and golden. Serve warm. Cut into 6 to 8 slices. + -- Found lurking on a Ritz Crackers box +% +Modern man is the missing link between apes and human beings. +% +Mohandas K. Gandhi often changed his mind publicly. An aide once asked +him how he could so freely contradict this week what he had said just +last week. The great man replied that it was because this week he knew +better. +% +Molecule, n.: + The ultimate, indivisible unit of matter. It is distinguished +from the corpuscle, also the ultimate, indivisible unit of matter, by a +closer resemblance to the atom, also the ultimate, indivisible unit of +matter ... The ion differs from the molecule, the corpuscle and the +atom in that it is an ion ... + -- Ambrose Bierce, "The Devil's Dictionary" +% +Mollison's Bureaucracy Hypothesis: + If an idea can survive a bureaucratic review and be implemented +it wasn't worth doing. +% +Monday is an awful way to spend one seventh of your life. +% +Monday, n.: + In Christian countries, the day after the baseball game. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Money is better than poverty, if only for financial reasons. +% +Money is the root of all evil, and man needs roots. +% +Money is the root of all wealth. +% +Moon, n.: + 1. A celestial object whose phase is very important to +hackers. See PHASE OF THE MOON. 2. Dave Moon (MOON@MC). +% +Mophobia, n.: + Fear of being verbally abused by a Mississippian. +% + MORE SPORTS RESULTS: +The Beverly Hills Freudians tied the Chicago Rogerians 0-0 last +Saturday night. The match started with a long period of silence while +the Freudians waited for the Rogerians to free associate and the +Rogerians waited for the Freudians to say something they could +paraphrase. The stalemate was broken when the Freudians' best player +took the offensive and interpreted the Rogerians' silence as reflecting +their anal-retentive personalities. At this the Rogerians' star player +said "I hear you saying you think we're full of ka-ka." This started a +fight and the match was called by officials. +% +More than any time in history, mankind now faces a crossroads. One +path leads to despair and utter hopelessness, the other to total +extinction. Let us pray that we have the wisdom to choose correctly. + -- Woody Allen, "Side Effects" +% +Mosher's Law of Software Engineering: + Don't worry if it doesn't work right. If everything did, you'd +be out of a job. +% +Most fish live underwater, which is a terrible place to have sex +because virtually anywhere you lie down there will be stinging crabs +and large quantities of little fish staring at you with buggy little +eyes. So generally when two fish want to have sex, they swim around +and around for hours, looking for someplace to go, until finally the +female gets really tired and has a terrible headache, and she just +dumps her eggs right on the sand and swims away. Then the male, driven +by some timeless, noble instinct for survival, eats the eggs. So the +truth is that fish don't reproduce at all, but there are so many of +them that it doesn't make any difference. + -- Dave Barry, "Sex and the Single Amoeba: What Every + Teen Should Know" +% +Most people can't understand how others can blow their noses differently +than they do. + -- Turgenev +% +Most people wouldn't know music if it came up and bit them on the ass. + -- Frank Zappa +% +Mother is far too clever to understand anything she does not like. + -- Arnold Bennett +% +Mother is the invention of necessity. +% +Mother told me to be good, but she's been wrong before. +% +Mr. Cole's Axiom: + The sum of the intelligence on the planet is a constant; the +population is growing. +% +"Multiply in your head" (ordered the compassionate Dr. Adams) +"365,365,365,365,365,365 by 365,365,365,365,365,365. He [ten-year-old +Truman Henry Safford] flew around the room like a top, pulled his +pantaloons over the tops of his boots, bit his hands, rolled his eyes +in their sockets, sometimes smiling and talking, and then seeming to be +in an agony, until, in not more than one minute, said he, +133,491,850,208,566,925,016,658,299,941,583,225!" An electronic +computer might do the job a little faster but it wouldn't be as much +fun to watch. + -- James R. Newman (The World of Mathematics) +% +Murphy's Discovery: + Do you know Presidents talk to the country the way men talk to +women? They say, "Trust me, go all the way with me, and everything +will be all right." And what happens? Nine months later, you're in +trouble! +% +Murphy's Law is recursive. Washing your car to make it rain doesn't +work. +% +Murphy's Law of Research: + Enough research will tend to support your theory. +% +Murphy's Law, that brash proletarian restatement of Goedel's Theorem ... + -- Thomas Pynchon, "Gravity's Rainbow" +% + Murray and Esther, a middle-aged Jewish couple, are touring +Chile. Murray just got a new camera and is constantly snapping +pictures. One day, without knowing it, he photographs a top-secret +military installation. In an instant, armed troops surround Murray and +Esther and hustle them off to prison. + They can't prove who they are because they've left their +passports in their hotel room. For three weeks they're tortured day +and night to get them to name their contacts in the liberation +movement.. Finally they're hauled in front of a military court, +charged with espionage, and sentenced to death. + The next morning they're lined up in front of the wall where +they'll be shot. The sergeant in charge of the firing squad asks them +if they have any lasts requests. Esther wants to know if she can call +her daughter in Chicago. The sergeant says he's sorry, that's not +possible, and turns to Murray. + "This is crazy!" Murray shouts. "We're not spies!" And he +spits in the sergeants face. + "Murray!" Esther cries. "Please! Don't make trouble." + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Mustgo, n.: + Any item of food that has been sitting in the refrigerator so +long it has become a science project. + -- Sniglets, "Rich Hall & Friends" +% +My advice to you, my violent friend, is to seek out gold and sit on it. + -- "Grendel", by John Gardner +% +My band career ended late in my senior year when John Cooper and I +threw my amplifier out the dormitory window. We did not act in haste. +First we checked to make sure the amplifier would fit through the +frame, using the belt from my bathrobe to measure, then we picked up +the amplifier and backed up to my bedroom door. Then we rushed +forward, shouting "The WHO! The WHO!" and we launched my amplifier +perfectly, as though we had been doing it all our lives, clean through +the window and down onto the sidewalk, where a small but appreciative +crowd had gathered. I would like to be able to say that this was a +symbolic act, an effort on my part to break cleanly away from one state +in my life and move on to another, but the truth is, Cooper and I +really just wanted to find out what it would sound like. It sounded +OK. + -- Dave Barry, "The Snake" +% +My doctor told me to stop having intimate dinners for four. Unless +there are three other people. + -- Orson Welles +% +My God, I'm depressed! Here I am, a computer with a mind a thousand +times as powerful as yours, doing nothing but cranking out fortunes and +sending mail about softball games. And I've got this pain right +through my ALU. I've asked for it to be replaced, but nobody ever +listens. I think it would be better for us both if you were to just +log out again. +% +My life is a soap opera, but who has the rights? + -- MadameX +% +My love runs by like a day in June, + And he makes no friends of sorrows. +He'll tread his galloping rigadoon + In the pathway or the morrows. +He'll live his days where the sunbeams start + Nor could storm or wind uproot him. +My own dear love, he is all my heart -- + And I wish somebody'd shoot him. + -- Dorothy Parker +% +My love, he's mad, and my love, he's fleet, + And a wild young wood-thing bore him! +The ways are fair to his roaming feet, + And the skies are sunlit for him. +As sharply sweet to my heart he seems + As the fragrance of acacia. +My own dear love, he is all my dreams -- + And I wish he were in Asia. + -- Dorothy Parker +% +My mother loved children -- she would have given anything if I had been one. + -- Groucho Marx +% +My opinions may have changed, but not the fact that I am right. +% +My own dear love, he is strong and bold + And he cares not what comes after. +His words ring sweet as a chime of gold, + And his eyes are lit with laughter. +He is jubilant as a flag unfurled -- + Oh, a girl, she'd not forget him. +My own dear love, he is all my world -- + And I wish I'd never met him. + -- Dorothy Parker +% +My pants just went on a wild rampage through a Long Island Bowling Alley!! + -- Zippy the Pinhead +% +My pen is at the bottom of a page, +Which, being finished, here the story ends; +'Tis to be wished it had been sooner done, +But stories somehow lengthen when begun. + -- Byron +% +My theology, briefly, is that the universe was dictated but not signed. + -- Christopher Morley +% +My weight is perfect for my height -- which varies +% +Mythology, n.: + The body of a primitive people's beliefs concerning its +origin, early history, heroes, deities and so forth, as distinguished +from the true accounts which it invents later. + -- Ambrose Bierce, "The Devil's Dictionary" +% + n = ((n >> 1) & 0x55555555) | ((n << 1) & 0xaaaaaaaa); + n = ((n >> 2) & 0x33333333) | ((n << 2) & 0xcccccccc); + n = ((n >> 4) & 0x0f0f0f0f) | ((n << 4) & 0xf0f0f0f0); + n = ((n >> 8) & 0x00ff00ff) | ((n << 8) & 0xff00ff00); + n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000); + + -- C code which reverses the bits in a word. +% +Naeser's Law: + You can make it foolproof, but you can't make it +damnfoolproof. +% +NAPOLEON: What shall we do with this soldier, Guiseppe? Everything he + says is wrong. +GUISEPPE: Make him a general, Excellency, and then everything he says + will be right. + -- G. B. Shaw, "The Man of Destiny" +% +Nasrudin called at a large house to collect for charity. The servant +said "My master is out." Nasrudin replied, "Tell your master that next +time he goes out, he should not leave his face at the window. Someone +might steal it." +% +Nasrudin returned to his village from the imperial capital, and the +villagers gathered around to hear what had passed. "At this time," +said Nasrudin, "I only want to say that the King spoke to me." All the +villagers but the stupidest ran off to spread the wonderful news. The +remaining villager asked, "What did the King say to you?" "What he +said -- and quite distinctly, for everyone to hear -- was 'Get out of +my way!'" The simpleton was overjoyed; he had heard words actually +spoken by the King, and seen the very man they were spoken to. +% +Nasrudin walked into a shop one day, and the owner came forward to +serve him. Nasrudin said, "First things first. Did you see me walk +into your shop?" "Of course." "Have you ever seen me before?" +"Never." "Then how do you know it was me?" +% +Nasrudin walked into a teahouse and declaimed, "The moon is more useful +than the sun." "Why?", he was asked. "Because at night we need the +light more." +% +Nasrudin was carrying home a piece of liver and the recipe for liver +pie. Suddenly a bird of prey swooped down and snatched the piece of +meat from his hand. As the bird flew off, Nasrudin called after it, +"Foolish bird! You have the liver, but what can you do with it without +the recipe?" +% +Nature abhors a hero. For one thing, he violates the law of +conservation of energy. For another, how can it be the survival of the +fittest when the fittest keeps putting himself in situations where he +is most likely to be creamed? + -- Solomon Short +% +Nature and nature's laws lay hid in night, +God said, "Let Newton be," and all was light. + +It did not last; the devil howling "Ho! +Let Einstein be!" restored the status quo. +% +Nature is by and large to be found out of doors, a location where, it +cannot be argued, there are never enough comfortable chairs. + -- Fran Leibowitz +% +Nearly all men can stand adversity, but if you want to test a man's +character, give him power. + -- Abraham Lincoln +% +Necessity is a mother. +% +Neckties strangle clear thinking. + -- Lin Yutang +% +Never be led astray onto the path of virtue. +% +Never call a man a fool. Borrow from him. +% +Never commit yourself! Let someone else commit you. +% +Never count your chickens before they rip your lips off. +% +Never drink Coke in a moving elevator. The elevator's motion coupled +with the chemicals in Coke produce hallucinations. People tend to +change into lizards and attack without warning, and large bats usually +fly in the window. Additionally, you begin to believe that elevators +have windows. +% +Never eat more than you can lift. + -- Miss Piggy +% +Never hit a man with glasses. Hit him with a baseball bat. +% +Never let your schooling interfere with your education. +% +Never let your sense of morals prevent you from doing what is right. + -- Salvor Hardin, "Foundation" +% +Never make anything simple and efficient when a way can be found to +make it complex and wonderful. +% +Never offend people with style when you can offend them with substance. + -- Sam Brown, "The Washington Post", January 26, 1977 +% +Never put off till tomorrow what you can avoid all together. +% +Never put off until tomorrow what you can do today. There might be a +law against it by that time. +% +Never settle with words what you can accomplish with a flame thrower. +% +Never tell a lie unless it is absolutely convenient. +% +Never try to outstubborn a cat. + -- Lazarus Long, "Time Enough for Love" +% +Never underestimate the bandwidth of a station wagon full of tapes. + -- Dr. Warren Jackson, Director, UTCS +% +Never underestimate the power of a small tactical nuclear weapon. +% +Never worry about theory as long as the machinery does what it's +supposed to do. + -- R. A. Heinlein +% +New crypt. See /usr/news/crypt. +% +New Hampshire law forbids you to tap your feet, nod your head, or in +any way keep time to the music in a tavern, restaurant, or cafe. +% +New members are urgently needed in the Society for Prevention of +Cruelty to Yourself. Apply within. +% +New members urgently required for SUICIDE CLUB, Watford area. + -- Monty Python's Big Red Book +% +New systems generate new problems. +% +New Year's Eve is the time of year when a man most feels his age, and +his wife most often reminds him to act it. + -- Webster's Unafraid Dictionary +% +New York is real. The rest is done with mirrors. +% +New York's got the ways and means; +Just won't let you be. + -- The Grateful Dead +% +Newlan's Truism: + An "acceptable" level of unemployment means that the government +economist to whom it is acceptable still has a job. +% +NEWS FLASH!! + Today the East German pole-vault champion became the West + German pole-vault champion. +% + *** NEWSFLASH *** +Russian tanks steamrolling through New Jersey!!!! Details at eleven! +% +Newton's Fourth Law: Every action has an equal and opposite satisfaction. +% +Newton's Little-Known Seventh Law: + A bird in the hand is safer than one overhead. +% +Next Friday will not be your lucky day. +As a matter of fact, you don't have a lucky day this year. +% +Next to being shot at and missed, nothing is really quite as satisfying +as an income tax refund. + -- F. J. Raymond +% +Nice boy, but about as sharp as a sack of wet mice. + -- Foghorn Leghorn +% +Nihilism should commence with oneself. +% +Niklaus Wirth has lamented that, whereas Europeans pronounce his name +correctly (Ni-klows Virt), Americans invariably mangle it into +(Nick-les Worth). Which is to say that Europeans call him by name, but +Americans call him by value. +% +Nine megs for the secretaries fair, +Seven megs for the hackers scarce, +Five megs for the grads in smoky lairs, +Three megs for system source; + +One disk to rule them all, +One disk to bind them, +One disk to hold the files +And in the darkness grind 'em. +% +Nine-track tapes and seven-track tapes + And tapes without any tracks; +Stretchy tapes and snarley tapes + And tapes mixed up on the racks -- + Take hold of the tape + And pull off the strip, + And then you'll be sure + Your tape drive will skip. + + -- Uncle Colonel's Cursory Rhymes +% +Ninety percent of the time things turn out worse than you thought they +would. The other ten percent of the time you had no right to expect +that much. + -- Augustine +% +Ninety-Ninety Rule of Project Schedules: + The first ninety percent of the task takes ninety percent of +the time, and the last ten percent takes the other ninety percent. +% +Nirvana? That's the place where the powers that be and their friends +hang out. + -- Zonker Harris +% +No animal should ever jump on the dining room furniture unless +absolutely certain he can hold his own in conversation. + -- Fran Leibowitz +% +No committee could ever come up with anything as revolutionary as a +camel -- anything as practical and as perfectly designed to perform +effectively under such difficult conditions. + -- Laurence J. Peter +% +No good deed goes unpunished. + -- Clare Boothe Luce +% +No man in the world has more courage than the man who can stop after +eating one peanut. + -- Channing Pollock +% +No man is an island, but some of us are long peninsulas. +% +No matter how subtle the wizard, a knife in the shoulder blades will +seriously cramp his style. +% +No matter what other nations may say about the United States, +immigration is still the sincerest form of flattery. +% +No one can make you feel inferior without your consent. + -- Eleanor Roosevelt +% +No one gets too old to learn a new way of being stupid. +% +No part of this message may reproduce, store itself in a retrieval +system, or transmit disease, in any form, without the permissiveness of +the author. + -- Chris Shaw +% +No plain fanfold paper could hold that fractal Puff -- +He grew so fast no plotting pack could shrink him far enough. +Compiles and simulations grew so quickly tame +And swapped out all their data space when Puff pushed his stack frame. +CHORUS: + Puff the fractal dragon was written in C, + And frolicked while processes switched in mainframe memory. + Puff the fractal dragon was written in C, + And frolicked while processes switched in mainframe memory. +Puff, he grew so quickly, while others moved like snails +And mini-Puffs would perch themselves on his gigantic tail. +All the student hackers loved that fractal Puff +But DCS did not like Puff, and finally said, "Enough!" + (chorus) +Puff used more resources than DCS could spare. +The operator killed Puff's job -- he didn't seem to care. +A gloom fell on the hackers; it seemed to be the end, +But Puff trapped the exception, and grew from naught again! + (chorus) +% +No problem is so formidable that you can't just walk away from it. + -- C. Schulz +% +No problem is so large it can't be fit in somewhere. +% +No proper program contains an indication which as an operator-applied +occurrence identifies an operator-defining occurrence which as an +indication-applied occurrence identifies an indication-defining +occurrence different from the one identified by the given indication as +an indication-applied occurrence. + -- ALGOL 68 Report +% +No self-respecting fish would want to be wrapped in that kind of paper. + -- Mike Royko on the Chicago Sun-Times after it was + taken over by Rupert Murdoch +% +No violence, gentlemen -- no violence, I beg of you! Consider the furniture! + -- Sherlock Holmes +% +No, `Eureka' is Greek for `This bath is too hot.' + -- Dr. Who +% +Nobody can be exactly like me. Sometimes even I have trouble doing it. + -- Tallulah Bankhead +% +NOBODY EXPECTS THE SPANISH INQUISITION. +% +Nobody said computers were going to be polite. +% +Nobody suffers the pain of birth or the anguish of loving a child in +order for presidents to make wars, for governments to feed on the +substance of their people, for insurance companies to cheat the young +and rob the old. + -- Lewis Lapham +% +Nobody wants constructive criticism. It's all we can do to put up with +constructive praise. +% +Non-Reciprocal Laws of Expectations: + Negative expectations yield negative results. + Positive expectations yield negative results. +% +Non-sequiturs make me eat lampshades. +% +Noncombatant, n.: + A dead Quaker. + -- Ambrose Bierce +% +Nondeterminism means never having to say you are wrong. +% +Nostalgia isn't what it used to be. +% +Not far from here, by a white sun, behind a green star, lived the +Steelypips, illustrious, industrious, and they hadn't a care: no spats +in their vats, no rules, no schools, no gloom, no evil influence of the +moon, no trouble from matter or antimatter -- for they had a machine, a +dream of a machine, with springs and gears and perfect in every +respect. And they lived with it, and on it, and under it, and inside +it, for it was all they had -- first they saved up all their atoms, +then they put them all together, and if one didn't fit, why they +chipped at it a bit, and everything was just fine ... + -- Stanislaw Lem, "Cyberiad" +% +Not Hercules could have knock'd out his brains, for he had none. + -- William Shakespeare +% +Not only is this incomprehensible, but the ink is ugly and the paper +is from the wrong kind of tree. + -- Professor W., EECS, George Washington University +% +Notes for a ballet, "The Spell": ... Suddenly Sigmund hears the flutter +of wings, and a group of wild swans flies across the moon ... Sigmund +is astounded to see that their leader is part swan and part woman -- +unfortunately, divided lengthwise. She enchants Sigmund, who is +careful not to make any poultry jokes ... + -- Woody Allen +% +Nothing astonishes men so much as common sense and plain dealing. + -- Ralph Waldo Emerson +% +Nothing cures insomnia like the realization that it's time to get up. +% +Nothing is faster than the speed of light ... + +To prove this to yourself, try opening the refrigerator door before the +light comes on. +% +Nothing is illegal if one hundred businessmen decide to do it. + -- Andrew Young +% +Nothing is more admirable than the fortitude with which millionaires +tolerate the disadvantages of their wealth. + -- Nero Wolfe +% +Nothing makes one so vain as being told that one is a sinner. +Conscience makes egotists of us all. + -- Oscar Wilde +% +Nothing recedes like success. + -- Walter Winchell +% +Nothing takes the taste out of peanut butter quite like unrequited love. + -- Charlie Brown +% +November, n.: + The eleventh twelfth of a weariness. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Now and then an innocent person is sent to the legislature. +% +Now I lay me down to sleep +I pray the double lock will keep; +May no brick through the window break, +And, no one rob me till I awake. +% +Now is the time for all good men to come to. + -- Walt Kelly +% +Now that you've read Fortune's diet truths, you'll be prepared the next +time some housewife or boutique-owner-turned-diet-expert appears on TV +to plug her latest book. And, if you still feel a twinge of guilt for +eating coffee cake while listening to her exhortations, ask yourself +the following questions: + +(1) Do I dare trust a person who actually considers alfalfa sprouts a + food? +(2) Was the author's sole motive in writing this book to get rich + exploiting the forlorn hopes of chubby people like me? +(3) Would a longer life be worthwhile if it had to be lived as + prescribed ... without French-fried onion rings, pizza with + double cheese, or the occasional Mai-Tai? (Remember, living + right doesn't really make you live longer, it just *seems* like + longer.) + +That, and another piece of coffee cake, should do the trick. +% +Now the Lord God planted a garden East of Whittier in a place called +Yorba Linda, and out of the ground he made to grow orange trees that +were good for food and the fruits thereof he labeled SUNKIST ... + -- "The Begatting of a President" +% +Now this is a totally brain damaged algorithm. Gag me with a smurfette. + -- P. Buhr, Computer Science 354 +% +... Now you're ready for the actual shopping. Your goal should be to +get it over with as quickly as possible, because the longer you stay in +the mall, the longer your children will have to listen to holiday songs +on the mall public-address system, and many of these songs can damage +children emotionally. For example: "Frosty the Snowman" is about a +snowman who befriends some children, plays with them until they learn +to love him, then melts. And "Rudolph the Red-Nosed Reindeer" is about +a young reindeer who, because of a physical deformity, is treated as an +outcast by the other reindeer. Then along comes good, old Santa. Does +he ignore the deformity? Does he look past Rudolph's nose and respect +Rudolph for the sensitive reindeer he is underneath? No. Santa asks +Rudolph to guide his sleigh, as if Rudolph were nothing more than some +kind of headlight with legs and a tail. So unless you want your +children exposed to this kind of insensitivity, you should shop +quickly. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% + Now, you might ask, "How do I get one of those complete home +tool sets for under $4?" An excellent question. + Go to one of those really cheap discount stores where they sell +plastic furniture in colors visible from the planet Neptune and where +they have a food section specializing in cardboard cartons full of +Raisinets and malted milk balls manufactured during the Nixon +administration. In either the hardware or housewares department, +you'll find an item imported from an obscure Oriental country and +described as "Nine Tools in One", consisting of a little handle with +interchangeable ends representing inscrutable Oriental notions of tools +that Americans might use around the home. Buy it. + This is the kind of tool set professionals use. Not only is it +inexpensive, but it also has a great safety feature not found in the +so-called quality tools sets: The handle will actually break right off +if you accidentally hit yourself or anything else, or expose it to +direct sunlight. + -- Dave Barry, "The Taming of the Screw" +% +Nuclear war can ruin your whole compile. + -- Karl Lehenbauer +% +Nuclear war would mean abolition of most comforts, and disruption of +normal routines, for children and adults alike. + -- Willard F. Libby, "You *Can* Survive Atomic Attack" +% +Nuclear war would really set back cable. + -- Ted Turner +% +[Nuclear war] ... may not be desirable. + -- Edwin Meese III +% +Nudists are people who wear one-button suits. +% +(null cookie; hope that's ok) +% +Numeric stability is probably not all that important when you're guessing. +% +O give me a home, +Where the buffalo roam, +Where the deer and the antelope play, +Where seldom is heard +A discouraging word, +'Cause what can an antelope say? +% +O'Toole's Commentary on Murphy's Law: + Murphy was an optimist. +% +Of ______course it's the murder weapon. Who would frame someone with a +fake? +% +Of all possible committee reactions to any given agenda item, the +reaction that will occur is the one which will liberate the greatest +amount of hot air. + -- Thomas L. Martin +% +Of all the animals, the boy is the most unmanageable. + -- Plato +% +Of all the words of witch's doom +There's none so bad as which and whom. +The man who kills both which and whom +Will be enshrined in our Who's Whom. + -- Fletcher Knebel +% +Of course power tools and alcohol don't mix. Everyone knows power +tools aren't soluble in alcohol ... + -- Crazy Nigel +% +Of course there's no reason for it, it's just our policy. +% +Of what you see in books, believe 75%. Of newspapers, believe 50%. +And of TV news, believe 25% -- make that 5% if the anchorman wears a +blazer. +% +Office Automation, n.: + The use of computers to improve efficiency by removing anyone +you would want to talk with over coffee. +% +Ogden's Law: + The sooner you fall behind, the more time you have to catch +up. +% +Oh Dad! We're ALL Devo! +% +Oh don't the days seem lank and long + When all goes right and none goes wrong, +And isn't your life extremely flat + With nothing whatever to grumble at! +% +Oh, I am a C programmer and I'm okay + I muck with indices and structs all day +And when it works, I shout hoo-ray + Oh, I am a C programmer and I'm okay +% +Oh, I don't blame Congress. If I had $600 billion at my disposal, I'd +be irresponsible, too. + -- Lichty & Wagner +% +Oh, I have slipped the surly bonds of earth, +And danced the skies on laughter silvered wings; +Sunward I've climbed and joined the tumbling mirth +Of sun-split clouds and done a hundred things +You have not dreamed of -- +Wheeled and soared and swung +High in the sunlit silence. +Hovering there +I've chased the shouting wind along and flung +My eager craft through footless halls of air. +Up, up along delirious, burning blue +I've topped the wind-swept heights with easy grace, +Where never lark, or even eagle flew; +And, while with silent, lifting mind I've trod +The high untrespassed sanctity of space, +Put out my hand, and touched the face of God. + -- John Gillespie Magee Jr., "High Flight" +% +Oh, well, I guess this is just going to be one of those lifetimes. +% +Oh, when I was in love with you, + Then I was clean and brave, +And miles around the wonder grew + How well did I behave. + +And now the fancy passes by, + And nothing will remain, +And miles around they'll say that I + Am quite myself again. + -- A. E. Housman +% +Oh, wow! Look at the moon! +% +OK, now let's look at four dimensions on the blackboard. + -- Dr. Joy +% +OK, so you're a Ph.D. Just don't touch anything. +% +Old age is the most unexpected of things that can happen to a man. + -- Trotsky +% +Old programmers never die. They just branch to a new address. +% +Old soldiers never die. Young ones do. +% +Oliver's Law: + Experience is something you don't get until just after you need +it. +% +Omnibiblious, adj.: + Indifferent to type of drink. "Oh, you can get me anything. +I'm omnibiblious." +% +OMNIVERSAL AWARENESS?? Oh, YEH!! First you need four GALLONS of +JELL-O and a BIG WRENCH!! ... I think you drop th' WRENCH in the JELL-O +as if it was a FLAVOR, or an INGREDIENT ... or ... I ... um ... +WHERE'S the WASHING MACHINES? +% +On a paper submitted by a physicist colleague: + +This isn't right. This isn't even wrong. + -- Wolfgang Pauli +% +On account of being a democracy and run by the people, we are the only +nation in the world that has to keep a government four years, no matter +what it does. + -- Will Rogers +% + On his first day as a bus driver, Maxey Eckstein handed in +receipts of $65. The next day his take was $67. The third day's +income was $62. But on the fourth day, Eckstein emptied no less than +$283 on the desk before the cashier. + "Eckstein!" exclaimed the cashier. "This is fantastic. That +route never brought in money like this! What happened?" + "Well, after three days on that cockamamie route, I figured +business would never improve, so I drove over to Fourteenth Street and +worked there. I tell you, that street is a gold mine!" +% +On Monday mornings I am dedicated to the proposition that all men are +created jerks. + -- H. Allen Smith, "Let the Crabgrass Grow" +% +On the road, ZIPPY is a pinhead without a purpose, but never without a +POINT ... +% +On the subject of C program indentation: + + "In My Egotistical Opinion, most people's C programs should be + indented six feet downward and covered with dirt." + -- Blair P. Houghton +% +On two occasions I have been asked [by members of Parliament!], `Pray, +Mr. Babbage, if you put into the machine wrong figures, will the right +answers come out?' I am not able rightly to apprehend the kind of +confusion of ideas that could provoke such a question. + -- Charles Babbage +% +On-line, adj.: + The idea that a human being should always be accessible to a +computer. +% +Once ... in the wilds of Afghanistan, I lost my corkscrew, and we were +forced to live on nothing but food and water for days. + -- W. C. Fields, "My Little Chickadee" +% +Once again, we come to the Holiday Season, a deeply religious time that +each of us observes, in his own way, by going to the mall of his +choice. + +In the old days, it was not called the Holiday Season; the Christians +called it "Christmas" and went to church; the Jews called it "Hanukkah" +and went to synagogue; the atheists went to parties and drank. People +passing each other on the street would say "Merry Christmas!" or "Happy +Hanukkah!" or (to the atheists) "Look out for the wall!" + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +Once at a social gathering, Gladstone said to Disraeli, "I predict, +Sir, that you will die either by hanging or of some vile disease". +Disraeli replied, "That all depends upon whether I embrace your +principals or your mistress". +% +Once Law was sitting on the bench + And Mercy knelt a-weeping. +"Clear out!" he cried, "disordered wench! + Nor come before me creeping. +Upon your knees if you appear, +'Tis plain you have no standing here." + +Then Justice came. His Honor cried: + "YOUR states? -- Devil seize you!" +"Amica curiae," she replied -- + "Friend of the court, so please you." +"Begone!" he shouted -- "There's the door -- +I never saw your face before!" + -- Ambrose Bierce, "The Devil's Dictionary" +% +Once the realization is accepted that even between the closest human +beings infinite distances continue to exist, a wonderful living side by +side can grow up, if they succeed in loving the distance between them +which makes it possible for each to see each other whole against the +sky. + -- Rainer Rilke +% + Once there lived a village of creatures along the bottom of a +great crystal river. Each creature in its own manner clung tightly to +the twigs and rocks of the river bottom, for clinging was their way of +life, and resisting the current what each had learned from birth. But +one creature said at last, "I trust that the current knows where it is +going. I shall let go, and let it take me where it will. Clinging, I +shall die of boredom." + The other creatures laughed and said, "Fool! Let go, and that +current you worship will throw you tumbled and smashed across the +rocks, and you will die quicker than boredom!" + But the one heeded them not, and taking a breath did let go, +and at once was tumbled and smashed by the current across the rocks. +Yet, in time, as the creature refused to cling again, the current +lifted him free from the bottom, and he was bruised and hurt no more. + And the creatures downstream, to whom he was a stranger, cried, +"See a miracle! A creature like ourselves, yet he flies! See the +Messiah, come to save us all!" And the one carried in the current +said, "I am no more Messiah than you. The river delight to lift us +free, if only we dare let go. Our true work is this voyage, this +adventure. + But they cried the more, "Saviour!" all the while clinging to +the rocks, making legends of a Saviour. +% +Once upon a time, when I was training to be a mathematician, a group of +us bright young students taking number theory discovered the names of +the smaller prime numbers. + +2: The Odd Prime -- + It's the only even prime, therefore it's odd. QED. +3: The True Prime -- + Lewis Carroll: "If I tell you three times, it's true." +31: The Arbitrary Prime -- + Determined by unanimous unvote. We needed an arbitrary prime + in case the prof asked for one, and so had an election. 91 + received the most votes (well, it *looks* prime) and 3+4i the + next most. However, 31 was the only candidate to receive none + at all. + +Since the composite numbers are formed from primes, their qualities are +derived from those primes. So, for instance, the number 6 is "odd but +true", while the powers of 2 are all extremely odd numbers. +% +... Once you're safely in the mall, you should tie your children to you +with ropes so the other shoppers won't try to buy them. Holiday +shoppers have been whipped into a frenzy by months of holiday +advertisements, and they will buy anything small enough to stuff into a +shopping bag. If your children object to being tied, threaten to take +them to see Santa Claus; that ought to shut them up. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +Once, adv.: + Enough. + -- Ambrose Bierce, "The Devil's Dictionary" +% +One advantage of talking to yourself is that you know at least +somebody's listening. + -- Franklin P. Jones +% +"One basic notion underlying Usenet is that it is a cooperative." + +Having been on USENET for going on ten years, I disagree with this. +The basic notion underlying USENET is the flame. + -- Chuq Von Rospach +% +One can't proceed from the informal to the formal by formal means. +% +One cannot make an omelette without breaking eggs -- but it is amazing +how many eggs one can break without making a decent omelette. + -- Professor Charles P. Issawi +% +One day the King decided that he would force all his subjects to tell +the truth. A gallows was erected in front of the city gates. A herald +announced, "Whoever would enter the city must first answer the truth to +a question which will be put to him." Nasrudin was first in line. The +captain of the guard asked him, "Where are you going? Tell the truth +-- the alternative is death by hanging." "I am going," said Nasrudin, +"to be hanged on that gallows." "I don't believe you." "Very well, if +I have told a lie, then hang me!" "But that would make it the truth!" +"Exactly," said Nasrudin, "your truth." +% +One difference between a man and a machine is that a machine is quiet +when well oiled. +% +One good reason why computers can do more work than people is that they +never have to stop and answer the phone. +% +One is not superior merely because one sees the world as odious. + -- Chateaubriand (1768-1848) +% +One learns to itch where one can scratch. + -- Ernest Bramah +% +One man's brain plus one other will produce one half as many ideas as +one man would have produced alone. These two plus two more will +produce half again as many ideas. These four plus four more begin to +represent a creative meeting, and the ratio changes to one quarter as +many ... + -- Anthony Chevins +% +One man's theology is another man's belly laugh. +% +One monk said to the other, "The fish has flopped out of the net! How +will it live?" The other said, "When you have gotten out of the net, +I'll tell you." +% +One nice thing about egotists: they don't talk about other people. +% +One of my less pleasant chores when I was young was to read the Bible +from one end to the other. Reading the Bible straight through is at +least 70 percent discipline, like learning Latin. But the good parts +are, of course, simply amazing. God is an extremely uneven writer, but +when He's good, nobody can touch Him. + -- John Gardner, NYT Book Review, Jan 1983 +% +One of the lessons of history is that nothing is often a good thing to +do and always a clever thing to say. + -- Will Durant +% +One of the main causes of the fall of the Roman Empire was that, +lacking zero, they had no way to indicate successful termination of +their C programs. + -- Robert Firth +% +One of the oldest problems puzzled over in the Talmud is: "Why did God +create goyim?" The generally accepted answer is "________somebody has to buy +retail." + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% + One of the questions that comes up all the time is: How +enthusiastic is our support for UNIX? + Unix was written on our machines and for our machines many +years ago. Today, much of UNIX being done is done on our machines. +Ten percent of our VAXs are going for UNIX use. UNIX is a simple +language, easy to understand, easy to get started with. It's great for +students, great for somewhat casual users, and it's great for +interchanging programs between different machines. And so, because of +its popularity in these markets, we support it. We have good UNIX on +VAX and good UNIX on PDP-11s. + It is our belief, however, that serious professional users will +run out of things they can do with UNIX. They'll want a real system and +will end up doing VMS when they get to be serious about programming. + With UNIX, if you're looking for something, you can easily and +quickly check that small manual and find out that it's not there. With +VMS, no matter what you look for -- it's literally a five-foot shelf of +documentation -- if you look long enough it's there. That's the +difference -- the beauty of UNIX is it's simple; and the beauty of VMS +is that it's all there. + -- Ken Olsen, President of DEC, 1984 +% +One of the rules of Busmanship, New York style, is never surrender your +seat to another passenger. This may seem callous, but it is the best +way, really. If one passenger were to give a seat to someone who +fainted in the aisle, say, the others on the bus would become +disoriented and imagine they were in Topeka, Kansas. +% +The Seventh Commandments for Technicians + Work thou not on energized equipment, for if thou dost, thy +fellow workers will surely buy beers for thy widow and console her in +other ways. +% +The First Commandment for Technicians: + Beware the lightening that lurketh in the undischarged +capacitor, lest it cause thee to bounce upon thy buttocks in a most +untechnician-like manner. +% +One Page Principle: + A specification that will not fit on one page of 8.5x11 inch +paper cannot be understood. + -- Mark Ardis +% +One planet is all you get. +% +One promising concept that I came up with right away was that you could +manufacture personal air bags, then get a law passed requiring that +they be installed on congressmen to keep them from taking trips. Let's +say your congressman was trying to travel to Paris to do a fact-finding +study on how the French government handles diseases transmitted by +sherbet. Just when he got to the plane, his mandatory air bag, +strapped around his waist, would inflate -- FWWAAAAAAPPPP -- thus +rendering him too large to fit through the plane door. It could also +be rigged to inflate whenever the congressman proposed a law. ("Mr. +Speaker, people ask me, why should October be designated as Cuticle +Inspection Month? And I answer that FWWAAAAAAPPPP.") This would save +millions of dollars, so I have no doubt that the public would violently +support a law requiring airbags on congressmen. The problem is that +your potential market is very small: there are only around 500 members +of Congress, and some of them, such as House Speaker "Tip" O'Neil, are +already too large to fit on normal aircraft. + -- Dave Barry, "'Mister Mediocre' Restaurants" +% +One reason why George Washington +Is held in such veneration: +He never blamed his problems +On the former Administration. + -- George O. Ludcke +% +One seldom sees a monument to a committee. +% +One thing the inventors can't seem to get the bugs out of is fresh paint. +% +One thing they don't tell you about doing experimental physics is that +sometimes you must work under adverse conditions ... like a state of +sheer terror. + -- W. K. Hartmann +% +One way to make your old car run better is to look up the price of a +new model. +% +One way to stop a runaway horse is to bet on him. +% +One, with God, is always a majority, but many a martyr has been burned +at the stake while the votes were being counted. + -- Thomas B. Reed +% +One-Shot Case Study, n.: + The scientific equivalent of the four-leaf clover, from which +it is concluded all clovers possess four leaves and are sometimes +green. +% +Only adults have difficulty with childproof caps. +% +Only God can make random selections. +% +Only presidents, editors, and people with tapeworms have the right to +use the editorial "we." +% +Only through hard work and perseverance can one truly suffer. +% +Optimization hinders evolution. +% +Oregano, n.: + The ancient Italian art of pizza folding. +% +Oregon, n.: + Eighty billion gallons of water with no place to go on Saturday +night. +% +Organic chemistry is the chemistry of carbon compounds. +Biochemistry is the study of carbon compounds that crawl. + -- Mike Adams +% +Osborn's Law: + Variables won't; constants aren't. +% +Others will look to you for stability, so hide when you bite your nails. +% +Our country has plenty of good five-cent cigars, but the trouble is +they charge fifteen cents for them. +% +Our documentation manager was showing her two year old son around the +office. He was introduced to me, at which time he pointed out that we +were both holding bags of popcorn. We were both holding bottles of +juice. But only *__he* had a lollipop. + +He asked his mother, "Why doesn't HE have a lollipop?" + +Her reply: + + "He can have a lollipop any time he wants to. That's what it + means to be a programmer." +% +Our OS who art in CPU, UNIX be thy name. + Thy programs run, thy syscalls done, + In kernel as it is in user! +% +Our policy is, when in doubt, do the right thing. + -- Roy L. Ash, ex-president Litton Industries +% +... Our second completely true news item was sent to me by Mr. H. Boyce +Connell Jr. of Atlanta, Ga., where he is involved in a law firm. One +thing I like about the South is, folks there care about tradition. If +somebody gets handed a name like "H. Boyce," he hangs on to it, puts it +on his legal stationery, even passes it to his son, rather than do what +a lesser person would do, such as get it changed or kill himself. + -- Dave Barry, "This Column is Nothing but the Truth!" +% +Our vision is to speed up time, eventually eliminating it. + -- Alex Schure +% +Ours is a world of nuclear giants and ethical infants. + -- General Omar N. Bradley +% + OUTCONERR +Twas FORTRAN as the doloop goes + Did logzerneg the ifthen block +All kludgy were the function flows + And subroutines adhoc. + +Beware the runtime-bug my friend + squrooneg, the false goto +Beware the infiniteloop + And shun the inprectoo. +% +Outside of a dog, a book is a man's best friend: and inside a dog, +it's too dark to read. + -- Groucho Marx +% +Over the years, I've developed my sense of deja vu so acutely that now +I can remember things that *have* happened before ... +% +Overdrawn? But I still have checks left! +% +Overflow on /dev/null, please empty the bit bucket. +% +Overload -- core meltdown sequence initiated. +% +Ozman's Laws: + (1) If someone says he will do something "without fail," he + won't. + (2) The more people talk on the phone, the less money they + make. + (3) People who go to conferences are the ones who shouldn't. + (4) Pizza always burns the roof of your mouth. +% +Painting, n.: + The art of protecting flat surfaces from the weather, and +exposing them to the critic. + -- Ambrose Bierce +% +panic: can't find / +% +panic: kernel trap (ignored) +% +Paradise is exactly like where you are right now ... only much, much +better. + -- Laurie Anderson +% +Parallel lines never meet, unless you bend one or both of them. +% +Paranoia is simply an optimistic outlook on life. +% +Paranoid schizophrenics outnumber their enemies at least two to one. +% +Paranoids are people, too; they have their own problems. It's easy to +criticize, but if everybody hated you, you'd be paranoid too. + -- D. J. Hicks +% +Pardo's First Postulate: + Anything good in life is either illegal, immoral, or +fattening. + +Arnold's Addendum: + Everything else causes cancer in rats. +% +Pardon this fortune. Database under reconstruction. +% +Parker's Law: + Beauty is only skin deep, but ugly goes clean to the bone. +% +Parkinson's Fifth Law: + If there is a way to delay in important decision, the good +bureaucracy, public or private, will find it. +% +Parkinson's Fourth Law: + The number of people in any working group tends to increase +regardless of the amount of work to be done. +% +Parsley + is gharsley. + -- Ogden Nash +% +Parts that positively cannot be assembled in improper order will be. +% +Pascal is not a high-level language. + -- Steven Feiner +% +Pascal is Pascal is Pascal is dog meat. + -- M. Devine and P. Larson, Computer Science 340 +% +Pascal Users: + To show respect for the 313th anniversary (tomorrow) of the +death of Blaise Pascal, your programs will be run at half speed. +% +Pascal, n.: + A programming language named after a man who would turn over in +his grave if he knew about it. +% +Passionate hatred can give meaning and purpose to an empty life. + -- Eric Hoffer +% +Patageometry, n.: + The study of those mathematical properties that are invariant +under brain transplants. +% +Paul Revere was a tattle-tale. +% +Paul's Law: + In America, it's not how much an item costs, it's how much you +save. +% +Paul's Law: + You can't fall off the floor. +% +Peace, n.: + In international affairs, a period of cheating between two +periods of fighting. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Peanut Blossoms + +4 cups sugar 16 tbsp. milk +4 cups brown sugar 4 tsp. vanilla +4 cups shortening 14 cups flour +8 eggs 4 tsp. soda +4 cups peanut butter 4 tsp. salt + +Shape dough into balls. Roll in sugar and bake on ungreased cookie +sheet at 375 F. for 10-12 minutes. Immediately top each cookie with a +Hershey's kiss or star pressing down firmly to crack cookie. Makes a +hell of a lot. +% +Pecor's Health-Food Principle: + Never eat rutabaga on any day of the week that has a "y" in +it. +% +Pedaeration, n.: + The perfect body heat achieved by having one leg under the +sheet and one hanging off the edge of the bed. + -- Rich Hall, "Sniglets" +% +Penguin Trivia #46: + Animals who are not penguins can only wish they were. + -- Chicago Reader 10/15/82 +% +People need good lies. There are too many bad ones. + -- Bokonon, "Cat's Cradle" by Kurt Vonnegut, Jr. +% +People often find it easier to be a result of the past than a cause of +the future. +% +People think love is an emotion. Love is good sense. + -- Ken Kesey +% +People usually get what's coming to them ... unless it's been mailed. +% +People who are funny and smart and return phone calls get much better +press than people who are just funny and smart. + -- Howard Simons, "The Washington Post" +% +People who claim they don't let little things bother them have never +slept in a room with a single mosquito. +% +People who have what they want are very fond of telling people who +haven't what they want that they don't want it. + -- Ogden Nash +% +People will accept your ideas much more readily if you tell them that +Benjamin Franklin said it first. +% +People will buy anything that's one to a customer. +% +People will do tomorrow what they did today because that is what they +did yesterday. +% +Pereant, inquit, qui ante nos nostra dixerunt. +"Confound those who have said our remarks before us." + -- Aelius Donatus +% +Perfect day for scrubbing the floor and other exciting things. +% +Perfection is reached, not when there is no longer anything to add, but +when there is no longer anything to take away. + -- Antoine de Saint-Exupery +% +Personifiers Unite! You have nothing to lose but Mr. Dignity! +% +Peter's Law of Substitution: + Look after the molehills, and the mountains will look after +themselves. +% +Philadelphia is not dull -- it just seems so because it is next to +exciting Camden, New Jersey. +% +Philogeny recapitulates erogeny; erogeny recapitulates philogeny. +% +Philosophy will clip an angel's wings. + -- John Keats +% +Pick another fortune cookie. +% +Picture the sun as the origin of two intersecting 6-dimensional +hyperplanes from which we can deduce a certain transformational +sequence which gives us the terminal velocity of a rubber duck ... +% +Pig, n.: + An animal (Porcus omnivorous) closely allied to the human race +by the splendor and vivacity of its appetite, which, however, is +inferior in scope, for it balks at pig. + -- Ambrose Bierce, "The Devil's Dictionary" +% +PISCES (Feb. 19 - Mar. 20) + You have a vivid imagination and often think you are being +followed by the CIA or FBI. You have minor influence over your +associates and people resent your flaunting of your power. You lack +confidence and you are generally a coward. Pisces people do terrible +things to small animals. +% +PISCES (Feb. 19 to Mar. 20) + Take the high road, look for the good things, carry the +American Express card and a weapon. The world is yours today, as +nobody else wants it. Your mortgage will be foreclosed. You will +probably get run over by a bus. +% + Pittsburgh Driver's Test + +(7) The car directly in front of you has a flashing right tail light + but a steady left tail light. This means + + (a) one of the tail lights is broken; you should blow your horn + to call the problem to the driver's attention. + (b) the driver is signaling a right turn. + (c) the driver is signaling a left turn. + (d) the driver is from out of town. + +The correct answer is (d). Tail lights are used in some foreign +countries to signal turns. +% + Pittsburgh Driver's Test + +(8) Pedestrians are + + (a) irrelevant. + (b) communists. + (c) a nuisance. + (d) difficult to clean off the front grille. + +The correct answer is (a). Pedestrians are not in cars, so they are +totally irrelevant to driving; you should ignore them completely. +% +Pity the meek, for they shall inherit the earth. + -- Don Marquis +% +PL/1, "the fatal disease", belongs more to the problem set than to the +solution set. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +Plaese porrf raed. + -- Prof. Michael O'Longhlin, S.U.N.Y. Purchase +% +Plato, by the way, wanted to banish all poets from his proposed Utopia +because they were liars. The truth was that Plato knew philosophers +couldn't compete successfully with poets. + -- Kilgore Trout (Philip J. Farmer) "Venus on the Half + Shell" +% +Play Rogue, visit exotic locations, meet strange creatures and kill them. +% +Playing an unamplified electric guitar is like strumming on a picnic table. + -- Dave Barry, "The Snake" +% +Please ignore previous fortune. +% +Please take note: +% +Please try to limit the amount of "this room doesn't have any bazingas" +until you are told that those rooms are "punched out". Once punched +out, we have a right to complain about atrocities, missing bazingas, +and such. + -- N. Meyrowitz +% +Please, won't somebody tell me what diddie-wa-diddie means? +% + Plumbing is one of the easier of do-it-yourself activities, +requiring only a few simple tools and a willingness to stick your arm +into a clogged toilet. In fact, you can solve many home plumbing +problems, such as annoying faucet drip, merely by turning up the +radio. But before we get into specific techniques, let's look at how +plumbing works. + A plumbing system is very much like your electrical system, +except that instead of electricity, it has water, and instead of wires, +it has pipes, and instead of radios and waffle irons, it has faucets +and toilets. So the truth is that your plumbing systems is nothing at +all like your electrical system, which is good, because electricity can +kill you. + -- Dave Barry, "The Taming of the Screw" +% +PLUNDERER'S THEME +(to Supercalifragilisticexpialidocius) + +Pillage, rape, and loot and burn, but all in moderation. +If you do the things we say, then you'll soon rule the nation. +Kill your foes and enemies and then kill your relations. +Pillage, rape, and loot and burn, but all in moderation. +% +Pohl's law: + Nothing is so good that somebody, somewhere, will not hate it. +% +Police: Good evening, are you the host? +Host: No. +Police: We've been getting complaints about this party. +Host: About the drugs? +Police: No. +Host: About the guns, then? Is somebody complaining about the guns? +Police: No, the noise. +Host: Oh, the noise. Well that makes sense because there are no guns + or drugs here. (An enormous explosion is heard in the + background.) Or fireworks. Who's complaining about the noise? + The neighbors? +Police: No, the neighbors fled inland hours ago. Most of the recent + complaints have come from Pittsburgh. Do you think you could + ask the host to quiet things down? +Host: No Problem. (At this point, a Volkswagen bug with primitive + religious symbols drawn on the doors emerges from the living + room and roars down the hall, past the police and onto the + lawn, where it smashes into a tree. Eight guests tumble out + onto the grass, moaning.) See? Things are starting to wind + down. +% +Political T.V. commercials prove one thing: some candidates can tell +all their good points and qualifications in just 30 seconds. +% +Politician, n.: + An eel in the fundamental mud upon which the superstructure of +organized society is reared. When he wriggles, he mistakes the +agitation of his tail for the trembling of the edifice. As compared +with the statesman, he suffers the disadvantage of being alive. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Politician, n.: + From the Greek "poly" ("many") and the French "tete" ("head" or +"face," as in "tete-a-tete": head to head or face to face). Hence +"polytetien", a person of two or more faces. + -- Martin Pitt +% +Politicians are the same all over. They promise to build a bridge even +where there is no river. + -- Nikita Khrushchev +% +Politics is like coaching a football team. You have to be smart enough +to understand the game but not smart enough to lose interest. +% +Polymer physicists are into chains. +% +Pope Goestheveezl was the shortest reigning pope in the history of the +Church, reigning for two hours and six minutes on 1 April 1866. The +white smoke had hardly faded into the blue of the Vatican skies before +it dawned on the assembled multitudes in St. Peter's Square that his +name had hilarious possibilities. The crowds fell about, helpless with +laughter, singing + + Half a pound of tuppenny rice + Half a pound of treacle + That's the way the chimney smokes + Pope Goestheveezl + +The square was finally cleared by armed carabinieri with tears of +laughter streaming down their faces. The event set a record for +hilarious civic functions, smashing the previous record set when Baron +Hans Neizant B"ompzidaize was elected Landburgher of K"oln in 1653. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Portable, adj.: + Survives system reboot. +% +Positive, adj.: + Mistaken at the top of one's voice. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Pound for pound, the amoeba is the most vicious animal on earth. +% +Power corrupts. Absolute power is kind of neat. + -- John Lehman, Secretary of the Navy 1981-1987 +% +Power corrupts. And atomic power corrupts atomically. +% +Power, n: + The only narcotic regulated by the SEC instead of the FDA. +% +Practical people would be more practical if they would take a little +more time for dreaming. + -- J. P. McEvoy +% +Predestination was doomed from the start. +% +President Reagan has noted that there are too many economic pundits and +forecasters and has decided on an excess prophets tax. +% +President Thieu says he'll quit if he doesn't get more than 50% of the +vote. In a democracy, that's not called quitting. + -- The Washington Post +% +Pretend to spank me -- I'm a pseudo-masochist! +% +Preudhomme's Law of Window Cleaning: + It's on the other side. +% +[Prime Minister Joseph] Chamberlain loves the working man -- he loves +to see him work. + -- Winston Churchill +% +Pro is to con as progress is to Congress. +% +Probable-Possible, my black hen, +She lays eggs in the Relative When. +She doesn't lay eggs in the Positive Now +Because she's unable to postulate how. + -- Frederick Winsor +% +Probably the question asked most often is: Do one-celled animals have +orgasms? The answer is yes, they have orgasms almost constantly, which +is why they don't mind living in pools of warm slime. + -- Dave Barry, "Sex and the Single Amoeba: What Every + Teen Should Know" +% +Prof: So the American government went to IBM to come up with a data + encryption standard and they came up with ... +Student: EBCDIC! +% +Professor Gorden Newell threw another shutout in last week's Chem. +Eng. 130 midterm. Once again no student received a single point on +his exam. Newell has now tossed five shutouts this quarter. Newell's +earned exam average has now dropped to a phenomenal 30% +% +Programming today is a race between software engineers striving to +build bigger and better idiot-proof programs, and the Universe trying +to produce bigger and better idiots. So far, the Universe is winning. + -- Rich Cook +% +Proof techniques #1: Proof by Induction. + +This technique is used on equations with "_n" in them. Induction +techniques are very popular; even the military used them. + +SAMPLE: Proof of induction without proof of induction. + + We know it's true for _n equal to 1. Now assume that it's true +for every natural number less than _n. _N is arbitrary, so we can take _n +as large as we want. If _n is sufficiently large, the case of _n+1 is +trivially equivalent, so the only important _n are _n less than _n. We +can take _n = _n (from above), so it's true for _n+1 because it's just +about _n. + QED. (QED translates from the Latin as "So what?") +% +Proof techniques #2: Proof by Oddity. + SAMPLE: To prove that horses have an infinite number of legs. +(1) Horses have an even number of legs. +(2) They have two legs in back and fore legs in front. +(3) This makes a total of six legs, which certainly is an odd number of + legs for a horse. +(4) But the only number that is both odd and even is infinity. +(5) Therefore, horses must have an infinite number of legs. + +Topics to be covered in future issues include proof by: + Intimidation + Gesticulation (handwaving) + "Try it; it works" + Constipation (I was just sitting there and ...) + Blatant assertion + Changing all the 2's to _n's + Mutual consent + Lack of a counterexample, and + "It stands to reason" +% +Proposed Additions to the PDP-11 Instruction Set: + +BBW Branch Both Ways +BEW Branch Either Way +BBBF Branch on Bit Bucket Full +BH Branch and Hang +BMR Branch Multiple Registers +BOB Branch On Bug +BPO Branch on Power Off +BST Backspace and Stretch Tape +CDS Condense and Destroy System +CLBR Clobber Register +CLBRI Clobber Register Immediately +CM Circulate Memory +CMFRM Come From -- essential for truly structured programming +CPPR Crumple Printer Paper and Rip +CRN Convert to Roman Numerals +% +Proposed Additions to the PDP-11 Instruction Set: + +DC Divide and Conquer +DMPK Destroy Memory Protect Key +DO Divide and Overflow +EMPC Emulate Pocket Calculator +EPI Execute Programmer Immediately +EROS Erase Read Only Storage +EXCE Execute Customer Engineer +HCF Halt and Catch Fire +IBP Insert Bug and Proceed +INSQSW Insert into queue somewhere (for FINO queues [First in never out]) +PBC Print and Break Chain +PDSK Punch Disk +% +Proposed Additions to the PDP-11 Instruction Set: + +PI Punch Invalid +POPI Punch Operator Immediately +PVLC Punch Variable Length Card +RASC Read And Shred Card +RPM Read Programmers Mind +RSSC reduce speed, step carefully (for improved accuracy) +RTAB Rewind tape and break +RWDSK rewind disk +RWOC Read Writing On Card +SCRBL scribble to disk - faster than a write +SLC Search for Lost Chord +SPSW Scramble Program Status Word +SRSD Seek Record and Scar Disk +STROM Store in Read Only Memory +TDB Transfer and Drop Bit +WBT Water Binary Tree +% +Protozoa are small, and bacteria are small, but viruses are smaller +than the both put together. +% +Psychiatrists say that one out of four people are mentally ill. Check +three friends. If they're OK, you're it. +% +Psychotherapy is the theory that the patient will probably get well +anyhow and is certainly a damn fool. + -- H. L. Mencken +% +Puns are little "plays on words" that a certain breed of person loves +to spring on you and then look at you in a certain self-satisfied way +to indicate that he thinks that you must think that he is by far the +cleverest person on Earth now that Benjamin Franklin is dead, when in +fact what you are thinking is that if this person ever ends up in a +lifeboat, the other passengers will hurl him overboard by the end of +the first day even if they have plenty of food and water. + -- Dave Barry, "Why Humor is Funny" +% +Pure drivel tends to drive ordinary drivel off the TV screen. +% +Pushing 40 is exercise enough. +% +Put no trust in cryptic comments. +% +Put your Nose to the Grindstone! + -- Amalgamated Plastic Surgeons and Toolmakers, Ltd. +% +Putt's Law: + Technology is dominated by two types of people: + Those who understand what they do not manage. + Those who manage what they do not understand. +% +Q: Do you know what the death rate around here is? +A: One per person. +% +Q: How did you get into artificial intelligence? +A: Seemed logical -- I didn't have any real intelligence. +% +Q: How many DEC repairmen does it take to fix a flat ? +A: Five; four to hold the car up and one to swap tires. +% +Q: How many DEC repairmen does it take to fix a flat? +A: Five; four to hold the car up and one to swap tires. + +Q: How long does it take? +A: It's indeterminate. It will depend upon how many flats they've + brought with them. + +Q: What happens if you've got TWO flats? +A: They replace your generator. +% +Q: How many existentialists does it take to screw in a lightbulb? +A: Two. One to screw it in and one to observe how the lightbulb + itself symbolizes a single incandescent beacon of subjective + reality in a netherworld of endless absurdity reaching out toward a + maudlin cosmos of nothingness. +% +Q: How many heterosexual males does it take to screw in a light bulb + in San Francisco? +A: Both of them. +% +Q: How many IBM CPUs does it take to do a logical right shift? +A: 33. 1 to hold the bits and 32 to push the register. +% +Q: How many IBM CPUs does it take to execute a job? +A: Four; three to hold it down, and one to rip its head off. +% +Q: How many IBM types does it take to change a light bulb? +A: 100. Ten to do it, and 90 to write document number GC7500439-0001, + Multitasking Incandescent Source System Facility, of which 10% of + the pages state only "This page intentionally left blank", and 20% + of the definitions are of the form "A ...... consists of sequences + of non-blank characters separated by blanks". +% +Q: How many journalists does it take to screw in a lightbulb? +A: Three. One to report it as an inspired government program to bring + light to the people, one to report it as a diabolical government + plot to deprive the poor of darkness, and one to win a Pulitzer + prize for reporting that Electric Company hired a lightbulb + assassin to break the bulb in the first place. +% +Q: How many Martians does it take to screw in a lightbulb? +A: One and a half. +% +Q: How many mathematicians does it take to screw in a lightbulb? +A: One. He gives it to six Californians, thereby reducing the problem + to the earlier joke. +% +Q: How many Oregonians does it take to screw in a light bulb? +A: Three. One to screw in the lightbulb and two to fend off all those + Californians trying to share the experience. +% +Q: How many surrealists does it take to change a light bulb? +A: Two. One to hold the giraffe and the other to fill the bathtub + with brightly colored machine tools. +% +Q: How many Zen masters does it take to screw in a light bulb? +A: None. The Universe spins the bulb, and the Zen master stays out + of the way. +% +Q: What's a light-year? +A: One-third less calories than a regular year. +% +Q: Why did the tachyon cross the road? +A: Because it was on the other side. +% +Q: Why do ducks have flat feet? +A: To stamp out forest fires. + +Q: Why do elephants have flat feet? +A: To stamp out flaming ducks. +% +Q: Why do mountain climbers rope themselves together? +A: To prevent the sensible ones from going home. +% +Q: Somebody just posted that Roman Polanski directed Star Wars. What + should I do? + +A: Post the correct answer at once! We can't have people go on + believing that! Very good of you to spot this. You'll probably be + the only one to make the correction, so post as soon as you can. No + time to lose, so certainly don't wait a day, or check to see if + somebody else has made the correction. + + And it's not good enough to send the message by mail. Since you're + the only one who really knows that it was Francis Coppola, you have + to inform the whole net right away! + + -- Brad Templeton, "Emily Postnews Answers Your Questions + on Netiquette" +% +Quality Control, n.: + The process of testing one out of every 1,000 units coming off +a production line to make sure that at least one out of 100 works. +% +Question: +Man Invented Alcohol, +God Invented Grass. +Who do you trust? +% +Quick!! Act as if nothing has happened! +% +Quick, sing me the BUDAPEST NATIONAL ANTHEM!! +% +Quidquid latine dictum sit, altum viditur. + +(Whatever is said in Latin sounds profound.) +% +Quigley's Law: + Whoever has any authority over you, no matter how small, will +atttempt to use it. +% +QUOTE OF THE DAY: + + ` + +% +Qvid me anxivs svm? +% +QWERT (kwirt), n. [MW < OW qwertyuiop, a thirteenth]: + 1. a unit of weight equal to 13 poiuyt avoirdupois (or 1.69 +kiloliks), commonly used in structural engineering; 2. [colloq.] one +thirteenth the load that a fully grown sligo can carry; 3. [anat.] a +painful irritation of the dermis in the region of the anus; 4. [slang] +person who excites in others the symptoms of a qwert. + -- Webster's Middle World Dictionary, 4th ed. +% +Radioactive cats have 18 half-lives. +% +Rattling around the back of my head is a disturbing image of something +I saw at the airport ... Now I'm remembering, those giant piles of +computer magazines right next to "People" and "Time" in the airport +store. Does it bother anyone else that half the world is being told +all of our hard-won secrets of computer technology? Remember how all +the lawyers cried foul when "How to Avoid Probate" was published? Are +they taking no-fault insurance lying down? No way! But at the current +rate it won't be long before there are stacks of the "Transactions on +Information Theory" at the A&P checkout counters. Who's going to be +impressed with us electrical engineers then? Are we, as the saying +goes, giving away the store? + -- Robert W. Lucky, IEEE President +% +Ray's Rule of Precision: + Measure with a micrometer. Mark with chalk. Cut with an axe. +% +Razors pain you; +Rivers are damp; +Acids stain you; +And drugs cause cramp. +Guns aren't lawful; +Nooses give; +Gas smells awful; +You might as well live. + -- Dorothy Parker, "Resume", 1926 +% +Re graphics: A picture is worth 10K words -- but only those to describe +the picture. Hardly any sets of 10K words can be adequately described +with pictures. +% +Reader, suppose you were an idiot. And suppose you were a member of +Congress. But I repeat myself. + -- Mark Twain +% +Real computer scientists admire ADA for its overwhelming aesthetic +value but they find it difficult to actually program in it, as it is +much too large to implement. Most computer scientists don't notice +this because they are still arguing over what else to add to ADA. +% +Real computer scientists despise the idea of actual hardware. Hardware +has limitations, software doesn't. It's a real shame that Turing +machines are so poor at I/O. +% +Real computer scientists don't comment their code. The identifiers are +so long they can't afford the disk space. +% +Real computer scientists don't program in assembler. They don't write +in anything less portable than a number two pencil. +% +Real computer scientists don't write code. They occasionally tinker +with `programming systems', but those are so high level that they +hardly count (and rarely count accurately; precision is for +applications.) +% +Real computer scientists only write specs for languages that might run +on future hardware. Nobody trusts them to write specs for anything homo +sapiens will ever be able to fit on a single planet. +% +Real programmers disdain structured programming. Structured +programming is for compulsive neurotics who were prematurely toilet- +trained. They wear neckties and carefully line up pencils on otherwise +clear desks. +% +Real programmers don't bring brown-bag lunches. If the vending machine +doesn't sell it, they don't eat it. Vending machines don't sell +quiche. +% +Real programmers don't comment their code. It was hard to write, it +should be hard to understand. +% +Real programmers don't draw flowcharts. Flowcharts are, after all, the +illiterate's form of documentation. Cavemen drew flowcharts; look how +much good it did them. +% +Real Programmers don't play tennis, or any other sport that requires +you to change clothes. Mountain climbing is OK, and real programmers +wear their climbing boots to work in case a mountain should suddenly +spring up in the middle of the machine room. +% +Real programmers don't write in BASIC. Actually, no programmers write +in BASIC after reaching puberty. +% +Real programmers don't write in FORTRAN. FORTRAN is for pipe stress +freaks and crystallography weenies. FORTRAN is for wimp engineers who +wear white socks. +% +Real Programmers don't write in PL/I. PL/I is for programmers who +can't decide whether to write in COBOL or FORTRAN. +% +Real Programmers think better when playing Adventure or Rogue. +% +Real Programs don't use shared text. Otherwise, how can they use +functions for scratch space after they are finished calling them? +% +Real software engineers don't debug programs, they verify correctness. +This process doesn't necessarily involve execution of anything on a +computer, except perhaps a Correctness Verification Aid package. +% +Real software engineers don't like the idea of some inexplicable and +greasy hardware several aisles away that may stop working at any +moment. They have a great distrust of hardware people, and wish that +systems could be virtual at *___all* levels. They would like personal +computers (you know no one's going to trip over something and kill your +DFA in mid-transit), except that they need 8 megabytes to run their +Correctness Verification Aid packages. +% +Real software engineers work from 9 to 5, because that is the way the +job is described in the formal spec. Working late would feel like +using an undocumented external procedure. +% +Real Time, adj.: + Here and now, as opposed to fake time, which only occurs there +and then. +% +Real Users are afraid they'll break the machine -- but they're never +afraid to break your face. +% +Real Users find the one combination of bizarre input values that shuts +down the system for days. +% +Real Users hate Real Programmers. +% +Real Users know your home telephone number. +% +Real Users never know what they want, but they always know when your +program doesn't deliver it. +% +Real Users never use the Help key. +% +Real World, The n.: + 1. In programming, those institutions at which programming may +be used in the same sentence as FORTRAN, COBOL, RPG, IBM, etc. 2. To +programmers, the location of non-programmers and activities not related +to programming. 3. A universe in which the standard dress is shirt and +tie and in which a person's working hours are defined as 9 to 5. +4. The location of the status quo. 5. Anywhere outside a university. +"Poor fellow, he's left MIT and gone into the real world." Used +pejoratively by those not in residence there. In conversation, talking +of someone who has entered the real world is not unlike talking about a +deceased person. +% +Reality is a cop-out for people who can't handle drugs. +% +Reality is an obstacle to hallucination. +% +Reality is bad enough, why should I tell the truth? + -- Patrick Sky +% +Reality is for people who lack imagination. +% +Reality is for those who can't face Science Fiction. +% +Reality is just a convenient measure of complexity. + -- Alvy Ray Smith +% +Reality is that which, when you stop believing in it, doesn't go away" + -- Philip K. Dick +% +Really ?? What a coincidence, I'm shallow too!! +% +Receiving a million dollars tax free will make you feel better than +being flat broke and having a stomach ache. + -- Dolph Sharp, "I'm O.K., You're Not So Hot" +% +Recession is when your neighbor loses his job. Depression is when you +lose your job. These economic downturns are very difficult to predict, +but sophisticated econometric modeling houses like Data Resources and +Chase Econometrics have successfully predicted 14 of the last 3 +recessions. +% +Reclaimer, spare that tree! +Take not a single bit! +It used to point to me, +Now I'm protecting it. +It was the reader's CONS +That made it, paired by dot; +Now, GC, for the nonce, +Thou shalt reclaim it not. +% + "Reflections on Ice-Breaking" +Candy +Is dandy +But liquor +Is quicker. + -- Ogden Nash +% +"Reintegration complete," ZORAC advised. "We're back in the universe +again ..." An unusually long pause followed, "... but I don't know +which part. We seem to have changed our position in space." A +spherical display in the middle of the floor illuminated to show the +starfield surrounding the ship. + +"Several large, artificial constructions are approaching us," ZORAC +announced after a short pause. "The designs are not familiar, but they +are obviously the products of intelligence. Implications: we have been +intercepted deliberately by a means unknown, for a purpose unknown, and +transferred to a place unknown by a form of intelligence unknown. +Apart from the unknowns, everything is obvious." + -- James P. Hogan, "Giants Star" +% +Reisner's Rule of Conceptual Inertia: + If you think big enough, you'll never have to do it. +% +Religion has done love a great service by making it a sin. + -- Anatole France +% +Rembrandt's first name was Beauregard, which is why he never used it. + -- Dave Barry +% +Remember that whatever misfortune may be your lot, it could only be +worse in Cleveland. + -- National Lampoon, "Deteriorata" +% +Remember, drive defensively! And of course, the best defense is a good +offense! +% +Remember, even if you win the rat race -- you're still a rat. +% +Remember, UNIX spelled backwards is XINU. +% +Remember: Silly is a state of Mind, Stupid is a way of Life. + -- Dave Butler +% +Renning's Maxim: + Man is the highest animal. Man does the classifying. +% +Reporter (to Mahatma Gandhi): Mr Gandhi, what do you think of Western + Civilization? +Gandhi: I think it would be a good idea. +% +Reporter, n.: + A writer who guesses his way to the truth and dispels it with a +tempest of words. + -- Ambrose Bierce, "The Devil's Dictionary" +% +REPORTER: Senator, are you for or against the MX missile system? + +SENATOR: Bob, the MX missile system reminds me of an old saying that +the country folk in my state like to say. It goes like this: "You can +carry a pig for six miles, but if you set it down it might run away." +I have no idea why the country folk say this. Maybe there's some kind +of chemical pollutant in their drinking water. That is why I pledge to +do all that I can to protect the environment of this great nation of +ours, and put prayer back in the schools, where it belongs. What we +need is jobs, not empty promises. I realize I'm risking my political +career by being so outspoken on a sensitive issue such as the MX, but +that's just the kind of straight-talking honest person I am, and I +can't help it. + -- Dave Barry, "On Presidential Politics" +% +Research is what I'm doing when I don't know what I'm doing. + -- Wernher von Braun +% +Resisting temptation is easier when you think you'll probably get +another chance later on. +% +Review Questions + +(1) If Nerd on the planet Nutley starts out in his spaceship at 20 KPH, + and his speed doubles every 3.2 seconds, how long will it be before + he exceeds the speed of light? How long will it be before the + Galactic Patrol picks up the pieces of his spaceship? + +(2) If Roger Rowdy wrecks his car every week, and each week he breaks + twice as many bones as before, how long will it be before he breaks + every bone in his body? How long will it be before they cut off + his insurance? Where does he get a new car every week? + +(3) If Johnson drinks one beer the first hour (slow start), four beers + the next hour, nine beers the next, etc., and stacks the cans in a + pyramid, how soon will Johnson's pyramid be larger than King + Tut's? When will it fall on him? Will he notice? +% +Rhode's Law: + When any principle, law, tenet, probability, happening, +circumstance, or result can in no way be directly, indirectly, +empirically, or circuitously proven, derived, implied, inferred, +induced, deducted, estimated, or scientifically guessed, it will always +for the purpose of convenience, expediency, political advantage, +material gain, or personal comfort, or any combination of the above, or +none of the above, be unilaterally and unequivocally assumed, +proclaimed, and adhered to as absolute truth to be undeniably, +universally, immutably, and infinitely so, until such time as it +becomes advantageous to assume otherwise, maybe. +% +Right now I'm having amnesia and deja vu at the same time. + -- Steven Wright +% +Rocky's Lemma of Innovation Prevention + Unless the results are known in advance, funding agencies will + reject the proposal. +% +Romeo wasn't bilked in a day. + -- Walt Kelly, "Ten Ever-Lovin' Blue-Eyed Years With Pogo" +% +ROMEO: Courage, man; the hurt cannot be much. +MERCUTIO: No, 'tis not so deep as a well, nor so wide as a church- + door; but 'tis enough, 'twill serve. +% +Rudin's Law: + If there is a wrong way to do something, most people will do it +every time. +% +Rule 46, Oxford Union Society, London: + Any member introducing a dog into the Society's premises shall +be liable to a fine of one pound. Any animal leading a blind person +shall be deemed to be a cat. +% +Rule of Creative Research: + (1) Never draw what you can copy. + (2) Never copy what you can trace. + (3) Never trace what you can cut out and paste down. +% +Rule of Defactualization: + Information deteriorates upward through bureaucracies. +% +Rule of Feline Frustration: + When your cat has fallen asleep on your lap and looks utterly +content and adorable, you will suddenly have to go to the bathroom. +% +Rule of the Great: + When people you greatly admire appear to be thinking deep +thoughts, they probably are thinking about lunch. +% +Rules for Academic Deans: + (1) HIDE!!!! + (2) If they find you, LIE!!!! + -- Father Damian C. Fandal +% +Rules for driving in New York: + (1) Anything done while honking your horn is legal. + (2) You may park anywhere if you turn your four-way flashers + on. + (3) A red light means the next six cars may go through the + intersection. +% +RULES OF EATING -- THE BRONX DIETER'S CREED + (1) Never eat on an empty stomach. + (2) Never leave the table hungry. + (3) When traveling, never leave a country hungry. + (4) Enjoy your food. + (5) Enjoy your companion's food. + (6) Really taste your food. It may take several portions to + accomplish this, especially if subtly seasoned. + (7) Really feel your food. Texture is important. Compare, + for example, the texture of a turnip to that of a + brownie. Which feels better against your cheeks? + (8) Never eat between snacks, unless it's a meal. + (9) Don't feel you must finish everything on your plate. You + can always eat it later. + (10) Avoid any wine with a childproof cap. + (11) Avoid blue food. + -- Richard Smith, "The Bronx Diet" +% +Rules: + (1) The boss is always right. + (2) When the boss is wrong, refer to rule 1. +% + Safety Tips for the Post-Nuclear Existence + Tip #1: How to tell when you are dead. + +(1) Little things start bothering you: little things like worms, bugs, + ants. +(2) Something is missing in your personal relationships. +(3) Your dog becomes overly affectionate. +(4) You have a hard time getting a waiter. +(5) Exotic birds flock around you. +(6) People ignore you at parties. +(7) You have a hard time getting up in the morning. +(8) You no longer get off on cocaine. +% + Safety Tips for the Post-Nuclear Existence +(1) Never use an elevator in a building that has been hit by a nuclear + bomb; use the stairs. +(2) When you're flying through the air, remember to roll when you hit + the ground. +(3) If you're on fire, avoid gasoline and other flammable materials. +(4) Don't attempt communication with dead people; it will only lead to + psychological problems. +(5) Food will be scarce; you will have to scavenge. Learn to + recognize foods that will be available after the bomb: mashed + potatoes, shredded wheat, tossed salad, ground beef, etc. +(6) Put your hand over your mouth when you sneeze; internal organs + will be scarce in the post-nuclear age. +(7) Try to be neat; fall only in designated piles. +(8) Drive carefully in "Heavy Fallout" areas; people could be + staggering illegally. +(9) Nutritionally, hundred dollar bills are equal to ones, but more + sanitary due to limited circulation. +(10) Accumulate mannequins now; spare parts will be in short supply on + D-Day. +% +SAGITTARIUS (Nov 22 - Dec 21) + You are optimistic and enthusiastic. You have a reckless + tendency to rely on luck since you lack talent. The majority + of Sagittarians are drunks or dope fiends or both. People + laugh at you a great deal. +% +San Francisco isn't what it used to be, and it never was. + -- Herb Caen +% +San Francisco, n.: + Marcel Proust editing an issue of Penthouse. +% +Sanity is the trademark of a weak mind. + -- Mark Harrold +% +Santa Claus wears a Red Suit, + He must be a communist. +And a beard and long hair, + Must be a pacifist. + + What's in that pipe that he's smoking? + -- Arlo Guthrie +% +Satellite Safety Tip #14: + If you see a bright streak in the sky coming at you, duck. +% +Sattinger's Law: + It works better if you plug it in. +% +Saturday night in Toledo Ohio, + Is like being nowhere at all, +All through the day how the hours rush by, + You sit in the park and you watch the grass die. + -- John Denver, "Saturday Night in Toledo Ohio" +% +Sauron is alive in Argentina! +% +Save energy: be apathetic. +% +Save the Whales -- Harpoon a Honda. +% +Save the whales. Collect the whole set. +% +Saw a sign on a restaurant that said Breakfast, any time -- so I +ordered French Toast in the Renaissance. + -- Steven Wright +% +SCCS, the source motel! Programs check in and never check out! + -- Ken Thompson +% +Schapiro's Explanation: + The grass is always greener on the other side -- but that's +because they use more manure. +% +Schizophrenia beats being alone. +% +Schlattwhapper, n.: + The window shade that allows itself to be pulled down, +hesitates for a second, then snaps up in your face. + -- Rich Hall, "Sniglets" +% +Schnuffel, n.: + A dog's practice of continuously nuzzling in your crotch in +mixed company. + -- Rich Hall, "Sniglets" +% +Schwiggle, n.: + The amusing rotation of one's bottom while sharpening a +pencil. + -- Rich Hall, "Sniglets" +% +Science is facts; just as houses are made of stones, so is science made +of facts; but a pile of stones is not a house and a collection of facts +is not necessarily science. + -- Henri Poincar'e +% +Science is what happens when preconception meets verification. +% +Scientists are people who build the Brooklyn Bridge and then buy it. + -- William Buckley + +% +SCORPIO (Oct 23 - Nov 21) + You are shrewd in business and cannot be trusted. You will + achieve the pinnacle of success because of your total lack of + ethics. Most Scorpio people are murdered. +% +Scott's first Law: + No matter what goes wrong, it will probably look right. +% +Scott's second Law: + When an error has been detected and corrected, it will be found +to have been wrong in the first place. + +Corollary: + After the correction has been found in error, it will be +impossible to fit the original quantity back into the equation. +% +Scotty: Captain, we din' can reference it! +Kirk: Analysis, Mr. Spock? +Spock: Captain, it doesn't appear in the symbol table. +Kirk: Then it's of external origin? +Spock: Affirmative. +Kirk: Mr. Sulu, go to pass two. +Sulu: Aye aye, sir, going to pass two. +% +Screw up your courage! You've screwed up everything else. +% +Scrubbing floors and emptying bedpans has as much dignity as the +Presidency. + -- Richard Nixon +% +Second Law of Business Meetings: + If there are two possible ways to spell a person's name, you +will pick the wrong one. + +Corollary: + If there is only one way to spell a name, you will spell it +wrong, anyway. +% +Section 2.4.3.5 AWNS (Acceptor Wait for New Cycle State). + In AWNS the AH function indicates that it has received a +multiline message byte. + In AWNS the RFD message must be sent false and the DAC message +must be sent passive true. + The AH function must exit the AWNS and enter: + (1) The ANRS if DAV is false + (2) The AIDS if the ATN message is false and neither: + (a) The LADS is active + (b) Nor LACS is active + + -- from the IEEE Standard Digital Interface for + Programmable Instrumentation +% +Security check: INTRUDER ALERT! +% +Seduced, shaggy Samson snored. +She scissored short. Sorely shorn, +Soon shackled slave, Samson sighed, +Silently scheming, +Sightlessly seeking +Some savage, spectacular suicide. + -- Stanislaw Lem, "Cyberiad" +% +See - the thing is - I'm an absolutist. I mean, kind of ... in a way ... +% +Seleznick's Theory of Holistic Medicine: + Ice Cream cures all ills. +% +Self Test for Paranoia: + You know you have it when you can't think of anything that's +your own fault. +% +Seminars, n.: + From "semi" and "arse", hence, any half-assed discussion. +% +Sen. Danforth: "There is nothing on the face of the album which would + notify you if the record has pornographic material or + material glorifying violence?" +Tipper Gore: "No, there is nothing that would suggest that to me." +Frank Zappa: "I would say that a buzz saw blade between the guy's + legs on the album cover is good indication that it's + not for little Johnny." + + -- The Senate Commerce Committee hearing on rock + lyrics, from The Village Voice, 6 Oct 1985 +% +Senate, n.: + A body of elderly gentlemen charged with high duties and +misdemeanors. + -- Ambrose Bierce +% +Serenity through viciousness. +% +Serocki's Stricture: + Marriage is always a bachelor's last option. +% +Serving coffee on aircraft causes turbulence. +% + "Seven years and six months!" Humpty Dumpty repeated +thoughtfully. "An uncomfortable sort of age. Now if you'd asked MY +advice, I'd have said `Leave off at seven' -- but it's too late now." + "I never ask advice about growing," Alice said indignantly. + "Too proud?" the other enquired. + Alice felt even more indignant at this suggestion. "I mean," +she said, "that one can't help growing older." + "ONE can't, perhaps," said Humpty Dumpty; "but TWO can. With +proper assistance, you might have left off at seven." + -- Lewis Carroll +% +Several years ago, some smart businessmen had an idea: Why not build a +big store where a do-it-yourselfer could get everything he needed at +reasonable prices? Then they decided, nah, the hell with that, let's +build a home center. And before long home centers were springing up +like crabgrass all over the United States. + -- Dave Barry, "The Taming of the Screw" +% +Sex is a natural bodily process, like a stroke. +% +Sex is not the answer. Sex is the question. "Yes" is the answer. + -- Swami X +% +Sex is the mathematics urge sublimated. + -- M. C. Reed +% +Sex without love is an empty experience, but, as empty experiences go, +it's one of the best. + -- Woody Allen +% +Shamus, n. [Yiddish]: + A shamus is a guy who takes care of handyman tasks around the +temple, and makes sure everything is in working order. + A shamus is at the bottom of the pecking order of synagogue +functionaries, and there's a joke about that: + A rabbi, to show his humility before God, cries out in the +middle of a service, "Oh, Lord, I am nobody!" The cantor, not to be +bested, also cries out, "Oh, Lord, I am nobody!" + The shamus, deeply moved, follows suit and cries, "Oh, Lord, I +am nobody!" The rabbi turns to the cantor and says, "Look who thinks +he's nobody!" + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Sharks are as tough as those football fans who take their shirts off +during games in Chicago in January, only more intelligent. + -- Dave Barry, "Sex and the Single Amoeba: What Every + Teen Should Know" +% +Shaw's Principle: + Build a system that even a fool can use, and only a fool will +want to use it. +% +She is descended from a long line that her mother listened to. + -- Gypsy Rose Lee +% +She is not refined. She is not unrefined. She keeps a parrot. + -- Mark Twain +% +She liked him; he was a man of many qualities, even if most of them +were bad. +% +She missed an invaluable opportunity to give him a look that you could +have poured on a waffle ... +% +She said, `I know you ... you cannot sing'. I said, `That's nothing, +you should hear me play piano.' + -- Morrisey +% +She's genuinely bogus. +% +Sherry [Thomas Sheridan] is dull, naturally dull; but it must have +taken him a great deal of pains to become what we now see him. Such an +excess of stupidity, sir, is not in Nature. + -- Samuel Johnson +% +SHIFT TO THE LEFT! SHIFT TO THE RIGHT! +POP UP, PUSH DOWN, BYTE, BYTE, BYTE! +% +Show me a man who is a good loser and I'll show you a man who is +playing golf with his boss. +% +Show respect for age. Drink good Scotch for a change. +% +Signs of crime: screaming or cries for help. + -- from the Brown University Security Crime Prevention Pamphlet +% +Silverman's Law: + If Murphy's Law can go wrong, it will. +% +Simon's Law: + Everything put together falls apart sooner or later. +% +Since I hurt my pendulum +My life is all erratic. +My parrot, who was cordial, +Is now transmitting static. +The carpet died, a palm collapsed, +The cat keeps doing poo. +The only thing that keeps me sane +Is talking to my shoe. + -- My Shoe +% +Since we have to speak well of the dead, let's knock them while they're +alive. + -- John Sloan +% +Since we're all here, we must not be all there. + -- Bob "Mountain" Beck +% +[Sir Stafford Cripps] has all the virtues I dislike and none of the +vices I admire. + -- Winston Churchill +% +Sixtus V, Pope from 1585 to 1590 authorized a printing of the Vulgate +Bible. Taking no chances, the pope issued a papal bull automatically +excommunicating any printer who might make an alteration in the text. +This he ordered printed at the beginning of the Bible. He personally +examined every sheet as it came off the press. Yet the published +Vulgate Bible contained so many errors that corrected scraps had to be +printed and pasted over them in every copy. The result provoked wry +comments on the rather patchy papal infallibility, and Pope Sixtus had +no recourse but to order the return and destruction of every copy. +% +Skinner's Constant (or Flannagan's Finagling Factor): + That quantity which, when multiplied by, divided by, added to, +or subtracted from the answer you get, gives you the answer you should +have gotten. +% +Slang is language that takes off its coat, spits on its hands, and goes +to work. +% +Slaves are generally expected to sing as well as to work ... I did not, +when a slave, understand the deep meanings of those rude, and +apparently incoherent songs. I was myself within the circle, so that I +neither saw nor heard as those without might see and hear. They told a +tale which was then altogether beyond my feeble comprehension: they +were tones, loud, long and deep, breathing the prayer and complaint of +souls boiling over with the bitterest anguish. Every tone was a +testimony against slavery, and a prayer to God for deliverance from +chains. + -- Frederick Douglass +% +Slick's Three Laws of the Universe: + (1) Nothing in the known universe travels faster than a bad + check. + (2) A quarter-ounce of chocolate = four pounds of fat. + (3) There are two types of dirt: the dark kind, which is + attracted to light objects, and the light kind, which is + attracted to dark objects. +% +Slowly and surely the unix crept up on the Nintendo user ... +% +Slurm, n.: + The slime that accumulates on the underside of a soap bar when +it sits in the dish too long. + -- Rich Hall, "Sniglets" +% +Smoking is one of the leading causes of statistics. + -- Fletcher Knebel +% +Snacktrek, n.: + The peculiar habit, when searching for a snack, of constantly +returning to the refrigerator in hopes that something new will have +materialized. + -- Rich Hall, "Sniglets" +% +So as your consumer electronics adviser, I am advising you to donate +your current VCR to a grate resident, who will laugh sardonically and +hurl it into a dumpster. Then I want you to go out and purchase a vast +array of 8-millimeter video equipment. + +... OK! Got everything? Well, *too bad, sucker*, because while you +were gone the electronics industry came up with an even newer format +that makes your 8-millimeter VCR look as technologically advanced as +toenail dirt. This format is called "3.5 hectare" and it will not be +made available until it is outmoded, sometime early next week, by a +format called "Elroy", so *order yours now*. + -- Dave Barry, "No Surrender in the Electronics + Revolution" +% +So far as I can remember, there is not one word in the Gospels in +praise of intelligence. + -- Bertrand Russell +% +... so long as the people do not care to exercise their freedom, those +who wish to tyranize will do so; for tyrants are active and ardent, +and will devote themselves in the name of any number of gods, religious +and otherwise, to put shackles upon sleeping men. + -- Voltarine de Cleyre +% + So Richard and I decided to try to catch [the small shark]. +With a great deal of strategy and effort and shouting, we managed to +maneuver the shark, over the course of about a half-hour, to a sort of +corner of the lagoon, so that it had no way to escape other than to +flop up onto the land and evolve. Richard and I were inching toward +it, sort of crouched over, when all of a sudden it turned around and -- +I can still remember the sensation I felt at that moment, primarily in +the armpit area -- headed right straight toward us. + Many people would have panicked at this point. But Richard and +I were not "many people." We were experienced waders, and we kept our +heads. We did exactly what the textbook says you should do when you're +unarmed and a shark that is nearly two feet long turns on you in water +up to your lower calves: We sprinted I would say 600 yards in the +opposite direction, using a sprinting style such that the bottoms of +our feet never once went below the surface of the water. We ran all +the way to the far shore, and if we had been in a Warner Brothers +cartoon we would have run right INTO the beach, and you would have seen +these two mounds of sand racing across the island until they bonked +into trees and coconuts fell onto their heads. + -- Dave Barry, "The Wonders of Sharks on TV" +% +So she went into the garden to cut a cabbage leaf to make an apple +pie; and at the same time a great she-bear, coming up the street pops +its head into the shop. "What! no soap?" So he died, and she very +imprudently married the barber; and there were present the Picninnies, +and the Grand Panjandrum himself, with the little round button at top, +and they all fell to playing the game of catch as catch can, till the +gunpowder ran out at the heels of their boots. + -- Samuel Foote +% +... So the documentary-makers stick with sharks. Generally, their +procedure is to scatter bleeding fish pieces around their boat, so as +to infest the waters. I would estimate that the primary food source of +sharks today is bleeding fish pieces scattered by people making +documentaries. Once the sharks arrive, they are generally fairly +listless. The general shark attitude seems to be: "Oh God, another +documentary." So the divers have to somehow goad them into attacking, +under the guise of Scientific Research. "We know very little about the +effect of electricity on sharks," the narrator will say, in a deeply +scientific voice. "That is why Todd is going to jab this Great White +in the testicles with a cattle prod." The divers keep this kind of +thing up until the shark finally gets irritated and snaps at them, and +then they act as though this was a totally unexpected and very +dangerous development, although clearly it is what they wanted all +along. + -- Dave Barry, "The Wonders of Sharks on TV" +% +So, what's with this guy Gideon, anyway? +And why can't he ever remember his Bible? +% +Sodd's Second Law: + Sooner or later, the worst possible set of circumstances is +bound to occur. +% +Software, n.: + Formal evening attire for female computer analysts. +% +Some don't prefer the pursuit of happiness to the happiness of pursuit. +% +Some men are alive simply because it is against the law to kill them. + -- Ed Howe +% +Some of you ... may have decided that, this year, you're going to +celebrate it the old-fashioned way, with your family sitting around +stringing cranberries and exchanging humble, handmade gifts, like on +"The Waltons". Well, you can forget it. If everybody pulled that kind +of subversive stunt, the economy would collapse overnight. The +government would have to intervene: it would form a cabinet-level +Department of Holiday Gift-Giving, which would spend billions and +billions of tax dollars to buy Barbie dolls and electronic games, which +it would drop on the populace from Air Force jets, killing and maiming +thousands. So, for the good of the nation, you should go along with +the Holiday Program. This means you should get a large sum of money +and go to a mall. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +Some people are born mediocre, some people achieve mediocrity, and some +people have mediocrity thrust upon them. + -- Joseph Heller, "Catch-22" +% +Some people have a way about them that seems to say: "If I have only +one life to live, let me live it as a jerk." +% +Some people in this department wouldn't recognize subtlety if it hit +them on the head. +% +Some people live life in the fast lane. You're in oncoming traffic. +% +Some performers on television appear to be horrible people, but when +you finally get to know them in person, they turn out to be even +worse. + -- Avery +% +Some points to remember [about animals]: + +(1) Don't go to sleep under big animals, e.g., elephants, rhinoceri, + hippopotamuses; +(2) Don't put animals with sharp teeth or poisonous fangs down the + front of your clothes; +(3) Don't pat certain animals, e.g., crocodiles and scorpions or dogs + you have just kicked. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Some primal termite knocked on wood. +And tasted it, and found it good. +And that is why your Cousin May +Fell through the parlor floor today. + -- Ogden Nash +% +Some programming languages manage to absorb change but withstand +progress. +% +Some programming languages manage to absorb change, but withstand +progress. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +Somebody ought to cross ball point pens with coat hangers so that the +pens will multiply instead of disappear. +% +Someone will try to honk your nose today. +% +Sometimes I simply feel that the whole world is a cigarette and I'm +the only ashtray. +% +Sometimes I worry about being a success in a mediocre world. + -- Lily Tomlin +% +"Somewhere", said Father Vittorini, "did Blake not speak of the +Machineries of Joy? That is, did not God promote environments, then +intimidate these Natures by provoking the existence of flesh, toy men +and women, such as are we all? And thus happily sent forth, at our +best, with good grace and fine wit, on calm noons, in fair climes, are +we not God's Machineries of Joy?" + +"If Blake said that", said Father Brian, "he never lived in Dublin." + -- R. Bradbury, "The Machineries of Joy" +% +Somewhere, just out of sight, the unicorns are gathering. +% +Song Title of the Week: + "They're putting dimes in the hole in my head to see the change +in me." +% +Sooner or later you must pay for your sins. +(Those who have already paid may disregard this fortune). +% +Sorry, no fortune this time. +% +Sorry. I forget what I was going to say. +% +Space is big. You just won't believe how vastly, hugely, mind- +bogglingly big it is. I mean, you may think it's a long way down the +road to the drug store, but that's just peanuts to space. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Spare no expense to save money on this one. + -- Samuel Goldwyn +% +Spark's Sixth Rule for Managers: + If a subordinate asks you a pertinent question, look at him as +if he had lost his senses. When he looks down, paraphrase the question +back at him. +% +Speak roughly to your little boy, + And beat him when he sneezes: +He only does it to annoy + Because he knows it teases. + + Wow! wow! wow! + +I speak severely to my boy, + And beat him when he sneezes: +For he can thoroughly enjoy + The pepper when he pleases! + + Wow! wow! wow! + -- Lewis Carroll, "Alice in Wonderland" +% +Speak roughly to your little VAX, + And boot it when it crashes; +It knows that one cannot relax + Because the paging thrashes! + + Wow! Wow! Wow! + +I speak severely to my VAX, + And boot it when it crashes; +In spite of all my favorite hacks + My jobs it always thrashes! + + Wow! Wow! Wow! +% +Speak softly and carry a +6 two-handed sword. +% +Speak softly and own a big, mean Doberman. + -- Dave Millman +% +Speaking as someone who has delved into the intricacies of PL/I, I am +sure that only Real Men could have written such a machine-hogging, +cycle-grabbing, all-encompassing monster. Allocate an array and free +the middle third? Sure! Why not? Multiply a character string times a +bit string and assign the result to a float decimal? Go ahead! Free a +controlled variable procedure parameter and reallocate it before +passing it back? Overlay three different types of variable on the same +memory location? Anything you say! Write a recursive macro? Well, +no, but Real Men use rescan. How could a language so obviously +designed and written by Real Men not be intended for Real Man use? +% +Speaking of Godzilla and other things that convey horror: + + With a purposeful grimace and a Mongo-like flair + He throws the spinning disk drives in the air! + And he picks up a Vax and he throws it back down + As he wades through the lab making terrible sounds! + Helpless users with projects due + Scream "My God!" as he stomps on the tape drives, too! + + Oh, no! He says Unix runs too slow! Go, go, DECzilla! + Oh, yes! He's gonna bring up VMS! Go, go, DECzilla!" + +* VMS is a trademark of Digital Equipment Corporation +* DECzilla is a trademark of Hollow Chocolate Bunnies of Death, Inc. + -- Curtis Jackson +% +Speaking of love, one problem that recurs more and more frequently +these days, in books and plays and movies, is the inability of people +to communicate with the people they love; Husbands and wives who can't +communicate, children who can't communicate with their parents, and so +on. And the characters in these books and plays and so on (and in real +life, I might add) spend hours bemoaning the fact that they can't +communicate. I feel that if a person can't communicate, the very _____least +he can do is to Shut Up! + -- Tom Lehrer, "That Was the Year that Was" +% +Speed is subsittute fo accurancy. +% +Speer's 1st Law of Proofreading: + The visibility of an error is inversely proportional to the +number of times you have looked at it. +% +Spelling is a lossed art. +% +Spend extra time on hobby. Get plenty of rolling papers. +% +Spirtle, n.: + The fine stream from a grapefruit that always lands right in +your eye. + -- Sniglets, "Rich Hall & Friends" +% +Spouse, n.: + Someone who'll stand by you through all the trouble you +wouldn't have had if you'd stayed single. +% +Star Wars is adolescent nonsense; Close Encounters is obscurantist +drivel; Star Trek can turn your brains to pur'ee of bat guano; and the +greatest science fiction series of all time is Doctor Who! And I'll +take you all on, one-by-one or all in a bunch to back it up! + -- Harlan Ellison +% +Stay away from flying saucers today. +% +Stay away from hurricanes for a while. +% +Stealing a rhinoceros should not be attempted lightly. +% +Steele's Plagiarism of Somebody's Philosophy: + Everybody should believe in something -- I believe I'll have +another drink. +% +Steinbach's Guideline for Systems Programming: + Never test for an error condition you don't know how to +handle. +% +Stop searching. Happiness is right next to you. +% +Stop searching. Happiness is right next to you. +Now, if they'd only take a bath ... +% +Stult's Report: + Our problems are mostly behind us. What we have to do now is +fight the solutions. +% +Stupid, n.: + Losing $25 on the game and $25 on the instant replay. +% +Stupidity got us into this mess -- why can't it get us out? +% +Sturgeon's Law: + 90% of everything is crud. +% +Substitute "damn" every time you're inclined to write "very"; your +editor will delete it and the writing will be just as it should be. + -- Mark Twain +% +Subtlety is the art of saying what you think and getting out of the way +before it is understood. +% +Succumb to natural tendencies. Be hateful and boring. +% +Suddenly, Professor Liebowitz realizes he has come to the seminar +without his duck ... +% +(Sung to the tune of "The Impossible Dream" from MAN OF LA MANCHA) + + To code the impossible code, + To bring up a virgin machine, + To pop out of endless recursion, + To grok what appears on the screen, + + To right the unrightable bug, + To endlessly twiddle and thrash, + To mount the unmountable magtape, + To stop the unstoppable crash! +% +Support bacteria -- it's the only culture some people have! +% +Support wildlife -- vote for an orgy. +% +Support your local police force -- steal!! +% +Support your local Search and Rescue unit -- get lost. +% +Sure he's sharp as a razor ... he's a two-dimensional pinhead! +% +Surprise due today. Also the rent. +% +Surprise your boss. Get to work on time. +% +Surprise! You are the lucky winner of random I.R.S. Audit! Just type +in your name and social security number. Please remember that leaving +the room is punishable under law: + +Name # + + +% +Swahili, n.: + The language used by the National Enquirer to print their retractions. + -- Johnny Hart +% +Sweater, n.: + A garment worn by a child when its mother feels chilly. +% +Swipple's Rule of Order: + He who shouts the loudest has the floor. +% +Syntactic sugar causes cancer of the semicolon. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +Systems have sub-systems and sub-systems have sub-systems and so on ad +infinitum -- which is why we're always starting over. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% + _ + _ / \ o + / \ | | o o o + | | | | _ o o o o + | \_| | / \ o o o + \__ | | | o o + | | | | ______ ~~~~ _____ + | |__/ | / ___--\\ ~~~ __/_____\__ + | ___/ / \--\\ \\ \ ___ <__ x x __\ + | | / /\\ \\ )) \ ( " ) + | | -------(---->>(@)--(@)-------\----------< >----------- + | | // | | //__________ / \ ____) (___ \\ + | | // __|_| ( --------- ) //// ______ /////\ \\ + // | ( \ ______ / <<<< <>-----<<<<< / \\ + // ( ) / / \` \__ \\ + //-------------------------------------------------------------\\ + +Every now and then when your life gets complicated and the weasels +start closing in, the only cure is to load up on heinous chemicals and +then drive like a bastard from Hollywood to Las Vegas ... with the +music at top volume and at least a pint of ether. + -- H. S. Thompson, "Fear and Loathing in Las Vegas" +% +T: One big monster, he called TROLL. + He don't rock, and he don't roll; + Drink no wine, and smoke no stogies. + He just Love To Eat Them Roguies. + -- The Roguelet's ABC +% +Tact is the ability to tell a man he has an open mind when he has a +hole in his head. +% +Tact, n.: + The unsaid part of what you're thinking. +% +Take everything in stride. Trample anyone who gets in your way. +% +Take heart amid the deepening gloom that your dog is finally getting +enough cheese. + -- National Lampoon, "Deteriorata" +% +Take it easy, we're in a hurry. +% +Take my word for it, the silliest woman can manage a clever man, but it +needs a very clever woman to manage a fool. + -- Kipling +% +Take the folks at Coca-Cola. For many years, they were content to sit +back and make the same old carbonated beverage. It was a good +beverage, no question about it; generations of people had grown up +drinking it and doing the experiment in sixth grade where you put a +nail into a glass of Coke and after a couple of days the nail dissolves +and the teacher says: "Imagine what it does to your TEETH!" So +Coca-Cola was solidly entrenched in the market, and the management saw +no need to improve ... + -- Dave Barry, "In Search of Excellence" +% +Take your dying with some seriousness, however. Laughing on the way to +your execution is not generally understood by less advanced life forms, +and they'll call you crazy. + -- "Messiah's Handbook: Reminders for the Advanced Soul" +% +Talk sense to a fool and he calls you foolish. + -- Euripides +% +Talkers are no good doers. + -- William Shakespeare, "Henry VI" +% +Talking much about oneself can also be a means to conceal oneself. + -- Friedrich Nietzsche +% +TAURUS (Apr 20 - May 20) + You are practical and persistent. You have a dogged + determination and work like hell. Most people think you are + stubborn and bull headed. You are a Communist. +% +Tax reform means "Don't tax you, don't tax me, tax that fellow behind +the tree." + -- Russell Long +% +Taxes are going up so fast, the government is likely to price itself +out of the market. +% +Taxes, n.: + Of life's two certainties, the only one for which you can get +an extension. +% +Teach children to be polite and courteous in the home, and, when they +grows up, they will never be able to edge their car onto a freeway. +% +Teamwork is essential -- it allows you to blame someone else. +% +Technological progress has merely provided us +with more efficient means for going backwards. + -- Aldous Huxley +% +Telephone, n.: + An invention of the devil which abrogates some of the +advantages of making a disagreeable person keep his distance. + -- Ambrose Bierce +% +Tell me, O Octopus, I begs, +Is those things arms, or is they legs? +I marvel at thee, Octopus; +If I were thou, I'd call me us. + -- Ogden Nash +% +Ten years of rejection slips is nature's way of telling you to stop +writing. + -- R. Geis +% +Terence, this is stupid stuff: +You eat your victuals fast enough; +There can't be much amiss, 'tis clear, +To see the rate you drink your beer. +But oh, good Lord, the verse you make, +It gives a chap the belly-ache. +The cow, the old cow, she is dead; +It sleeps well the horned head: +We poor lads, 'tis our turn now +To hear such tunes as killed the cow. +Pretty friendship 'tis to rhyme +Your friends to death before their time. +Moping, melancholy mad: +Come, pipe a tune to dance to, lad. + -- A. E. Housman +% +Termiter's argument that God is His own grandmother generated a +surprising amount of controversy among Church leaders, who on the one +hand considered the argument unsupported by scripture but on the other +hand were unwilling to risk offending God's grandmother. + -- Len Cool, "American Pie" +% +Tertullian was born in Carthage somewhere about 160 A.D. He was a +pagan, and he abandoned himself to the lascivious life of his city +until about his 35th year, when he became a Christian .... To him is +ascribed the sublime confession: Credo quia absurdum est (I believe +because it is absurd). This does not altogether accord with historical +fact, for he merely said: + + "And the Son of God died, which is immediately credible because + it is absurd. And buried he rose again, which is certain + because it is impossible." + +Thanks to the acuteness of his mind, he saw through the poverty of +philosophical and Gnostic knowledge, and contemptuously rejected it. + -- C. G. Jung, in Psychological Types + +(Tertullian was one of the founders of the Catholic Church). +% +Test-tube babies shouldn't throw stones. +% +Texas law forbids anyone to have a pair of pliers in his possession. +% +Text processing has made it possible to right-justify any idea, even +one which cannot be justified on any other grounds. + -- J. Finnegan, USC. +% +Thank goodness modern convenience is a thing of the remote future. + -- Pogo, by Walt Kelly +% +That boy's about as sharp as a pound of wet liver. + -- Foghorn Leghorn +% +That must be wonderful! I don't understand it at all. + -- Moliere +% +That secret you've been guarding, isn't. +% +That woman speaks eight languages and can't say "no" in any of them. + -- Dorothy Parker +% +The 80's -- when you can't tell hairstyles from chemotherapy. +% +The [Ford Foundation] is a large body of money completely surrounded by +people who want some. + -- Dwight MacDonald +% +The Abrams' Principle: + The shortest distance between two points is off the wall. +% +The advertisement is the most truthful part of a newspaper + -- Thomas Jefferson +% +The Advertising Agency Song: + + When your client's hopping mad, + Put his picture in the ad. + If he still should prove refractory, + Add a picture of his factory. +% +The algorithm to do that is extremely nasty. You might want to mug +someone with it. + -- M. Devine, Computer Science 340 +% +... The Anarchists' [national] anthem is an international anthem that +consists of 365 raspberries blown in very quick succession to the tune +of "Camptown Races". Nobody has to stand up for it, nobody has to +listen to it, and, even better, nobody has to play it. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The Arkansas legislature passed a law that states that the Arkansas +River can rise no higher than to the Main Street bridge in Little +Rock. +% +The Army has carried the American ... ideal to its logical conclusion. +Not only do they prohibit discrimination on the grounds of race, creed +and color, but also on ability. + -- T. Lehrer +% +The Army needs leaders the way a foot needs a big toe. + -- Bill Murray +% +The assertion that "all men are created equal" was of no practical use +in effecting our separation from Great Britain and it was placed in the +Declaration not for that, but for future use. + -- Abraham Lincoln +% +The average income of the modern teenager is about 2 a.m. +% +The average woman would rather have beauty than brains, because the +average man can see better than he can think. +% +The bad reputation UNIX has gotten is totally undeserved, laid on by +people who don't understand, who have not gotten in there and tried +anything. + -- Jim Joyce, owner of Jim Joyce's UNIX Bookstore +% +The basic idea behind malls is that they are more convenient than +cities. Cities contain streets, which are dangerous and crowded and +difficult to park in. Malls, on the other hand, have parking lots, +which are also dangerous and crowded and difficult to park in, but -- +here is the big difference -- in mall parking lots, THERE ARE NO +RULES. You're allowed to do anything. You can drive as fast as you +want in any direction you want. I was once driving in a mall parking +lot when my car was struck by a pickup truck being driven backward by a +squat man with a tattoo that said "Charlie" on his forearm, who got out +and explained to me, in great detail, why the accident was my fault, +his reasoning being that he was violent and muscular, whereas I was +neither. This kind of reasoning is legally valid in mall parking +lots. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +The basic menu item, in fact the ONLY menu item, would be a food unit +called the "patty," consisting of -- this would be guaranteed in +writing -- "100 percent animal matter of some kind." All patties would +be heated up and then cooled back down in electronic devices +immediately before serving. The Breakfast Patty would be a patty on a +bun with lettuce, tomato, onion, egg, Ba-Ko-Bits, Cheez Whiz, a Special +Sauce made by pouring ketchup out of a bottle and a little slip of +paper stating: "Inspected by Number 12". The Lunch or Dinner Patty +would be any Breakfast Patties that didn't get sold in the morning. +The Seafood Lover's Patty would be any patties that were starting to +emit a serious aroma. Patties that were too rank even to be Seafood +Lover's Patties would be compressed into wads and sold as "Nuggets." + -- Dave Barry, "'Mister Mediocre' Restaurants" +% +The best book on programming for the layman is "Alice in Wonderland"; +but that's because it's the best book on anything for the layman. +% +The best cure for insomnia is to get a lot of sleep. + -- W. C. Fields +% +The best defense against logic is ignorance. +% +The best thing about growing older is that it takes such a long time. +% +"The best thing for being sad," replied Merlin, beginning to puff and +blow, "is to learn something. That's the only thing that never fails. +You may grow old and trembling in your anatomies, you may lie awake at +night listening to the disorder of your veins, you may miss your only +love, you may see the world about you devastated by evil lunatics, or +know your honour trampled in the sewers of baser minds. There is only +one thing for it then -- to learn. Learn why the world wags and what +wags it. That is the only thing which the mind can never exhaust, +never alienate, never be tortured by, never fear or distrust, and never +dream of regretting. Learning is the only thing for you. Look what a +lot of things there are to learn." + -- T.H. White, "The Once and Future King" +% +The best way to make a fire with two sticks is to make sure one of them +is a match. + -- Will Rogers +% +The bigger the theory the better. +% +The biggest difference between time and space is that you can't reuse +time. + -- Merrick Furst +% +The birds are singing, the flowers are budding, and it is time for Miss +Manners to tell young lovers to stop necking in public. + +It's not that Miss Manners is immune to romance. Miss Manners has been +known to squeeze a gentleman's arm while being helped over a curb, and, +in her wild youth, even to press a dainty slipper against a foot or two +under the dinner table. Miss Manners also believes that the sight of +people strolling hand in hand or arm in arm or arm in hand dresses up a +city considerably more than the more familiar sight of people shaking +umbrellas at one another. What Miss Manners objects to is the kind of +activity that frightens the horses on the street ... +% +The bland leadeth the bland and they both shall fall into the kitsch. +% +The bogosity meter just pegged. +% +The brain is a wonderful organ; it starts working the moment you get up +in the morning, and does not stop until you get to school. +% +The Briggs/Chase Law of Program Development: + To determine how long it will take to write and debug a +program, take your best estimate, multiply that by two, add one, and +convert to the next higher units. +% +The buffalo isn't as dangerous as everyone makes him out to be. +Statistics prove that in the United States more Americans are killed in +automobile accidents than are killed by buffalo. + -- Art Buchwald +% +The bureaucracy is expanding to meet the needs of an expanding +bureaucracy. +% +The C Programming Language -- A language which combines the +flexibility and power of assembly language with the readability +of assembly language. +% +The camel has a single hump; +The dromedary two; +Or else the other way around. +I'm never sure. Are you? + -- Ogden Nash +% +The capacity of human beings to bore one another seems to be vastly +greater than that of any other animals. Some of their most esteemed +inventions have no other apparent purpose, for example, the dinner +party of more than two, the epic poem, and the science of metaphysics. + -- H. L. Mencken +% +The chain which can be yanked is not the eternal chain. + -- G. Fitch +% +The chicken that clucks the loudest is the one most likely to show up +at the steam fitters' picnic. +% +The chief cause of problems is solutions. + -- Eric Sevareid +% +The chief danger in life is that you may take too may precautions. + -- Alfred Adler +% +The church is near but the road is icy; the bar is far away but I will +walk carefully. + -- Russian Proverb +% +The climate of Bombay is such that its inhabitants have to live elsewhere. +% +The Computer made me do it. +% +The computing field is always in need of new cliches. + -- Alan Perlis +% +The confusion of a staff member is measured by the length of his +memos. + -- New York Times, Jan. 20, 1981 +% +The conservation movement is a breeding ground of Communists and other +subversives. We intend to clean them out, even if it means rounding up +every bird watcher in the country. + -- John Mitchell, Atty. General 1969-1972 +% +The Consultant's Curse: + When the customer has beaten upon you long enough, give him +what he asks for, instead of what he needs. This is very strong +medicine, and is normally only required once. +% +The correct way to punctuate a sentence that starts: "Of course it is +none of my business, but --" is to place a period after the word "but." +Don't use excessive force in supplying such a moron with a period. +Cutting his throat is only a momentary pleasure and is bound to get you +talked about. + -- Lazarus Long, "Time Enough for Love" +% +The cost of living hasn't affected its popularity. +% +The cost of living is going up, and the chance of living is going down. +% +The cow is nothing but a machine which makes grass fit for us people to +eat. + -- John McNulty +% +The Crown is full of it! + -- Nate Harris, 1775 +% +The cry has been that when war is declared, all opposition should +therefore be hushed. A sentiment more unworthy of a free country could +hardly be propagated. If the doctrine be admitted, rulers have only to +declare war and they are screened at once from scrutiny ... In war, +then, as in peace, assert the freedom of speech and of the press. +Cling to this as the bulwark of all our rights and privileges. + -- William Ellery Channing +% +The day after tomorrow is the third day of the rest of your life. +% +The day-to-day travails of the IBM programmer are so amusing to most of +us who are fortunate enough never to have been one -- like watching +Charlie Chaplin trying to cook a shoe. +% +The debate rages on: Is PL/I Bachtrian or Dromedary? +% +The devil finds work for idle circuits to do. +% +The difference between a misfortune and a calamity? If Gladstone fell +into the Thames, it would be a misfortune. But if someone dragged him +out again, it would be a calamity. + -- Benjamin Disraeli +% +The difference between science and the fuzzy subjects is that science +requires reasoning while those other subjects merely require scholarship. + -- Robert Heinlein +% +The distinction between Jewish and goyish can be quite subtle, as the +following quote from Lenny Bruce illustrates: + + "I'm Jewish. Count Basie's Jewish. Ray Charles is Jewish. +Eddie Cantor's goyish. The B'nai Brith is goyish. The Hadassah is +Jewish. Marine Corps -- heavy goyish, dangerous. + "Kool-Aid is goyish. All Drake's Cakes are goyish. +Pumpernickel is Jewish and, as you know, white bread is very goyish. +Instant potatoes -- goyish. Black cherry soda's very Jewish. +Macaroons are ____very Jewish. Fruit salad is Jewish. Lime Jell-O is +goyish. Lime soda is ____very goyish. Trailer parks are so goyish that +Jews won't go near them ..." + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +The District of Columbia has a law forbidding you to exert pressure on +a balloon and thereby cause a whistling sound on the streets. +% +The doctrine of human equality reposes on this: that there is no man +really clever who has not found that he is stupid. + -- Gilbert K. Chesterson +% +The duck hunter trained his retriever to walk on water. Eager to show +off this amazing accomplishment, he asked a friend to go along on his +next hunting trip. Saying nothing, he fired his first shot and, as the +duck fell, the dog walked on the surface of the water, retrieved the +duck and returned it to his master. + "Notice anything?" the owner asked eagerly. + "Yes," said his friend, "I see that fool dog of yours can't swim." +% +The early bird who catches the worm works for someone who comes in late +and owns the worm farm. + -- Travis McGee +% +The earth is like a tiny grain of sand, only much, much heavier. +% +The easiest way to figure the cost of living is to take your income and +add ten percent. +% +The economy depends about as much on economists as the weather does on +weather forecasters. + -- Jean-Paul Kauffmann +% +The eleventh commandment was `Thou Shalt Compute' or `Thou Shalt Not +Compute' -- I forget which. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +The end of the human race will be that it will eventually die of +civilization. + -- Ralph Waldo Emerson +% +The end of the world will occur at 3:00 p.m., this Friday, with +symposium to follow. +% +The English have no respect for their language, and will not teach +their children to speak it. + -- G. B. Shaw +% +The fact that boys are allowed to exist at all is evidence of a +remarkable Christian forbearance among men. + -- Ambrose Bierce +% +The fact that it works is immaterial. + -- L. Ogborn +% +The faster we go, the rounder we get. + -- The Grateful Dead +% +The Fifth Rule: + You have taken yourself too seriously. +% +The first duty of a revolutionary is to get away with it. + -- Abbie Hoffman +% +The first Great Steward, Parrafin the Climber, was employed in King +Chloroplast's kitchen as second scullery boy when the old King met a +tragic death. He apparently fell backward by accident on a dozen salad +forks. Simultaneously the true heir, his son Carotene, mysteriously +fled the city, complaining of some sort of plot and a lot of +threatening notes left on his breakfast tray. At the time, this looked +suspicious what with his father's death, and Carotene was suspected of +foul play. Then the rest of the King's relatives began to drop dead +one after the other in an odd fashion. Some were found strangled with +dishrags and some succumbed to food poisoning. A few were found +drowned in the soup vats, and one was attacked by assailants unknown +and beaten to death with a pot roast. At least three appear to have +thrown themselves backward on salad forks, perhaps in a noble gesture +of grief over the King's untimely end. Finally there was no one left +in Minas Troney who was either eligible or willing to wear the accursed +crown, and the rule of Twodor was up for grabs. The scullery slave +Parrafin bravely accepted the Stewardship of Twodor until that day when +a lineal descendant of Carotene's returns to reclaim his rightful +throne, conquer Twodor's enemies, and revamp the postal system. + -- Harvard Lampoon, "Bored of the Rings" +% +The first myth of management is that it exists. The second myth of +management is that success equals skill. + -- Robert Heller +% +The first riddle I ever heard, one familiar to almost every Jewish +child, was propounded to me by my father: + "What is it that hangs on the wall, is green, wet -- and +whistles?" + I knit my brow and thought and thought, and in final perplexity +gave up. + "A herring," said my father. + "A herring," I echoed. "A herring doesn't hang on the wall!" + "So hang it there." + "But a herring isn't green!" I protested. + "Paint it." + "But a herring isn't wet." + "If it's just painted it's still wet." + "But -- " I sputtered, summoning all my outrage, "-- a herring +doesn't whistle!!" + "Right, " smiled my father. "I just put that in to make it +hard." + -- Leo Rosten, "The Joys of Yiddish" +% +The first rule of magic is simple. Don't waste your time waving your +hands and hoping when a rock or a club will do. + -- McCloctnik the Lucid +% +The First Rule of Program Optimization: + Don't do it. + +The Second Rule of Program Optimization (for experts only!): + Don't do it yet. + -- Michael Jackson +% +The first time, it's a KLUDGE! +The second, a trick. +Later, it's a well-established technique! + -- Mike Broido, Intermetrics +% +The following quote is from page 4-27 of the MSCP Basic Disk Functions +Manual which is part of the UDA50 Programmers Doc Kit manuals: + +As stated above, the host area of a disk is structured as a vector of +logical blocks. From a performance viewpoint, however, it is more +appropriate to view the host area as a four dimensional hyper-cube, the +four dimensions being cylinder, group, track, and sector. + . . . +Referring to our hyper-cube analogy, the set of potentially accessible +blocks form a line parallel to the track axis. This line moves +parallel to the sector axis, wrapping around when it reaches the edge +of the hyper-cube. +% +The fortune program is supported, in part, by user contributions and by +a major grant from the National Endowment for the Inanities. +% +The four building blocks of the universe are fire, water, gravel and vinyl. + -- Dave Barry +% +The full impact of parenthood doesn't hit you until you multiply the +number of your kids by 32 teeth. +% +The generation of random numbers is too important to be left to +chance. +% +The gentlemen looked one another over with microscopic carelessness. +% +The geographical center of Boston is in Roxbury. Due north of the +center we find the South End. This is not to be confused with South +Boston which lies directly east from the South End. North of the South +End is East Boston and southwest of East Boston is the North End. +% +The giraffe you thought you offended last week is willing to be nuzzled +today. +% +The goal of Computer Science is to build something that will last at +least until we've finished building it. +% +The goal of science is to build better mousetraps. +The goal of nature is to build better mice. +% +The gods gave man fire and he invented fire engines. They gave him +love and he invented marriage. +% +THE GOLDEN RULE OF ARTS AND SCIENCES + The one who has the gold makes the rules. +% +The good Christian should beware of mathematicians and all those who +make empty prophecies. The danger already exists that mathematicians +have made a covenant with the devil to darken the spirit and confine +man in the bonds of Hell. + -- St. Augustine +% +The good die young -- because they see it's no use living if you've got +to be good. +% + "The Good Ship Enterprise" (to the tune of "The Good Ship Lollipop") + +On the good ship Enterprise +Every week there's a new surprise +Where the Romulans lurk +And the Klingons often go berserk. + +Yes, the good ship Enterprise +There's excitement anywhere it flies +Where Tribbles play +And Nurse Chapel never gets her way. + + See Captain Kirk standing on the bridge, + Mr. Spock is at his side. + The weekly menace, ooh-ooh + It gets fried, scattered far and wide. + +It's the good ship Enterprise +Heading out where danger lies +And you live in dread +If you're wearing a shirt that's red. + -- Doris Robin and Karen Trimble of The L.A. Filkharmonics +% +The government [is] extremely fond of amassing great quantities of +statistics. These are raised to the _nth degree, the cube roots are +extracted, and the results are arranged into elaborate and impressive +displays. What must be kept ever in mind, however, is that in every +case, the figures are first put down by a village watchman, and he puts +down anything he damn well pleases. + -- Sir Josiah Stamp +% +The grand leap of the whale up the Fall of Niagara is esteemed, by all +who have seen it, as one of the finest spectacles in nature. + -- Benjamin Franklin +% +The Great Bald Swamp Hedgehog: + The Great Bald Swamp Hedgehog of Billericay displays, in +courtship, his single prickle and does impressions of Holiday Inn desk +clerks. Since this means him standing motionless for enormous periods +of time he is often eaten in full display by The Great Bald Swamp +Hedgehog Eater. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The greatest dangers to liberty lurk in insidious encroachment by men +of zeal, well-meaning but without understanding. + -- Justice Louis D. Brandeis +% +The hardest thing in the world to understand is the income tax. + -- Albert Einstein +% +The hearing ear is always found close to the speaking tongue, a +custom whereof the memory of man runneth not howsomever to the +contrary, nohow. +% +The Heineken Uncertainty Principle: + You can never be sure how many beers you had last night. +% +The herd instinct among economists makes sheep look like independent +thinkers. +% +The hieroglyphics are all unreadable except for a notation on the back, +which reads "Genuine authentic Egyptian papyrus. Guaranteed to be at +least 5000 years old." +% +The human animal differs from the lesser primates in his passion for +lists of "Ten Best". + -- H. Allen Smith +% +The human brain is like an enormous fish -- it is flat and slimy and +has gills through which it can see. + -- Monty Python +% +The human mind ordinarily operates at only ten percent of its +capacity -- the rest is overhead for the operating system. +% +The human mind treats a new idea the way the body treats a strange +protein -- it rejects it. + -- P. Medawar +% +The human race has been fascinated by sharks for as long as I can +remember. Just like the bluebird feeding its young, or the spider +struggling to weave its perfect web, or the buttercup blooming in +spring, the shark reveals to us yet another of the infinite and +wonderful facets of nature, namely the facet that it can bite your head +off. This causes us humans to feel a certain degree of awe. + -- Dave Barry, "The Wonders of Sharks on TV" +% +The human race has one really effective weapon, and that is laughter. + -- Mark Twain +% +The human race is a race of cowards; and I am not only marching in that +procession but carrying a banner. + -- Mark Twain +% +The idea is to die young as late as possible. + -- Ashley Montague +% +The idea there was that consumers would bring their broken electronic +devices, such as television sets and VCR's, to the destruction centers, +where trained personnel would whack them (the devices) with +sledgehammers. With their devices thus permanently destroyed, +consumers would then be free to go out and buy new devices, rather than +have to fritter away years of their lives trying to have the old ones +repaired at so-called "factory service centers," which in fact consist +of two men named Lester poking at the insides of broken electronic +devices with cheap cigars and going, "Lookit all them WIRES in there!" + -- Dave Barry, "'Mister Mediocre' Restaurants" +% +The identical is equal to itself, since it is different. + -- Franco Spisani +% +The illegal we do immediately. The unconstitutional takes a bit longer. + -- Henry Kissinger +% +The income tax has made more liars out of the American people than golf +has. Even when you make a tax form out on the level, you don't know +when it's through if you are a crook or a martyr. + -- Will Rogers +% +The individual choice of garnishment of a burger can be an important +point to the consumer in this day when individualism is an increasingly +important thing to people. + -- Donald N. Smith, president of Burger King +% +The intelligence of any discussion diminishes with the square of the +number of participants. + -- Adam Walinsky +% +The IQ of the group is the lowest IQ of a member of the group divided +by the number of people in the group. +% +The IRS spends God knows how much of your tax money on these toll-free +information hot lines staffed by IRS employees, whose idea of a +dynamite tax tip is that you should print neatly. If you ask them a +real tax question, such as how you can cheat, they're useless. + +So, for guidance, you want to look to big business. Big business never +pays a nickel in taxes, according to Ralph Nader, who represents a big +consumer organization that never pays a nickel in taxes... + -- Dave Barry, "Sweating Out Taxes" +% +The Kennedy Constant: + Don't get mad -- get even. +% +The Killer Ducks are coming!!! +% +The ladies men admire, I've heard, +Would shudder at a wicked word. +Their candle gives a single light; +They'd rather stay at home at night. +They do not keep awake till three, +Nor read erotic poetry. +They never sanction the impure, +Nor recognize an overture. +They shrink from powders and from paints ... +So far, I've had no complaints. + -- Dorothy Parker +% +The last time somebody said, "I find I can write much better with a +word processor," I replied, "They used to say the same thing about +drugs." + -- Roy Blount, Jr. +% +The law will never make men free; it is men who have got to make the +law free. + -- Henry David Thoreau +% +The Law, in its majestic equality, forbids the rich, as well as the +poor, to sleep under the bridges, to beg in the streets, and to steal +bread. + -- Anatole France +% +The lawgiver, of all beings, most owes the law allegiance. He of all +men should behave as though the law compelled him. But it is the +universal weakness of mankind that what we are given to administer we +presently imagine we own. + -- H. G. Wells +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #10: SIMPLE + +SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming Language +Environment. This language, developed at the Hanover College for +Technological Misfits, was designed to make it impossible to write code +with errors in it. The statements are, therefore, confined to BEGIN, +END and STOP. No matter how you arrange the statements, you can't make +a syntax error. Programs written in SIMPLE do nothing useful. Thus +they achieve the results of programs written in other languages without +the tedious, frustrating process of testing and debugging. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #12: LITHP + +This otherwise unremarkable language is distinguished by the absence of +an "S" in its character set; users must substitute "TH". LITHP is said +to be useful in protheththing lithtth. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #13: SLOBOL + +SLOBOL is best known for the speed, or lack of it, of its compiler. +Although many compilers allow you to take a coffee break while they +compile, SLOBOL compilers allow you to travel to Bolivia to pick the +coffee. Forty-three programmers are known to have died of boredom +sitting at their terminals while waiting for a SLOBOL program to +compile. Weary SLOBOL programmers often turn to a related (but +infinitely faster) language, COCAINE. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #17: SARTRE + +Named after the late existential philosopher, SARTRE is an extremely +unstructured language. Statements in SARTRE have no purpose; they just +are. Thus SARTRE programs are left to define their own functions. +SARTRE programmers tend to be boring and depressed, and are no fun at +parties. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #18: C- + +This language was named for the grade received by its creator when he +submitted it as a class project in a graduate programming class. C- is +best described as a "low-level" programming language. In fact, the +language generally requires more C- statements than machine-code +statements to execute a given task. In this respect, it is very +similar to COBOL. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #18a: FIFTH + +FIFTH is a precision mathematical language in which the data types +refer to quantity. The data types range from CC, OUNCE, SHOT, and +JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM and +BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY, +CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, and WHATEVERSAROUND. + +The many versions of the FIFTH language reflect the sophistication and +financial status of its users. Commands in the ELITE dialect include +VSOP and LAFITE, while commands in the GUTTER dialect include HOOTCH +and RIPPLE. The latter is a favorite of frustrated FORTH programmers +who end up using this language. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #2: RENE + +Named after the famous French philosopher and mathematician Rene +Descartes, RENE is a language used for artificial intelligence. The +language is being developed at the Chicago Center of Machine Politics +and Programming under a grant from the Jane Byrne Victory Fund. A +spokesman described the language as "Just as great as dis [sic] city of +ours." + +The center is very pleased with progress to date. They say they have +almost succeeded in getting a VAX to think. However, sources inside the +organization say that each time the machine fails to think it ceases to +exist. +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #5: VALGOL +From its modest beginnings in Southern California's San Fernando Valley, +VALGOL is enjoying a dramatic surge of popularity across the industry. + +Here is a sample program: + LIKE, Y*KNOW(I MEAN)START + IF PIZZA = LIKE BITCHEN AND GUY = LIKE TUBULAR AND + VALLEY GIRL = LIKE GRODY**MAX(FERSURE)**2 THEN + FOR I = LIKE 1 TO OH*MAYBE 100 + DO*WAH - (DITTY**2) + BARF(I)=TOTALLY GROSS(OUT) + SURE + LIKE BAG THIS PROGRAM + REALLY + LIKE TOTALLY (Y*KNOW) + IM*SURE + GOTO THE MALL + +When the user makes a syntax error, the interpreter displays the message: + + GAG ME WITH A SPOON!! +% + THE LESSER-KNOWN PROGRAMMING LANGUAGES #8: LAIDBACK + +This language was developed at the Marin County Center for T'ai Chi, +Mellowness and Computer Programming (now defunct), as an alternative to +the more intense atmosphere in nearby Silicon Valley. + +The center was ideal for programmers who liked to soak in hot tubs +while they worked. Unfortunately few programmers could survive there +because the center outlawed Pizza and Coca-Cola in favor of Tofu and +Perrier. + +Many mourn the demise of LAIDBACK because of its reputation as a gentle +and non-threatening language since all error messages are in lower +case. For example, LAIDBACK responded to syntax errors with the +message: + "i hate to bother you, but i just can't relate to that. can + you find the time to try it again?" +% +The light at the end of the tunnel is the headlight of an approaching +train. +% +The light at the end of the tunnel may be an oncoming dragon. +% +The lion and the calf shall lie down together but the calf won't get +much sleep. + -- Woody Allen +% +The longer I am out of office, the more infallible I appear to myself. + -- Henry Kissinger +% +The Lord gave us farmers two strong hands so we could grab as much as +we could with both of them. + -- Joseph Heller, "Catch-22" +% +The makers may make +And the users may use, +But the fixers must fix +With but minimal clues +% +The man who follows the crowd will usually get no further than the +crowd. The man who walks alone is likely to find himself in places no +one has ever been. + -- Alan Ashley-Pitt +% +The man who sets out to carry a cat by its tail learns something that +will always be useful and which never will grow dim or doubtful. + -- Mark Twain +% +The marvels of today's modern technology include the development of a +soda can, when discarded will last forever ... and a $7,000 car which +when properly cared for will rust out in two or three years. +% +... the Mayo Clinic, named after its founder, Dr. Ted Clinic ... + -- Dave Barry +% +The meek shall inherit the earth -- they are too weak to refuse. +% + The men sat sipping their tea in silence. After a while the +klutz said, "Life is like a bowl of sour cream." + + "Like a bowl of sour cream?" asked the other. "Why?" + + "How should I know? What am I, a philosopher?" +% +The meta-Turing test counts a thing as intelligent if it seeks to +devise and apply Turing tests to objects of its own creation. + -- Lew Mammel, Jr. +% +The misnaming of fields of study is so common as to lead to what might +be general systems laws. For example, Frank Harary once suggested the +law that any field that had the word "science" in its name was +guaranteed thereby not to be a science. He would cite as examples +Military Science, Library Science, Political Science, Homemaking +Science, Social Science, and Computer Science. Discuss the generality +of this law, and possible reasons for its predictive +power. + -- Gerald Weinberg, "An Introduction to General Systems + Thinking." +% +The modern child will answer you back before you've said anything. + -- Laurence J. Peter +% +The mome rath isn't born that could outgrabe me. + -- Nicol Williamson +% +The moon is a planet just like the Earth, only it is even deader. +% +The moon may be smaller than Earth, but it's further away. +% +The more data I punch in this card, the lighter it becomes, and the +lower the mailing cost. + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +The more laws and order are made prominent, +the more thieves and robbers there will be. + -- Lao Tsu +% +The more things change, the more they stay insane. +% +The more we disagree, the more chance there is that at least one of us +is right. +% +The mosquito is the state bird of New Jersey. + -- Andy Warhol +% +The most difficult thing in the world is to know how to do a thing and +to watch someone else do it wrong without comment. + -- Theodore H. White +% +The most exciting phrase to hear in science, the one that heralds new +discoveries, is not "Eureka!" (I found it!) but "That's funny ..." + -- Isaac Asimov +% +The moving cursor writes, and having written, blinks on. +% +... the MYSTERIANS are in here with my CORDUROY SOAP DISH!! +% + "... The name of the song is called 'Haddocks' Eyes'!" + "Oh, that's the name of the song, is it?" Alice said, trying to +feel interested. + "No, you don't understand," the Knight said, looking a little +vexed. "That's what the name is called. The name really is, 'The Aged +Aged Man.'" + "Then I ought to have said "That's what the song is called'?" +Alice corrected herself. + "No, you oughtn't: that's quite another thing! The song is +called 'Ways and Means': but that's only what it is called you know!" + "Well, what is the song then?" said Alice, who was by this time +completely bewildered. + "I was coming to that," the Knight said. "The song really is +"A-sitting on a Gate": and the tune's my own invention." + -- Lewis Carroll, "Through the Looking Glass" +% +The National Association of Theater Concessionaires reported that in +1986, 60% of all candy sold in movie theaters was sold to Roger Ebert. + -- D. Letterman +% +The National Short-Sleeved Shirt Association says: + Support your right to bare arms! +% +The net of law is spread so wide, +No sinner from its sweep may hide. +Its meshes are so fine and strong, +They take in every child of wrong. +O wondrous web of mystery! +Big fish alone escape from thee! + -- James Jeffrey Roche +% +The new Congressmen say they're going to turn the government around. I +hope I don't get run over again. +% +The New Testament offers the basis for modern computer coding theory, +in the form of an affirmation of the binary number system. + + But let your communication be Yea, yea; nay, nay: for + whatsoever is more than these cometh of evil. + -- Matthew 5:37 +% +The New York Times is read by the people who run the country. The +Washington Post is read by the people who think they run the country. +The National Enquirer is read by the people who think Elvis is alive +and running the country ... + -- Robert J. Woodhead +% +The nice thing about standards is that there are so many of them to +choose from. + -- Andrew S. Tanenbaum +% +The notion of a "record" is an obsolete remnant of the days of the +80-column card. + -- Dennis M. Ritchie +% +The notion that the church, the press, and the universities should +serve the state is essentially a Communist notion ... In a free society +these institutions must be wholly free -- which is to say that their +function is to serve as checks upon the state. + -- Alan Barth +% +The number of arguments is unimportant unless some of them are +correct. + -- Ralph Hartley +% +The objective of all dedicated employees should be to thoroughly +analyze all situations, anticipate all problems prior to their +occurrence, have answers for these problems, and move swiftly to solve +these problems when called upon. + +However, when you are up to your ass in alligators it is difficult to +remind yourself your initial objective was to drain the swamp. +% +The Official MBA Handbook on business cards: + Avoid overly pretentious job titles such as "Lord of the Realm, +Defender of the Faith, Emperor of India" or "Director of Corporate +Planning." +% +The older a man gets, the farther he had to walk to school as a boy. +% +The older I grow the more I distrust the familiar doctrine that age +brings wisdom. + -- H. L. Mencken +% +The older I grow, the less important the comma becomes. Let the reader +catch his own breath. + -- Elizabeth Clarkson Zwart +% +The one good thing about repeating your mistakes is that you know when +to cringe. +% +The only possible interpretation of any research whatever in the +`social sciences' is: some do, some don't. + -- Ernest Rutherford +% +The only problem with being a man of leisure is that you can never stop +and take a rest. +% +The only real way to look younger is not to be born so soon. + -- Charles Schulz, "Things I've Had to Learn Over and + Over and Over" +% +The only really decent thing to do behind a person's back is pat it. +% +The only really good place to buy lumber is at a store where the lumber +has already been cut and attached together in the form of furniture, +finished, and put inside boxes. + -- Dave Barry, "The Taming of the Screw" +% +The only thing to do with good advice is pass it on. +It is never any use to oneself. + -- Oscar Wilde +% +The only thing we learn from history is that we learn nothing from history. + -- Hegel + +I know guys can't learn from yesterday ... Hegel must be taking the +long view. + -- John Brunner, "Stand on Zanzibar" +% +The only way to get rid of a temptation is to yield to it. + -- Oscar Wilde +% +The opossum is a very sophisticated animal. It doesn't even get up +until 5 or 6 p.m. +% +The opposite of a profound truth may well be another profound truth. + -- Niels Bohr +% +The optimum committee has no members. + -- Norman Augustine +% +The other day I put instant coffee in my microwave oven ... I almost +went back in time. + -- Steven Wright +% +The past always looks better than it was. It's only pleasant because +it isn't here. + -- Finley Peter Dunne (Mr. Dooley) +% +The penalty for laughing in a courtroom is six months in jail; if it +were not for this penalty, the jury would never hear the evidence. + -- H. L. Mencken +% + The people of Halifax invented the trampoline. During the +Victorian period the tripe-dressers of Halifax stretched tripe across a +large wooden frame and jumped up and down on it to `tender and dress' +it. The tripoline, as they called it, degenerated into becoming the +apparatus for a spectator sport. + + The people of Halifax also invented the harmonium, a device for +castrating pigs during Sunday service. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The Pig, if I am not mistaken, +Gives us ham and pork and Bacon. +Let others think his heart is big, +I think it stupid of the Pig. + -- Ogden Nash +% +The pitcher wound up and he flang the ball at the batter. The batter +swang and missed. The pitcher flang the ball again and this time the +batter connected. He hit a high fly right to the center fielder. The +center fielder was all set to catch the ball, but at the last minute +his eyes were blound by the sun and he dropped it. + -- Dizzy Dean +% +The plot was designed in a light vein that somehow became varicose. + -- David Lardner +% +The polite thing to do has always been to address people as they wish +to be addressed, to treat them in a way they think dignified. But it +is equally important to accept and tolerate different standards of +courtesy, not expecting everyone else to adapt to one's own +preferences. Only then can we hope to restore the insult to its proper +social function of expressing true distaste. + -- Judith Martin, "Miss Manners' Guide to + Excruciatingly Correct Behavior" +% +The porcupine with the sharpest quills gets stuck on a tree more often. +% +The Preacher, the Politician, the Teacher, + Were each of them once a kiddie. +A child, indeed, is a wonderful creature. + Do I want one? God Forbiddie! + -- Ogden Nash +% +The President publicly apologized today to all those offended by his +brother's remark, "There's more Arabs in this country than there is +Jews!". Those offended include Arabs, Jews, and English teachers. + -- Baltimore, Channel 11 News, on Jimmy Carter +% +The price of seeking to force our beliefs on others is that someday +they might force their beliefs on us. + -- Mario Cuomo +% +The primary cause of failure in electrical appliances is an expired +warranty. Often, you can get an appliance running again simply by +changing the warranty expiration date with a 15/64-inch felt-tipped +marker. + -- Dave Barry, "The Taming of the Screw" +% +The primary purpose of the DATA statement is to give names to +constants; instead of referring to pi as 3.141592653589793 at every +appearance, the variable PI can be given that value with a DATA +statement and used instead of the longer form of the constant. This +also simplifies modifying the program, should the value of pi change. + -- FORTRAN manual for Xerox Computers +% +The primary requisite for any new tax law is for it to exempt enough +voters to win the next election. +% +The primary theme of SoupCon is communication. The acronym "LEO" +represents the secondary theme: + + Law Enforcement Officials + +The overall theme of SoupCon shall be: + + Avoiding Communication with Law Enforcement Officials + + -- M. Gallaher +% +... the privileged being which we call human is distinguished from +other animals only by certain double-edged manifestations which in +charity we can only call "inhuman." + -- R. A. Lafferty +% +The probability of someone watching you is proportional to the +stupidity of your action. +% +The problem ... is that we have run out of dinosaurs to form oil with. +Scientists working for the Department of Energy have tried to form oil +using other animals; they've piled thousands of tons of sand and Middle +Eastern countries on top of cows, raccoons, haddock, laboratory rats, +etc., but so far all they have managed to do is run up an enormous +bulldozer-rental bill and anger a lot of Middle Eastern persons. None +of the animals turned into oil, although most of the laboratory rats +developed cancer. + -- Dave Barry, "Postpetroleum Guzzler" +% +The problem with any unwritten law is that you don't know where to go +to erase it. + -- Glaser and Way +% +The problem with engineers is that they tend to cheat in order to get +results. + +The problem with mathematicians is that they tend to work on toy +problems in order to get results. + +The problem with program verifiers is that they tend to cheat at toy +problems in order to get results. +% +The problem with people who have no vices is that generally you can be +pretty sure they're going to have some pretty annoying virtues. + -- Elizabeth Taylor +% +The problem with the gene pool is that there is no lifeguard. +% +The Psblurtex is an 18-inch long anaconda that hides in the gentlemen's +outfitting departments of Amazonian stores and is often bought by +mistake since its colors are those of the London Reform Club. Once +tied around its victim's neck, it strangles him gently and then claims +the insurance before running off to Germany where it lives in hiding. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +"The pyramid is opening!" +"Which one?" +"The one with the ever-widening hole in it!" + -- The Firesign Theatre, "How Can You Be In Two Places At + Once When You're Not Anywhere At All" +% +The qotc (quote of the con) was Liz's: + "My brain is paged out to my liver" +% +The question is, why are politicians so eager to be president? What is +it about the job that makes it worth revealing, on national television, +that you have the ethical standards of a slime-coated piece of +industrial waste? + -- Dave Barry, "On Presidential Politics" +% +The rain it raineth on the just + And also on the unjust fella, +But chiefly on the just, because + The unjust steals the just's umbrella. + --Lord Bowen +% +The reader this message encounters not failing to understand is +cursed. +% +The reason computer chips are so small is computers don't eat much. +% +The reason it's called "Grape Nuts" is that it contains "dextrose", +which is also sometimes called "grape sugar", and also because "Grape +Nuts" is catchier, in terms of marketing, than "A Cross Between Gerbil +Food and Gravel", which is what it tastes like. + -- Dave Barry, "Tips for Writer's" +% +The reasonable man adapts himself to the world; the unreasonable one +persists in trying to adapt the world to himself. Therefore all +progress depends on the unreasonable man. + -- George Bernard Shaw +% +The revolution will not be televised. +% +The reward of a thing well done is to have done it. + -- Emerson +% +The rhino is a homely beast, +For human eyes he's not a feast. +Farewell, farewell, you old rhinoceros, +I'll stare at something less prepoceros. + -- Ogden Nash +% +The right half of the brain controls the left half of the body. This +means that only left handed people are in their right mind. +% +The Right Honorable Gentleman is indebted to his memory for his jests +and to his imagination for his facts. + -- Sheridan +% +The right to revolt has sources deep in our history. + -- Supreme Court Justice William O. Douglas +% +The rights you have are the rights given you by this Committee [the +House Un-American Activities Committee]. We will determine what rights +you have and what rights you have not got. + -- J. Parnell Thomas +% +The road to hell is paved with good intentions. And littered with +sloppy analysis! +% +The Roman Rule + The one who says it cannot be done should never interrupt the + one who is doing it. +% +The Ruffed Pandanga of Borneo and Rotherham spreads out his feathers in +his courtship dance and imitates Winston Churchill and Tommy Cooper on +one leg. The padanga is dying out because the female padanga doesn't +take it too seriously. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The rule on staying alive as a forecaster is to give 'em a number or +give 'em a date, but never give 'em both at once. + -- Jane Bryant Quinn +% +"The Schizophrenic: An Unauthorized Autobiography" +% +The Schwine-Kitzenger Institute study of 47 men over the age of 100 +showed that all had these things in common: + + (1) They all had moderate appetites. + (2) They all came from middle class homes + (3) All but two of them were dead. +% +The scum also rises. + -- Dr. Hunter S. Thompson +% +The seven deadly sins ... Food, clothing, firing, rent, taxes, +respectability and children. Nothing can lift those seven milestones +from man's neck but money; and the spirit cannot soar until the +milestones are lifted. + -- George Bernard Shaw +% + The seven eyes of Ningauble the Wizard floated back to his hood +as he reported to Fafhrd: "I have seen much, yet cannot explain all. +The Gray Mouser is exactly twenty-five feet below the deepest cellar in +the palace of Gilpkerio Kistomerces. Even though twenty-four parts in +twenty-five of him are dead, he is alive. + + "Now about Lankhmar. She's been invaded, her walls breached +everywhere and desperate fighting is going on in the streets, by a +fierce host which out-numbers Lankhmar's inhabitants by fifty to one -- +and equipped with all modern weapons. Yet you can save the city." + + "How?" demanded Fafhrd. + + Ningauble shrugged. "You're a hero. You should know." + -- Fritz Leiber, from "The Swords of Lankhmar" +% +The sheep that fly over your head are soon to land. +% +The shortest distance between two points is under construction. + -- Noelie Alito +% +The Sixth Commandment of Frisbee: + The greatest single aid to distance is for the disc to be going +in a direction you did not want. (Goes the wrong way = Goes a long +way.) + -- Dan Roddick +% +The society which scorns excellence in plumbing as a humble activity +and tolerates shoddiness in philosophy because it is an exalted +activity will have neither good plumbing nor good philosophy ... +neither its pipes nor its theories will hold water. +% +The sooner all the animals are dead, the sooner we'll find their +money. + -- Ed Bluestone, "The National Lampoon" +% +The sooner you fall behind, the more time you'll have to catch up! +% +The sooner you make your first 5000 mistakes, the sooner you will be +able to correct them. + -- Nicolaides +% +The soul would have no rainbow had the eyes no tears. +% +The Soviet pre-eminence in chess can be traced to the average Russian's +readiness to brood obsessively over anything, even the arrangement of +some pieces of wood. Indeed, the Russians' predisposition for quiet +reflection followed by sudden preventive action explains why they led +the field for many years in both chess and ax murders. It is well +known that as early as 1970, the U.S.S.R., aware of what a defeat at +Reykjavik would do to national prestige, implemented a vigorous program +of preparation and incentive. Every day for an entire year, a team of +psychologists, chess analysts and coaches met with the top three +Russian grand masters and threatened them with a pointy stick. That +these tactics proved fruitless is now a part of chess history and a +further testament to the American way, which provides that if you want +something badly enough, you can always go to Iceland and get it from +the Russians. + -- Marshall Brickman, Playboy, April, 1973 +% + The STAR WARS Song + Sung to the tune of "Lola", by the Kinks: + +I met him in a swamp down in Dagobah +Where it bubbles all the time like a giant cabinet soda + S-O-D-A soda +I saw the little runt sitting there on a log +I asked him his name and in a raspy voice he said Yoda + Y-O-D-A Yoda, Yo-Yo-Yo-Yo Yoda + +Well I've been around but I ain't never seen +A guy who looks like a Muppet but he's wrinkled and green + Oh my Yoda, Yo-Yo-Yo-Yo Yoda +Well I'm not dumb but I can't understand +How he can raise me in the air just by raising his hand + Oh my Yoda, Yo-Yo-Yo-Yo Yoda, Yo-Yo-Yo-Yo Yoda +% +The state law of Pennsylvania prohibits singing in the bathtub. +% +The steady state of disks is full. + -- Ken Thompson +% + THE STORY OF CREATION + or + THE MYTH OF URK + +In the beginning there was data. The data was without form and null, +and darkness was upon the face of the console; and the Spirit of IBM +was moving over the face of the market. And DEC said, "Let there be +registers"; and there were registers. And DEC saw that they carried; +and DEC separated the data from the instructions. DEC called the data +Stack, and the instructions they called Code. And there was evening +and there was morning, one interrupt. + -- Rico Tudor +% +The streets are safe in Philadelphia, it's only the people who make +them unsafe. + -- Mayor Frank Rizzo +% +The student in question is performing minimally for his peer group and +is an emerging underachiever. +% +The study of non-linear physics is like the study of non-elephant +biology. +% +The subspace _W inherits the other 8 properties of _V. And there aren't +even any property taxes. + -- J. MacKay, Mathematics 134b +% +The sum of the Universe is zero. +% +The sun was shining on the sea, +Shining with all his might: +He did his very best to make +The billows smooth and bright -- +And this was very odd, because it was +The middle of the night. + -- Lewis Carroll, "Through the Looking Glass" +% +The superfluous is very necessary. + -- Voltaire +% +The surest protection against temptation is cowardice. + -- Mark Twain +% +The temperature of Heaven can be rather accurately computed. Our +authority is Isaiah 30:26, "Moreover, the light of the Moon shall be as +the light of the Sun and the light of the Sun shall be sevenfold, as +the light of seven days." Thus Heaven receives from the Moon as much +radiation as we do from the Sun, and in addition 7*7 (49) times as much +as the Earth does from the Sun, or 50 times in all. The light we +receive from the Moon is one 1/10,000 of the light we receive from the +Sun, so we can ignore that ... The radiation falling on Heaven will +heat it to the point where the heat lost by radiation is just equal to +the heat received by radiation, i.e., Heaven loses 50 times as much +heat as the Earth by radiation. Using the Stefan-Boltzmann law for +radiation, (_H/_E)^4 = 50, where _E is the absolute temperature of the +earth (-300K), gives _H as 798K (525C). The exact temperature of Hell +cannot be computed ... [However] Revelations 21:8 says "But the +fearful, and unbelieving ... shall have their part in the lake which +burneth with fire and brimstone." A lake of molten brimstone means +that its temperature must be at or below the boiling point, 444.6C. We +have, then, that Heaven, at 525C is hotter than Hell at 445C. + -- From "Applied Optics" vol. 11, A14, 1972 +% +The Third Law of Photography: + If you did manage to get any good shots, they will be ruined +when someone inadvertently opens the darkroom door and all of the dark +leaks out. +% +The Three Laws of Thermodynamics: + +The First Law: You can't get anything without working for it. +The Second Law: The most you can accomplish by working is to break + even. +The Third Law: You can only break even at absolute zero. +% + The Three Major Kind of Tools + +* Tools for hittings things to make them loose or to tighten them up or + jar their many complex, sophisticated electrical parts in such a + manner that they function perfectly. (These are your hammers, maces, + bludgeons, and truncheons.) + +* Tools that, if dropped properly, can penetrate your foot. (Awls) + +* Tools that nobody should ever use because the potential danger is far + greater than the value of any project that could possibly result. + (Power saws, power drills, power staplers, any kind of tool that uses + any kind of power more advanced than flashlight batteries.) + -- Dave Barry, "The Taming of the Screw" +% +The trouble with a kitten is that +When it grows up, it's always a cat + -- Ogden Nash +% +The trouble with being poor is that it takes up all your time. +% +The trouble with being punctual is that nobody's there to appreciate +it. + -- Franklin P. Jones +% +The trouble with being punctual is that people think you have nothing +more important to do. +% +The trouble with doing something right the first time is that nobody +appreciates how difficult it was. +% +The trouble with superheros is what to do between phone booths. + -- Ken Kesey +% +The truth is what is; what should be is a dirty lie. + -- Lenny Bruce +% +The truth of a proposition has nothing to do with its credibility. +And vice versa. +% +The turtle lives 'twixt plated decks +Which practically conceal its sex. +I think it clever of the turtle +In such a fix to be so fertile. + -- Ogden Nash +% +The two most common things in the universe are hydrogen and stupidity. +% +The typewriting machine, when played with expression, is no more +annoying than the piano when played by a sister or near relation. + -- Oscar Wilde +% +The United States also has its native Fascists who say that they are +"100 percent American"... + -- U. S. Army (1945) +% +The United States is like the guy at the party who gives cocaine to +everybody and still nobody likes him. + -- Jim Samuels +% +The universe does not have laws -- it has habits, and habits can be +broken. +% +The universe is like a safe to which there is a combination -- but the +combination is locked up in the safe. + -- Peter DeVries +% +The University of California Bears announced the signing of Reggie +Philbin to a letter of intent to attend Cal next Fall. Philbin is said +to make up for no talent by cheating well. Says Philbin of his +decision to attend Cal, "I'm in it for the free ride." +% +The USA is so enormous, and so numerous are its schools, colleges and +religious seminaries, many devoted to special religious beliefs ranging +from the unorthodox to the dotty, that we can hardly wonder at its +yielding a more bounteous harvest of gobbledygook than the rest of the +world put together. + -- Sir Peter Medawar +% +The use of COBOL cripples the mind; its teaching should, therefore, be +regarded as a criminal offense. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +The verdict of a jury is the a priori opinion of that juror who smokes +the worst cigars. + -- H. L. Mencken +% +The very ink with which all history is written is merely fluid +prejudice. + -- Mark Twain +% +The very powerful and the very stupid have one thing in common. +Instead of altering their views to fit the facts, they alter the facts +to fit their views ... which can be very uncomfortable if you happen to +be one of the facts that needs altering. + -- Doctor Who, "Face of Evil" +% +The wages of sin are death; but after they're done taking out taxes, +it's just a tired feeling: +% +The wages of sin are high but you get your money's worth. +% +The warning message we sent the Russians was a calculated ambiguity +that would be clearly understood. + -- Alexander Haig +% +The way to make a small fortune in the commodities market is to start +with a large fortune. +% + THE WOMBAT + +The wombat lives across the seas, +Among the far Antipodes. +He may exist on nuts and berries, +Or then again, on missionaries; +His distant habitat precludes +Conclusive knowledge of his moods. +But I would not engage the wombat +In any form of mortal combat. +% +The world is coming to an end ... SAVE YOUR BUFFERS!!! +% +The world is coming to an end! Repent and return those library books! +% +The world is coming to an end. Please log off. +% +The world's as ugly as sin, +And almost as delightful. + -- Frederick Locker-Lampson +% +The years of peak mental activity are undoubtedly between the ages of +four and eighteen. At four we know all the questions, at eighteen all +the answers. +% +Then a man said: Speak to us of Expectations. + +He then said: If a man does not see or hear the waters of the Jordan, +then he should not taste the pomegranate or ply his wares in an open +market. + +If a man would not labour in the salt and rock quarries then he should +not accept of the Earth that which he refuses to give of himself. + +Such a man would expect a pear of a peach tree. +Such a man would expect a stone to lay an egg. +Such a man would expect Sears to assemble a lawnmower. + -- Kehlog Albran, "The Profit" +% +Then here's to the City of Boston, +The town of the cries and the groans. +Where the Cabots can't see the Kabotschniks, +And the Lowells won't speak to the Cohns. + -- Franklin Pierce Adams +% + THEORY +Into love and out again, + Thus I went and thus I go. +Spare your voice, and hold your pen: + Well and bitterly I know +All the songs were ever sung, + All the words were ever said; +Could it be, when I was young, + Someone dropped me on my head? + -- Dorothy Parker +% +There *__is* intelligent life on Earth, but I leave for Texas on Monday. +% +There are four kinds of homicide: felonious, excusable, justifiable, +and praiseworthy ... + -- Ambrose Bierce, "The Devil's Dictionary" +% +There are many intelligent species in the universe. They all own +cats. +% +There are no data that cannot be plotted on a straight line if the axis +are chosen correctly. +% +There are no games on this system. +% +There are no physicists in the hottest parts of hell, because the +existence of a "hottest part" implies a temperature difference, and any +marginally competent physicist would immediately use this to run a heat +engine and make some other part of hell comfortably cool. This is +obviously impossible. + -- Richard Davisson +% +There are people so addicted to exaggeration +that they can't tell the truth without lying. + -- Josh Billings +% +There are really not many jobs that actually require a penis or a +vagina, and all other occupations should be open to everyone. + -- Gloria Steinem +% + There are some goyisha names that just about guarantee that +someone isn't Jewish. For example, you'll never meet a Jew named +Johnson or Wright or Jones or Sinclair or Ricks or Stevenson or Reid or +Larsen or Jenks. But some goyisha names just about guarantee that +every other person you meet with that name will be Jewish. Why is +this? + Who knows? Learned rabbis have pondered this question for +centuries and have failed to come up with an answer, and you think ___you +can find one? Get serious. You don't even understand why it's +forbidden to eat crab -- fresh cold crab with mayonnaise -- or lobster +-- soft tender morsels of lobster dipped in melted butter. You don't +even understand a simple thing like that, and yet you hope to discover +why there are more Jews named Miller than Katz? Fat Chance. + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +There are some micro-organisms that exhibit characteristics of both +plants and animals. When exposed to light they undergo photosynthesis; +and when the lights go out, they turn into animals. But then again, +don't we all? +% +There are those who claim that magic is like the tide; that it swells +and fades over the surface of the earth, collecting in concentrated +pools here and there, almost disappearing from other spots, leaving +them parched for wonder. There are also those who believe that if you +stick your fingers up your nose and blow, it will increase your +intelligence. + -- The Teachings of Ebenezum, Volume VII +% +There are three kinds of lies: Lies, Damn Lies, and Statistics. + -- Disraeli +% +There are three possibilities: +Pioneer's solar panel has turned away from the sun; +there's a large meteor blocking transmission; or +someone loaded Star Trek 3.2 into our video processor. +% +There are three possible parts to a date, of which at least two must be +offered: entertainment, food, and affection. It is customary to begin +a series of dates with a great deal of entertainment, a moderate amount +of food, and the merest suggestion of affection. As the amount of +affection increases, the entertainment can be reduced proportionately. +When the affection IS the entertainment, we no longer call it dating. +Under no circumstances can the food be omitted. + -- Miss Manners' Guide to Excruciatingly Correct Behavior +% +There are three principal ways to lose money: wine, women, and +engineers. While the first two are more pleasant, the third is by far +the more certain. + -- Baron Rothschild, ca. 1800 +% +There are three schools of magic. One: State a tautology, then ring +the changes on its corollaries; that's philosophy. Two: Record many +facts. Try to find a pattern. Then make a wrong guess at the next +fact; that's science. Three: Be aware that you live in a malevolent +Universe controlled by Murphy's Law, sometimes offset by Brewster's +Factor; that's engineering. +% +There are three things I always forget. Names, faces -- the third I +can't remember. + -- Italo Svevo +% +There are three ways to get something done: + (1) Do it yourself. + (2) Hire someone to do it for you. + (3) Forbid your kids to do it. +% +There are three ways to get something done: do it yourself, hire +someone, or forbid your kids to do it. +% +There are times when truth is stranger than fiction and lunch time is +one of them. +% +There are two kinds of solar-heat systems: "passive" systems collect +the sunlight that hits your home, and "active" systems collect the +sunlight that hits your neighbors' homes, too. + -- Dave Barry, "Postpetroleum Guzzler" +% +There are two types of people in this world, good and bad. The good +sleep better, but the bad seem to enjoy the waking hours much more. + -- Woody Allen +% +There are two ways of constructing a software design: One way is to +make is so simple that there are obviously no deficiencies, and the +other way is to make it so complicated that there are no obvious +deficiencies. + -- C. A. R. Hoare +% +There are two ways of disliking poetry; one way is to dislike it, the +other is to read Pope. + -- Oscar Wilde +% +There are two ways to write error-free programs. Only the third one +works. +% +There are very few personal problems that cannot be solved through a +suitable application of high explosives. +% +There can be no twisted thought without a twisted molecule. + -- R. W. Gerard +% +There cannot be a crisis next week. My schedule is already full. + -- Henry Kissinger +% +There exist tasks which cannot be done by more than 10 men or fewer +than 100. + -- Steele's Law +% +There has been an alarming increase in the number of things you know +nothing about. +% +There is a certain impertinence in allowing oneself to be burned for an +opinion. + -- Anatole France +% +There is a great discovery still to be made in Literature: that of +paying literary men by the quantity they do NOT write. +% +There is a green, multi-legged creature crawling on your shoulder. +% +There is a Massachusetts law requiring all dogs to have their hind legs +tied during the month of April. +% +There is a natural hootchy-kootchy to a goldfish. + -- Walt Disney +% +There is a road to freedom. Its milestones are Obedience, Endeavor, +Honesty, Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and +love of the Fatherland. + -- Adolf Hitler +% +There is a theory which states that if ever anyone discovers exactly +what the Universe is for and why it is here, it will instantly +disappear and be replaced by something even more bizarre and +inexplicable. + +There is another theory which states that this has already happened. + + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +There is hopeful symbolism in the fact that flags do not wave in a vacuum. + -- Arthur C. Clarke +% +There is no distinctly native American criminal class except Congress. + -- Mark Twain +% +There is no realizable power that man cannot, in time, fashion the +tools to attain, nor any power so secure that the naked ape will not +abuse it. So it is written in the genetic cards -- only physics and +war hold him in check. And also the wife who wants him home by five, +of course. + -- Encyclopedia Apocryphia, 1990 ed. +% +There is no reason for any individual to have a computer in their home. + -- Ken Olsen, President of DEC, World Future Society + Convention, 1977 +% +There is no satisfaction in hanging a man who does not object to it. + -- G. B. Shaw +% +There is no substitute for good manners, except, perhaps, fast reflexes. +% +There is no such thing as fortune. Try again. +% +There is no time like the pleasant. +% +There is no time like the present for postponing what you ought to be +doing. +% +There is no TRUTH. There is no REALITY. There is no CONSISTENCY. +There are no ABSOLUTE STATEMENTS I'm very probably wrong. +% +"There is nothing which cannot be answered by means of my doctrine," +said a monk, coming into a teahouse where Nasrudin sat. "And yet just +a short time ago, I was challenged by a scholar with an unanswerable +question," said Nasrudin. "I could have answered it if I had been +there." "Very well. He asked, 'Why are you breaking into my house in +the middle of the night?'" +% +There is nothing wrong with Southern California that a rise in the +ocean level wouldn't cure. + -- Ross MacDonald +% +There is only one thing in the world worse than being talked about, and +that is not being talked about. + -- Oscar Wilde +% +There is something fascinating about science. One gets such wholesale +returns of conjecture out of such a trifling investment of fact. + -- Mark Twain +% +There was a boy called Eustace Clarence Scrubb, and he almost deserved it. + -- C. S. Lewis, The Chronicles of Narnia +% +There was a plane crash over mid-ocean, and only three survivors were +left in the life-raft: the Pope, the President, and Mayor Daley. +Unfortunately, it was a one-man life-raft, and quickly sinking, so they +started debating who should be allowed to stay. + +The Pope pointed out that he was the spiritual leader of millions all +over the world, the President explained that if he died then America +would be stuck with the Vice-President, and so forth. Then Mayor Daley +said, "Look! We're not solving anything like this! The only fair +thing to do is to vote on it." So they did, and Mayor Daley won by 97 +votes. +% +There was an interesting development in the CBS-Westmoreland trial: +both sides agreed that after the trial, Andy Rooney would be allowed to +talk to the jury for three minutes about little things that annoyed him +during the trial. + -- David Letterman +% +There were in this country two very large monopolies. The larger of +the two had the following record: the Vietnam War, Watergate, double- +digit inflation, fuel and energy shortages, bankrupt airlines, and the +8-cent postcard. The second was responsible for such things as the +transistor, the solar cell, lasers, synthetic crystals, high fidelity +stereo recording, sound motion pictures, radio astronomy, negative +feedback, magnetic tape, magnetic "bubbles", electronic switching +systems, microwave radio and TV relay systems, information theory, the +first electrical digital computer, and the first communications +satellite. Guess which one got to tell the other how to run the +telephone business? +% +There's a fine line between courage and foolishness. Too bad it's not +a fence. +% +There's an old proverb that says just about whatever you want it to. +% +There's little in taking or giving, + There's little in water or wine: +This living, this living, this living, + Was never a project of mine. +Oh, hard is the struggle, and sparse is + The gain of the one at the top, +For art is a form of catharsis, + And love is a permanent flop, +And work is the province of cattle, + And rest's for a clam in a shell, +So I'm thinking of throwing the battle -- + Would you kindly direct me to hell? + -- Dorothy Parker +% +There's no easy quick way out, we're gonna have to live through our +whole lives, win, lose, or draw. + -- Walt Kelly +% +There's no future in time travel. +% +There's no point in being grown up if you can't be childish sometimes. + -- Dr. Who +% +There's no real need to do housework -- after four years it doesn't get +any worse. +% +There's no room in the drug world for amateurs. +% +There's no trick to being a humorist when you have the whole government +working for you. + -- Will Rodgers +% +There's nothing in the middle of the road but a yellow stripe and +dead armadillos. + -- Jim Hightower, Texas Agricultural Commissioner +% +There's nothing wrong with teenagers that reasoning with them +won't aggravate. +% +There's only one way to have a happy marriage and as soon as I learn +what it is I'll get married again. + -- Clint Eastwood +% +There's so much plastic in this culture that vinyl leopard skin is +becoming an endangered synthetic. + -- Lily Tomlin +% +"These are DARK TIMES for all mankind's HIGHEST VALUES!" +"These are DARK TIMES for FREEDOM and PROSPERITY!" +"These are GREAT TIMES to put your money on BAD GUY to kick the CRAP +out of MEGATON MAN!" +% +These days the necessities of life cost you about three times what they +used to, and half the time they aren't even fit to drink. +% +They also surf who only stand on waves. +% +They make a desert and call it peace. + -- Tacitus (55?-120?) +% +They spell it "da Vinci" and pronounce it "da Vinchy". Foreigners +always spell better than they pronounce. + -- Mark Twain +% +They that can give up essential liberty to obtain a little temporary +safety deserve neither liberty nor safety. + -- Benjamin Franklin, 1759 +% +They told me I was gullible ... and I believed them! +% +They told me you had proven it When they discovered our results + About a month before. Their hair began to curl +The proof was valid, more or less Instead of understanding it + But rather less than more. We'd run the thing through PRL. + +He sent them word that we would try Don't tell a soul about all this + To pass where they had failed For it must ever be +And after we were done, to them A secret, kept from all the rest + The new proof would be mailed. Between yourself and me. + +My notion was to start again + Ignoring all they'd done +We quickly turned it into code + To see if it would run. +% +They're only trying to make me LOOK paranoid! +% +They're unfriendly, which is fortunate, really. They'd be difficult to like. + -- Avon +% +Things are more like they used to be than they are now. +% +Things will be bright in P.M. A cop will shine a light in your face. +% +Think big. Pollute the Mississippi. +% +Think honk if you're a telepath. +% +Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.! +% +Think of your family tonight. Try to crawl home after the computer +crashes. +% +Think twice before speaking, but don't say "think think click click". +% +"Thirty days hath Septober, +April, June, and no wonder. +all the rest have peanut butter +except my father who wears red suspenders." +% +This Fortue Examined By INSPECTOR NO. 2-14 +% +This fortune cookie program out of order. For those in desperate need, +please use the program "________randchar". This program generates random +characters, and, given enough time, will undoubtedly come up with +something profound. It will, however, take it no time at all to be +more profound than THIS program has ever been. +% +This fortune intentionally not included. +% +This fortune is false. +% +This fortune is inoperative. Please try another. +% +This is a country where people are free to practice their religion, +regardless of race, creed, color, obesity, or number of dangling keys... +% +This is a job for BOB VIOLENCE and SCUM, the INCREDIBLY STUPID MUTANT DOG. + -- Bob Violence +% +This is a test of the Emergency Broadcast System. If this had been an +actual emergency, do you really think we'd stick around to tell you? +% +This is an especially good time for you vacationers who plan to fly, +because the Reagan administration, as part of the same policy under +which it recently sold Yellowstone National Park to Wayne Newton, has +"deregulated" the airline industry. What this means for you, the +consumer, is that the airlines are no longer required to follow any +rules whatsoever. They can show snuff movies. They can charge for +oxygen. They can hire pilots right out of Vending Machine Refill +Person School. They can conserve fuel by ejecting husky passengers +over water. They can ram competing planes in mid-air. These +innovations have resulted in tremendous cost savings which have been +passed along to you, the consumer, in the form of flights with +amazingly low fares, such as $29. Of course, certain restrictions do +apply, the main one being that all these flights take you to Newark, +and you must pay thousands of dollars if you want to fly back out. + -- Dave Barry, "Iowa -- Land of Secure Vacations" +% +This is an unauthorized cybernetic announcement. +% +This is for all ill-treated fellows + Unborn and unbegot, +For them to read when they're in trouble + And I am not. + -- A. E. Housman +% +This is lemma 1.1. We start a new chapter so the numbers all go back +to one. + -- Prof. Seager, C&O 351 +% +This is National Non-Dairy Creamer Week. +% +THIS IS PLEDGE WEEK FOR THE FORTUNE PROGRAM + +If you like the fortune program, why not support it now with your +contribution of a pithy fortune, clean or obscene? We cannot continue +without your support. Less than 14% of all fortune users are +contributors. That means that 86% of you are getting a free ride. We +can't go on like this much longer. Federal cutbacks mean less money +for fortunes, and unless user contributions increase to make up the +difference, the fortune program will have to shut down between midnight +and 8 a.m. Don't let this happen. Mail your fortunes right now to +"fortune". Just type in your favorite pithy saying. Do it now before +you forget. Our target is 300 new fortunes by the end of the week. +Don't miss out. All fortunes will be acknowledged. If you contribute +30 fortunes or more, you will receive a free subscription to "The +Fortune Hunter", our monthly program guide. If you contribute 50 or +more, you will receive a free "Fortune Hunter" coffee mug .... +% +This is the ____LAST time I take travel suggestions from Ray Bradbury! +% +This is the first numerical problem I ever did. It demonstrates the +power of computers: + +Enter lots of data on calorie & nutritive content of foods. Instruct +the thing to maximize a function describing nutritive content, with a +minimum level of each component, for fixed caloric content. The +results are that one should eat each day: + + 1/2 chicken + 1 egg + 1 glass of skim milk + 27 heads of lettuce. + -- Rev. Adrian Melott +% +This is the story of the bee +Whose sex is very hard to see + +You cannot tell the he from the she +But she can tell, and so can he + +The little bee is never still +She has no time to take the pill + +And that is why, in times like these +There are so many sons of bees. +% +This is your fortune. +% +This land is full of trousers! +this land is full of mausers! + And pussycats to eat them when the sun goes down! + -- The Firesign Theatre +% +This land is made of mountains, +This land is made of mud, +This land has lots of everything, +For me and Elmer Fudd. + +This land has lots of trousers, +This land has lots of mousers, +And pussycats to eat them +When the sun goes down. +% +This life is a test. It is only a test. Had this been an actual life, +you would have received further instructions as to what to do and where +to go. +% +This login session: $13.99, but for you $11.88 +% +This novel is not to be tossed lightly aside, but to be hurled with +great force. + -- Dorothy Parker +% +This planet has -- or rather had -- a problem, which was this: most of +the people living on it were unhappy for pretty much of the time. Many +solutions were suggested for this problem, but most of these were +largely concerned with the movements of small green pieces of paper, +which is odd because on the whole it wasn't the small green pieces of +paper that were unhappy. + -- Douglas Adams +% +This process can check if this value is zero, and if it is, it does +something child-like. + -- Forbes Burkowski, Computer Science 454 +% +This quote is taken from the Diamondback, the University of Maryland +student newspaper, of Tuesday, 3/10/87. + + One disadvantage of the Univac system is that it does not use + Unix, a recently developed program which translates from one + computer language to another and has a built-in editing system + which identifies errors in the original program. +% +This sentence contradicts itself -- no actually it doesn't. + -- Douglas Hofstadter +% +... This striving for excellence extends into people's personal lives +as well. When '80s people buy something, they buy the best one, as +determined by (1) price and (2) lack of availability. Eighties people +buy imported dental floss. They buy gourmet baking soda. If an '80s +couple goes to a restaurant where they have made a reservation three +weeks in advance, and they are informed that their table is available, +they stalk out immediately, because they know it is not an excellent +restaurant. If it were, it would have an enormous crowd of +excellence-oriented people like themselves waiting, their beepers going +off like crickets in the night. An excellent restaurant wouldn't have +a table ready immediately for anybody below the rank of Liza Minnelli. + -- Dave Barry, "In Search of Excellence" +% +This will be a memorable month -- no matter how hard you try to forget it. +% + Thompson, if he is to be believed, has sampled the entire +rainbow of legal and illegal drugs in heroic efforts to feel better +than he does. + As for the truth about his health: I have asked around about +it. I am told that he appears to be strong and rosy, and steadily +sane. But we will be doing what he wants us to do, I think, if we +consider his exterior a sort of Dorian Gray facade. Inwardly, he is +being eaten alive by tinhorn politicians. + The disease is fatal. There is no known cure. The most we can +do for the poor devil, it seems to me, is to name his disease in his +honor. From this moment on, let all those who feel that Americans can +be as easily led to beauty as to ugliness, to truth as to public +relations, to joy as to bitterness, be said to be suffering from Hunter +Thompson's disease. I don't have it this morning. It comes and goes. +This morning I don't have Hunter Thompson's disease. + -- Kurt Vonnegut Jr. on Dr. Hunter S. Thompson: Excerpt + from "A Political Disease", Vonnegut's review of "Fear + and Loathing: On the Campaign Trail '72" +% +Those of you who think you know everything are very annoying to those +of us who do. +% +Those who can't write, write manuals. +% +Those who can, do. Those who can't, simulate. +% +Those who do not do politics will be done in by politics. + -- French Proverb +% +Those who do not understand Unix are condemned to reinvent it, poorly. + -- Henry Spencer +% +Those who educate children well are more to be honored than parents, +for these only gave life, those the art of living well. + -- Aristotle +% +Those who express random thoughts to legislative committees are often +surprised and appalled to find themselves the instigators of law. + -- Mark B. Cohen +% +Those who in quarrels interpose, must often wipe a bloody nose. +% +Those who make peaceful revolution impossible +will make violent revolution inevitable. + -- John F. Kennedy +% +Those who profess to favor freedom, and yet deprecate agitation, are +men who want rain without thunder and lightning. They want the ocean +without the roar of its many waters. + -- Frederick Douglass +% +Three great scientific theories of the structure of the universe are +the molecular, the corpuscular and the atomic. A fourth affirms, with +Haeckel, the condensation or precipitation of matter from ether -- +whose existence is proved by the condensation or precipitation ... A +fifth theory is held by idiots, but it is doubtful if they know any +more about the matter than the others. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Time flies like an arrow +Fruit flies like a banana +% +Time flies like an arrow, but fruit flies like a banana. +% +Time is an illusion; lunchtime, doubly so. + -- Ford Prefect +% +Time is nature's way of making sure that everything doesn't happen at +once. +% +'Tis the dream of each programmer, +Before his life is done, +To write three lines of APL, +And make the damn things run. +% + (to "The Caissons Go Rolling Along") +Scratch the disks, dump the core, Shut it down, pull the plug +Roll the tapes across the floor, Give the core an extra tug +And the system is going to crash. And the system is going to crash. +Teletypes smashed to bits. Mem'ry cards, one and all, +Give the scopes some nasty hits Toss out halfway down the hall +And the system is going to crash. And the system is going to crash. +And we've also found Just flip one switch +When you turn the power down, And the lights will cease to twitch +You turn the disk readers into trash. And the tape drives will crumble + in a flash. +Oh, it's so much fun, When the CPU +Now the CPU won't run Can print nothing out but "foo," +And the system is going to crash. The system is going to crash. +% + To A Quick Young Fox: +Why jog exquisite bulk, fond crazy vamp, +Daft buxom jonquil, zephyr's gawky vice? +Guy fed by work, quiz Jove's xanthic lamp -- +Zow! Qualms by deja vu gyp fox-kin thrice. + -- Lazy Dog +% +To be intoxicated is to feel sophisticated but not be able to say it. +% +To be is to do. + -- I. Kant +To do is to be. + -- A. Sartre +Yabba-Dabba-Doo! + -- F. Flintstone +% +To be responsive at this time, though I will simply say, and therefore +this is a repeat of what I said previously, that which I am unable to +offer in response is based on information available to make no such +statement. +% +To be sure of hitting the target, shoot first and, whatever you hit, +call it the target. +% +To err is human, to forgive is Not Company Policy. +% +To err is human, to forgive, beyond the scope of the Operating System +% +To err is human, to moo bovine. +% +To every Ph.D. there is an equal and opposite Ph.D. + -- B. Duggan +% +To generalize is to be an idiot. + -- William Blake +% +To get something done, a committee should consist of no more than three +men, two of them absent. +% +To invent, you need a good imagination and a pile of junk. + -- Thomas Edison +% +To iterate is human, to recurse, divine. + -- Robert Heller +% +To the best of my recollection, Senator, I can't recall. +% +To the systems programmer, users and applications serve only to provide +a test load. +% +To those accustomed to the precise, structured methods of conventional +system development, exploratory development techniques may seem messy, +inelegant, and unsatisfying. But it's a question of congruence: +precision and flexibility may be just as dysfunctional in novel, +uncertain situations as sloppiness and vacillation are in familiar, +well-defined ones. Those who admire the massive, rigid bone structures +of dinosaurs should remember that jellyfish still enjoy their very +secure ecological niche. + -- Beau Sheil, "Power Tools for Programmers" +% +To understand this important story, you have to understand how the +telephone company works. Your telephone is connected to a local +computer, which is in turn connected to a regional computer, which is +in turn connected to a loudspeaker the size of a garbage truck on the +lawn of Edna A. Bargewater of Lawrence, Kan. + +Whenever you talk on the phone, your local computer listens in. If it +suspects you're going to discuss an intimate topic, it notifies the +computer above it, which listens in and decides whether to alert the +one above it, until finally, if you really humiliate yourself, maybe +break down in tears and tell your closest friend about a sordid +incident from your past involving a seedy motel, a neighbor's spouse, +an entire religious order, a garden hose and six quarts of tapioca +pudding, the top computer feeds your conversation into Edna's +loudspeaker, and she and her friends come out on the porch to listen +and drink gin and laugh themselves silly. + -- Dave Barry, "Won't It Be Just Great Owning Our Own + Phones?" +% +To vacillate or not to vacillate, that is the question ... or is it? +% +To YOU I'm an atheist; to God, I'm the Loyal Opposition. + -- Woody Allen +% +Today is a good day to bribe a high-ranking public official. +% +Today is National Existential Ennui Awareness Day. +% +Today is the first day of the rest of the mess. +% +Today is the first day of the rest of your lossage. +% +Today is the tomorrow you worried about yesterday. +% +Today's scientific question is: What in the world is electricity? + +And where does it go after it leaves the toaster? + -- Dave Barry, "What is Electricity?" +% +Today's thrilling story has been brought to you by Mushies, the great new +cereal that gets soggy even without milk or cream. Join us soon for more +spectacular adventure starring ... Tippy, the Wonder Dog. + -- Bob & Ray +% +Today, of course, it is considered very poor taste to use the F-word +except in major motion pictures. + -- Dave Barry, "$#$%#^%!^%&@%@!" +% +Toilet Toup'ee, n.: + Any shag carpet that causes the lid to become top-heavy, thus +creating endless annoyance to male users. + -- Rich Hall, "Sniglets" +% +Tomorrow will be canceled due to lack of interest. +% +Tonight's the night: Sleep in a eucalyptus tree. +% +Too clever is dumb. + -- Ogden Nash +% +Too much of a good thing is WONDERFUL. + -- Mae West +% +Too much of everything is just enough. + -- Bob Wier +% +Too often I find that the volume of paper expands to fill the available +briefcases. + -- Governor Jerry Brown +% +Top 10 things likely to be overheard if you had a Klingon Programmer: + 10) Specifications are for the weak and timid! + 9) You question the worthiness of my code? I should kill you where you stand! + 8) Indentation?! - I will show you how to indent when I indent your skull! + 7) What is this talk of 'release'? Klingons do not make software 'releases'. + Our software 'escapes' leaving a bloody trail of designers and quality + assurance people in its wake. + 6) Klingon function calls do not have 'parameters' - they have 'arguments' + - and they ALWAYS WIN THEM. + 5) Debugging? Klingons do not debug. Our software does not coddle the weak. + 4) A TRUE Klingon Warrior does not comment his code! + 3) Klingon software does NOT have BUGS. It has FEATURES, and those features + are too sophisticated for a Romulan pig like you to understand. + 2) You cannot truly appreciate Dilbert unless you've read it in the + original Klingon. + 1) Our users will know fear and cower before our software! Ship it! + Ship it and let them flee like the dogs they are! +% +Top scientists agree that with the present rate of consumption, the +earth's supply of gravity will be exhausted before the 24th century. +As man struggles to discover cheaper alternatives, we need your help. +Please... + + CONSERVE GRAVITY + +Follow these simple suggestions: + +(1) Walk with a light step. Carry helium balloons if possible. +(2) Use tape, magnets, or glue instead of paperweights. +(3) Give up skiing and skydiving for more horizontal sports like + curling. +(4) Avoid showers .. take baths instead. +(5) Don't hang all your clothes in the closet ... Keep them in one big + pile. +(6) Stop flipping pancakes +% +Travel important today; Internal Revenue men arrive tomorrow. +% +Troubled day for virgins over 16 who are beautiful, wealthy, and live +in eucalyptus trees. +% +Truly great madness can not be achieved without significant intelligence. + -- Henrik Tikkanen +% +Truth is the most valuable thing we have -- so let us economize it. + -- Mark Twain +% +Truth will be out this morning. (Which may really mess things up.) +% +Truthful, adj.: + Dumb and illiterate. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Try not to have a good time ... This is supposed to be educational. + -- Charles Schulz +% +Try to be the best of whatever you are, even if what you are is no good. +% +Try to find the real tense of the report you are reading: Was it done, +is it being done, or is something to be done? Reports are now written +in four tenses: past tense, present tense, future tense, and +pretense. Watch for novel uses of CONGRAM (CONtractor GRAMmer), +defined by the imperfect past, the insufficient present, and the +absolutely perfect future. + -- Amrom Katz +% +Try to get all of your posthumous medals in advance. +% +Trying to be happy is like trying to build a machine for which the only +specification is that it should run noiselessly. +% +Trying to define yourself is like trying to bite your own teeth. + -- Alan Watts +% +Trying to establish voice contact ... please ____yell into keyboard. +% +Turnaucka's Law: + The attention span of a computer is only as long as its +electrical cord. +% +Tussman's Law: + Nothing is as inevitable as a mistake whose time has come. +% +TV is chewing gum for the eyes. + -- Frank Lloyd Wright +% +'Twas midnight, and the UNIX hacks +Did gyre and gimble in their cave +All mimsy was the CS-VAX +And Cory raths outgrabe. + +"Beware the software rot, my son! +The faults that bite, the jobs that thrash! +Beware the broken pipe, and shun +The frumious system crash!" +% + 'Twas the Night before Crisis + +'Twas the night before crisis, and all through the house, + Not a program was working not even a browse. +The programmers were wrung out too mindless to care, + Knowing chances of cutover hadn't a prayer. +The users were nestled all snug in their beds, + While visions of inquiries danced in their heads. +When out in the lobby there arose such a clatter, + I sprang from my tube to see what was the matter. +And what to my wondering eyes should appear, + But a Super Programmer, oblivious to fear. +More rapid than eagles, his programs they came, + And he whistled and shouted and called them by name; +On Update! On Add! On Inquiry! On Delete! + On Batch Jobs! On Closing! On Functions Complete! +His eyes were glazed over, his fingers were lean, + From Weekends and nights in front of a screen. +A wink of his eye, and a twist of his head, + Soon gave me to know I had nothing to dread... +% +'Twas the nocturnal segment of the diurnal period + preceding the annual Yuletide celebration, And + throughout our place of residence, +Kinetic activity was not in evidence among the + possessors of this potential, including that + species of domestic rodent known as Mus musculus. +Hosiery was meticulously suspended from the forward + edge of the woodburning caloric apparatus, +Pursuant to our anticipatory pleasure regarding an + imminent visitation from an eccentric + philanthropist among whose folkloric appelations + is the honorific title of St. Nicklaus ... +% +Twenty Percent of Zero is Better than Nothing. + -- Walt Kelly +% +Two can Live as Cheaply as One for Half as Long. + -- Howard Kandel +% +Two men came before Nasrudin when he was magistrate. The first man +said, "This man has bitten my ear -- I demand compensation." The +second man said, "He bit it himself." Nasrudin withdrew to his +chambers, and spent an hour trying to bite his own ear. He succeeded +only in falling over and bruising his forehead. Returning to the +courtroom, Nasrudin pronounced, "Examine the man whose ear was bitten. +If his forehead is bruised, he did it himself and the case is +dismissed. If his forehead is not bruised, the other man did it and +must pay three silver pieces." +% +Two percent of zero is almost nothing. +% +Two sure ways to tell a sexy male; the first is, he has a bad memory. +I forget the second. +% +Two wrongs don't make a right, but three lefts do. +% +U: There's a U -- a Unicorn! + Run right up and rub its horn. + Look at all those points you're losing! + UMBER HULKS are so confusing. + -- The Roguelet's ABC +% +"Ubi non accusator, ibi non judex." + +(Where there is no police, there is no speed limit.) + -- Roman Law, trans. Petr Beckmann (1971) +% +UFO's are for real: the Air Force doesn't exist. +% +"Uncle Cosmo ... why do they call this a word processor?" + +"It's simple, Skyler ... you've seen what food processors do to food, +right?" + -- MacNelley, "Shoe" +% +Uncle Ed's Rule of Thumb: + Never use your thumb for a rule. You'll either hit it with a +hammer or get a splinter in it. +% +Under a government which imprisons any unjustly, the true place for a +just man is also a prison. +% +Under deadline pressure for the next week. If you want something, it +can wait. Unless it's blind screaming paroxysmally hedonistic ... +% +Underlying Principle of Socio-Genetics: + Superiority is recessive. +% +Unfair animal names: + +-- tsetse fly -- bullhead +-- booby -- duck-billed platypus +-- sapsucker -- Clarence + -- Gary Larson +% +United Nations, New York, December 25. The peace and joy of the +Christmas season was marred by a proclamation of a general strike of +all the military forces of the world. Panic reigns in the hearts of +all the patriots of every persuasion. + +Meanwhile, fears of universal disaster sank to an all-time low over the +world. + -- Isaac Asimov +% +Universe, n.: + The problem. +% +University, n.: + Like a software house, except the software's free, and it's +usable, and it works, and if it breaks they'll quickly tell you how to +fix it, and ... +% +unix soit qui mal y pense +% +UNIX was half a billion (500000000) seconds old on +Tue Nov 5 00:53:20 1985 GMT (measuring since the time(2) epoch). + -- Andrew S. Tanenbaum +% +Unnamed Law: + If it happens, it must be possible. +% +Unquestionably, there is progress. The average American now pays out +twice as much in taxes as he formerly got in wages. + -- H. L. Mencken +% +Usage: fortune -P [] -a [xsz] [Q: [file]] [rKe9] -v6[+] dataspec ... inputdir +% +User n.: + A programmer who will believe anything you tell him. +% +USER, n.: + The word computer professionals use when they mean "idiot." + -- Dave Barry, "Claw Your Way to the Top" +% +Using TSO is like kicking a dead whale down the beach. + -- S. C. Johnson +% +Utility is when you have one telephone, luxury is when you have two, +opulence is when you have three -- and paradise is when you have none. + -- Doug Larson +% +Vail's Second Axiom: + The amount of work to be done increases in proportion to the +amount of work already completed. +% +Valerie: Aww, Tom, you're going maudlin on me ... +Tom: I reserve the right to wax maudlin as I wane eloquent ... + -- Tom Chapin +% +Van Roy's Law: + An unbreakable toy is useful for breaking other toys. +% +Vanilla, adj.: + Ordinary flavor, standard. See FLAVOR. When used of food, +very often does not mean that the food is flavored with vanilla +extract! For example, "vanilla-flavored won ton soup" (or simply +"vanilla won ton soup") means ordinary won ton soup, as opposed to hot +and sour won ton soup. +% +Velilind's Laws of Experimentation: + (1) If reproducibility may be a problem, conduct the test only + once. + (2) If a straight line fit is required, obtain only two data + points. +% +Veni, Vidi, Visa. +% + "Verily and forsooth," replied Goodgulf darkly. "In the past +year strange and fearful wonders I have seen. Fields sown with barley +reap crabgrass and fungus, and even small gardens reject their +artichoke hearts. There has been a hot day in December and a blue +moon. Calendars are made with a month of Sundays and a blue-ribbon +Holstein bore alive two insurance salesmen. The earth splits and the +entrails of a goat were found tied in square knots. The face of the +sun blackens and the skies have rained down soggy potato chips." + + "But what do all these things mean?" gasped Frito. + + "Beats me," said Goodgulf with a shrug, "but I thought it made +good copy." + -- Harvard Lampoon, "Bored of the Rings" +% +Very few profundities can be expressed in less than 80 characters. +% +Vila: "I think I have just made the biggest mistake of my life." +Orac: "It is unlikely. I would predict there are far greater mistakes + waiting to be made by someone with your obvious talent for it." +% +Violence is the last refuge of the incompetent. + -- Salvor Hardin +% +Virginia law forbids bathtubs in the house; tubs must be kept in the +yard. +% +VIRGO (Aug 23 - Sept 22) + Learn something new today, like how to spell or how to count to + ten without using your fingers. Be careful dressing this + morning. You may be hit by a car later in the day and you + wouldn't want to be taken to the doctor's office in some of + that old underwear you own. +% +VIRGO (Aug 23 - Sept 22) + You are the logical type and hate disorder. This nitpicking is + sickening to your friends. You are cold and unemotional and + sometimes fall asleep while making love. Virgos make good bus + drivers. +% +"Virtual" means never knowing where your next byte is coming from. +% +Virtue is its own punishment. +% +Vital papers will demonstrate their vitality by spontaneously moving +from where you left them to where you can't find them. +% +Vitamin C deficiency is apauling. +% +VMS is like a nightmare about RSX-11M. +% +Vote anarchist. +% +Vote for ME -- I'm well-tapered, half-cocked, ill-conceived and +TAX-DEFERRED! +% +VYARZERZOMANIMORORSEZASSEZANSERAREORSES? +% + + *** System shutdown message from root *** + +System going down in 60 seconds + + +% +Wagner's music is better than it sounds. + -- Mark Twain +% +Waiter: "Tea or coffee, gentlemen?" +1st customer: "I'll have tea." +2nd customer: "Me, too -- and be sure the glass is clean!" + (Waiter exits, returns) +Waiter: "Two teas. Which one asked for the clean glass?" +% +Walk softly and carry a megawatt laser. +% +War hath no fury like a non-combatant. + -- Charles Edward Montague +% +War is peace. Freedom is slavery. Ketchup is a vegetable. +% + WARNING TO ALL PERSONNEL: + +Firings will continue until morale improves. +% +WARNING: + Reading this fortune can affect the dimensionality of your +mind, change the curvature of your spine, cause the growth of hair on +your palms, and make a difference in the outcome of your favorite war. +% +Warning: Listening to WXRT on April Fools' Day is not recommended for +those who are slightly disoriented the first few hours after waking +up. + -- Chicago Reader 4/22/83 +% +Warp 7 -- It's a law we can live with. +% +Washington [D.C.] is a city of Southern efficiency and Northern charm. + -- John F. Kennedy +% +Waste not, get your budget cut next year. +% +Wasting time is an important part of living. +% +Watson's Law: + The reliability of machinery is inversely proportional to the +number and significance of any persons watching it. +% +We are all agreed that your theory is crazy. The question which +divides us is whether it is crazy enough to have a chance of being +correct. My own feeling is that it is not crazy enough. + -- Niels Bohr +% +We are all in the gutter, but some of us are looking at the stars. + -- Oscar Wilde +% +We are all worms. But I do believe I am a glowworm. + -- Winston Churchill +% +We ARE as gods and might as well get good at it. + -- Whole Earth Catalog +% +We are confronted with insurmountable opportunities. + -- Walt Kelly, "Pogo" +% +We are going to give a little something, a few little years more, to +socialism, because socialism is defunct. It dies all by itself. The +bad thing is that socialism, being a victim of its ... Did I say +socialism? + -- Fidel Castro +% +We are on the verge: Today our program proved Fermat's next-to-last theorem. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +We are upping our standards ... so up yours. + -- Pat Paulsen for President, 1988 +% +We can defeat gravity. The problem is the paperwork involved. +% +We can predict everything, except the future. +% +We cannot put the face of a person on a stamp unless said person is +deceased. My suggestion, therefore, is that you drop dead. + -- James E. Day, Postmaster General +% +We demand rigidly defined areas of doubt and uncertainty! + -- Vroomfondel +% +We don't care. We don't have to. We're the Phone Company. +% +We don't know who discovered water, but we're certain it wasn't a +fish. +% +We don't understand the software, and sometimes we don't understand the +hardware, but we can *___see* the blinking lights! +% +We gave you an atomic bomb, what do you want, mermaids? + -- I. I. Rabi to the Atomic Energy Commission +% +We had it tough ... I had to get up at 9 o'clock at night, half an +hour before I went to bed, eat a lump of dry poison, work 29 hours down +mill, and when we came home our Dad would kill us, and dance about on +our grave singing Haleleuia ... + -- Monty Python +% +We have met the enemy, and he is us. + -- Walt Kelly +% +We have only two things to worry about: That things will never get +back to normal, and that they already have. +% +We have reason to believe that man first walked upright to free his +hands for masturbation. + -- Lily Tomlin +% +We have the flu. I don't know if this particular strain has an +official name, but if it does, it must be something like "Martian Death +Flu". You may have had it yourself. The main symptom is that you wish +you had another setting on your electric blanket, up past "HIGH", that +said "ELECTROCUTION". + +Another symptom is that you cease brushing your teeth, because (a) your +teeth hurt, and (b) you lack the strength. Midway through the brushing +process, you'd have to lie down in front of the sink to rest for a +couple of hours, and rivulets of toothpaste foam would dribble sideways +out of your mouth, eventually hardening into crusty little toothpaste +stalagmites that would bond your head permanently to the bathroom +floor, which is how the police would find you. + +You know the kind of flu I'm talking about. + -- Dave Barry, "Molecular Homicide" +% +We may hope that machines will eventually compete with men in all +purely intellectual fields. But which are the best ones to start +with? Many people think that a very abstract activity, like the +playing of chess, would be best. It can also be maintained that it is +best to provide the machine with the best sense organs that money can +buy, and then teach it to understand and speak English. + -- Alan M. Turing +% +We may not return the affection of those who like us, but we always +respect their good judgement. +% +We must remember the First Amendment which protects any shrill jackass +no matter how self-seeking. + -- F. G. Withington +% +We ought to be very grateful that we have tools. Millions of years ago +people did not have them, and home projects were extremely difficult. +For example, when a primitive person wanted to put up paneling, he had +to drive the little paneling nails into the cave wall with his bare +fist, so generally the paneling wound up getting spattered with +primitive blood, which isn't really all that bad when you consider how +ugly paneling is to begin with. + -- Dave Barry, "The Taming of the Screw" +% +We really don't have any enemies. It's just that some of our best +friends are trying to kill us. +% + We were young and our happiness dazzled us with its strength. +But there was also a terrible betrayal that lay within me like a Merle +Haggard song at a French restaurant. ... + I could not tell the girl about the woman of the tollway, of +her milk white BMW and her Jordache smile. There had been a fight. I +had punched her boyfriend, who fought the mechanical bulls. Everyone +told him, "You ride the bull, senor. You do not fight it." But he was +lean and tough like a bad rib-eye and he fought the bull. And then he +fought me. And when we finished there were no winners, just men doing +what men must do. ... + "Stop the car," the girl said. There was a look of terrible +sadness in her eyes. She knew about the woman of the tollway. I knew +not how. I started to speak, but she raised an arm and spoke with a +quiet and peace I will never forget. + "I do not ask for whom's the tollway belle," she said, "the +tollway belle's for thee." + The next morning our youth was a memory, and our happiness was +a lie. Life is like a bad margarita with good tequila, I thought as I +poured whiskey onto my granola and faced a new day. + -- Peter Applebome, International Imitation Hemingway + Competition +% +We will have solar energy as soon as the utility companies solve one +technical problem -- how to run a sunbeam through a meter. +% +We will invent new lullabies, new songs, new acts of love, +we will cry over things we used to laugh & +our new wisdom will bring tears to eyes of gentile +creatures from other planets who were afraid of us till then & +in the end a summer with wild winds & +new friends will be. +% +We wish you a Hare Krishna +We wish you a Hare Krishna +We wish you a Hare Krishna +And a Sun Myung Moon! + -- Maxwell Smart +% +We'll cross out that bridge when we come back to it later. +% +We're deep into the holiday gift-giving season, as you can tell from +the fact that everywhere you look, you see jolly old St. Nick urging +you to purchase things, to the point where you want to slug him right +in his bowl full of jelly. + -- Dave Barry, "Simple, Homespun Gifts" +% +We're only in it for the volume. + -- Black Sabbath +% +We've sent a man to the moon, and that's 29,000 miles away. The center +of the Earth is only 4,000 miles away. You could drive that in a week, +but for some reason nobody's ever done it. + -- Andy Rooney +% +Weiler's Law: + Nothing is impossible for the man who doesn't have to do it himself. +% +Weinberg's First Law: + Progress is made on alternate Fridays. +% +Weinberg's Principle: + An expert is a person who avoids the small errors while +sweeping on to the grand fallacy. +% +Weinberg's Second Law: + If builders built buildings the way programmers wrote programs, +then the first woodpecker that came along would destroy civilization. +% +Weiner's Law of Libraries: + There are no answers, only cross references. +% +Welcome thy neighbor into thy fallout shelter. He'll come in handy if +you run out of food. + -- Dean McLaughlin +% +Well, here it is, 1983, so it won't be long before you start reading a +lot of boring stories about people like Vance Hartke. Hartke is a +governor or mayor or something from one of the flatter states, and the +reason you'll be reading about him is that he's one of the 50 top +contenders for the 1984 Democratic presidential nomination. These men +will spend the next 18 months going around the country engaging in the +most degrading activities imaginable, such as wearing idiot hats and +appearing on "Meet the Press". "Meet the Press" is one of those Sunday +morning public interest shows that the public is not the least bit +interested in. It features a panel of reporters who ask questions of a +guest politician, who wins an Amana home freezer if he can get through +the entire show without answering a single question ... + -- Dave Barry, "On Presidential Politics" +% +Well, I would -- if they realized that we -- again if -- if we led them +back to that stalemate only because our retaliatory power, our seconds, +or strike at them after our first strike, would be so destructive they +they couldn't afford it, that would hold them off. + -- President Ronald Reagan, on the MX missile +% +Well, if you can't believe what you read in a comic book, what *___can* +you believe?! + -- Bullwinkle J. Moose [Jay Ward] +% +Well, my terminal's locked up, and I ain't got any Mail, + And I can't recall the last time that my program didn't fail; +I've got stacks in my structs, I've got arrays in my queues, + I've got the : Segmentation violation -- Core dumped blues. + +If you think that it's nice that you get what you C, + Then go : illogical statement with your whole family, +'Cause the Supreme Court ain't the only place with : Bus error views. + I've got the : Segmentation violation -- Core dumped blues. + +On a PDP-11, life should be a breeze, + But with VAXen in the house even magnetic tapes would freeze. +Now you might think that unlike VAXen I'd know who I abuse, + I've got the : Segmentation violation -- Core dumped blues. + -- Core Dumped Blues +% +"Well, that was a piece of cake, eh K-9?" + +"Piece of cake, Master? Radial slice of baked confection ... +coefficient of relevance to Key of Time: zero." + -- Dr. Who +% +"Well," Brahma said, "even after ten thousand explanations, a fool is +no wiser, but an intelligent man requires only two thousand five +hundred." + -- The Mahabharata +% +Westheimer's Discovery: + A couple of months in the laboratory can frequently save a +couple of hours in the library. +% +Wethern's Law: + Assumption is the mother of all screw-ups. +% +"What are we going to do?" + +"Me, I'm examining the major Western religions. I'm looking for +something that's soft on morality, generous with holidays, and has a +short initiation period." +% +"What are you doing?" + +"Examining the world's major religions. I'm looking for something +that's light on morals, has lots of holidays, and with a short +initiation period." +% +What color is a chameleon on a mirror? +% + "What do you give a man who has everything?" the pretty +teenager asked her mother. + "Encouragement, dear," she replied. +% +What does "it" mean in the sentence "What time is it?"? +% +What does it mean if there is no fortune for you? +% +What garlic is to food, insanity is to art. +% +What garlic is to salad, insanity is to art. +% +What George Washington did for us was to throw out the British, so +that we wouldn't have a fat, insensitive government running our +country. Nice try anyway, George. + -- D. J. on KSFO/KYA +% +What good is a ticket to the good life, if you can't find the +entrance? +% +What good is having someone who can walk on water if you don't follow +in his footsteps? +% +What I do, first thing [in the morning], is I hop into the shower +stall. Then I hop right back out, because when I hopped in I landed +barefoot right on top of See Threepio, a little plastic robot character +from "Star Wars" whom my son, Robert, likes to pull the legs off of +while he showers. Then I hop right back into the stall because our +dog, Earnest, who has been alone in the basement all night building up +powerful dog emotions, has come bounding and quivering into the +bathroom and wants to greet me with 60 or 70 thousand playful nips, any +one of which -- bear in mind that I am naked and, without my contact +lenses, essentially blind -- could result in the kind of injury where +you have to learn a whole new part if you want to sing the "Messiah", +if you get my drift. Then I hop right back out, because Robert, with +that uncanny sixth sense some children have -- you cannot teach it; +they either have it or they don't -- has chosen exactly that moment to +flush one of the toilets. Perhaps several of them. + -- Dave Barry, "Saving Face" +% +What I tell you three times is true. +% +What I think is that the F-word is basically just a convenient nasty- +sounding word that we tend to use when we would really like to come up +with a terrifically witty insult, the kind Winston Churchill always +came up with when enormous women asked him stupid questions at +parties. + -- Dave Barry, "$#$%#^%!^%&@%@!" +% +What I want is all of the power and none of the responsibility. +% +What I've done, of course, is total garbage. + -- R. Willard, Pure Math 430a +% +What if everything is an illusion and nothing exists? In that case, I +definitely overpaid for my carpet. + -- Woody Allen, "Without Feathers" +% +What if nothing exists and we're all in somebody's dream? Or what's +worse, what if only that fat guy in the third row exists? + -- Woody Allen, "Without Feathers" +% +What is a magician but a practicing theorist? + -- Obi-Wan Kenobi +% +What is mind? No matter. +What is matter? Never mind. + -- Thomas Hewitt Key, 1799-1875 +% +What is the difference between a Turing machine and the modern +computer? It's the same as that between Hillary's ascent of Everest +and the establishment of a Hilton on its peak. +% +"What is the Nature of God?" + + CLICK...CLICK...WHIRRR...CLICK...=BEEP!= + 1 QT. SOUR CREAM + 1 TSP. SAUERKRAUT + 1/2 CUT CHIVES. + STIR AND SPRINKLE WITH BACON BITS. + +"I've just GOT to start labeling my software..." + -- Bloom County +% +What is the robbing of a bank compared to the FOUNDING of a bank? + -- Bertolt Brecht +% +What is wanted is not the will to believe, but the will to find out, +which is the exact opposite. + -- Bertrand Russell, "Skeptical_Essays", 1928 +% +What is worth doing is worth the trouble of asking somebody to do. +% +What makes the universe so hard to comprehend is that there's nothing +to compare it with. +% +What publishers are looking for these days isn't radical feminism. +It's corporate feminism -- a brand of feminism designed to sell books +and magazines, three-piece suits, airline tickets, Scotch, cigarettes +and, most important, corporate America's message, which runs: "Yes, +women were discriminated against in the past, but that unfortunate +mistake has been remedied; now every woman can attain wealth, prestige +and power by dint of individual rather than collective effort." + -- Susan Gordon +% +What sane person could live in this world and not be crazy? + -- Ursula K. LeGuin +% +What the hell, go ahead and put all your eggs in one basket. +% +What the large print giveth, the small print taketh away. +% +What the world *really* needs is a good Automatic Bicycle Sharpener. +% +What this country needs is a dime that will buy a good five-cent bagel. +% +What this country needs is a good five cent ANYTHING! +% +What this country needs is a good five cent microcomputer. +% +What this country needs is a good five cent nickel. +% +What this country needs is a good five dollar plasma weapon. +% +What this world needs is a good five-dollar plasma weapon. +% +What use is magic if it can't save a unicorn? + -- Peter S. Beagle, "The Last Unicorn" +% +What we need in this country, instead of Daylight Savings Time, which +nobody really understands anyway, is a new concept called Weekday +Morning Time, whereby at 7 a.m. every weekday we go into a space- +launch-style "hold" for two to three hours, during which it just +remains 7 a.m. This way we could all wake up via a civilized gradual +process of stretching and belching and scratching, and it would still +be only 7 a.m. when we were ready to actually emerge from bed. + -- Dave Barry, "$#$%#^%!^%&@%@!" +% +What you don't know can hurt you, only you won't know it. +% +What's another word for Thesaurus? + -- Steven Wright +% + "What's that thing?" + "Well, it's a highly technical, sensitive instrument we use in +computer repair. Being a layman, you probably can't grasp exactly what +it does. We call it a two-by-four." + -- Jeff MacNelley, "Shoe" +% +What's the use of a good quotation if you can't change it? + -- Dr. Who +% +Whatever became of eternal truth? +% +Whatever became of Strange de Jim? Well, he found a substitute for +cocaine: "You cover Q-tips with sandpaper and ram them up your nostrils +as far as they will go. Then you sniff talcum powder while shredding +hundred dollar bills." + -- Herb Caen +% +Whatever is not nailed down is mine. What I can pry loose is not +nailed down. + -- Collis P. Huntingdon +% +Whatever the missing mass of the universe is, I hope it's not cockroaches! + -- Mom +% +When a Banker jumps out of a window, jump after him -- that's where the +money is. + -- Robespierre +% +When a fellow says, "It ain't the money but the principle of the +thing," it's the money. + -- Kim Hubbard +% +When a fly lands on the ceiling, does it do a half roll or a half +loop? +% +When a place gets crowded enough to require ID's, social collapse is +not far away. It is time to go elsewhere. The best thing about space +travel is that it made it possible to go elsewhere. + -- Robert Heinlein, "Time Enough For Love" +% +When a shepherd goes to kill a wolf, and takes his dog along to see the +sport, he should take care to avoid mistakes. The dog has certain +relationships to the wolf the shepherd may have forgotten. + -- Robert Pirsig, "Zen and the Art of Motorcycle Maintenance" +% +When all other means of communication fail, try words. +% +When are you BUTTHEADS gonna learn that you can't oppose Gestapo +tactics *with* Gestapo tactics? + -- Reuben Flagg +% +When asked by an anthropologist what the Indians called America before +the white men came, an Indian said simply "Ours." + -- Vine Deloria, Jr. +% +When does summertime come to Minnesota, you ask? Well, last year, I +think it was a Tuesday. +% +When God endowed human beings with brains, He did not intend to +guarantee them. +% +When I get real bored, I like to drive downtown and get a great +parking spot, then sit in my car and count how many people ask me if +I'm leaving. + -- Steven Wright +% +When I heated my home with oil, I used an average of 800 gallons a +year. I have found that I can keep comfortably warm for an entire +winter with slightly over half that quantity of beer. + -- Dave Barry, "Postpetroleum Guzzler" +% +When I said "we", officer, I was referring to myself, the four young +ladies, and, of course, the goat. +% +When I was a boy I was told that anybody could become President. Now +I'm beginning to believe it. + -- Clarence Darrow +% +When I was a kid I said to my father one afternoon, "Daddy, will you +take me to the zoo?" He answered, "If the zoo wants you let them come +and get you." + -- Jerry Lewis +% +When I was crossing the border into Canada, they asked if I had any +firearms with me. I said, `Well, what do you need?' + -- Steven Wright +% +When I was in school, I cheated on my metaphysics exam: I looked into +the soul of the boy sitting next to me. + -- Woody Allen +% +When I was seven years old, I was once reprimanded by my mother for an +act of collective brutality in which I had been involved at school. A +group of seven-year-olds had been teasing and tormenting a +six-year-old. "It is always so," my mother said. "You do things +together which not one of you would think of doing alone." ... +Wherever one looks in the world of human organization, collective +responsibility brings a lowering of moral standards. The military +establishment is an extreme case, an organization which seems to have +been expressly designed to make it possible for people to do things +together which nobody in his right mind would do alone. + -- Freeman Dyson, "Weapons and Hope" +% +When I was younger, I could remember anything, whether it had happened +or not; but my faculties are decaying now and soon I shall be so I +cannot remember any but the things that never happened. It is sad to +go to pieces like this but we all have to do it. + -- Mark Twain +% +When in doubt, do what the President does -- guess. +% +When in doubt, tell the truth. + -- Mark Twain +% +When in doubt, use brute force. + -- Ken Thompson +% +When in panic, fear and doubt, +Drink in barrels, eat, and shout. +% +When love is gone, there's always justice. +And when justice is gone, there's always force. +And when force is gone, there's always Mom. +Hi, Mom! + -- Laurie Anderson +% +When Marriage is Outlawed, +Only Outlaws will have Inlaws. +% +When more and more people are thrown out of work, unemployment +results. + -- Calvin Coolidge +% +When one woman was asked how long she had been going to symphony +concerts, she paused to calculate and replied, "Forty-seven years -- +and I find I mind it less and less." + -- Louise Andrews Kent +% +When properly administered, vacations do not diminish productivity: +for every week you're away and get nothing done, there's another when +your boss is away and you get twice as much done. + -- Daniel B. Luten +% +When someone says "I want a programming language in which I need only +say what I wish done," give him a lollipop. +% +When the going gets tough, the tough get empirical. + -- Jon Carroll +% +When the government bureau's remedies don't match your problem, you +modify the problem, not the remedy. +% +When the Ngdanga tribe of West Africa hold their moon love ceremonies, +the men of the tribe bang their heads on sacred trees until they get a +nose bleed, which usually cures them of ____that. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +When the speaker and he to whom he is speaks do not understand, that is +metaphysics. + -- Voltaire +% +When the Universe was not so out of whack as it is today, and all the +stars were lined up in their proper places, you could easily count them +from left to right, or top to bottom, and the larger and bluer ones +were set apart, and the smaller yellowing types pushed off to the +corners as bodies of a lower grade ... + -- Stanislaw Lem, "Cyberiad" +% +When the weight of the paperwork equals the weight of the plane, the +plane will fly. + -- Donald Douglas +% +When two people are under the influence of the most violent, most +insane, most delusive, and most transient of passions, they are +required to swear that they will remain in that excited, abnormal, and +exhausting condition continuously until death do them part. + -- George Bernard Shaw +% +When we are planning for posterity, we ought to remember that virtue is +not hereditary. + -- Thomas Paine +% +When we understand knowledge-based systems, it will be as before -- +except our fingertips will have been singed. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +When you are about to do an objective and scientific piece of +investigation of a topic, it is well to have the answer firmly in hand, +so that you can proceed forthrightly, without being deflected or +swayed, directly to the goal. + -- Amrom Katz +% +When you are in it up to your ears, keep your mouth shut. +% +When you don't know what you are doing, do it neatly. +% +When you have an efficient government, you have a dictatorship. + -- Harry S. Truman +% + When you have shot and killed a man you have in some measure +clarified your attitude toward him. You have given a definite answer +to a definite problem. For better or worse you have acted decisively. + In a way, the next move is up to him. + -- R. A. Lafferty +% +When you have to kill a man it costs nothing to be polite." + -- Winston Churchill, On formal declarations of war +% +When you know absolutely nothing about the topic, make your forecast by +asking a carefully selected probability sample of 300 others who don't +know the answer either. + -- Edgar R. Fiedler +% +When you make your mark in the world, watch out for guys with erasers. + -- The Wall Street Journal +% +When you try to make an impression, the chances are that is the +impression you will make. +% +When you're away, I'm restless, lonely, +Wretched, bored, dejected; only +Here's the rub, my darling dear +I feel the same when you are near. + -- Samuel Hoffenstein, "When You're Away" +% +When you're not looking at it, this fortune is written in FORTRAN. +% +Whenever anyone says, "theoretically", they really mean, "not really". + -- Dave Parnas +% +Whenever I hear anyone arguing for slavery, I feel a strong impulse to +see it tried on him personally. + -- A. Lincoln +% +Whenever people agree with me I always feel I must be wrong. + -- Oscar Wilde +% +Whenever the literary German dives into a sentence, that is the last +you are going to see of him until he emerges on the other side of his +Atlantic with his verb in his mouth. + -- Mark Twain + "Connecticut Yankee in King Arthur's Court" +% +Whenever you find that you are on the side of the majority, it is time +to reform. + -- Mark Twain +% +WHERE CAN THE MATTER BE + + Oh, dear, where can the matter be + When it's converted to energy? + There is a slight loss of parity. + Johnny's so long at the fair. +% +Where humor is concerned there are no standards -- no one can say what +is good or bad, although you can be sure that everyone will. + -- John Kenneth Galbraith +% +Where there's a will, there's an Inheritance Tax. +% +Whether you can hear it or not +The Universe is laughing behind your back + -- National Lampoon, "Deteriorata" +% +Which is worse: ignorance or apathy? Who knows? Who cares? +% +While anyone can admit to themselves they were wrong, the true test is +admission to someone else. +% +While Europe's eye is fix'd on mighty things, +The fate of empires and the fall of kings; +While quacks of State must each produce his plan, +And even children lisp the Rights of Man; +Amid this mighty fuss just let me mention, +The Rights of Woman merit some attention. + -- Robert Burns, Address on "The Rights of Woman", + November 26, 1792 +% +While having never invented a sin, I'm trying to perfect several. +% +While it may be true that a watched pot never boils, the one you don't +keep an eye on can make an awful mess of your stove. + -- Edward Stevenson +% +While money can't buy happiness, it certainly lets you choose your own +form of misery. +% +While money doesn't buy love, it puts you in a great bargaining position. +% +While most peoples' opinions change, the conviction of their +correctness never does. +% +While you don't greatly need the outside world, it's still very +reassuring to know that it's still there. +% +While your friend holds you affectionately by both your hands you are +safe, for you can watch both of his. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Whistler's Law: + You never know who is right, but you always know who is in +charge. +% +Who cares if it doesn't do anything? It was made with our new +Triple-Iso-Bifurcated-Krypton-Gate-MOS process ... +% +Who made the world I cannot tell; +'Tis made, and here am I in hell. +My hand, though now my knuckles bleed, +I never soiled with such a deed. + -- A. E. Housman +% +Who messed with my anti-paranoia shot? +% +Who needs friends when you can sit alone in your room and drink? +% +Who's on first? +% +"Whom are you?" said he, for he had been to night school. + -- George Ade +% +Whom computers would destroy, they must first drive mad. +% +Whom the gods wish to destroy they first call promising. +% +Why are we importing all these highbrow plays like `Amadeus'? I could +have told you Mozart was a jerk for nothing. + -- Ian Shoales +% +Why be a man when you can be a success? + -- Bertolt Brecht +% +Why bother building any more nuclear warheads until we use the ones we +have? +% +Why can't you be a non-conformist like everyone else? +% +Why did the Lord give us so much quickness of movement unless it was to +avoid responsibility with? +% +Why did the Roman Empire collapse? +What is the Latin for office automation? +% +Why do we have two eyes? To watch 3-D movies with. +% +Why does man kill? He kills for food. And not only food: frequently +there must be a beverage. + -- Woody Allen, "Without Feathers" +% +Why does New Jersey have more toxic waste dumps and California have +more lawyers? + +New Jersey had first choice. +% +Why don't elephants eat penguins ? + +Because they can't get the wrappers off ... +% +Why I Can't Go Out With You: + +I'd LOVE to, but ... + -- I have to floss my cat. + -- I've dedicated my life to linguini. + -- I need to spend more time with my blender. + -- it wouldn't be fair to the other Beautiful People. + -- it's my night to pet the dog/ferret/goldfish. + -- I'm going downtown to try on some gloves. + -- I have to check the freshness dates on my dairy products. + -- I'm going down to the bakery to watch the buns rise. + -- I have an appointment with a cuticle specialist. + -- I have some really hard words to look up. + -- I've got a Friends of the Lowly Rutabaga meeting. + -- I promised to help a friend fold road maps. +% +Why is it that we rejoice at a birth and grieve at a funeral? It is +because we are not the person involved + -- Mark Twain +% +Why is the alphabet in that order? Is it because of that song? +% +Why isn't there a special name for the tops of your feet? + -- Lily Tomlin +% +Why must you tell me all your secrets when it's hard enough to love +you knowing nothing? + -- Lloyd Cole and the Commotions +% +Why not have an old-fashioned Christmas for your family this year? +Just picture the scene in your living room on Christmas morning as your +children open their old-fashioned presents. + +Your 11-year-old son: "What the heck is this?" + +You: "A spinning top! You spin it around, and then eventually it + falls down. What fun! Ha, ha!" + +Son: "Is this a joke? Jason Thompson's parents got him a computer + with two disk drives and 128 kilobytes of random-access memory, + and I get this cretin TOP?" + +Your 8-year-old daughter: "You think that's bad? Look at this." + +You: "It's figgy pudding! What a treat!" + +Daughter: "It looks like goat barf." + -- Dave Barry, "Simple, Homespun Gifts" +% +Why was I born with such contemporaries? + -- Oscar Wilde +% +Why You Can't Run When There's Trouble in the Office: + No matter where you stand, no matter how far or fast you flee, +when it hits the fan, as much as possible will be propelled in your +direction, and almost none will be returned to the source. + -- John L. Shelton +% +Wiker's Law: + Government expands to absorb revenue and then some. +% + William Safire's Rules for Writers: + +Remember to never split an infinitive. The passive voice should never +be used. Do not put statements in the negative form. Verbs have to +agree with their subjects. Proofread carefully to see if you words +out. If you reread your work, you can find on rereading a great deal +of repetition can be avoided by rereading and editing. A writer must +not shift your point of view. And don't start a sentence with a +conjunction. (Remember, too, a preposition is a terrible word to end a +sentence with.) Don't overuse exclamation marks!! Place pronouns as +close as possible, especially in long sentences, as of 10 or more +words, to their antecedents. Writing carefully, dangling participles +must be avoided. If any word is improper at the end of a sentence, a +linking verb is. Take the bull by the hand and avoid mixing +metaphors. Avoid trendy locutions that sound flaky. Everyone should +be careful to use a singular pronoun with singular nouns in their +writing. Always pick on the correct idiom. The adverb always follows +the verb. Last but not least, avoid cliches like the plague; seek +viable alternatives. +% +Williams and Holland's Law: + If enough data is collected, anything may be proven by +statistical methods. +% +Winter is the season in which people try to keep the house as warm as +it was in the summer, when they complained about the heat. +% +Wit, n.: + The salt with which the American Humorist spoils his cookery +... by leaving it out. + -- Ambrose Bierce, "The Devil's Dictionary" +% +With a gentleman I try to be a gentleman and a half, and with a fraud I +try to be a fraud and a half. + -- Otto von Bismark +% +With a rubber duck, one's never alone. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +With all the fancy scientists in the world, why can't they just once +build a nuclear balm? +% +With every passing hour our solar system comes forty-three thousand +miles closer to globular cluster M13 in the constellation Hercules, and +still there are some misfits who continue to insist that there is no +such thing as progress. + -- Ransom K. Ferm +% +With trembling hands he unfurled the ancient cracked parchment, +this was the place, it had to be. Uncertainly he began to mumble the +chant "rdbms, sql, third normal formal form, java, table, scalable". +Something moved... From outside they heard a scream and a thud. +The sales department had awoken. +% +Without ice cream life and fame are meaningless. +% +Wombat's Laws of Computer Selection: + (1) If it doesn't run Unix, forget it. + (2) Any computer design over 10 years old is obsolete. + (3) Anything made by IBM is junk. (See number 2) + (4) The minimum acceptable CPU power for a single user is a + VAX/780 with a floating point accelerator. + (5) Any computer with a mouse is worthless. + -- Rich Kulawiec +% +Wood is highly ecological, since trees are a renewable resource. If +you cut down a tree, another will grow in its place. And if you cut +down the new tree, still another will grow. And if you cut down that +tree, yet another will grow, only this one will be a mutation with +long, poisonous tentacles and revenge in its heart, and it will sit +there in the forest, cackling and making elaborate plans for when you +come back. + +Wood heat is not new. It dates back to a day millions of years ago, +when a group of cavemen were sitting around, watching dinosaurs rot. +Suddenly, lightning struck a nearby log and set it on fire. One of the +cavemen stared at the fire for a few minutes, then said: "Hey! Wood +heat!" The other cavemen, who did not understand English, immediately +beat him to death with stones. But the key discovery had been made, +and from that day forward, the cavemen had all the heat they needed, +although their insurance rates went way up. + -- Dave Barry, "Postpetroleum Guzzler" +% +Work Rule: Leave of Absence (for an Operation): + We are no longer allowing this practice. We wish to discourage +any thoughts that you may not need all of whatever you have, and you +should not consider having anything removed. We hired you as you are, +and to have anything removed would certainly make you less than we +bargained for. +% +Workers of the world, arise! You have nothing to lose but your chairs. +% +World War Three can be averted by adherence to a strictly enforced +dress code! +% +Worst Month of 1981 for Downhill Skiing: + August. The lines are the shortest, though. + -- Steve Rubenstein +% +Worst Month of the Year: + February. February has only 28 days in it, which means that if +you rent an apartment, you are paying for three full days you don't +get. Try to avoid Februarys whenever possible. + -- Steve Rubenstein +% +Worst Response To A Crisis, 1985: + From a readers' Q and A column in TV GUIDE: "If we get involved +in a nuclear war, would the electromagnetic pulses from exploding bombs +damage my videotapes?" +% +Worst Vegetable of the Year: + The brussels sprout. This is also the worst vegetable of next +year. + -- Steve Rubenstein +% +"Would you tell me, please, which way I ought to go from here?" + +"That depends a good deal on where you want to get to," said the Cat. + -- Lewis Carroll +% +Wouldn't the sentence 'I want to put a hyphen between the words Fish +and And and And and Chips in my Fish-And-Chips sign' have been clearer +if quotation marks had been placed before Fish, and between Fish and +and, and and and And, and And and and, and and and And, and And and +and, and and and Chips, as well as after Chips? +% +Write-Protect Tab, n.: + A small sticker created to cover the unsightly notch carelessly +left by disk manufacturers. The use of the tab creates an error +message once in a while, but its aesthetic value far outweighs the +momentary inconvenience. + -- Robb Russon +% +Writing about music is like dancing about architecture. + -- Frank Zappa +% +"Wrong," said Renner. + +"The tactful way," Rod said quietly, "the polite way to disagree with +the Senator would be to say, `That turns out not to be the case.'" +% +X-rated movies are all alike -- the only thing they leave to the +imagination is the plot. +% +Xerox does it again and again and again and ... +% +Xerox never comes up with anything original. +% +XIIdigitation, n.: + The practice of trying to determine the year a movie was made +by deciphering the Roman numerals at the end of the credits. + -- Rich Hall, "Sniglets" +% +"Yacc" owes much to a most stimulating collection of users, who have +goaded me beyond my inclination, and frequently beyond my ability in +their endless search for "one more feature". Their irritating +unwillingness to learn how to do things my way has usually led to my +doing things their way; most of the time, they have been right. + -- Stephen C. Johnson, "Yacc guide acknowledgements" +% +Yea, though I walk through the valley of the shadow of APL, I shall +fear no evil, for I can string six primitive monadic and dyadic +operators together. + -- Steve Higgins +% +Yeah, but you're taking the universe out of context. +% +Year, n.: + A period of three hundred and sixty-five disappointments. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Yes, but every time I try to see things your way, I get a headache. +% +Yes, but which self do you want to be? +% +Yesterday I was a dog. Today I'm a dog. +Tomorrow I'll probably still be a dog. +Sigh! There's so little hope for advancement. + -- Snoopy +% +Yesterday upon the stair +I met a man who wasn't there. +He wasn't there again today -- +I think he's from the CIA. +% +Yield to Temptation ... it may not pass your way again. + -- Lazarus Long, "Time Enough for Love" +% +Yinkel, n.: + A person who combs his hair over his bald spot, hoping no one +will notice. + -- Rich Hall, "Sniglets" +% +You are a very redundant person, that's what kind of person you are. +% +You are here: + *** + *** + ********* + ******* + ***** + *** + * + + But you're not all there. +% +"You are old, Father William," the young man said, + "All your papers these days look the same; +Those William's would be better unread -- + Do these facts never fill you with shame?" + +"In my youth," Father William replied to his son, + "I wrote wonderful papers galore; +But the great reputation I found that I'd won, + Made it pointless to think any more." +% +"You are old, father William," the young man said, + "And your hair has become very white; +And yet you incessantly stand on your head -- + Do you think, at your age, it is right?" + +"In my youth," father William replied to his son, + "I feared it might injure the brain; +But, now that I'm perfectly sure I have none, + Why, I do it again and again." + -- Lewis Carroll +% +"You are old," said the youth, "and I'm told by my peers + That your lectures bore people to death. +Yet you talk at one hundred conventions per year -- + Don't you think that you should save your breath?" + +"I have answered three questions and that is enough," + Said his father, "Don't give yourself airs! +Do you think I can listen all day to such stuff? + Be off, or I'll kick you downstairs!" +% +"You are old," said the youth, "and your jaws are too weak + For anything tougher than suet; +Yet you finished the goose, with the bones and the beak -- + Pray, how did you manage to do it?" + +"In my youth," said his father, "I took to the law, + And argued each case with my wife; +And the muscular strength which it gave to my jaw, + Has lasted the rest of my life." + -- Lewis Carroll +% +"You are old," said the youth, "and your programs don't run, + And there isn't one language you like; +Yet of useful suggestions for help you have none -- + Have you thought about taking a hike?" + +"Since I never write programs," his father replied, + "Every language looks equally bad; +Yet the people keep paying to read all my books + And don't realize that they've been had." +% +"You are old," said the youth, "as I mentioned before, + And have grown most uncommonly fat; +Yet you turned a back-somersault in at the door -- + Pray what is the reason of that?" + +"In my youth," said the sage, as he shook his grey locks, + "I kept all my limbs very supple +By the use of this ointment -- one shilling the box -- + Allow me to sell you a couple?" + -- Lewis Carroll +% +"You are old," said the youth, "as I mentioned before, + And make errors few people could bear; +You complain about everyone's English but yours -- + Do you really think this is quite fair?" + +"I make lots of mistakes," Father William declared, + "But my stature these days is so great +That no critic can hurt me -- I've got them all scared, + And to stop me it's now far too late." +% +"You are old," said the youth, "one would hardly suppose + That your eye was as steady as ever; +Yet you balanced an eel on the end of your nose -- + What made you so awfully clever?" + +"I have answered three questions, and that is enough," + Said his father. "Don't give yourself airs! +Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!" + -- Lewis Carroll +% +You are only young once, but you can stay immature indefinitely. +% +You are the only person to ever get this message. +% +You are wise, witty, and wonderful, but you spend too much time reading +this sort of trash. +% +You buttered your bread, now lie in it! +% +You can always tell the Christmas season is here when you start getting +incredibly dense, tinfoil-and-ribbon- wrapped lumps in the mail. +Fruitcakes make ideal gifts because the Postal Service has been unable +to find a way to damage them. They last forever, largely because +nobody ever eats them. In fact, many smart people save the fruitcakes +they receive and send them back to the original givers the next year; +some fruitcakes have been passed back and forth for hundreds of years. + +The easiest way to make a fruitcake is to buy a darkish cake, then +pound some old, hard fruit into it with a mallet. Be sure to wear +safety glasses. + -- Dave Barry, "Simple, Homespun Gifts" +% +You can bring any calculator you like to the midterm, as long as it +doesn't dim the lights when you turn it on. + -- Hepler, Systems Design 182 +% +You can create your own opportunities this week. +Blackmail a senior executive. +% +You can do this in a number of ways. IBM chose to do all of them. +Why do you find that funny? + -- D. Taylor, Computer Science 350, University of Washington +% +You can get more of what you want with a kind word and a gun than you +can with just a kind word. + -- Bumper Sticker +% +You can learn many things from children. How much patience you have, +for instance. + -- Franklin P. Jones +% +You can make it illegal, but you can't make it unpopular. +% +You can measure a programmer's perspective by noting his attitude on +the continuing viability of FORTRAN. + -- Alan Perlis +% +You can only live once, but if you do it right, once is enough. +% +You can take all the impact that science considerations have on funding +decisions at NASA, put them in the navel of a flea, and have room left +over for a caraway seed and Tony Calio's heart. + -- F. Allen +% +You can tell how far we have to go, when FORTRAN is the language of +supercomputers. + -- Steven Feiner +% +You can tune a piano, but you can't tuna fish. +% +You can write a small letter to Grandma in the filename. + -- Forbes Burkowski, Computer Science 454 +% +You can't carve your way to success without cutting remarks. +% +You can't have everything. Where would you put it? + -- Steven Wright +% +You can't hold a man down without staying down with him. + -- Booker T. Washington +% +You can't judge a book by the way it wears its hair. +% +You can't make a program without broken egos. +% +You can't start worrying about what's going to happen. You get spastic +enough worrying about what's happening now. + -- Lauren Bacall +% +You can't survive by sucking the juice from a wet mitten. + -- Charles Schulz, "Things I've Had to Learn Over and + Over and Over" +% +You can't teach people to be lazy - either they have it, or they don't. + -- Dagwood Bumstead +% +You cannot achieve the impossible without attempting the absurd. +% +You cannot kill time without injuring eternity. +% +You cannot propel yourself forward by patting yourself on the back. +% +You could get a new lease on life -- if only you didn't need the first +and last month in advance. +% +You couldn't even prove the White House staff sane beyond a reasonable +doubt. + -- Ed Meese, on the Hinckley verdict +% +You do not have mail. +% +You don't have to think too hard when you talk to teachers. + -- J. D. Salinger +% +You don't sew with a fork, so I see no reason to eat with knitting +needles. + -- Miss Piggy, on eating Chinese Food +% +You first have to decide whether to use the short or the long form. +The short form is what the Internal Revenue Service calls "simplified", +which means it is designed for people who need the help of a Sears +tax-preparation expert to distinguish between their first and last +names. Here's the complete text: + + "(1) How much did you make? (AMOUNT) + "(2) How much did we here at the government take out? (AMOUNT) + "(3) Hey! Sounds like we took too much! So we're going to + send an official government check for (ONE-FIFTEENTH OF + THE AMOUNT WE TOOK) directly to the (YOUR LAST NAME) + household at (YOUR ADDRESS), for you to spend in any way + you please! Which just goes to show you, (YOUR FIRST + NAME), that it pays to file the short form!" + +The IRS wants you to use this form because it gets to keep most of your +money. So unless you have pond silt for brains, you want the long +form. + -- Dave Barry, "Sweating Out Taxes" +% +You have a tendency to feel you are superior to most computers. +% +You have acquired a scroll entitled 'irk gleknow mizk'(n).--More-- + +This is an IBM Manual scroll.--More-- + +You are permanently confused. + -- Dave Decot +% +You have an unusual magnetic personality. Don't walk too close to +metal objects which are not fastened down. +% +You have junk mail. +% +You have the body of a 19 year old. Please return it before it gets +wrinkled. +% +You have the capacity to learn from mistakes. You'll learn a lot today. +% +You know it's going to be a bad day when you want to put on the clothes +you wore home from the party and there aren't any. +% +You know the great thing about TV? If something important happens +anywhere at all in the world, no matter what time of the day or night, +you can always change the channel. + -- Jim Ignatowski +% +You know you have a small apartment when Rice Krispies echo. + -- S. Rickly Christian +% +You know you're a little fat if you have stretch marks on your car. + -- Cyrus, Chicago Reader 1/22/82 +% +You know you've been spending too much time on the computer when your +friend misdates a check, and you suggest adding a "++" to fix it. +% +You know you've landed gear-up when it takes full power to taxi. +% + "You know, it's at times like this when I'm trapped in a Vogon +airlock with a man from Betelgeuse and about to die of asphyxiation in +deep space that I really wish I'd listened to what my mother told me +when I was young!" + "Why, what did she tell you?" + "I don't know, I didn't listen!" + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +You look like a million dollars. All green and wrinkled. +% +You may be recognized soon. Hide. +% +You may be sure that when a man begins to call himself a "realist," he +is preparing to do something he is secretly ashamed of doing. + -- Sydney Harris +% +You may easily play a joke on a man who likes to argue -- agree with +him. + -- Ed Howe +% +You may have heard that a dean is to faculty as a hydrant is to a dog. + -- Alfred Kahn +% +You men out there probably think you already know how to dress for +success. You know, for example, that you should not wear leisure suits +or white plastic belts and shoes, unless you are going to a costume +party disguised as a pig farmer vacationing at Disney World. + -- Dave Barry, "How to Dress for Real Success" +% +You might have mail. +% +You might have had mail. +% +You must realize that the computer has it in for you. The irrefutable +proof of this is that the computer always does what you tell it to do. +% +You need no longer worry about the future. This time tomorrow you'll +be dead. +% +You need only reflect that one of the best ways to get yourself a +reputation as a dangerous citizen these days is to go about repeating +the very phrases which our founding fathers used in the struggle for +independence. + -- Charles A. Beard +% +You never know how many friends you have until you rent a house on the +beach. +% +You or I must yield up his life to Ahrimanes. I would rather it were +you. I should have no hesitation in sacrificing my own life to spare +yours, but we take stock next week, and it would not be fair on the +company. + -- J. Wellington Wells +% +You possess a mind not merely twisted, but actually sprained. +% +You probably wouldn't worry about what people think of you if you could +know how seldom they do. + -- Olin Miller +% +You should emulate your heros, but don't carry it too far. Especially +if they are dead. +% +You should never bet against anything in science at odds of more than +about 10^12 to 1. + -- Ernest Rutherford +% +You should never wear your best trousers when you go out to fight for +freedom and liberty. + -- Henrik Ibsen +% +You should not use your fireplace, because scientists now believe that, +contrary to popular opinion, fireplaces actually remove heat from +houses. Really, that's what scientists believe. In fact many +scientists actually use their fireplaces to cool their houses in the +summer. If you visit a scientist's house on a sultry August day, +you'll find a cheerful fire roaring on the hearth and the scientist +sitting nearby, remarking on how cool he is and drinking heavily. + -- Dave Barry, "Postpetroleum Guzzler" +% +You should tip the waiter $10, minus $2 if he tells you his name, +another $2 if he claims it will be His Pleasure to serve you and +another $2 for each "special" he describes involving confusing terms +such as "shallots," and $4 if the menu contains the word "fixin's." In +many restaurants, this means the waiter will actually owe you money. +If you are traveling with a child aged six months to three years, you +should leave an additional amount equal to twice the bill to compensate +for the fact that they will have to take the banquette out and burn it +because the cracks are wedged solid with gobbets made of partially +chewed former restaurant rolls saturated with baby spit. + +In New York, tip the taxicab driver $40 if he does not mention his +hemorrhoids. + -- Dave Barry, "The Stuff of Etiquette" +% +You should, without hesitation, pound your typewriter into a +plowshare, your paper into fertilizer, and enter agriculture. + -- Business Professor, University of Georgia +% +You think Oedipus had a problem -- Adam was Eve's mother. +% + YOU TOO CAN MAKE BIG MONEY IN THE EXCITING FIELD OF + PAPER SHUFFLING! + +Mr. TAA of Muddle, Mass. says: "Before I took this course I used to be +a lowly bit twiddler. Now with what I learned at MIT Tech I feel +really important and can obfuscate and confuse with the best." + +Mr. MARC had this to say: "Ten short days ago all I could look forward +to was a dead-end job as a engineer. Now I have a promising future and +make really big Zorkmids." + +MIT Tech can't promise these fantastic results to everyone, but when +you earn your MDL degree from MIT Tech your future will be brighter. + + SEND FOR OUR FREE BROCHURE TODAY! +% +You too can wear a nose mitten. +% +You will be a winner today. Pick a fight with a four-year-old. +% +You will be attacked by a beast who has the body of a wolf, the tail of +a lion, and the face of Donald Duck. +% +You will be surprised by a loud noise. +% +You will be Told about it Tomorrow. Go Home and Prepare Thyself. +% +You will feel hungry again in another hour. +% +You will lose your present job and have to become a door to door +mayonnaise salesman. +% + You will remember, Watson, how the dreadful business of the +Abernetty family was first brought to my notice by the depth which the +parsley had sunk into the butter upon a hot day. + -- Sherlock Holmes +% +You will think of something funnier than this to add to the fortunes. +% +You worry too much about your job. Stop it. You're not paid enough to +worry. +% +You'd better beat it. You can leave in a taxi. If you can't get a +taxi, you can leave in a huff. If that's too soon, you can leave in a +minute and a huff. + -- Groucho Marx +% +You'll never be the man your mother was! +% +You're at the end of the road again. +% +You're being followed. Cut out the hanky-panky for a few days. +% +You're never too old to become younger. + -- Mae West +% +You're not drunk if you can lie on the floor without holding on. + -- Dean Martin +% +You're not my type. For that matter, you're not even my species!!! +% +You've been leading a dog's life. Stay off the furniture. +% +You've got to have a gimmick if your band sucks. + -- Gary Giddens +% +"You've got to think about tomorrow!" + +"TOMORROW! I haven't even prepared for *_________yesterday* yet!" +% +Your analyst has you mixed up with another patient. Don't believe a +thing he tells you. +% +Your conscience never stops you from doing anything. It just stops you +from enjoying it. +% +Your fault: core dumped +% + Your home electrical system is basically a bunch of wires that +bring electricity into your home and take if back out before it has a +chance to kill you. This is called a "circuit". The most common home +electrical problem is when the circuit is broken by a "circuit +breaker"; this causes the electricity to back up in one of the wires +until it bursts out of an outlet in the form of sparks, which can +damage your carpet. The best way to avoid broken circuits is to change +your fuses regularly. + Another common problem is that the lights flicker. This +sometimes means that your electrical system is inadequate, but more +often it means that your home is possessed by demons, in which case +you'll need to get a caulking gun and some caulking. If you're not +sure whether your house is possessed, see "The Amityville Horror", a +fine documentary film based on an actual book. Or call in a licensed +electrician, who is trained to spot the signs of demonic possession, +such as blood coming down the stairs, enormous cats on the dinette +table, etc. + -- Dave Barry, "The Taming of the Screw" +% +Your life would be very empty if you had nothing to regret. +% +Your lucky color has faded. +% +Your lucky number has been disconnected. +% +Your lucky number is 3552664958674928. Watch for it everywhere. +% +Your true value depends entirely on what you are compared with. +% +Yow! Am I having fun yet? + -- Zippy the Pinhead +% +YOW!! Everybody out of the GENETIC POOL! +% +Zero Defects, n.: + The result of shutting down a production line. +% +Zounds! I was never so bethumped with words +since I first called my brother's father dad. + -- William Shakespeare, "King John" +% +Zymurgy's Law of Volunteer Labor: + People are always available for work in the past tense. +% + THE LAST BUG + +"But you're out of your mind," It still wasn't perfect, +They said with a shrug. As year followed year, +"The customer's happy; And strangers would comment, +What's one little bug?" "Is that guy still here?" + +But he was determined. He died at the console, +The others went home. Of hunger and thirst. +He spread out the program, Next day he was buried, +Deserted, alone. Face down, nine-edge first. + +The cleaning men came, And the last bug in sight, +The whole room was cluttered An ant passing by, +With memory-dumps, punch cards. Saluted his tombstone, +"I'm close," he muttered. And whispered, "Nice try." + +The mumbling got louder, +Simple deduction, +"I've got it, it's right, +Just change one instruction." +% +Speaking of the philosophy involved in moving humanity into space: + +Furniture will be a largely obsolete concept. Take for example the dresser my +mom bought for me when I was a kid. I still have it, and by the standards of +its era, it's an admirable household fixture. It is a massive construction of +maple wood, expertly joined with cunningly fit pieces, fitted and glued with +the strength of iron. It is set with massive brass fixtures, and looks today +-- discounting the dust -- as new as the day it was purchased, a quarter +century ago. So far, so good; a fine piece of furniture, you might say. But +let's look at it objectively, as a machine, as an object with a purpose. Here +sit a hundred pounds of hardwood with a compressive strength of 1500 psi, +jointed by an expert craftsman into a rigid box that would easily support a +bull elephant. And what is the sole purpose of this massive crate, this +monument to a dead tree? -- it holds my socks. + +Not only is it blind engineering overkill of epic proportions, it is also an +environmental disaster. The home to generations of squirrels, a sentinel post +for falcons, an autumnal banner of golden glory, a living creature, was chopped +down to enshrine some underwear. This, my friends, is no way to run a planet. + -- Marshall T. Savage, from The Millennial Project: + Colonizing the Galaxy -- In Eight Easy Steps +% +Nearly every software professional has heard the term spaghetti code as a +pejorative description for complicated, difficult to understand, and impossible +to maintain, software. However, many people may not know the other two +elements of the complete Pasta Theory of Software. + +Lasagna code is used to describe software that has a simple, understandable, +and layered structure. Lasagna code, although structured, is unfortunately +monolithic and not easy to modify. An attempt to change one layer conceptually +simple, is often very difficult in actual practice. + +The ideal software structure is one having components that are small and +loosely coupled; this ideal structure is called ravioli code. In ravioli +code, each of the components, or objects, is a package containing some meat +or other nourishment for the system; any component can be modified or replaced +without significantly affecting other components. + +We need to go beyond the condemnation of spaghetti code to the active +encouragement of ravioli code. + -- Raymond J. Rubey, in a letter to the editor of Crosstalk + magazine +% +63,000 bugs in the code, 63,000 bugs, +ya get 1 whacked with a service pack, +now there's 63,005 bugs in the code!! diff --git a/fortune/datfiles/fortunes-o.fake b/fortune/datfiles/fortunes-o.fake new file mode 100644 index 0000000..3b3f5a3 --- /dev/null +++ b/fortune/datfiles/fortunes-o.fake @@ -0,0 +1,2 @@ +There are no potentially offensive fortunes installed on this +system. For further details, contact your system administrator. diff --git a/fortune/datfiles/fortunes-o.real b/fortune/datfiles/fortunes-o.real new file mode 100644 index 0000000..b0f1303 --- /dev/null +++ b/fortune/datfiles/fortunes-o.real @@ -0,0 +1,1730 @@ +71: + 69 with two fingers up your ass. + -- George Carlin +% +A bureaucracy is like a septic tank -- all the really big shits float +to the top. +% +A Christian is a man who feels repentance on Sunday for what he did on +Saturday and is going to do on Monday. + -- Thomas Ybarra +% +A conservative is a man who believes that nothing should be done for +the first time. + -- Alfred E. Wiggam +% +A conservative is a man with two perfectly good legs who has never +learned to walk. + -- Franklin D. Roosevelt +% +A friend with weed is a friend indeed. +% +A hard man is good to find. +% +A man needs a mistress, just to break the monogamy. +% +A Mormon is a man that has the bad taste and the religion to do what a +good many other people are restrained from doing by conscientious +scruples and the police. + -- Mr. Dooley +% +A Nixon [is preferable to] a Dean Rusk -- who will be passionately +wrong with a high sense of consistency. + -- J. K. Galbraith +% +A non-vegetarian anti-abortionist is a contradiction in terms. + -- Phyllis Schlafly +% +A nymph hits you and steals your virginity. +% +A person who has both feet planted firmly in the air can be safely +called a liberal. +% +A Puritan is someone who is deathly afraid that someone, somewhere, is +having fun. +% +A reactionary is a man whose political opinions always manage to keep +up with yesterday. +% +A woman is like a dresser ... some man always goin' through her +drawers. + -- Blind Lemon Pledge +% +A.I. hackers do it with robots. +% +Absinthe makes the tart grow fonder. +% +Acceptance without proof is the fundamental characteristic of Western +religion, Rejection without proof is the fundamental characteristic of +Western science. + -- Gary Zukav, "The Dancing Wu Li Masters" +% +Achilles' Biological Findings: + (1) If a child looks like his father, that's heredity. If he + looks like a neighbor, that's environment. + (2) A lot of time has been wasted arguing over what came first + -- the chicken or the egg. It was undoubtedly the + rooster. +% +Aide to Raygun: Sir, the poor are outside protesting your budget + cuts. +Raygun himself: Tell them they'll have to help themselves. +Aide to Raygun: Sir, the Pentagon wants another $30 billion. +Raygun himself: Tell them to help themselves. +% +All a hacker needs is a tight PUSHJ, a loose pair of UUOs, and a warm +place to shift. +% +All the waters of the earth are in the armpit of the Great Frog. + -- R. Crumb +% +All things dull and ugly, All creatures short and squat, + All things rude and nasty, The Lord God made the lot; +Each little snake that poisons, Each little wasp that stings, + He made their brutish venom, He made their horrid wings. +All things sick and cancerous, All evil great and small, + All things foul and dangerous, The Lord God made them all. +Each nasty little hornet, Each beastly little squid. + Who made the spikey urchin? Who made the sharks? He did. +All things scabbed and ulcerous, All pox both great and small. + Putrid, foul and gangrenous, The Lord God made them all. + -- Monty Python's Flying Circus +% +America is a large, friendly dog in a very small room. Every time it +wags its tail, it knocks over a chair. + -- Arnold Joseph Toynbee +% +An Army travels on her stomach. +% +An egg has the shortest sex-life of all: it gets laid once; it gets +eaten once. It also has to come in a box with 11 others, and the only +person who will sit on its face is its mother. +% +"And Bezel saideth unto Sham: `Sham,' he saideth, `Thou shalt goest +unto the town of Begorrah, and there thou shalt fetcheth unto thine +bosom 35 talents, and also shalt thou fetcheth a like number of cubits, +provideth that they are nice and fresh.'" + -- Dave Barry, "Getting Religion" +% + And Jesus said unto them, "And whom do you say that I am?" + They replied, "You are the eschatological manifestation of the +ground of our being, the ontological foundation of the context of our +very selfhood revealed." + And Jesus replied, "What?" +% +... And then there's the guy who bought 20,000 bras, cut them in half, +and sold 40,000 yamalchas with chin straps... +% +Anxiety, n.: + The first time you can't do it a second time. + +Panic, n.: + The second time you can't do it the first time. +% +"Anything created must necessarily be inferior to the essence of the creator." + -- Claude Shouse + +"Einstein's mother must have been one heck of a physicist." + -- Joseph C. Wang +% +Approximately 80% of our air pollution stems from hydrocarbons +released by vegetation, so let's not go overboard in setting and +enforcing tough emissions standards from man-made sources. + -- Ronald Reagan +% +Back in the good ole days in Texas, when stagecoaches and the like was +popular, there were three people in a stagecoach one day: a true red- +blooded born-and-raised Texas gentleman, a tenderfoot city-slicker from +back East, and a beautiful and well-endowed Texas lady. The city- +slicker kept eyeing the lady, and finally he leaned forward and said, +"Lady, I'll give you $10 for a blow job." The Texas gentleman looked +appalled, pulled out his pistol, and killed the city-slicker on the +spot. The lady gasped and said, "Thank you, suh, for defendin' mah +honor!" Whereupon the Texan holstered his gun and said, "Your honor, +hell! No tenderfoot is gonna raise the price of women in Texas!" +% +Baltimore, n.: + Where the women wear turtleneck sweaters to hide their flea +collars. +% +Bankers do it with interest (penalty for early withdrawal). +% +Based on what you know about him in history books, what do you think +Abraham Lincoln would be doing if he were alive today? + + (1) Writing his memoirs of the Civil War. + (2) Advising the President. + (3) Desperately clawing at the inside of his coffin. + -- David Letterman +% +Be prepared... that's the Boy Scout's solemn creed. +Be prepared... to be clean in word and deed. +Don't solicit for your sister, that's not nice, +Unless you get a good percentage of her price ... + -- Tom Lehrer +% +Behold the unborn fetus and + Weep salt tears crocodilian; +All life is sacred (save, of course, + An enemy civilian). +% +Being stoned on marijuana isn't very different from being stoned on +gin. + -- Ralph Nader +% +Beneath this stone a virgin lies, +For her life held no terrors. +A virgin born, a virgin died: +No hits, no runs, no errors. +% +Beware of altruism. It is based on self-deception, the root of all +evil. +% +Blessed are the meek for they shall inhibit the earth. +% +Booze is the answer. I don't remember the question. +% +Build a better mousetrap, the saying goes -- and with the brassiere, +Yankee Ingenuity did exactly that. But their true stroke of genius was +the new bait. The old fashioned mousetrap was loaded with cheese; +nobody cares much about cheese, except mice. But when American +Know-How reloaded the brassiere with tits, every heterosexual male in +the country was hopelessly trapped. + -- Alan Sherman, "The Rape of the A*P*E*" +% +... But the reward of a successful collaboration is a thing that cannot +be produced by either of the parties working alone. It is akin to the +benefits of sex with a partner, as opposed to masturbation. The latter +is fun, but you show me anyone who has gotten a baby from playing with +him or herself, and I'll show you an ugly baby, with just a whole bunch +of knuckles. + -- Harlan Ellison +% +"California is proud to be the home of the freeway." + -- Ronald Reagan +% +"Can you hammer a 6-inch spike into a wooden plank with your penis?" + +"Uh, not right now." + +"Tsk. A girl has to have some standards." + -- "Real Genius" +% +Captain Hook died of jock itch. +% +Champagne don't make me lazy. +Cocaine don't drive me crazy. +Ain't nobody's business but my own. + -- Taj Mahal +% +Chaste makes waste. +% +Chipmunks roasting on an open fire +Jack Frost ripping up your nose +Yuletide carolers being thrown in the fire +And folks dressed up like buffaloes +Everybody knows a turkey slaughtered in the snow +Helps to make the season right +Tiny tots with their eyes all gouged out +Will find it hard to see tonight +They know that Santa's on his way +He's loaded lots of guns and bullets on his sleigh +And every mother's child is sure to spy +To see if reindeer really scream when they die +And so I'm offering this simple phrase +To kids from one to ninety two +Although it's been said many times, many ways +Merry Christmas, Merry Christmas, Merry Christmas, Fuck you!! +% +Christian, n.: + One who believes that the New Testament is a divinely inspired +book admirably suited to the spiritual needs of his neighbor. One who +follows the teachings of Christ in so far as they are not inconsistent +with a life of sin. +% +Christianity has not been tried and found wanting; it has been found +difficult and not tried. + -- G. K. Chesterton +% +Clarke's Third Law: + Any sufficiently advanced technology is indistinguishable from +magic. + +G's Third Law: + In spite of all evidence to the contrary, the entire universe +is composed of only two basic substances: magic and bullshit. + +H's Dictum: + There is no magic... +% +Claude believed that only smart attractive people had the right to +fuck, and it sincerely hurt him when he discovered evidence to the +contrary. + -- Tom Robbins +% +CLONE OF MY OWN (to Home on the Range) + +Oh, give me a clone +Of my own flesh and bone + With the Y chromosome changed to X. +And when she is grown, +My very own clone, + We'll be of the opposite sex. + +Chorus: + Clone, clone of my own, + With the Y chromosome changed to X. + And when we're alone, + Since her mind is my own, + She'll be thinking of nothing but sex. + -- Randall Garrett +% +Cocaine is nature's way of telling you you have too much money. +% +Coito ergo sum +% +College is like a woman -- you work so hard to get in, and nine months +later you wish you'd never come. +% +Communists do it without class. +% +Condoms are like listening to a symphony with cotton in your ears. +% +Conservative, n.: + One who admires radicals centuries after they're dead. + -- Leo C. Rosten +% +Conserve energy -- make love more slowly. +% +Cunnilingus is next to godliness. +% +Dammit, how many times do I have to tell you? _____FIRST you rape, ____THEN you +pillage!! +% +Dear Lord, observe this bended knee +This visage meek and humble, +And hear this confidential plea +Voiced in reverent mumble: + Give me Shylock, give me Fagin + But O God spare me Ronald Reagan! + -- Ansel Adams +% +Dear Mr. Seldes: I cannot remember the exact wording of the statement +to which you allude; but what I meant was that ... a man who calls +himself a 100% American and is proud of it, is generally 150% an idiot +politically. But the designations may be good business for war +veterans. Having bled for their country in 1861 and 1918, they have +bled it all they could consequently. And why not? + -- George Seldes, "The Great Quotations" +% +Democracy can learn some things from Communism: for example, when a +Communist politician is through, he is through. +% +Democracy means simply the bludgeoning of the people by the people for +the people. + -- Oscar Wilde +% +Did you hear about the new German microwave oven? + + ... Seats 500. +% +Did you know that Spiro Agnew is an anagram of "Grow a Penis"? +% +Did you know that there are 71.9 acres of nipple tissue in the U.S.? +% +[District Attorneys] learn in District Attorney School that there are +two sure-fire ways to get a lot of favorable publicity: + +(1) Go down and raid all the lockers in the local high school and + confiscate 53 marijuana cigarettes and put them in a pile and hold + a press conference where you announce that they have a street value + of $850 million. These raids never fail, because ALL high schools, + including brand-new, never-used ones, have at least 53 marijuana + cigarettes in the lockers. As far as anyone can tell, the locker + factory puts them there. +(2) Raid an "adult book store" and hold a press conference where you + announce you are charging the owner with 850 counts of being a + piece of human sleaze. This also never fails, because you always + get a conviction. A juror at a pornography trial is not about to + state for the record that he finds nothing obscene about a movie + where actors engage in sexual activities with live snakes and a + fire extinguisher. He is going to convict the bookstore owner, and + vote for the death penalty just to make sure nobody gets the wrong + impression. + -- Dave Barry, "Pornography" +% +Do something big -- fuck a giant +% +"Do you cheat on your wife?" asked the psychiatrist. +"Who else?" answered the patient. +% +Doctors take two aspirin and do it in the morning. +% +Don't let your mouth write no check that your tail can't cash. + -- Bo Diddley +% +Dope will get you through times of no money better that money will get +you through times of no dope. + -- Gilbert Shelton +% +Draft beer, not people +% +Eat the rich -- the poor are tough and stringy. +% +Eisenhower was very nice, +Nixon was his only vice. + -- C. Degen +% +Eleven reasons a cucumber is better than a man: + (1) Cucumbers can stay up all night, and you won't have to + sleep in the wet spot. + (2) Cucumbers don't play the guitar and try to find + themselves. + (3) You won't find out later that your cucumber (a) is + married, (b) is on penicillin, (c) likes you -- but loves + your brother! + (4) A cucumber won't care what time of the month it is. + (5) A cucumber never wants to get it on when your nails are + wet. + (6) Cucumbers don't say "Let's keep trying until we have a + boy". + (7) Cucumbers won't tell you size doesn't count. + (8) A cucumber won't leave you for a cheerleader or an ex-nun. + (9) Cucumbers don't fall asleep on your chest or drool on the + pillow. + (10) Cucumbers don't care if you make more money than they do. + (11) With a cucumber, the toilet seat is always the way you + left it. +% +Equality is not when a female Einstein gets promoted to assistant +professor; equality is when a female schlemiel moves ahead as fast as a +male schlemiel. + -- Ewald Nyquist +% +Evangelists do it with Him watching. +% +Even nowadays a man can't step up and kill a woman without feeling +just a bit unchivalrous ... + -- Robert Benchley +% +Feminists say 60 percent of the country's wealth is in the hands of +women. They're letting men hold the other 40 percent because their +handbags are full. + -- Earl Wilson +% +Fie for shame, you lascivious, lewd, lecherous, libidinous, lustful, +licentious, dirty bum!! +% +Floppy now, hard later. +% +For those of you how have been looking for evidence that a working +version of "Star Wars" can be built, consider the following proof +offered by Caspar Weinberger: + + "If such a system is so unattainable, why have the Soviets been + working desperately to get it for over 17 years?" + + -- USA Today, 24 June 1986 +% +Fornication, n.: + Term used by people who don't have anybody to screw with. +% +Fortune's Real-Life Courtroom Quote #25: + +Q: You say you had three men punching at you, kicking you, raping you, + and you didn't scream? +A: No ma'am. +Q: Does that mean you consented? +A: No, ma'am. That means I was unconscious. +% +George Washington not only chopped down his father's cherry tree, but +he also admitted doing it. Now, do you know why his father didn't +punish him? Because George still had the axe in his hand. +% +Getting an education at the University of California is like having +$50.00 shoved up your ass, a nickel at a time. +% +Go to Heaven for the climate, Hell for the company. + -- Mark Twain +% + God built a compelling sex drive into every creature, no +matter what style of fucking it practiced. He made sex irresistibly +pleasurable, wildly joyous, free from fears. He made it innocent +merriment. + Needless to say, fucking was an immediate smash hit. Everyone +agreed, from aardvarks to zebras. All the jolly animals -- lions and +lambs, rhinoceroses and gazelles, skylarks and lobsters, even insects, +though most of them fuck only once in a lifetime -- fucked along +innocently and merrily for hundreds of millions of years. Maybe they +were dumb animals, but they knew a good thing when they had one. + -- Alan Sherman, "The Rape of the A*P*E*" +% +God gives us relatives; thank goodness we can chose our friends. +% +God is an atheist. +% +GOD is applied POWER + which is applied GOVERNMENT + which is applied POLITICS + which is applied ADVERTISING + which is applied SOCIOLOGY + which is applied PSYCHOLOGY + which is applied BIOLOGY + which is applied CHEMISTRY + which is applied PHYSICS + which is applied MATH + which is applied PHILOSOPHY + which is applied BULLSHIT +% +"God is as real as I am," the old man said. My faith was restored, for +I knew that Santa would never lie. +% +God is big, so don't fuck with him. +% +God isn't dead -- he's been busted. +% +God isn't dead, He's just trying to avoid the draft. +% +God must love assholes -- She made so many of them. +% +God wanted to have a holiday, so He asked St. Peter for suggestions on +where to go. + "Why not go to Jupiter?" asked St. Peter. + "No, too much gravity, too much stomping around," said God. + "Well, how about Mercury?" + "No, it's too hot there." + "Okay," said St. Peter, "What about Earth?" + "No," said God, "They're such horrible gossips. When I was +there 2000 years ago, I had an affair with a Jewish woman, and they're +still talking about it." +% +Good day for water sports. Take a bath with a friend. +% +Grain grows best in shit. + -- Ursula K. LeGuin +% +Gravity is an unforgiving motherfucker. +% +Great Lover, n.: + A man who can breathe through his ears. +% +Hackers do it with all sorts of characters. +% +Hackers do it with bugs. +% +Hackers do it with fewer instructions. +% +Hackers know all the right MOVs. +% +Haggis, n.: + Haggis is a kind of stuff black pudding eaten by the Scots and +considered by them to be not only a delicacy but fit for human +consumption. The minced heart, liver and lungs of a sheep, calf or +other animal's inner organs are mixed with oatmeal, sealed and boiled +in maw in the sheep's intestinal stomach-bag and ... Excuse me a minute ... +% +Hardly a pure science, history is closer to animal husbandry than it is +to mathematics, in that it involves selective breeding. The principal +difference between the husbandryman and the historian is that the +former breeds sheep or cows or such, and the latter breeds (assumed) +facts. The husbandryman uses his skills to enrich the future; the +historian uses his to enrich the past. Both are usually up to their +ankles in bullshit. + -- Tom Robbins +% +Having discovered the possibility that other creatures could be used +for sexual intercourse, early man was likely to have made many such +attempts ... though it is doubtful that he was so sexually carnivorous +as the Christian and Jewish Adam, who, rabbinical interpreters of the +Old Testament tell us, had intercourse with every creature before God +finally hit upon the idea of woman and created Eve. + -- R. E. Masters +% +He could be a poster child for retroactive birth control. +% +He wasn't much of an actor, he wasn't much of a Governor -- Hell, they +_H_A_D to make him President of the United States. It's the only job he's +qualified for! + -- Michael Cain +% +He who findeth sensuous pleasures in the bodies of lush, hot, pink +damsels is not righteous, but he can have a lot more fun. +% +He who sneezes without a handkerchief takes matters into his own +hands. +% +He's not pining, he's passed on! This parrot won't squawk! He's +ceased to be! He's expired, and gone to meet his maker! It's a +stiff! No breath of life, he may rest in peace! If you hadn't nailed +him to the perch, he'd be pushing up the daisies! He's off the twig! +He's kicked the bucket! He's curled up his tooties! He's shuffled off +this mortal world! He's run down the curtain, and joined the bleed'n +Choir Invincible! HE'S FUCKING SNUFFED IT! Vis-a-vi his metabolic +processes is head is lost. All statements concerning this parrot is no +longer a going concern, after from now on, Inoperative... + + THIS IS AN EX-PARROT!! +% +Her figure described a set of parabolas that could cause cardiac arrest +in a yak. + -- Woody Allen +% +Her kisses left something to be desired -- the rest of her. +% +Here is the problem: for many years, the Supreme Court wrestled with +the issue of pornography, until finally Associate Justice John Paul +Stevens came up with the famous quotation about how he couldn't define +pornography, but he knew it when he saw it. So for a while, the +court's policy was to have all the suspected pornography trucked to +Justice Stevens' house, where he would look it over. "Nope, this isn't +it," he'd say. "Bring some more." This went on until one morning when +his housekeeper found him trapped in the recreation room under an +enormous mound of rubberized implements, and the court had to issue a +ruling stating that it didn't know what the hell pornography was except +that it was illegal and everybody should stop badgering the court about +it because the court was going to take a nap. + -- Dave Barry, "Pornography" +% +Here's the holiday schedule for Monday's observation of Martin Luther +King Jr.'s birthday, when the following will be closed: + + * Governmental offices + * Post offices + * Libraries + * Schools + * Banks + * Parts of Palm Beach + +and the mind of Senator Jesse Helms of North Carolina. + -- Dennis Miller, "Saturday Night Live" +% +History has the relation to truth that theology has to religion -- +i.e., none to speak of. + -- Lazarus Long +% +How do you like the new America? We've cut the fat out of the +government, and more recently the heart and brain (the backbone was +gone some time ago). All we seem to have left now is muscle. We'll be +lucky to escape with our skins! +% +Howard Cosell's biggest protrusion is his asshole. + -- John Valby +% +Hugh Hefner is a virgin. +% +I am an atheist, thank God! +% +I believe that Ronald Reagan will someday make this country what it +once was ... an arctic wilderness. + -- Steve Martin +% +I came; I saw; I fucked up. +% +I have a funny daddy +Who goes in and out with me +And everything that baby does +Daddy's sure to see, +And everything that baby says, +My daddy's sure to tell. +You _m_u_s_t have read my daddy's verse. +I hope he fries in Hell. + -- Ogden Nash +% +I love this fucking University, and this University loves fucking me. +% +I own my own body, but I share. +% +I realize that today you have a number of top female athletes such as +Martina Navratilova who can run like deer and bench-press Chevrolet +trucks. But to be brutally frank, women as a group have a long way to +go before they reach the level of intensity and dedication to sports +that enables men to be such incredible jerks about it. + -- Dave Barry, "Sports is a Drag" +% +I regret to say that we of the F.B.I. are powerless to act in cases of +oral-genital intimacy, unless it has in some way obstructed interstate +commerce. + -- J. Edgar Hoover +% +I think every good Christian ought to kick Falwell right in the ass. + -- Barry Goldwater +% +I think pop music has done more for oral intercourse than anything else +that has ever happened, and vice versa. + -- Frank Zappa +% +I walked on toward Ploughwright, thinking about feces. What a lot we +had found out about the prehistoric past from the study of fossilized +dung of long-vanished animals. A miraculous thing, really; a recovery +from the past from what was carelessly rejected. And in the Middle +Ages, how concerned people who lived close to the world of nature were +with the feces of animals. And what a variety of names they had for +them: the Crotels of a Hare, the Friants of a Boar, the Spraints of +an Otter, the Werderobe of a Badger, the Waggying of a Fox, the Fumets +of a Deer. Surely there might be some words for the material so near +to the heart of Ozy Froats [an academic studying feces] than shit? +What about the Problems of a President, the Backward Passes of a +Footballer, the Deferrals of a Dean, the Odd Volumes of a Librarian, +the Footnotes of a Ph.D., the Low Grades of a Freshman, the Anxieties +of an Untenured Professor? + -- Robertson Davies, "The Rebel Angels" +% +I would like to suggest that you not use speed, and here's why: it is +going to mess up your heart, mess up your liver, your kidneys, rot out +your mind. In general this drug will make you just like your mother +and father. + -- Frank Zappa +% +I wouldn't mind dying -- it's that business of having to stay dead that +scares the shit out of me. + -- R. Geis +% +I'd like to meet the man who invented sex and see what he's working on +now. +% +I'm for peace -- I've yet to see a man wake up in the morning and say +"I've just had a good war." + -- Mae West +% +I'm going to Iowa for an award. Then I'm appearing at Carnegie Hall, +it's sold out. Then I'm sailing to France to be honored by the French +government -- I'd give it all up for one erection. + -- Groucho Marx +% +I've had one child. My husband wants to have another. I'd like to +watch him have another. +% +If a child annoys you, quiet him by brushing his hair. If this doesn't +work, use the other side of the brush on the other end of the child. +% +If all these sweet young things were laid end-to-end, I wouldn't be a +bit surprised. + -- Dorothy Parker +% +If anyone wants to trade a couple of centrally located, well-cushioned +showgirls for an eroded slope 90 minutes from Broadway, I'll be on this +corner tomorrow at 11 with my tongue hanging out. + -- S. J. Perelman +% +If clear thinking created sparks, we could safely store dynamite in +James Watt's office. + -- Wayne Shannon, KRON-TV +% +If God had wanted us to use the metric system, Jesus would have had 10 +apostles. +% +If guns are outlawed, how will we shoot the liberals? +% +If Helen Keller is alone in a forest and falls, does she make a sound? +% +If men could get pregnant, abortion would be a sacrament. +% +If Reagan is the answer, it must have been a VERY silly question. +% +If someone were to ask me for a short cut to sensuality, I would +suggest he go shopping for a used 427 Shelby-Cobra. But it is only +fair to warn you that of the 300 guys who switched to them in 1966, +only two went back to women. + -- Mort Sahl +% +If the American dream is for Americans only, it will remain our dream +and never be our destiny. + -- Ren'e de Visme Williamson +% +If you can believe ten impossible things before breakfast, then you +should join + + THE CHURCH OF COUNTERFACTUAL BELIEF + +The Church of Counterfactual Belief has been set up to cater to all who +don't allow demonstrable truth to get in the way of their beliefs. In +addition to creation science and the flatness of the earth, the +following beliefs have been certified by Pope Duane as Church dogma: + + -- That there is a hole in the Earth at the North Pole from which + UFOs come. + -- That pi equals precisely 3.000. + -- That sex can be enjoyed only by blacks and homosexuals. + -- That Billy Joe Wilson (Hoopla, Miss.) has successfully squared + the circle. + -- That Harry Truman is still president, and doing a fine job. + -- That pi equals precisely 22/7. + +Several other important counterfactual beliefs are presently being +studied, including Reaganomics, A.I., and that the moon landings were +done in a Hollywood special effects studio. These will be the subject +of a forthcoming Papal Bull ... +% +If you meet somebody who tells you that he loves you more than anybody +in the whole wide world, don't trust him. It means he experiments. +% +If you think sex is a pain in the ass, try different position. +% +If you're a real good kid, I'll give you a piggy-back ride on a +buzz-saw. + -- W. C. Fields +% +Ignorance is the Mother of Devotion. + -- Robert Burton +% +In Christianity neither morality nor religion come into contact with +reality at any point. + -- Friedrich Nietzsche +% + In the beginning was the DEMO Project. And the Project was +without form. And darkness was upon the staff members thereof. So +they spake unto their Division Head, saying, "It is a crock of shit, +and it stinks." + + And the Division Head spake unto his Department Head, saying, +"It is a crock of excrement and none may abide the odor thereof." Now, +the Department Head spake unto his Directorate Head, saying, "It is a +container of excrement, and is very strong, such that none may abide +before it." And it came to pass that the Directorate Head spake unto +the Assistant Technical Director, saying, "It is a vessel of fertilizer +and none may abide by its strength." + + And the assistant Technical Director spake thus unto the +Technical Director, saying, "It containeth that which aids growth and +it is very strong." And, Lo, the Technical Director spake then unto +the Captain, saying, "The powerful new Project will help promote the +growth of the Laboratories." + + And the Captain looked down upon the Project, and He saw that +it was Good! +% +Incest, n.: + Sibling revelry. +% +Is it just me, or does anyone else read "bible humpers" every time +someone writes "bible thumpers?" + -- Joel M. Snyder, jms@mis.arizona.edu +% +It is a sad commentary on today's society that this fortune has to be +classified as "offensive" simply because it contains the word "fuck". +% +"It says he made us all to be just like him. So if we're dumb, then +god is dumb, and maybe even a little ugly on the side." + -- Frank Zappa +% +It was a Roman who said it was sweet to die for one's country. The +Greeks never said it was sweet to die for anything. They had no vital +lies. + -- Edith Hamilton, "The Greek Way" +% +Jesus died for your sins. Make it worth his time. +% +Jesus saves...but Gretzky gets the rebound! + -- Daniel Hinojosa +% +Jesus was killed by a Moral Majority. +% +John Birch Society -- that pathetic manifestation of organized +apoplexy. + -- Edward P. Morgan +% +Kasha, n.: + Kasha is always defined as "buckwheat groats". There's only +one problem with this definition: what the fuck are "buckwheat +groats"? *_I* know what they are -- they're kasha. But that doesn't +help *___you* much. + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Kill a commie for Christ! +% +Laissez Faire Economics is the theory that if each acts like a vulture, +all will end as doves. +% +Large cats can be dangerous, but a little pussy never hurt anyone. +% +LET Jesus be YOUR anchor! + +So when Satan rocks your boat, THROW Jesus overboard! +% +... Let me tell you who the actual "front-runners" are. On one side, +you have George Bush, who is currently going through a sort of +fraternity hazing wherein he has to perform a series of humiliating +stunts to win the approval of the Republican Right. For example, they +had him make a speech oozing praise all over William Loeb, deceased +publisher of the Manchester (N.H.) Union Leader and Slime Journalist. +Loeb had dumped viciously all over George in the 1980 New Hampshire +primary. But when the Right held a big tribute for Loeb, George came +back to the fold, like a man with a bungee cord wrapped around his +neck. + -- Dave Barry, "The Twinkie and the Squid" +% +Life is like a penis: when it's soft you can't beat it, and when it's +hard you get fucked. +% +Lisp hackers have to be bound (to-do 'it) ... +% +Living in Hollywood is like living in a bowl of granola. What ain't +fruits and nuts is flakes. +% +Love does not make the world go around, just up and down a bit. +% +Mathematicians do it in theory. +% +Mathematicians take it to the limit. +% +May a diseased yak take a liking to your sister. +% +May the fairy god-camel leave a lump on your pillow! +% +Mayor Vincent J. `Buddy' Cianci on the ACLU's suit to have a city +nativity scene removed: + "They're just jealous because they don't have three wise men +and a virgin in the whole organization." +% +Megaton Man: "LOOK at them! Helpless, tender creatures, relying on + ME, waiting for ME to make my move!" + +(from below): "Move your ASS, Fat-head!" + +Megaton Man: "It is a MANDATE, and I am DUTY BOUND to OBEY!" +% +Missionary Position: + The missionary on top. +% +Most legislators are so dumb that they couldn't pour piss out of a +boot if the instructions were printed on the heel. +% +Motto of the Electrical Engineer: + Working computer hardware is a lot like an erect penis: it +stays up as long as you don't fuck with it. +% +My brother-in-law has found a way to make ends meet. He goes around +with his head stuck up his ass. +% +My country, right or wrong," is a thing that no patriot would think of +saying except in a desperate case. It is like saying, "My mother, +drunk or sober. + -- G. K. Chesterton +% +My father was a creole, his father a Negro, and his father a monkey; my +family, it seems, begins where yours left off. + -- Alexandre Dumas, pere +% + My Favorite Drugs [Sung to My Favorite Things] +Reefers and roach clips and papers and rollers +Cocaine and procaine for twenty year molars +Reds and peyote to work out your bugs +These are a few of my favorite drugs. + +Uppers and downers and methedrine freakout +Take some amphetamines, watch your brains leak out +Acid and mescaline pull out your plugs +These are a few of my favorite drugs. + +Backs that are perfect for carrying monkeys +Users of heroin, often called junkies +Methadone helps then to stop being thugs +Takes them off one of my favorite drugs. + + On a bad trip + When the cops come + When I lose my head + I simply take more of my favorite drugs + And then I'm not sad -- I'm dead! +% + NEW ADDITION TO THE LIBRARY: +"Sally", the department's new inflatable doll, is available on a +short-term removal basis only -- please sign her out and return her +promptly to avoid extended waits. (We are still awaiting shipment of +our "Big John" doll.) +% +No woman can call herself free until she can choose consciously whether +she will or will not be a mother. + -- Margaret H. Sanger +% +Not only is God dead, but just try to find a plumber on weekends. + -- Woody Allen +% +Nothing is better than Sex. +Masturbation is better than nothing. +Therefore, Masturbation is better than Sex. +% +Nuke the gay, unborn, baby whales for Jesus. +% +O'Riordan's Theorem: + Brains x Beauty = Constant. + +Purmal's Corollary: + As the limit of (Brains x Beauty) goes to infinity, +availability goes to zero. +% +Obscenity is the crutch of inarticulate motherfuckers. +% +Occident, n.: + The part of the world lying west (or east) of the Orient. It +is largely inhabited by Christians, a powerful sub-tribe of the +Hypocrites, whose principal industries are murder and cheating, which +they are pleased to call "war" and "commerce." These, also, are the +principal industries of the Orient. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Ocean, n.: + A body of water occupying about two-thirds of a world made for +man -- who has no gills. +% +Once upon a time, there was a non-conforming sparrow who decided not to +fly south for the winter. However, soon after the weather turned cold, +the sparrow changed his mind and reluctantly started to fly south. +After a short time, ice began to form his on his wings and he fell to +earth in a barnyard almost frozen. A cow passed by and crapped on this +little bird and the sparrow thought it was the end, but the manure +warmed him and defrosted his wings. Warm and happy the little sparrow +began to sing. Just then, a large Tom cat came by and hearing the +chirping investigated the sounds. As Old Tom cleared away the manure, +he found the chirping bird and promptly ate him. + +There are three morals to this story: + +(1) Everyone who shits on you is not necessarily your enemy. +(2) Everyone who gets you out of shit is not necessarily your friend. +(3) If you are warm and happy in a pile of shit, keep your mouth shut. +% +One day President Reagan, Chairman Andropov, the Pope, and a boy scout +were flying together in an airplane. Right out in the middle of +nowhere the plane developed engine trouble and started to go down. +Unfortunately, only three parachutes could be found for the four +passengers! Andropov grabbed one of the parachutes and declared +"Comrades, as leader of the socialist workers revolution, my life must +be spared," and he jumped out of the plane. Then Reagan exclaimed "As +leader of the greatest nation on earth, I must keep the world safe for +democracy," and with that he too jumped to safety. Now if you are +following all this (or counting on your fingers) you must see that +there is only one parachute left for the two remaining passengers. The +Pope looked kindly upon the boy scout and said "I have had a long and +productive life, my son. You take the parachute and leave me in God's +hands." "That's very kind of you," the observant scout replied, "but +there is no need. Reagan just jumped out with my knapsack." +% +One Saturday afternoon, during the campaign to decide whether or not +there should be a Coastal Commission, I took a helicopter ride from Los +Angeles to San Diego. We passed several state beaches, some crowded +and some virtually empty. They had the same facilities, and in some +cases the crowded and the empty beach were within a quarter mile of +each other. Obviously many beach-goers prefer to be crowded together. +Buying more beaches that people won't go to because they prefer to be +crowded together on one beach is a ridiculous waste of our natural +resources and our taxes. + -- Ronald Reagan +% +One thing I have no worry about is whether God exists. But it has +occurred to me that God has Alzheimer's and has forgotten we exist. + -- Jane Wagner, "The Search for Signs of Intelligent + Life in the Universe" +% +Opinions are like assholes -- everyone's got one, but nobody wants to +look at the other guy's. + -- Hal Hickman +% +Our [softball] team usually puts the other woman at second base, where +the maximum possible number of males can get there on short notice to +help out in case of emergency. As far as I can tell, our second +basewoman is a pretty good baseball player, better than I am, anyway, +but there's no way to know for sure because if the ball gets anywhere +near her, a male comes barging over from, say, right field, to deal +with it. She's been on the team for three seasons now, but the males +still don't trust her. They know, deep in their souls, that if she had +to choose between catching a fly ball and saving an infant's life, she +probably would elect to save the infant's life, without ever +considering whether there were men on base. + -- Dave Barry, "Sports is a Drag" +% +Our government has kept us in a perpetual state of fear -- kept us in +a continuous stampede of patriotic fervor -- with the cry of grave +national emergency... Always there has been some terrible evil to +gobble us up if we did not blindly rally behind it by furnishing the +exorbitant sums demanded. Yet, in retrospect, these disasters seem +never to have happened, seem never to have been quite real. + -- General Douglas MacArthur, 1957 +% + Overheard in a bar: +Man: "Hey, Baby, I'd sure like to get in your pants!" +Woman: "No, thanks, I've already got one ass-hole in there now." +% +People who develop the habit of thinking of themselves as world +citizens are fulfilling the first requirement of sanity in our time. + -- Norman Cousins +% +Physicists do it with charm. +% +Politicians do it to everyone. +% +Posterity will ne'er survey +A nobler grave than this; +Here lie the bones of Castlereagh; +Stop, traveler, and piss. + -- Lord Byron, on Lord Castlereagh +% +Procrastinators do it tomorrow. +% +Prostitution is the only business where you can go into the hole and +still come out ahead. +% +Q: How do you play religious roulette? +A: You stand around in a circle and blaspheme and see who gets struck + by lightning first. +% +Q: How do you tell if an elephant has been making love in your + backyard? +A: If all your trashcan liners are missing ... +% +Q: How do you tell if you're making love to a nurse, a schoolteacher, + or an airline stewardess? +A: A nurse says: "This won't hurt a bit." A schoolteacher says: + "We're going to have to do this over and over again until we get it + right." An airline stewardess says: "Just hold this over your + mouth and nose, and breath normally." +% +Q: How many right-to-lifers does it take to change a light bulb? +A: Two. One to screw it in and one to say that light started when the + screwing began. +% +Q: How many supply-siders does it take to change a light bulb? +A: None. The darkness will cause the light bulb to change by itself. +% +Q: How much money do you give to a 900 foot Jesus? +A: As much as he wants. +% +Q: If Tarzan was Jewish, and Jane was a princess, what would Cheetah + be? +A: A fur coat. +% +Q: What do you do with an elephant with three balls? +A: Walk him and pitch to the rhino. +% +Q: What do you get when you cross James Dean with Ronald Reagan? +A: A rebel without a clue. +% +Q: What is "SMOORPLAY"? +A: It's what SMURFS do before they SMUCK, of course! +% +Q: What is the worst story Helen Keller ever read? +A: A cheese grater. +% +Q: What's Jewish foreplay? +A: Two hours of begging. +% +Q: Where can you buy black lace crotchless panties for sheep? +A: Fredrick's of Ithaca, New York. +% +Q: Where does virgin wool come from? +A: Ugly sheep. +% +Q: Why does Helen Keller masturbate with one hand? +A: So she can moan with the other! +% +Queensboro president Donald Mannis, charged with receiving bribes in +exchange for city contracts, resigned on Tuesday. Mannis feels he must +devote more time to impending litigation, some of which might emanate +from a recent statement he made comparing New York Mayor Ed Koch to +Nazi Martin Bormann. A spokesman from the Bormann estate said they are +weighing the odds of a slander suit. Mayor Koch could naturally be +reached for comment, but we chose not to listen. + -- Dennis Miller, "Saturday Night Live" +% +Randel, n.: + A nonsensical poem recited by Irish schoolboys as an apology +for farting at a friend. + -- Mrs. Byrne's Dictionary of Unusual, Obscure & + Preposterous Words +% +Reagan can't _a_c_t either. +% +Remember when you were a kid and the boys didn't like the girls? Only +sissies liked girls? What I'm trying to tell you is that nothing's +changed. You think boys grow out of not liking girls, but we don't +grow out of it. We just grow horny. That's the problem. We mix up +liking pussy for liking girls. Believe me, one couldn't have less to +do with the other. + -- Jules Feiffer +% +Republicans consume three-fourths of the rutabaga produced in this +country. The remainder is thrown out. +% +Republicans raise dahlias, Dalmatians and eyebrows. +Democrats raise Airedales, kids and taxes. + +Democrats eat the fish they catch. +Republicans hang them on the wall. + +Republican boys date Democratic girls. They plan to marry Republican +girls, but feel they're entitled to a little fun first. + +Democrats make up plans and then do something else. +Republicans follow the plans their grandfathers made. + +Republicans consume three-fourths of the rutabaga produced in the USA. +The remainder is thrown out. + +Republicans sleep in twin beds -- some even in separate rooms. +That is why there are more Democrats. + -- The Official Rules, as compiled by Paul Dickson +% +Republicans tend to keep their shades drawn, although there is seldom +any reason why they should. Democrats ought to, but don't. +% +Ronald Reagan -- America's favorite placebo +% +Save Soviet Jewry -- Win Valuable Prizes!!!! +% +Sex is like a bridge game -- If you have a good hand no partner is +needed. +% +Sex is one of the nine reasons for reincarnation ... the other eight +are unimportant. + -- Henry Miller +% +Sex is the poor man's opera. + -- G. B. Shaw +% +She asked me if I loved her still. "Yes," I replied. "I've never had +you any other way." +% +She hates testicles, thus limiting the men she can admire to Democratic +candidates for president. + -- John Greenway, "The American Tradition", on feminist + Elizabeth Gould Davis +% +... So this is a very confusing situation, and what makes it even worse +is, our standards keep changing. Take Playboy magazine. Back in the +1950s, when I started reading it strictly for the articles, Playboy was +considered just about the raciest thing around, even though all it ever +showed was women's breasts. Granted, any given one of these breasts +would have provided adequate shelter for a family of four, but the +overall effect was no more explicit than many publications we think +nothing of today, such as Sports Illustrated's Annual Nipples Poking +Through Swimsuits Issue. + -- Dave Barry, "Pornography" +% +Sooner or later, generals will own you. +% +Statisticians do it with 95% confidence. +% +Statisticians probably do it. +% +Subpoena, n.: + From the root "sub", below, and the Latin "poena" for male +organ or penis. Therefore, "below the penis" or "by the balls." +% +Support the right of unborn males to bear arms! + -- A public service announcement from Phyllis Schlafly, + the Catholic Church, and the National Rifle + Association +% +Sure eating yogurt will improve your sex life. People know that if +you'll eat that stuff, you'll eat anything. +% +Sure, Reagan has promised to take senility tests. But what if he +forgets? +% +Taxes should hurt. I just mailed my own tax return last night and I +am prepared to say `ouch!' as loud as anyone. + -- Ronald Reagan +% +The Army is a place where you get up early in the morning to be yelled +at by people with short haircuts and tiny brains. + -- Dave Barry +% + The big problem with pornography is defining it. You can't +just say it's pictures of people naked. For example, you have these +primitive African tribes that exist by chasing the wildebeest on foot, +and they have to go around largely naked, because, as the old tribal +saying goes: "N'wam k'honi soit qui mali," which means, "If you think +you can catch a wildebeest in this climate and wear clothes at the same +time, then I have some beach front property in the desert region of +Northern Mali that you may be interested in." + So it's not considered pornographic when National Geographic +publishes color photographs of these people hunting the wildebeest +naked, or pounding one rock onto another rock for some primitive reason +naked, or whatever. But if National Geographic were to publish an +article entitled "The Girls of the California Junior College System +Hunt the Wildebeest Naked," some people would call it pornography. But +others would not. And still others, such as the Spectacularly Rev. +Jerry Falwell, would get upset about seeing the wildebeest naked. + -- Dave Barry, "Pornography" +% +The computer is the ultimate polluter: its shit is indistinguishable +from the food it produces. +% + The defense attorney was hammering away at the plaintiff: "You +claim," he jeered, "that my client came at you with a broken bottle in +his hand. But is it not true, that you had something in YOUR hand?" + + "Yes," he admitted, "his wife. Very charming, of course, but +not much good in a fight." +% +The difference between this school and a cactus plant is that the +cactus has the pricks on the outside. +% +... The Father, the Son and the Holy Ghost would never throw the Devil +out of Heaven as long as they still need him as a fourth for bridge. + -- Letter in NEW LIBERTARIAN NOTES #19 +% + The Gray-haired Woman's Complaint + +My back aches, my pussy is sore; +I simply can't fuck any more; + I'm covered with sweat, + And you haven't come yet, +And my God, it's a quarter to four! +% +The man who said "A bird in the hand's worth two in the bush" has been +putting his bird in the *WRONG* bushes. +% +THE MX IS GOOD FOR THE ECONOMY. One important reason we have a Defense +Department is that when we give it money, it spends it, which creates +jobs, whereas if we left the money in the hands of civilians, we don't +know what they'd do with it. Probably put it in open trenches and set +it on fire. The MX will create an especially large number of jobs +because of the number of warheads it carries. It carries a total of 10 +warheads. This creates a great deal of employment, because you have +your Warhead Makers, your Warhead Lifters, your Persons Who Tap the +Warheads Gently with Rubber Mallets to Wedge Them All Snugly Into the +Nose Cone, your Persons Who Just Walk Around Playing Soothing Cassettes +by Recording Artists such as Perry Como So We Don't Have Any More +Episodes Where a Worker Who is Experiencing Some Strain Sticks a +Warhead in the Employee Cafeteria Microwave and Sets It On Roast, etc. +We are talking about a lot of jobs. + -- Dave Barry, "At Last, the Ultimate Deterrent Against + Political Fallout" +% +The other night I was having sex, but the girl hung up on me. +% +The owner of a large furniture store in the mid-west arrived in France +on a buying trip. As he was checking into a hotel he struck up an +acquaintance with a beautiful young lady. However, she only spoke +French and he only spoke English, so each couldn't understand a word +the other spoke. He took out a pencil and a notebook and drew a +picture of a taxi. She smiled, nodded her head and they went for a +ride in the park. Later, he drew a picture of a table in a restaurant +with a question mark and she nodded, so they went to dinner. After +dinner he sketched two dancers and she was delighted. They went to +several nightclubs, drank champagne, danced and had a glorious +evening. It had gotten quite late when she motioned for the pencil and +drew a picture of a four-poster bed. He was dumbfounded, and has never +be able to understand how she knew he was in the furniture business. +% +The problem with being best man at a wedding is that you never get a +chance to prove it. +% +The real problem with fucking a sheep is that you have to walk around +in front every time you want to kiss her. +% +The reason we need the MX missile system is that the missiles we +currently have in the ground are the Minuteman model, which is very +old. The Defense Department can't even remember where half of them +are. Insects have built nests in them. People have built houses +directly over the silos. What this means, of course, is that if we +ever needed them to help obliterate all human life on the planet, they +could be a real embarrassment. I mean, maybe YOU'RE comfortable with +the prospect of missiles that are supposed to represent you barging +over the North Pole trailing shreds of polyester carpeting from some +recreation room in South Dakota, but your strategic defense planners +are not. + -- Dave Barry, "At Last, the Ultimate Deterrent Against + Political Fallout" +% +The sergeant walked into the shower and caught me giving myself a +dishonorable discharge. Without missing a beat, I said, "It's my dick +and I can wash it as fast as I want!" +% + The Split-Atom Blues + +Gimme Twinkies, gimme wine, + Gimme jeans by Calvin Klein ... +But if you split those atoms fine, + Mama keep 'em off those genes of mine! + +Gimme zits, take my dough, + Gimme arsenic in my jelly roll ... +Call the devil and sell my soul, + But Mama keep dem atoms whole! + -- Milo Bloom, "Bloom County" +% +The State of California has no business subsidizing intellectual +curiosity. + -- Ronald Reagan +% +The superpowers often behave like two heavily armed blind men feeling +their way around a room, each believing himself in mortal peril from +the other, whom he assumes to have perfect vision. Each tends to +ascribe to the other side a consistency, foresight and coherence that +its own experience belies. Of course, even two blind men can do +enormous damage to each other, not to speak of the room. + -- Henry Kissinger +% +The United States Army: +194 years of proud service, +unhampered by progress. +% +The United States is like the guy at the party who gives cocaine to +everybody and still nobody likes him. + -- Jim Samuels +% +The voters have spoken, the bastards... +% +The whole world is about three drinks behind. + -- Humphrey Bogart +% +The word "spine" is, of course, an anagram of "penis". This is true in +almost fifty percent of the languages of the Galaxy, and many people +have attempted to explain why. Usually these explanations get bogged +down in silly puns about "standing erect". +% +The world is an 8000 mile in diameter spherical pile of shit. +% + Them Toad Suckers + +How 'bout them toad suckers, ain't they clods? +Sittin' there suckin' them green toady frogs! + +Suckin' them hop toads, suckin' them chunkers, +Suckin' them a leapy type, suckin' them flunkers. + +Look at them toad suckers, ain't they snappy? +Suckin' them bog frogs sure make's 'em happy! + +Them hugger mugger toad suckers, way down south, +Stickin' them sucky toads in they mouth! + +How to be a toad sucker, no way to duck it, +Get yourself a toad, rear back, and suck it! + -- Mason Williams +% +There are also a lot of nice buildings in Haiphong. What their +contributions are to the war effort I don't know, but the desire to +bomb a virgin building is terrific. + -- Commander Henry Urban Jr. +% +There are revolutions that are sweeping the world and we in America +have been in a position of trying to stop them. With all the wealth of +America, with all of the military strength of America, those +revolutions are revolutions against a form of political and economic +organization in the countries of Asia and the Middle East that are +oppressive. They are revolutions against feudalism. [1952] + -- Supreme Court Justice William O. Douglas +% +There are two sides to every divorce: yours and the shithead's. +% +There is a God, but He drinks. + -- Blore +% +There were the Scots +Who kept the Sabbath +And everything else they could lay their hands on. +Then there were the Welsh +Who prayed on their knees and their neighbors. +Thirdly there were the Irish +Who never knew what they wanted +But were willing to fight for it anyway. +Lastly there were the English +Who considered themselves a self-made nation +Thus relieving the Almighty of a dreadful responsibility. +% +There's been no top authority saying what marijuana does to you. I +really don't know that much about it. I tried it once but it didn't do +anything to me. + -- John Wayne +% +There's more than one way to skin a cat: + Way number 15 -- Krazy Glue and a toothbrush. +% +There's more than one way to skin a cat: + Way number 27 -- Use an electric sander. +% +There's more than one way to skin a cat: + Way number 32 -- Wrap it around a lonely frat man's pecker. +% +There's nothing better than good sex. But bad sex? A peanut butter +and jelly sandwich is better than bad sex. + -- Billy Joel +% +There's nothing wrong with America that a good erection wouldn't cure. + -- David Mairowitz +% +This is a test of the emergency cunnilingus system. If this had been an +actual emergency, you would have known it! +% +This is National Smokers-Are-Shits Week. +% +This limerick is **SO**FILTHY** that it would offend you. So I'll put +"di-dah" for the filthy words: + + Di-dah, di-dah, di-dah di-dah, + Di-dah di-dah di-dah, di-dah; + di-dah di-dah di-dah? + Di-dah di-dah di-dah. + Di-dah di-dah, di-dah di-fuck. +% +This test has been designed to evaluate reactions of management +personal to various situations. + +You are making a sales presentation to a group of corporate executives +in the plushest office you've ever seen. The enchillada casserole and +egg salad sandwich you had for lunch react, creating severe pressure. +Your sphincter loses control and you break wind, causing the glass +bookcase doors to shatter and a secretary to pass out. + +YOU SHOULD: + +(a) Offer to come back next week when the smell has gone away. +(b) Point to the Chief Executive and accuse him of the offense. +(c) Challenge anyone in the room to do better. +% +Thou shalt not omit adultery. +% +To a Real Woman, every ejaculation is premature. +% +Tom Hayden is the kind of politician who gives opportunism a bad +name. + -- Gore Vidal +% +'Twas orgy, and the hip and mod And as in raffish thought he sprawled, +Did groove and trip out at the pad: The Radcliffe girl, no idle flirt, +All whimsy were the slamming chicks, Crept past the hippies getting balled +And the Radcliffe undergrad. And doffed her miniskirt. + +"Beware the Radcliffe girl, my son! One, two! One, two! And through +The looks that melt, the claws that and through + catch! The venerable staff went snicker-snack! +Beware the Byrn Mawr deb, and shun He left her bred, sans maidenhead, +The uppity Wellesleysnatch!" And went galumphing back. + +He took his venerable staff in hand: "And hast thou laid the Radcliffe girl? +Long time the cool young stuff he Come to my arms, my horny boy! + sought -- O spaced-out day! Calooh! Callay!" +So rested he among the spree He cackled in his joy. +And paused to smoke some pot. + 'Twas orgy, and the hip and mod + Did groove and trip out at the pad: + All whimsy were the slamming chicks, + And the Radcliffe undergrad. +% + Two little kids, aged six and eight, decide it's time to learn +how to swear. So, the eight-year-old says to the six-year-old, "Okay, +you say `ass' and I'll say `hell'". + All excited about their plan, they troop downstairs, where +their mother asks them what they'd like for breakfast. + "Aw, hell," says the eight-year-old, "gimme some Cheerios." +His mother backhands him off the stool, sending him bawling out of the +room, and turns to the younger brother. "What'll you have?" + "I dunno," quavers the six-year-old, "but you can bet your ass +it ain't gonna be Cheerios." +% +Under capitalism, man exploits man. Under Communism, it's just the +opposite. + -- John Kenneth Galbraith +% +Uppers are no longer stylish, methedrine is almost as rare as pure acid +or DMT. "Consciousness Expansion" went out with LBJ and it is worth +noting, historically, that downers came in with Nixon. + -- Dr. Hunter S. Thompson +% +Vegetarians for oral sex -- "The only meat that's fit to eat" +% +Vidi, vici, veni. +(I saw, I conquered, I came.) +% +Virgin, n.: + An ugly third grader. +% +War is menstruation envy. +% +Water? Never touch the stuff! Fish fuck in it. + -- W. C. Fields +% +We call our dog Egypt, because in every room he leaves a pyramid. +% +We don't have to protect the environment -- the Second Coming is at hand. + -- James Watt +% +We have reason to believe that man first +walked upright to free his hands for masturbation. + -- Lily Tomlin +% +"We should declare war on North Vietnam. We could pave the whole +country and put parking strips on it, and still be home by Christmas." + -- Ronald Reagan +% +WE'RE GOING TO THROW THE MX AWAY AFTER WE BUILD IT. The MX is really +[Don't tell anybody!] just a "bargaining chip" in the nuclear-arms- +reduction talks with the Russians. See, we have a problem with the +Russians. They look at our leaders and they see, for example, George +Bush, who is really a fine and brave man but who happens to have this +unfortunate physical characteristic whereby when he talks he sounds as +though he just inhaled a helium party balloon. If he ever becomes +President, the Russians will deliberately create nuclear crises just so +they can gather around the Hot Line with refreshments and listen to +George talk. + -- Dave Barry, "At Last, the Ultimate Deterrent Against + Political Fallout" +% +Well, see, Joyce, there we were, trapped in the elevator. Now, I had +my tennis racquet and the goldfish; she was holding the Crisco. Surely +you can imagine how one thing naturally led to another! +% +Well, there was this tiger, who woke up one morning, and just felt +great (yes, just like Tony the Tiger: GREAAAAAAT). Anyway, he just +felt so good, he went out and cornered a small monkey and roared at +him: "WHO IS THE MIGHTIEST OF ALL THE JUNGLE ANIMALS?" And this poor +quaking little monkey replied: "You are of course, no one is mightier +than you." A little while later this tiger confronts a deer, and just +bellows out: "WHO IS THE GREATEST AND STRONGEST OF ALL THE JUNGLE +ANIMALS?" The deer is shaking so hard it can barely speak, but manages +to stammer: "Oh great tiger, you are by far the mightiest animal in the +jungle." The tiger, being on a roll, swaggered, up to an elephant that +was quietly munching on some weeds, and roared at the top of his voice: +"WHO IS THE MIGHTIEST OF ALL THE ANIMALS IN THE JUNGLE?" Well, this +elephant grabs the tiger with his trunk, picks him up, slams him down; +picks him up again, and shakes him until the tiger is just a blur of +orange and black; and finally throws him violently into a nearby tree. +The tiger staggers to his feet and looks at the elephant and says: +"Man, just because you don't know the answer, you don't have to get so +pissed." +% +What can you use used tampons for? Tea bags for vampires. +% +What did Mickey Mouse get for Christmas? +A Dan Quayle watch. +% +What is the difficulty with writing a PDP-8 program to emulate Jerry +Ford? + +Figuring out what to do with the other 3K. +% + "What the hell are you getting so upset about? I thought you +didn't believe in God." + "I don't," she sobbed, bursting violently into tears, "but the +God I don't believe in is a good God, a just God, a merciful God. He's +not the mean and stupid God you make Him out to be." + -- Joseph Heller, "Catch-22" +% +When God created man, She was only testing. +% +When God created two sexes, he may have been overdoing it. + -- Charles Merrill Smith +% +When I grow up, I want to be an honest lawyer so things like that +can't happen. + -- Richard Nixon as a boy (on the Teapot Dome scandal) +% +When it all boils down to the essence of truth one must live by a dog's +rule of life: if you can't eat it or fuck it, piss on it! +% + When the surgeon came to see her on the morning after her +operation, the young woman asked her somewhat hesitantly how long it +would be before she could resume her sex life. "I really haven't +thought about it," gulped the stunned surgeon. "You're the first +patient who's asked me that after a tonsillectomy!" +% +White House carpenters have reworked the master bedroom, remodeling it +so that Ronnie can sleep with his head in the hall. That way, by the +time he wakes up, somebody will have already shined his hair. +% +Why is it that there are so many more horses' asses than there are +horses? + -- G. Gordon Liddy +% +Why marry a virgin? If she wasn't good enough for the rest of them +then she isn't good enough for you. +% +Women Unite! Make *___him* sleep in the wet spot tonight! +% +Women who want to be equal to men lack imagination + -- Graffito in a women's restroom +% +Women's Libbers are OK. I just wouldn't want my sister to marry one. +% +Would you mind terribly much if I asked you to take your silly-assed +problem down the hall? +% +Yes, that was Richard Nixon. He used to be President. When he left +the White House, the Secret Service would count the silverware. + -- Woody Allen, "Sleeper" +% +You always introduce the younger person to the older person, using the +wording: "Miss Brown, I'd like to introduce you to an older person" +(unless her name is not "Miss Brown"). If you do not know a person's +age, ask for a driver's license and a major credit card. If you are +introduced to a member of a minority group, use the "high-five" style +handshake, followed by a remark designed to show you don't mind a bit, +such as "I see you are a (name of a minority group)! Good!" + -- Dave Barry, "The Stuff of Etiquette" +% +You and I as individuals can, by borrowing, live beyond our means, but +only for a limited period of time. Why should we think that collectively, +as a nation, we are not bound by that same limitation? + -- Ronald Reagan +% +You are at a business lunch when you are suddenly overcome with an +uncontrollable desire to pick your nose. Since this is definitely a +no-no, you: + +(a) Pretend to wave to someone across the room and with one fluid + motion, bury your forefinger in your nostril right up to the 4th + joint. + +(b) Get everyone drunk and organize a nose picking contest with a prize + to the one who makes his nose bleed first. + +(c) Drop your napkin on the floor and when you bend over to pick it up, + blow your nose on your sock. +% +You better believe that marijuana can cause castration. Just suppose +your girlfriend gets the munchies! +% +You can lead a whore to Vasser, but you can't make her think. + -- Frederick B. Artz +% +You can pick your friends, and you can pick your nose, but you can't +pick your friend's nose. +% +You can't underestimate the power of fear. + -- Tricia Nixon +% +You come out of a woman and you spend the rest of your life trying to +get back inside. + -- Heathcote Williams +% +You have just returned from a trip to Green Bay, Wisconsin in January +and tell your boss that nobody but whores and football players live +there. He mentions that his wife is from Green Bay. You: + +(a) Pretend you are suffering from amnesia and don't remember your + name. + +(b) Ask what position she played. + +(c) Ask if she is still working the streets. +% +You have prepared a proposal for your supervisor. The success of this +proposal will mean increasing your salary 20%. In the middle of your +proposal your supervisor leans over to look at your report and spits +into your coffee. You: + +(a) Tell him you take your coffee black. + +(b) Ask him if he has any communicable diseases. + +(c) Show him who's in command; promptly take a leak in his "In" + basket. +% +You have to regard everything I say with suspicion -- I may be trying +to bullshit you, or I may just be bullshitting you inadvertently. + -- J. Wainwright, Mathematics 140b +% + ... But among the children of the Great Society there were +those whose skins were black. And lo! Their portion was niggardly, +and of the fatted calf they were sucking hind teat ... + Now it came to pass that a prophet rose up amongst them, and +they called him King. And he went unto Pharaoh and said, "Let my +people go to the front of the bus." + But Pharaoh answered: "In the fullness of time and with all +deliberate speed shall this thing come to pass. When ye shall prove +yourselves worthy, shall ye have your just portion -- yea, verily, like +unto a snowball in Hell." + -- "The Begatting of a President" diff --git a/fortune/datfiles/fortunes-o.sp.ok b/fortune/datfiles/fortunes-o.sp.ok new file mode 100644 index 0000000..8632e36 --- /dev/null +++ b/fortune/datfiles/fortunes-o.sp.ok @@ -0,0 +1,299 @@ +A.I +ACLU's +Aire +Alzheimer's +Andropov +Angina +Ansel +Artz +Aw +BULLSHIT +Begorrah +Benchley +Bierce +Blore +Bogart +Bormann +Byrn +COUNTERFACTUAL +Callay +Calooh +Caspar +Castlereagh +Cheerios +Cianci +Clair +Coito +Como +Condoms +Cosell's +Counterfactual +Crisco +Crotels +Cunnilingus +DEMO +Dalmatians +Dammit +Darjeeling +Deferrals +Degen +Diddley +Durcan +Ermintrude's +Ewald +F.B.I +FUCKING +Fagin +Faire +Falwell +Feiffer +Fie +Fornication +Fredrick's +Friants +Froats +Fuck +Fumets +GREAAAAAAT +Galbraith +Geis +Gimme +Goy's +Graffito +Greenway +Groucho +Haggis +Heathcote +Hefner +Hitchhiker's +Jewry +Jr.'s +KRON +Kasha +Krazy +LeGuin +Lehrer +Li +Libbers +Liddy +Lyth +MOVs +MX +Mairowitz +Mama +Mannis +Martina +Masturbation +McAmeter +Methadone +Milo +Milpitas +N'wam +N.H +Nader +Naiman +Navratilova +Nope +Nuke +O'Riordan's +Ozy +PDP +PUSHJ +Penis +Perelman +Ph.D +Ploughwright +Purmal's +Putrid +Q.E.D +Queensboro +Randel +Raygun +Reaganomics +Ren +Rosten +SMOORPLAY +SMUCK +SMURFS +Sahl +Schlafly +Seldes +Shits +Sittin +Spraints +Stamboul +Stickin +Suckin +Susiasm +Tocata +Tomlin +Toynbee +Tsk +Twas +Twinkie +Twinkies +Twiss +U.S +UFOs +UUOs +Valby +Vasser +Vidal +Vidi +Visme +Waggying +Wellesleysnatch +Werderobe +What'll +Wiggam +Wilde +Wildebeest +Wimley +Ybarra +Yoric +Yuletide +Zappa +Zukav +amnesia +apoplexy +asshole +assholes +basewoman +belies +bible +bleed'n +boobs +bras +brutish +buffaloes +bullshit +bullshitting +bungee +busiasm +carnivorous +castration +catgut +cervical +chromosome +coitus +commie +containeth +counterfactual +countess +creole +cubits +cunnilingus +cunt +dah +de +deb +defendin +dem +di +dong +doric +dumbfounded +dunno +ekil +elihW +enchillada +ergo +eschatological +excrement +eyeing +farting +feces +ferkin +fetcheth +fiesty +findeth +flunkers +foresight +frat +freakout +fuck +fucked +fucking +galumphing +gangrenous +genital +gimme +girlfriend +gniyl +goin +gonna +grandee +hansome +hexahedronical +husbandryman +i.e +iht +intestinal +jeered +jerkin +k'honi +kaloo +kasha +lassie +leapy +lecherous +lesbian +limerick +mah +maidenhead +mali +masturbate +masturbation +methedrine +millions +miniskirt +mod +motherfucker +motherfuckers +mousetrap +munchies +ne'er +ok +ole +penis +pentameter +pere +peyote +poena +pox +provideth +qui +rabbinical +rabelaisian +racquet +rhumba +saideth +schlemiel +shalt +shit +shithead's +shits +showgirls +sissies +sleaze +soit +spake +sphincter +spikey +strewed +suckin +sucky +suh +tonsillectomy +tooties +trashcan +truckloads +ulcerous +veni +vici +whimsy +wildebeest +yamalchas +ylbatrofmoc +yogurt +zits diff --git a/fortune/datfiles/fortunes.sp.ok b/fortune/datfiles/fortunes.sp.ok new file mode 100644 index 0000000..0e4da00 --- /dev/null +++ b/fortune/datfiles/fortunes.sp.ok @@ -0,0 +1,1975 @@ +A.A.A.A.A +A.D +AAAAAAAAAaaaaaaaaaaaaaaaccccccccckkkkkk +ACHTUNG +AI +ALU +ANRS +ARCHDUKE +ASHes +ATN +Abbie +Adamite +Ade +Adlai +Admas +Adolf +Aelius +Aesop +Aha +Ahrimanes +Albran +Aldous +Aleliunas +Ali +Alito +Allan +Alo +Alvy +Amana +Amerigo +Amica +Amityville +Amnesia +Amp +Amrom +Anatol +Androids +Ankh +Anoint +Antonym +Apocryphia +Applebome +Apr +Aquadextrous +Aquarians +Ardis +Arlo +Arpa +Ashleigh +Asimov +Aspasia +Aspin +Assateague +Assoc +Asterix +Atlee +Auden +Audobon +Avogardo +Aww +B'nai +BARF +BARFUCIOUS +BASICs +BBBF +BBW +BEANSTACK +BEW +BH +BITCHEN +BLAH +BLEAH +BLETCHEROUS +BLOTTO +BMR +BOOGA +BPO +BST +BULLWINKLE +BUTTHEADS +BYOB +Ba +Baba +Bacall +Bachtrian +Bagbiter +Bagdikian's +Bai +Baines +Banach +Banectomy +Barach's +Barbie +Barf +Bargewater +Baruch's +Basie's +Bathquake +Batman +Baumol +Bax +Beagle +Beal +Beatty +Beckett +Beckmann +Begathon +Begatting +Begone +Behan +Beifeld's +Belloc +Benares +Benchley +Berke +Bernighan +Bertold +Bertolt +Bierce +Biff +Billericay +Bionic +Bizoos +Blaise +Blish +Blore +Blore's +Blount +Bluestone +Bodenheim +Bok +Bokonon +Bolub's +Bombeck's +Boob's +Boola +Boothe +Bootle +Boren's +Borge +Boynton +Brahma +Bramah +Brandwein +Brecht +Brickman +Brith +Broido +Brontosaurus +Brunner +Brutus +Bryne's +Buckminster +Bucky +Bucy's +Buhr +Bullwinkle +Bumstead +Burggoven +Burkowski +Busmanship +C&O +C.I.A +C.R.T +CABERNET +CChheecckk +CDS +CHARDONNAY +CI +CLBR +CLBRI +CLICK...CLICK...WHIRRR...CLICK +CM +CMFRM +CONGRAM +CONtractor +CPPR +CPU +CPUs +CRN +CS +CTA +CVP +Caen +Cahn's +Caissons +Calio's +Camillo +Camptown +Capt +Carmel +Carotene +Carotene's +Carperpetuation +Carrol +Cary +Casablanca +Caspar +Cat:man +Cavour +Celibacy +Centauri +Cerebron +Cerebus +Channing +Chapin +Charnock's +Chateaubriand +Chatterley's +Cheatham +Checkuary +Cheez +Chem +Chesterson +Chevins +Chichester +Chism's +Chisolm's +Chloroplast's +Chok +Chung's +Churchy +Ciardi +Cinemuck +Claghorn +Clair +Clapton +Clarkson +Cleyre +Clopton +Cogito +Cointment +Collis +Colton +Colvard's +Commie +Computerdom +Connell +Connellan +Constipation +Contrariwise +Corky +Cory +Cosmo +Crabgrass +Cray +Creemy +Cripps +Croll +Croll's +Cuomo +Churchill +Cuticle +Cyberiad +Cybernetic +D'Arcy +D'Azevedo +D.C +DAC +DAMMIT +DAV +DCL +DCS +DECzilla +DELI +DETERIORATA +DEVO +DFA +DINGELL +DMPK +DOODAH +DP +Dabba +Daft +Dagobah +Dagwood +Dalglish +Damian +Danforth +Darrow +Darryl +Darth +Das +Davisson +DeVries +DeVries's +Decot +Defactualization +Deloria +DesCartes +Deteriorata +Devine +Devo +Diamondback +Diddly +Dijkstra +Dingell +Dirksen +Disco +Disraeli +Dobb's +Doc +Dolph +Donatus +Doo +Doonesbury +Drabek +Drescher +Dristan +Dropt +Ducharme's +Duckie +Dum +Dunne +Durance +Durant +Dykstra +Dyson +E.T +EAROM +EBCDIC +ELECTROCUTION +EMPC +ENIACs +EPI +EXCE +Eagleson +Eagleson's +Ebenezum +Ebert +Eckstein +Edman +Edpress +Eggnog +Ehrman's +Elbert +Electrocution +Ellery +Elliot +Elroy +Elven +Elvis +Elvish +Emmons +Emo +Emu +Enm +Ennui +Epperson's +Erogenous +Ertz +Es +Esser +Euell +Eustace +Exupery +FERSURE +FF +FINO +FROB +FROBBOTZIM +FROBBOZ +FROBNITZ +FROBNODULE +FROBNULE +FROBULE +FROTZ +FWWAAAAAAPPPP +Fafhrd +Fainali +Fakir +Falkland +Fandal +Farrow +Fatherland +Feiffer +Feiner +Femme +Fenelon +Ferm +Fidel +Fiebig +Fiedler +Filkharmonics +Fillmore +Finagle +Finagle's +Finagling +Firesign +Firth +Flagg +Flannagan's +Flaubert +Flinstone +Flon's +Flugg's +Flummery +Foghorn +Follen +Forbiddie +Forssman +Fortue +Fosdick +Foxx +Fran +Francois +Frayn +Friedrich +Frisbee +Frisbeetarianism +Frito +Frobnicate +Frobnitz +Frobnitzem +Frodo +Froot +Fruitcakes +Fuch's +Fudd +Fudd's +Fuoss +Furbling +Furst +Fylstra +GC +GC7500439 +GO.SYSIN +GOBLIN +GOTO +GRAMmer +GRODY +GUGUs +GUISEPPE +GUMM +GUMMed +Ga +Galbraith +Galilei +Galileo +Galvani +Galvani's +Gamekeeping +Gandalf +Gandhi +Gastly +Gaultier +Gauvreay +Geis +Genderplex +Gerat +Gerrold's +Ghandi +Ghostbusters +Giddens +Gigo +Gilda +Gilpkerio +Gimlet +Gimmie +Glaser +Gnagloot +Godel's +Godot +Godzilla +Goestheveezl +Golda +Goldenstern's +Goldwyn +Gondoliers +Goodbye +Goodgulf +Gopete +Gorbachev +Gorden +Gorey +Gotama +Gotlieb +Goto +Gotta +Goulden +Goy's +Grabel's +Graffiti +Graffito +Greenstein +Gregorian +Grelb's +Gries +Grishman +Groucho +Guardsman +Guiseppe +Gumps +Gurmlish +H.S +HCF +HED +HEE +HOAX +HOB'LIN +HOOTCH +HR +Hackensack +Hadassah +Haeckel +Hahahahahahahahaha +Haig +Hain't +Haleleuia +Hanukka +Hara +Harary +Harbride +Harlequin +Harpoon +Harrisberger's +Harrold +Hartke +Havelock +Hawkeye +Hawkwind +Haynie +Hegel +Heineken +Heinlein +Hellman +Hellman's +Henny +Henrick +Henrik +Hepler +Herford +Higgeldy +Hilaire +Hillary's +Hinckley +Hipcrime +Hippogriff +Hitchhiker's +Hlade's +Hoare +Hoare's +Hoban +Hoffenstein +Hofstadter +Hofstadter's +Holton +Homespun +Hoppe +Horngren's +Housman +Huntingdon +Hurewitz's +I.R.S +IBP +ID's +II.a +INSQSW +Iacocca +Ian +Ibson +Iear +Iears +Ignatowski +Ignisecond +Il +Iles +Iles's +Ingliy +Ingmar +Inlaws +Irsin +Isaak +Isiah +Iso +Issac +Issawi +Issawi's +Ist +Italo +Ium +JELL +JFK +Jackals +Jacquin's +Jael +Jaka +Jarry +Jaspar +Jawaharlal +Jehan +Jell +Jenerally +Jenkinson's +Jenks +Jenning's +Jonathon +Jone's +Jonesboro +Jordache +Josh +Juliana +Jun +Jung +Justin +KLUDGE +KOBOLDS +KPH +Kabotschniks +Kan +Kandel +Kari +Kasner +Kasspe +Kauffmann +Kaul +Keate +Kehlog +Keir +Kellen +Kempson +Kenobi +Kerwin +Kesey +Kiernan +Kinkler's +Kistomerces +Kitman +Kitzenger +Kleptomaniac +Klingons +Klone +Knebel +Knuth +Ko +Kool +Korda +Kr +Krispies +Krogt +Ks +Kulawiec +L.A +LAFITE +LAIDBACK +LIBRA +LITHP +LSD +LaRouchefoucauld +Lackland's +Lactomangulation +Ladybug +Laetrile +Lafferty +Lampson +Landburgher +Langsam's +Lankhmar +Lankhmar's +Lapham +Lapwarmer +Lardner +Larkinson's +Lassie +Laverne +Lazlo's +LeGuin +Lebowitz +Leedom +Lehrer +Leibe +Leiber +Leibowitz +Leibowitz's +Leith +Lem +Lenore +Les +Lettvin +Levant +Leverett +Libra +Lichty +Lieberman's +Liebling +Liebowitz +Lilla +Linkletter +Lippmann +Liza +Logg's +Logicians +Longworth +Lookit +Lovin +Lowery's +Ltd +Lubarsky's +Luce +Ludcke +Luddites +Luigi +Lumsden +Luten +Lyndon +Lysistrata +M&Ms +M.T.A +MAFIA +MANCHA +MC +MDL +MERCUTIO +MHz +MOS +MSCP +MW +MX +MYSTERIANS +Mabbitt +MacDowell +MacKay +MacNelley +MacNiece +Macaroons +Macy's +Madelyn +Magee +Magnocartic +Mahabharata +Mahatma +Mai +Malek's +Mammel +Mandrell +Manhandling +Mankiewicz +Marley +Marshalltown +Maryel +Mascheroni +Maslow +Mathis +Maud +Maugham +Maxey +Maxson +McCloctnik +McEvoy +McLuhan +McNulty +Medawar +Meese +Meir +Melott +Mem'ry +Mencken +Mencken's +Mengot +Mensa +Merrick +Meskimen's +Meta +Metz +Mewling +Meyrowitz +Mia +Michener +Mikado +Miksch's +Milkbone +Millay +Millihelen +Millions +Millman +Milpitas +Minas +Minnelli +Mitgong +Moby +Mohandas +Mollison's +Mom +Mongo +Montagu +Mophobia +Moping +Mordor +Morganstern +Morrisey +Mosher's +Mudgeeraba +Mudhead +Muhammad +Muppet +Murdoch +Mustgo +Myung +NEWSFLASH +NYT +Nader +Naeser's +Naiman +Napoleon +Narnia +Nasrudin +Natasha +Nate +Nather +Neantical +Neizant +Neo +Nerd +Neronic +Nesbitt +Nevil +Newlan's +Ngdanga +Ni +Nicklaus +Nicol +Niels +Nikita +Niklaus +Ningauble +Noelie +Nome +Nora's +Novocain +Nutley +O'Casey +O'Hara +O'Henry +O'Longhlin +O'Neil +O'Rourke +O'Toole's +O.K +OMERTA +OMNIVERSAL +OR'd +OS +OUTCONERR +Obi +Ogborn +Olivier +Omar +Omnibiblious +Onan +Ontopsychological +Ontopsychology +Ope +Ophelia +Orac +Orben +Orson +Ozman's +P.B.A +P.M +P.O +PBC +PDGERS +PDP +PDQ +PDSK +PL +POPI +POWDERMILK +PRL +PROCESSORs +PVLC +Paar +Padlipsky +Paley +Pandanga +Pardo's +Parnas +Parnell +Parrafin +Patageometry +Pecor's +Pedaeration +Pegler +Pensacoola +Penzance +Pereant +Perlis +Petr +Pharaoh +Philbin +Philogyny +Phooey +Picninnies +Piggeldy +Pilgermann +Pirsig +Plaese +Platypus +Pluribus +Pocataligo +Pocatello +Podunk +Pohl's +Poincair +Polanski +Porcus +Postpetroleum +Poul +Presley +Preudhomme's +Prochnow +Prue +Psblurtex +Publilius +Pumpernickel +Putluck +Pynchon +QT +QWERT +QWERTYUIOP +Quidquid +Quigley's +Quincey +Quincunx +Quinton +Quux +Qvid +RAMs +RASC +RFD +ROMs +RPG +RSSC +RTAB +RWDSK +RWOC +RXS +Ra +Radner +Raisa +Raisinets +Ransford +Raskin +Reba +Redd +Regan +Reggie +Reisner's +Relaxen +Ren +Renner +Renning's +Richardian +Richie +Rigby +Rilke +Robb +Robespierre +Roche +Rochefoucauld +Roddick +Rogerians +Roguelet's +Roguies +Rolex +Romas +Romulans +Rooney +Rosten +Rotherham +Rouchefoucauld +Roumania +Roxbury +Royko +Rubenstein +Rubik's +Rudin's +Ruffed +Rukn +Rupert +Russel +Russon +S.U.N.Y +SARTRE +SCCS +SCRBL +SIGPLAN +SLC +SLOBOL +SNA +SPSW +SRSD +Safford +Safire's +Sagan +Sagittarians +Salome +Salvor +Santoro +Sappho +Sargon +Sartre +Sauron +Sayre +Schapiro's +Schickel +Schickele +Schlattwhapper +Schmivalry +Schmonsequences +Schnuffel +Schrodinger's +Schryer +Schure +Schwambach +Schwiggle +Schwine +Scrubb +Se +Seager +Seeger +Seldon +Seleznick's +Sep +Septober +Serendipity +Serling +Serocki's +Sevenoaks +Shalt +Shamus +Sheil +Shel +Sherany +Shmoedipus +Shoaff +Shoales +Shuman +Si +Sigismund +Silurian +Silverstein +Simard +Sixtus +Sjoberg +Skyler +Slinkies +Slurm +Smit +Smollet +Smurfies +Snacktrek +Sniglets +Snowman +Snowmass +Socio +Sodd's +Sorhed +SoupCon +Sox +Spam +Speer's +Spirtle +Spisani +Spock +Sta +Stallman +Stanislaw +Steelypips +Steinbach's +Steinem +Stoffel +Stoppard +Stormtroopers +Stretchy +Stult's +Suden +Sulu +Sumeria +Summatra +Sunward +Supercalifragilisticexpialidocius +Svevo +Swaller +Swinburne +Swipple's +Syrus +T'ai +T'umps +T.H +TAA +TDB +TLC +TSO +TSP +Tabby +Taber +Taber's +Tai +Tanenbaum +Tannenbaum +Tarradiddles +Teddywookie +Terence +Tertullian +Teruillian +Thames +Theatre +Thieu +Thom +Thoul't +Threepio +Throop +Thurber +Thyself +Tierra +Tijuana +Tikkanen +Titas +Tobias +Tock +Tomlin +Tonka +Toto +Touche +Toup +Toven +Tribbles +Tricia +Trimble +Troney +Trotsky +Trudeau +Truscott +Tse +Tsu +Tue +Turgenev +Turnaucka's +Tussman's +Tut's +Twas +Tweedledee +Tweedledum +Twodor +Twodor's +U.S +U.S.S.R +UDA50 +UFO's +URK +UT +UTCS +Ubi +Un +Una +Und +Updike +Urey +VALGOL +VAX +VAX's +VAXen +VAXs +VCR +VCR's +VIDEOCASSETTE +VLSI +VMS +VODKA +VSOP +VYARZERZOMANIMORORSEZASSEZANSERAREORSES +Vannevar +Vate +Vax +Veeck +Velilind's +Veni +Venn +Vespucci +Vespuccia +Vic +Vidal +Vidi +Vila +Vinchy +Vinci +Virt +Vittorini +Vo +Vocab +Vogon +Volkswagon +Voltarine +Vonada +Vonnegut +Vonnegut's +Vries +Vroomfondel +Vulgate +WBT +WHATEVERSAROUND +WOMBAT +WORLD's +WXRT +Waben +Wald +Walinsky +Walla +Warhol +Wat +Watford +Watterson +Weil +Weiler's +Weiner's +Weisert +Wernher +Westbrook +Westbury +Westheimer's +Westmoreland +Wethern's +Whaddya +Whipsnade +Wiker's +Wilde +Winchell +Winie +Winsor +Wir +Wirrten +Wirth +Withington +Wombat's +XIIdigitation +XINU +Xercies +YEH +Yabba +Yellowstone +Yessir +Yinkel +Yo +Yoda +Yoda's +Yorba +Yoric +Youngman +Yuletide +Yutang +ZIPPY +ZORAC +Zanuck +Zappa +Zarathud +Zarathustra +Zelkowitz +Zeno's +Zern +Zilla +Zippy +Zonker +Zorkmids +Zorro +Zow +Zwanzig +Zwart +Zymurgy's +a.m +aafte +abhors +absorbin +absurdum +acacia +accurancy +accursed +accusator +acne +acupuncture +adhoc +adj +adv +airbags +alimentary +alkafluence +alleygaroo +alrighty +altum +amnesia +anal +anat +anchorman +ane +animalculous +anomali +anxivs +anymore +anytime +apauling +appelations +approx +arabic +arias +arse +ary +asparaginylalanylthreonylleucylarginylalanylphenylalanylalanylalanylglycylva +aspartylleucylleucylarginylglutaminylisoleucylalanylseryltyrosylglycylarginyl +astrology +ath +atrium +atttempt +ause +ausgraben +avoirdupois +awai +ay +bac +backlit +bagbiting +bagel +bahz +bai +bamboozled +banquette +barf +bayonetted +bazingas +bedecked +bedpans +befriends +bequeathin +bertillion +bethumped +bi +bibles +bingo +bisexual +blackguard +blinkenlights +blockhead +blound +blowenfusen +bogosity +bonehead +bonked +boola +bossy +bounteous +bowlin +boyfriend +bra +brilgue +brilig +brussels +bucky +burgled +burneth +ca +caliente +calor +capillarized +carabineri +carbolized +cardio +castrating +ch +chemotherapy +cheque +cheval +chezlogs +childproof +chromosome +chronodimensional +chroots +claus +cm +cmptr +cn +cnt +cockamamie +cogito +colloq +congresspersons +conks +copacetic +corkenpoppen +corpuscle +crabgrass +crapshoot +criminology +croquet +crossoffs +crossword +crowbar +crunchy +crustaceans +crusty +cummings +curiae +cuticle +cybernetic +da +damnfoolproof +dandruff +dans +darkish +darkroom +das +dataspec +dduupplleexx +de +defamed +defuse +demagogism +demigodic +demo +deppart +der +dermis +destitution +dev +dextrose +diddie +dinette +dis +disco +discotheques +dishes +dishrags +dishwashing +dixerunt +dm +doderez +doggerel +doggy +doloop +dost +doth +dotty +drivel +drop't +dummkopfen +dumpster +dunkt +e.g +ecamier +ee +eggnog +ein +enobled +enui +er +ergo +erogeny +es +est +etus +ev'ry +exhalation +extemporanea +extracurricular +eyestalks +fainali +fallaron +fella +fertsneet +figgy +fiks +filees +filename +filors +fix'd +fixin's +flang +flatfoot +floss +fo +foghorns +folkloric +foo +forcaster +fornia +fornication +forsooth +fractal +freezin +frillant +frob +frob'nitsm +frobbing +frolicked +fruh +fruitcake +fruitcakes +frumious +funhouse +galore +gamekeeper +ganz +garnishment +gd +gefingerpoken +genocide +gesteckt +gewerken +gharsley +giftlist +gimble +gimmick +girlfriend +gleekzorp +gleknow +glowworm +glycylalanylaspartylalanylleucylglutamylleucylglycylisoleucylprolyphenylalanyl +glycyltyrosylthreonyltyrosylleucylleucylserylarginylalanylglycylvalylthreonyl +gobbets +gonna +goodbye +goto +gougebosquex +goyim +goyish +goyisha +graffito +grok +grouse +gry +gt +guave +guttersnipe +gylcylalanylglutamylasparaginylarginyalanylalanylleucylprolylleucylaspartagi +gyre +gyrent +haben +hain't +hairstyles +hammmer +handcraftsmanship +handwaving +hanky +harmonium +headgear +hectare +heinous +hermit +hev +hexagram +highbrow +hippogriff +honorific +honour +hoo +hooved +horgrave +hormonal +hors +hotshot +houseplant +housewares +hullabaloo +humour +hyper +i'm +i.e +ibi +icepacks +ideogram +ideograms +iear +iers +ifthen +ihn +ihuxw +impo +incivility +incomprehensive +incorrige +infiniteloop +inkahol +innumerate +inprectoo +inputdir +inquit +inrushing +insa +interferon +ironmongery +itn +ius +jast +jb +jeered +judex +jukebox +ka +kar +karat +karma +kase +keepen +kiloliks +kitsch +klows +kludge +kludgy +klutz +knock'd +koan +kohirnt +konsonant +konsonants +kontinue +kudn't +kwirt +l'Amour +ladybug +lampshades +lank +lanylglycylalanylisoleucylserylglycylserylalanylisoleucylvalyllysylisoleucyli +latine +lawnmower +le +lerts +les +letez +leucylphenylalanylisoleucylcysteinylprolylprolylaspartylalanylaspartylaspartyl +lexicographer +libricilleux +liegt +lightbulb +limerick +lin +linguini +lithtth +lobotomy +locutions +logick +logout +logy +logzerneg +lojikl +lurketh +lyaspartylglutaminylvalyllysylalanylalanylisoleucylaspartylalanylglycylalanyla +lysdexia +lythreonylprolyalanylglutaminylcysteinylphenylalanylglutamylmethionylleucyala +m'I +ma'am +magtape +maindz +mainframe +mal +margarita +masochist +masturbation +mausers +megs +meik +meltdown +memoraboble +memori +memorizin +meowing +merinos +meta +methionylglutaminylarginyltyrosylglutamylserylluecylphenyialanylalanylglutamin +methionyllysylalanylalanylthreonylarginylserine +midterm +millions +mimsy +min +minx +mit +mittengrabben +mizk +mobocracy +modifaiing +mohmen +moldy +mome +mon +mousetraps +musculus +myxbl +n'oeuvres +nah +nanocentury +nanohenry +naugahyde +nell +net.fat +net.flame +net.jobs +net.news +net.that +net.this +ni +nicht +nightie +nog +nogiftlist +nohow +nonrefusable +nostra +nth +nunnery +nylasparaginyllysylglycylisoleucylaspartylglutamylphenylalanyltyrosylalanylglu +nylaspartylvalylprolylvalylglutaminylglutamylserylalanylprolyphenylalanylargi +nylglutaminylalanylalanylleucylarginylhistidylasparaginylvalylalanylprolyiso +nylhistidylleucylvalylalanyllysylleucylysylglutamyltyrosylasparaginylalanylala +nylleucylisoleucylarginylglutaminyllysylhistidylprolythreonylisoleucylprolyli +nylprolylprolylleucylglutaminylglycylphenylalanylglycylisoleucylserylalanylpro +obits +obius +obnegleich +obscurantist +okay +ol;lkld;f;g;dd;po +oln +omelette +omerade +omnibiblious +omnivorous +ompzidaize +oodsou +ooh +orxogrefkl +ould +outcumbents +outgrabe +outta +ov +oves +p'o +p.m +padanga +pallbearer +panky +pantaloons +paperboy +paroxysmally +penis +pense +perfum'd +phenylalanylyalylthreonylleucylglycylaspartylprolylglycylisoleucylglutamylglu +philogyny +pl +pl.n +planaria +platypus +pleH +po +pointy +poiuyt +poly +polytetien +polytheism +poo +popcorn +porrf +posibl +posthole +potty +poz +ppo +prawns +pre +prepoceros +pretzel +prgrmmng +priestess +primordial +proceedeth +proletarian +propounded +protheththing +protien +protoplasmal +pulitzer +pur +pushy +qotc +qui +quia +quiche +quop +qwert +qwertyuiop +rKe9 +raed +raineth +raisiny +randchar +rapturous +raspy +rath +raths +rd +reich +replased +replasing +rhinoceri +ridandant +riform +rigadoon +rimeining +rind +riplais +rispektivli +risqu +rosewater +rubbernecken +rubout +runtime +ry +sam +samurai +samuri +santa +savour +sawhorse +schlichte +schnappen +scullery +seashells +sei +serylaspartylprolylleucylalanylaspartylglycylprolylthreonylisoleucylglutaminyl +shalt +shamus +shinnied +shlafen +shorn +sightie +sightseeren +siouxeyesighed +sizeof +skyhigh +sligo +smurfette +snarley +snowman +soit +soleucylglutamylglutaminylhistidylasparaginylisoleucylglutamylprolyglutamylly +soleucylglyclleucylleucylmethionyltyrosylalanylasparaginylleucylvalylphenylala +somebody'd +sont +spacewar +spank +spel +speling +spitzensparken +spl +springenwerk +sq +squrooneg +sswwiittcchh +stalagmites +starfield +statecraft +steamrolling +steeplechase +stogies +subsittute +suet +surly +svm +swang +sweeteners +switchover +sylmethionylleucylalanylalanylleucyllysylvalylphenylalanylvalyglutaminylproly +synagog +synthetase +syscalls +tachyon +taketh +taminylcysteinylglutamyllysylvalylglycylvalylaspartylserylvalylleucylvalylala +taminylserylleucyllysylisoleucylaspartylthreonylleucylisoleucylglutamylalanyl +tannogallate +tapioca +tarot +tbsp +teddy +teepers +telematic +telepath +tequila +theivish +thi +thinkle +thou'lt +thru +ths +thyself +tinhorn +tites +toehold +tollway +tommyo +tornpee +touch'd +trampoline +trans +treacle +tripoline +truncheons +tryptophan +tsetse +tsp +tu +tuit +tuits +tuppenny +tween +twixt +tyg +tyrranize +ukelele +umsige +unbegot +und +uns +unvoist +uretheral +urgin's +ust +v.intrans +v.trans +valium +varicose +vatch +ve +velcro +verreckt +vichyssoise +viditur +vo +voist +vol +vowlz +vu +w4k +wa +watchout +weatherman +weenies +weirdo +wench +werld +whaledreck +whilst +whodo +whomped +wi +wid +wimmelten +wimp +wombat +wonse +woodburning +workingman +wr +wrth +wrung +wud +xanthic +xe +xen +xrewawt +xsz +ylleucyllysylglutamylarginyllysylglutamylglycylalanylphenylalanylvalylprolyl +yo +you'se +yyoouurr +zayda +zephyr's diff --git a/fortune/datfiles/fortunes2 b/fortune/datfiles/fortunes2 new file mode 100644 index 0000000..6efeb9a --- /dev/null +++ b/fortune/datfiles/fortunes2 @@ -0,0 +1,55537 @@ +======================================================================= +|| || +|| The FORTUNE-COOKIE program is soon to be a Major Motion Picture! || +|| Watch for it at a theater near you next summer! || +|| || +======================================================================= + Francis Ford Coppola presents a George Lucas Production: + "Fortune Cookie" + Directed by Steven Spielberg. + Starring Harrison Ford Bette Midler Marlon Brando + Christopher Reeves Marilyn Chambers + and Bob Hope as "The Waiter". + Costumes Designed by Pierre Cardin. + Special Effects by Timothy Leary. + Read the Warner paperback! + Invoke the Unix program! + Soundtrack on XTC Records. + In 70mm and Dolby Stereo at selected theaters and terminal + centers. +% + PLAYGIRL, Inc. + Philadelphia, Pa. 19369 +Dear Sir: + Your name has been submitted to us with your photo. I regret to +inform you that we will be unable to use your body in our centerfold. On +a scale of one to ten, your body was rated a minus two by a panel of women +ranging in age from 60 to 75 years. We tried to assemble a panel in the +age bracket of 25 to 35 years, but we could not get them to stop laughing +long enough to reach a decision. Should the taste of the American woman +ever change so drastically that bodies such as yours would be appropriate +in our magazine, you will be notified by this office. Please, don't call +us. + Sympathetically, + Amanda L. Smith + +p.s. We also want to commend you for your unusual pose. Were you + wounded in the war, or do you ride your bike a lot? +% + _-^--^=-_ + _.-^^ -~_ + _-- --_ + < >) + | | + \._ _./ + ```--. . , ; .--''' + | | | + .-=|| | |=-. + `-=#$%&%$#=-' + | ; :| + _____.,-#%&$@%#&#~,._____ +% + FROM THE DESK OF + Dorothy Gale + + Auntie Em: + Hate you. + Hate Kansas. + Taking the dog. + Dorothy +% + FROM THE DESK OF + Rapunzel + +Dear Prince: + + Use ladder tonight -- + you're splitting my ends. +% + SEMINAR ANNOUNCEMENT + +Title: Are Frogs Turing Compatible? +Speaker: Don "The Lion" Knuth + + ABSTRACT + Several researchers at the University of Louisiana have been studying +the computing power of various amphibians, frogs in particular. The problem +of frog computability has become a critical issue that ranges across all areas +of computer science. It has been shown that anything computable by an amphi- +bian community in a fixed-size pond is computable by a frog in the same-size +pond -- that is to say, frogs are Pond-space complete. We will show that +there is a log-space, polywog-time reduction from any Turing machine program +to a frog. We will suggest these represent a proper subset of frog-computable +functions. + This is not just a let's-see-how-far-those-frogs-can-jump seminar. +This is only for hardcore amphibian-computation people and their colleagues. + Refreshments will be served. Music will be played. +% + UNIX Trix + +For those of you in the reseller business, here is a helpful tip that will +save your support staff a few hours of precious time. Before you send your +next machine out to an untrained client, change the permissions on /etc/passwd +to 666 and make sure there is a copy somewhere on the disk. Now when they +forget the root password, you can easily login as an ordinary user and correct +the damage. Having a bootable tape (for larger machines) is not a bad idea +either. If you need some help, give us a call. + + -- CommUNIXque 1:1, ASCAR Business Systems +% + ___====-_ _-====___ + _--~~~#####// ' ` \\#####~~~--_ + -~##########// ( ) \\##########~-_ + -############// |\^^/| \\############- + _~############// (O||O) \\############~_ + ~#############(( \\// ))#############~ + -###############\\ (oo) //###############- + -#################\\ / `' \ //#################- + -###################\\/ () \//###################- + _#/|##########/\######( (()) )######/\##########|\#_ + |/ |#/\#/\#/\/ \#/\##| \()/ |##/\#/ \/\#/\#/\#| \| + ` |/ V V ` V )|| |()| ||( V ' V /\ \| ' + ` ` ` ` / | |()| | \ ' '<||> ' + ( | |()| | )\ /|/ + __\ |__|()|__| /__\______/|/ + (vvv(vvvv)(vvvv)vvv)______|/ +% + DELETE A FORTUNE! +Don't some of these fortunes just drive you nuts?! +Wouldn't you like to see some of them deleted from the system? +You can! Just mail to `fortune' with the fortune you hate most, +and we'll make sure it gets expunged. +% + It's grad exam time... +COMPUTER SCIENCE + Inside your desk you'll find a listing of the DEC/VMS operating +system in IBM 1710 machine code. Show what changes are necessary to convert +this code into a UNIX Berkeley 7 operating system. Prove that these fixes are +bug free and run correctly. You should gain at least 150% efficiency in the +new system. (You should take no more than 10 minutes on this question.) + +MATHEMATICS + If X equals PI times R^2, construct a formula showing how long +it would take a fire ant to drill a hole through a dill pickle, if the +length-girth ratio of the ant to the pickle were 98.17:1. + +GENERAL KNOWLEDGE +Describe the Universe. Give three examples. +% + It's grad exam time... +MEDICINE + You have been provided with a razor blade, a piece of gauze, and a +bottle of Scotch. Remove your appendix. Do not suture until your work has +been inspected. (You have 15 minutes.) + +HISTORY + Describe the history of the papacy from its origins to the present +day, concentrating especially, but not exclusively, on its social, political, +economic, religious and philisophical impact upon Europe, Asia, America, and +Africa. Be brief, concise, and specific. + +BIOLOGY + Create life. Estimate the differences in subsequent human culture +if this form of life had been created 500 million years ago or earlier, with +special attention to its probable effect on the English parliamentary system. +% + Pittsburgh driver's test +10: Potholes are + a) extremely dangerous. + b) patriotic. + c) the fault of the previous administration. + d) all going to be fixed next summer. +The correct answer is b. +Potholes destroy unpatriotic, unamerican, imported cars, since the holes +are larger than the cars. If you drive a big, patriotic, American car +you have nothing to worry about. +% + Pittsburgh driver's test +2: A traffic light at an intersection changes from yellow to red, you should + a) stop immediately. + b) proceed slowly through the intersection. + c) blow the horn. + d) floor it. +The correct answer is d. +If you said c, you were almost right, so give yourself a half point. +% + Pittsburgh driver's test +3: When stopped at an intersection you should + a) watch the traffic light for your lane. + b) watch for pedestrians crossing the street. + c) blow the horn. + d) watch the traffic light for the intersecting street. +The correct answer is d. +You need to start as soon as the traffic light for the intersecting +street turns yellow. +Answer c is worth a half point. +% + Pittsburgh driver's test +4: Exhaust gas is + a) beneficial. + b) not harmful. + c) toxic. + d) a punk band. +The correct answer is b. +The meddling Washington eco-freak communist bureaucrats who say otherwise +are liars. (Message to those who answered d. Go back to California where +you came from. Your kind are not welcome here.) +% + Pittsburgh driver's test +5: Your car's horn is a vital piece of safety equipment. + How often should you test it? + a) once a year. + b) once a month. + c) once a day. + d) once an hour. +The correct answer is d. +You should test your car's horn at least once every hour, +and more often at night or in residential neighborhoods. +% + Pittsburgh driver's test +7: The car directly in front of you has a flashing right tail light + but a steady left tail light. + a) One of the tail lights is broken. You should blow your + horn to call the problem to the driver's attention. + b) The driver is signaling a right turn. + c) The driver is signaling a left turn. + d) The driver is from out of town. +The correct answer is d. +Tail lights are used in some foreign countries to signal turns. +% + Pittsburgh driver's test +8: Pedestrians are + a) irrelevant. + b) communists. + c) a nuisance. + d) difficult to clean off the front grille. +The correct answer is a. Pedestrians are not in cars, so they +are totally irrelevant to driving, and you should ignore them +completely. +% + Pittsburgh driver's test +9: Roads are salted in order to + a) kill grass. + b) melt snow. + c) help the economy. + d) prevent potholes. +The correct answer is c. +Road salting employs thousands of persons directly, and millions more +indirectly, for example, salt miners and rustproofers. Most important, +salting reduces the life spans of cars, thus stimulating the car and +steel industries. +% + + ( /\__________/\ ) + \(^ @___..___@ ^)/ + /\ (\/\/\/\/) /\ + / \(/\/\/\/\)/ \ + -( """""""""" ) + \ _____ / + ( /( )\ ) + _) (_V) (V_) (_ + (V)(V)(V) (V)(V)(V) + +% + ___====-_ _-====___ + _--~~~#####// \\#####~~~--_ + _-~##########// ( ) \\##########~-_ + -############// :\^^/: \\############- + _~############// (@::@) \\############~_ + ~#############(( \\// ))#############~ + -###############\\ (^^) //###############- + -#################\\ / "" \ //#################- + -###################\\/ \//###################- + _#/:##########/\######( /\ )######/\##########:\#_ + :/ :#/\#/\#/\/ \#/\##\ : : /##/\#/ \/\#/\#/\#: \: + " :/ V V " V \#\: : : :/#/ V " V V \: " + " " " " \ : : : : / " " " " +% + Has your family tried 'em? + + POWDERMILK BISCUITS + + Heavens, they're tasty and expeditious! + + They're made from whole wheat, to give shy persons + the strength to get up and do what needs to be done. + + POWDERMILK BISCUITS + + Buy them ready-made in the big blue box with the picture of + the biscuit on the front, or in the brown bag with the dark + stains that indicate freshness. +% + Answers to Last Fortunes' Questions: +1) None. (Moses didn't have an ark). +2) Your mother, by the pigeonhole principle. +3) You don't know. Neither does your boss. +4) Who cares? +5) 6 (or maybe 4, or else 3). Mr. Alfred J. Duncan of Podunk, Montana, + submitted an interesting solution to Problem 5. Unfortunately, I lost it. +6) I know the answer to this one, but I'm not telling! Suffer! Ha-ha-ha!! +7) There is an interesting solution to this problem on page 10,953 of my + book, which you can pick up for $23.95 at finer bookstores and bathroom + supply outlets (or 99 cents at the table in front of Papyrus Books). +% + Hard Copies and Chmod + +And everyone thinks computers are impersonal +cold diskdrives hardware monitors +user-hostile software + +of course they're only bits and bytes +and characters and strings +and files + +just some old textfiles from my old boyfriend +telling me he loves me and +he'll take care of me + +simply a discarded printout of a friend's directory +deep intimate secrets and +how he doesn't trust me + +couldn't hurt me more if they were scented in lavender or mould +on personal stationery + -- terri@csd4.milw.wisc.edu +% + `O' LEVEL COUNTER CULTURE +Timewarp allowed: 3 hours. Do not scrawl situationalist graffiti in the +margins or stub your rollups in the inkwells. Orange may be worn. Credit +will be given to candidates who self-actualise. + + 1: Compare and contrast Pink Floyd with Black Sabbath and say why +neither has street credibility. + 2: "Even Buddha would have been hard pushed to reach Nirvana squatting +on a juggernaut route." Consider the dialectic of inner truth and inner +city. + 3: Discuss degree of hassle involved in paranoia about being sucked +into a black hole. + 4: "The Egomaniac's Liberation Front were a bunch of revisionist +ripoff merchants." Comment on this insult. + 5: Account for the lack of references to brown rice in Dylan's lyrics. + 6: "Castenada was a bit of a bozo." How far is this a fair summing +up of western dualism? + 7: Hermann Hesse was a Pisces. Discuss. +% + OUTCONERR +Twas FORTRAN as the doloop goes + Did logzerneg the ifthen block +All kludgy were the function flows + And subroutines adhoc. + +Beware the runtime-bug my friend + squrooneg, the false goto +Beware the infiniteloop + And shun the inprectoo. +% + Safety Tips for the Post-Nuclear Existence +1. Never use an elevator in a building that has been hit by a + nuclear bomb, use the stairs. +2. When you're flying through the air, remember to roll + when you hit the ground. +3. If you're on fire, avoid gasoline and other flammable materials. +4. Don't attempt communication with dead people; it will only lead + to psychological problems. +5. Food will be scarce, you will have to scavenge. Learn to recognize + foods that will be available after the bomb: mashed potatoes, + shredded wheat, tossed salad, ground beef, etc. +6. Put your hand over your mouth when you sneeze, internal organs + will be scarce in the post-nuclear age. +7. Try to be neat, fall only in designated piles. +8. Drive carefully in "Heavy Fallout" areas, people could be + staggering illegally. +9. Nutritionally, hundred dollar bills are equal to one's, but more + sanitary due to limited circulation. +10. Accumulate mannequins now, spare parts will be in short + supply on D-Day. +% + The Guy on the Right Doesn't Stand a Chance +The guy on the right has the Osborne 1, a fully functional computer system +in a portable package the size of a briefcase. The guy on the left has an +Uzi submachine gun concealed in his attache case. Also in the case are four +fully loaded, 32-round clips of 125-grain 9mm ammunition. The owner of the +Uzi is going to get more tactical firepower delivered -- and delivered on +target -- in less time, and with less effort. All for $795. It's inevitable. +If you're going up against some guy with an Osborne 1 -- or any personal +computer -- he's the one who's in trouble. One round from an Uzi can zip +through ten inches of solid pine wood, so you can imagine what it will do +to structural foam acrylic and sheet aluminum. In fact, detachable magazines +for the Uzi are available in 25-, 32-, and 40-round capacities, so you can +take out an entire office full of Apple II or IBM Personal Computers tied +into Ethernet or other local-area networks. What about the new 16-bit +computers, like the Lisa and Fortune? Even with the Winchester backup, +they're no match for the Uzi. One quick burst and they'll find out what +Unix means. Make your commanding officer proud. Get an Uzi -- and come home +a winner in the fight for office automatic weapons. + -- "InfoWorld", June, 1984 +% + The Split-Atom Blues +Gimme Twinkies, gimme wine, + Gimme jeans by Calvin Kline... +But if you split those atoms fine, + Mama keep 'em off those genes of mine! +Gimme zits, take my dough, + Gimme arsenic in my jelly roll... +Call the devil and sell my soul, + But Mama keep dem atoms whole! + -- Milo Bloom +% + THIS IS PLEDGE WEEK FOR THE FORTUNE PROGRAM + +If you like the fortune program, why not support it now with your contribution +of a pithy fortune, clean or obscene? We cannot continue without your support. +Less than 14% of all fortune users are contributors. That means that 86% of +you are getting a free ride. We can't go on like this much longer. Federal +cutbacks mean less money for fortunes, and unless user contributions increase +to make up the difference, the fortune program will have to shut down between +midnight and 8 a.m. Don't let this happen. Mail your fortunes right now to +`fortune'. Just type in your favorite pithy fortune. Do it now before you +forget. Our target is 300 new fortunes by the end of the week. Don't miss +out. All fortunes will be acknowledged. If you contribute 30 fortunes or +more, you will receive a free subscription to "The Fortune Hunter", our monthly +program guide. If you contribute 50 or more, you will receive a free "Fortune +Hunter" coffee mug! +% + What I Did During My Fall Semester +On the first day of my fall semester, I got up. +Then I went to the library to find a thesis topic. +Then I hung out in front of the Dover. + +On the second day of my fall semester, I got up. +Then I went to the library to find a thesis topic. +Then I hung out in front of the Dover. + +On the third day of my fall semester, I got up. +Then I went to the library to find a thesis topic. +I found a thesis topic: + How to keep people from hanging out in front of the Dover. + -- Sister Mary Elephant, + "Student Statement for Black Friday" +% + 1/3 + /\(3) + | 2 1/3 + | z dz cos(3 * PI / 9) = ln (e ) + | + \/ 1 + +The integral of z squared, dz +From 1 to the cube root of 3 + Times the cosine + Of 3 PI over nine +Is the log of the cube root of e +% + THE DAILY PLANET + + SUPERMAN SAVES DESSERT! + Plans to "Eat it later" +% + *** A NEW KIND OF PROGRAMMING *** + +Do you want the instant respect that comes from being able to use technical +terms that nobody understands? Do you want to strike fear and loathing into +the hearts of DP managers everywhere? If so, then let the Famous Programmers' +School lead you on... into the world of professional computer programming. +They say a good programmer can write 20 lines of effective program per day. +With our unique training course, we'll show you how to write 20 lines of code +and lots more besides. Our training course covers every programming language +in existence, and some that aren't. You'll learn why the on/off switch for a +computer is so important, what the words *fatal error* mean, and who and what +you should blame when you make a mistake. + + Yes, I want the brochure describing this incredible offer. + I enclose $1000 is small unmarked bills to cover the cost of + postage and handling. (No live poultry, please.) + +*** Our Slogan: Top down programming for the masses. *** +% + *** DO YOU HAVE A RESTLESS URGE TO PROGRAM? *** +Do you want the instant respect that comes from being able to use technical +terms that nobody understands? Do you want to strike fear and loathing into +the hearts of DP managers everywhere? If so, then let the Famous Programmers' +School lead you on... into the world of professional computer programming. + + *** IS PROGRAMMING FOR YOU? *** +Programming is not for everyone. But, if you have the desire to learn, we can +help you get started. All you need is the Famous Programmers' Course and +enough money to keep those lessons coming month after month. + + *** TAKE OUR FREE APTITUDE TEST *** +To help determine if you are qualified to be a programmer, take a moment to +try this simple test: + 1: Write down the numbers from zero to nine and the first six letters + of the alphabet (Hint: 0123456789ABCDEF). + 2: Whose picture is on the back of a twenty-dollar bill? + 3: What is the state capital of Idaho? +If you managed to read all three questions without wondering why we asked +them, you may have a future as a computer programmer. +% + *** STUDENT SUCCESSES *** + +Many of our students have gone on to achieve great success in all fields of +programming. One former student developed the concept of the personalized +form letter. Does the phrase, "Dear Mr.(insert name), You may already be a +winner!," sound familiar? Another student writes "After only five lessons I +sold a "My Most Unforgettable Program" article to Corrosive Computing magazine. +Another of our graduates writes, "I recently completed a database-management +program for my department manager. My program touched him so deeply that he +was speechless. He told me later that he had never seen such a program in +his entire career. Thank you, Famous Programmers' school; only you could +have made this possible." Send for our introductory brochure which explains +in vague detail the operation of the Famous Programmers' School, and you'll +be eligible to win a possible chance to enter a drawing, the winner of which +can vie for a set of free steak knives. If you don't do it now, you'll hate +yourself in the morning. +% + ... This striving for excellence extends into people's +personal lives as well. When '80s people buy something, they buy the +best one, as determined by (1) price and (2) lack of availability. +Eighties people buy imported dental floss. They buy gourmet baking +soda. If an '80s couple goes to a restaurant where they have made a +reservation three weeks in advance, and they are informed that their +table is available, they stalk out immediately, because they know it is +not an excellent restaurant. If it were, it would have an enormous +crowd of excellence-oriented people like themselves waiting, their +beepers going off like crickets in the night. An excellent restaurant +wouldn't have a table ready immediately for anybody below the rank of +Liza Minnelli. + -- Dave Barry, "In Search of Excellence" +% + ... with liberty and justice for all who can afford it. +% + 12 + 144 + 20 + 3(4) 2 + ---------------------- + 5(11) = 9 + 0 + 7 + +A dozen, a gross and a score, +Plus three times the square root of four, + Divided by seven, + Plus five times eleven, +Equals nine squared plus zero, no more! +% + 7,140 pounds on the Sun + 97 pounds on Mercury or Mars + 255 pounds on Earth + 232 pounds on Venus or Uranus + 43 pounds on the Moon + 648 pounds on Jupiter + 275 pounds on Saturn + 303 pounds on Neptune + 13 pounds on Pluto + + -- How much Elvis Presley would weigh at various places + in the solar system. +% + A boy scout troop went on a hike. Crossing over a stream, one of +the boys dropped his wallet into the water. Suddenly a carp jumped, grabbed +the wallet and tossed it to another carp. Then that carp passed it to +another carp, and all over the river carp appeared and tossed the wallet back +and forth. + "Well, boys," said the Scout leader, "you've just seen a rare case +of carp-to-carp walleting." +% + A carpet installer decides to take a cigarette break after completing +the installation in the first of several rooms he has to do. Finding them +missing from his pocket he begins searching, only to notice a small lump in +his recently completed carpet-installation. Not wanting to pull up all that +work for a lousy pack of cigarettes he simply walks over and pounds the lump +flat. Foregoing the break, he continues on to the other rooms to be carpeted. + At the end of the day, while loading his tools into his truck, two +events occur almost simultaneously: he spies his pack of cigarettes on the +dashboard of the truck, and the lady of the house summons him imperiously: +"Have you seen my parakeet?" +% + A circus foreman was making the rounds inspecting the big top when +a scrawny little man entered the tent and walked up to him. "Are you the +foreman around here?" he asked timidly. "I'd like to join your circus; I +have what I think is a pretty good act." + The foreman nodded assent, whereupon the little man hurried over to +the main pole and rapidly climbed up to the very tip-top of the big top. +Drawing a deep breath, he hurled himself off into the air and began flapping +his arms furiously. Amazingly, rather than plummeting to his death the little +man began to fly all around the poles, lines, trapezes and other obstacles, +performing astounding feats of aerobatics which ended in a long power dive +from the top of the tent, pulling up into a gentle feet-first landing beside +the foreman, who had been nonchalantly watching the whole time. + "Well," puffed the little man. "What do you think?" + "That's all you do?" answered the foreman scornfully. "Bird +imitations?" +% + A disciple of another sect once came to Drescher as he was eating +his morning meal. "I would like to give you this personality test", said +the outsider, "because I want you to be happy." + Drescher took the paper that was offered him and put it into the +toaster -- "I wish the toaster to be happy too". +% + A doctor, an architect, and a computer scientist were arguing about +whose profession was the oldest. In the course of their arguments, they +got all the way back to the Garden of Eden, whereupon the doctor said, "The +medical profession is clearly the oldest, because Eve was made from Adam's +rib, as the story goes, and that was a simply incredible surgical feat." + The architect did not agree. He said, "But if you look at the Garden +itself, in the beginning there was chaos and void, and out of that the Garden +and the world were created. So God must have been an architect." + The computer scientist, who'd listened carefully to all of this, then +commented, "Yes, but where do you think the chaos came from?" +% + A farmer decides that his three sows should be bred, and contacts a +buddy down the road, who owns several boars. They agree on a stud fee, and +the farmer puts the sows in his pickup and takes them down the road to the +boars. He leaves them all day, and when he picks them up that night, asks +the man how he can tell if it "took" or not. The breeder replies that if, +the next morning, the sows were grazing on grass, they were pregnant, but if +they were rolling in the mud as usual, they probably weren't. + Comes the morn, the sows are rolling in the mud as usual, so the +farmer puts them in the truck and brings them back for a second full day of +frolic. This continues for a week, since each morning the sows are rolling +in the mud. + Around the sixth day, the farmer wakes up and tells his wife, "I +don't have the heart to look again. This is getting ridiculous. You check +today." With that, the wife peeks out the bedroom window and starts to laugh. + "What is it?" asks the farmer excitedly. "Are they grazing at last?" + "Nope." replies his wife. "Two of them are jumping up and down in +the back of your truck, and the other one is honking the horn!" +% + A father gave his teen-age daughter an untrained pedigreed pup for +her birthday. An hour later, when wandered through the house, he found her +looking at a puddle in the center of the kitchen. "My pup," she murmured +sadly, "runneth over." + Catching his children with their hands in the new, still wet, patio, +the father spanked them. His wife asked, "Don't you love your children?" +"In the abstract, yes, but not in the concrete." +% + A German, a Pole and a Czech left camp for a hike through the woods. +After being reported missing a day or two later, rangers found two bears, +one a male, one a female, looking suspiciously overstuffed. They killed +the female, autopsied her, and sure enough, found the German and the Pole. + "What do you think?" said the first ranger. + "The Czech is in the male," replied the second. +% + A group of soldiers being prepared for a practice landing on a tropical +island were warned of the one danger the island held, a poisonous snake that +could be readily identified by its alternating orange and black bands. They +were instructed, should they find one of these snakes, to grab the tail end of +the snake with one hand and slide the other hand up the body of the snake to +the snake's head. Then, forcefully, bend the thumb above the snake's head +downward to break the snake's spine. All went well for the landing, the +charge up the beach, and the move into the jungle. At one foxhole site, two +men were starting to dig and wondering what had happened to their partner. +Suddenly he staggered out of the underbrush, uniform in shreds, covered with +blood. He collapsed to the ground. His buddies were so shocked they could +only blurt out, "What happened?" + "I ran from the beachhead to the edge of the jungle, and, as I hit the +ground, I saw an orange and black striped snake right in front of me. I +grabbed its tail end with my left hand. I placed my right hand above my left +hand. I held firmly with my left hand and slid my right hand up the body of +the snake. When I reached the head of the snake I flicked my right thumb down +to break the snake's spine... did you ever goose a tiger?" +% + A guy returns from a long trip to Europe, having left his beloved +dog in his brother's care. The minute he's cleared customs, he calls up his +brother and inquires after his pet. + "Your dog's dead," replies his brother bluntly. + The guy is devastated. "You know how much that dog meant to me," +he moaned into the phone. "Couldn't you at least have thought of a nicer way +of breaking the news? Couldn't you have said, `Well, you know, the dog got +outside one day, and was crossing the street, and a car was speeding around a +corner...' or something...? Why are you always so thoughtless?" + "Look, I'm sorry," said his brother, "I guess I just didn't think." + "Okay, okay, let's just put it behind us. How are you anyway? +How's Mom?" + His brother is silent a moment. "Uh," he stammers, "uh... Mom got +outside one day..." +% + A guy walks into a pub and asks: "Does anyone here own a Doberman? +I feel really bad about this, but my Chihuahua just killed it." + A man leaps to his feet and replies, "Yes, I do, but how can that +be? I raised that dog from a pup to be a vicious killer." + "Yes, well, that's all well and good," replied the first, "but my +dog's stuck in its throat." +% + A horse breeder has his young colts bottle-fed after they're three +days old. He heard that a foal and his mummy are soon parted. + A crow perched himself on a telephone wire. He was going to make a +long-distance caw. + A musical reviewer admitted he always praised the first show of a +new theatrical season. "Who am I to stone the first cast?" + A hard-luck actor who appeared in one colossal disaster after another +finally got a break, a broken leg to be exact. Someone pointed out that it's +the first time the poor fellow's been in the same cast for more than a week. +% + A housewife, an accountant and a lawyer were asked to add 2 and 2. + The housewife replied, "Four!". + The accountant said, "It's either 3 or 4. Let me run those figures +through my spread sheet one more time." + The lawyer pulled the drapes, dimmed the lights and asked in a +hushed voice, "How much do you want it to be?" +% + A lawyer named Strange was shopping for a tombstone. After he had +made his selection, the stonecutter asked him what inscription he +would like on it. "Here lies an honest man and a lawyer," responded the +lawyer. + "Sorry, but I can't do that," replied the stonecutter. "In this +state, it's against the law to bury two people in the same grave. However, +I could put ``here lies an honest lawyer'', if that would be okay." + "But that won't let people know who it is" protested the lawyer. + "Certainly will," retorted the stonecutter. "people will read it +and exclaim, "That's Strange!" +% + A little dog goes into a saloon in the Wild West, and beckons to +the bartender. "Hey, bartender, gimmie a whiskey." + The bartender ignores him. + "Hey bartender, gimmie a whiskey." + Still ignored. + "HEY BARMAN!! GIMMIE A WHISKEY!!" + The bartender takes out his six-shooter and shoots the dog in the +leg, and the dog runs out the saloon, howling in pain. + Three years later, the wee dog appears again, wearing boots, +jeans, chaps, a Stetson, gun belt, and guns. He ambles slowly into the +saloon, goes up to the bar, leans over it, and says to the bartender, +"I'm here t'git the man that shot muh paw." +% + A man enters a pet shop, seeking to purchase a parrot. He points +to a fine colorful bird and asks how much it costs. + When he is told it costs 70,000 zlotys, he whistles in amazement +and asks why it is so much. "Well, the bird is fluent in Italian and +French and can recite the periodic table." He points to another bird +and is told that it costs 90,000 zlotys because it speaks French and +German, can knit and can curse in Latin. + Finally the customer asks about a drab gray bird. "Ah," he is +told, "that one is 150,000." + "Why, what can it do?" he asks. + "Well," says the shopkeeper, "to tell you the truth, he doesn't +do anything, but the other birds call him Mr. Secretary." + -- being told in Poland, 1987 +% + A man from AI walked across the mountains to SAIL to see the Master, +Knuth. When he arrived, the Master was nowhere to be found. "Where is the +wise one named Knuth?" he asked a passing student. + "Ah," said the student, "you have not heard. He has gone on a +pilgrimage across the mountains to the temple of AI to seek out new +disciples." + Hearing this, the man was Enlightened. +% + A man met a beautiful young woman in a bar. They got along well, +shared dinner, and had a marvelous evening. When he left her, he told her +that he had really enjoyed their time together, and hoped to see her again, +soon. Smiling yes, she gave him her phone number. + The next day, he called her up and asked her to go dancing. She +agreed. As they talked, he jokingly asked her what her favorite flower was. +Realizing his intentions, she told him that he shouldn't bring her flowers +-- if he wanted to bring her a gift, well, he should bring her a Swiss Army +knife! + Surprised, and not a little intrigued, he spent a large part of the +afternoon finding a particularly unusual one. Arriving at her apartment +he immediately presented her with the knife. She ooohed and ahhhed over it +for a minute, and then carefully placed it in a drawer, that the man couldn't +help but see was full of Swiss Army knives. + Surprised, he asked her why she had collected so many. + "Well, I'm young and attractive now", blushed the woman, "but that +won't always be true. And boy scouts will do anything for a Swiss Army knife!" +% + A man sank into the psychiatrist's couch and said, "I have a +terrible problem, Doctor. I have a son at Harvard and another son at +Princeton; I've just gifted each of them with a new Ferrari; I've got +homes in Beverly Hills, Palm Beach, and a co-op in New York; and I've +got a thriving ranch in Venezuela. My wife is a gorgeous young actress +who considers my two mistresses to be her best friends." + The psychiatrist looked at the patient, confused. "Did I miss +something? It sounds to me like you have no problems at all." + "But, Doctor, I only make $175 a week." +% + A man walked into a bar with his alligator and asked the bartender, +"Do you serve lawyers here?". + "Sure do," replied the bartender. + "Good," said the man. "Give me a beer, and I'll have a lawyer for +my 'gator." +% + A man who keeps stealing mopeds is an obvious cycle-path. + A man pleaded innocent of any wrong doing when caught by the police +during a raid at the home of a mobster, excusing himself by claiming that he +was making a bolt for the door. + A farm in the country side had several turkeys, it was known as the +house of seven gobbles. + A man was reading The Canterbury Tales one Saturday morning, when his +wife asked "What have you got there?" Replied he, "Just my cup and Chaucer." + A women was in love with fourteen soldiers, it was clearly platoonic. + Max told his friend that he'd just as soon not go hiking in the hills. +Said he, "I'm an anti-climb Max." +% + A manager asked a programmer how long it would take him to finish the +program on which he was working. "I will be finished tomorrow," the programmer +promptly replied. + "I think you are being unrealistic," said the manager. "Truthfully, +how long will it take?" + The programmer thought for a moment. "I have some features that I wish +to add. This will take at least two weeks," he finally said. + "Even that is too much to expect," insisted the manager, "I will be +satisfied if you simply tell me when the program is complete." + The programmer agreed to this. + Several years slated, the manager retired. On the way to his +retirement lunch, he discovered the programmer asleep at his terminal. +He had been programming all night. + -- Geoffrey James, "The Tao of Programming" +% + A manager was about to be fired, but a programmer who worked for him +invented a new program that became popular and sold well. As a result, the +manager retained his job. + The manager tried to give the programmer a bonus, but the programmer +refused it, saying, "I wrote the program because I though it was an interesting +concept, and thus I expect no reward." + The manager, upon hearing this, remarked, "This programmer, though he +holds a position of small esteem, understands well the proper duty of an +employee. Lets promote him to the exalted position of management consultant!" + But when told this, the programmer once more refused, saying, "I exist +so that I can program. If I were promoted, I would do nothing but waste +everyone's time. Can I go now? I have a program that I'm working on." + -- Geoffrey James, "The Tao of Programming" +% + A manager went to the master programmer and showed him the requirements +document for a new application. The manager asked the master: "How long will +it take to design this system if I assign five programmers to it?" + "It will take one year," said the master promptly. + "But we need this system immediately or even sooner! How long will it +take it I assign ten programmers to it?" + The master programmer frowned. "In that case, it will take two years." + "And what if I assign a hundred programmers to it?" + The master programmer shrugged. "Then the design will never be +completed," he said. + -- Geoffrey James, "The Tao of Programming" +% + A manger went to his programmers and told them: "As regards to your +work hours: you are going to have to come in at nine in the morning and leave +at five in the afternoon." At this, all of them became angry and several +resigned on the spot. + So the manager said: "All right, in that case you may set your own +working hours, as long as you finish your projects on schedule." The +programmers, now satisfied, began to come in a noon and work to the wee +hours of the morning. + -- Geoffrey James, "The Tao of Programming" +% + A master programmer passed a novice programmer one day. The master +noted the novice's preoccupation with a hand-held computer game. "Excuse me", +he said, "may I examine it?" + The novice bolted to attention and handed the device to the master. +"I see that the device claims to have three levels of play: Easy, Medium, +and Hard", said the master. "Yet every such device has another level of play, +where the device seeks not to conquer the human, nor to be conquered by the +human." + "Pray, great master," implored the novice, "how does one find this +mysterious setting?" + The master dropped the device to the ground and crushed it under foot. +And suddenly the novice was enlightened. + -- Geoffrey James, "The Tao of Programming" +% + A master was explaining the nature of Tao to one of his novices. +"The Tao is embodied in all software -- regardless of how insignificant," +said the master. + "Is the Tao in a hand-held calculator?" asked the novice. + "It is," came the reply. + "Is the Tao in a video game?" continued the novice. + "It is even in a video game," said the master. + "And is the Tao in the DOS for a personal computer?" + The master coughed and shifted his position slightly. "The lesson +is over for today.", he said. + -- Geoffrey James, "The Tao of Programming" +% + A master was explaining the nature of the Tao to one of his novices, +"The Tao is embodied in all software -- regardless of how insignificant," +said the master. + "Is the Tao in a hand-held calculator?" asked the novice. + "It is," came the reply. + "Is the Tao in a video game?" continued the novice. + "It is even in a video game," said the master. + "And is the Tao in the DOS for a personal computer?" + The master coughed and shifted his position slightly. "The lesson is +over for today," he said. + -- Geoffrey James, "The Tao of Programming" +% + A MODERN FABLE + +Aesop's fables and other traditional children's stories involve allegory +far too subtle for the youth of today. Children need an updated message +with contemporary circumstance and plot line, and short enough to suit +today's minute attention span. + + The Troubled Aardvark + +Once upon a time, there was an aardvark whose only pleasure in life was +driving from his suburban bungalow to his job at a large brokerage house +in his brand new 4x4. He hated his manipulative boss, his conniving and +unethical co-workers, his greedy wife, and his snivelling, spoiled +children. One day, the aardvark reflected on the meaning of his life and +his career and on the unchecked, catastrophic decline of his nation, its +pathetic excuse for leadership, and the complete ineffectiveness of any +personal effort he could make to change the status quo. Overcome by a +wave of utter depression and self-doubt, he decided to take the only +course of action that would bring him greater comfort and happiness: he +drove to the mall and bought imported consumer electronics goods. + +MORAL OF THE STORY: Invest in foreign consumer electronics manufacturers. + -- Tom Annau +% + A musician of more ambition than talent composed an elegy at +the death of composer Edward MacDowell. She played the elegy for the +pianist Josef Hoffman, then asked his opinion. "Well, it's quite +nice," he replied, but don't you think it would be better if..." + "If what?" asked the composer. + "If ... if you had died and MacDowell had written the elegy?" +% + A novel approach is to remove all power from the system, which +removes most system overhead so that resources can be fully devoted to +doing nothing. Benchmarks on this technique are promising; tremendous +amounts of nothing can be produced in this manner. Certain hardware +limitations can limit the speed of this method, especially in the +larger systems which require a more involved & less efficient +power-down sequence. + An alternate approach is to pull the main breaker for the +building, which seems to provide even more nothing, but in truth has +bugs in it, since it usually inhibits the systems which keep the beer +cool. +% + A novice asked the Master: "Here is a programmer that never designs, +documents, or tests his programs. Yet all who know him consider him one of +the best programmers in the world. Why is this?" + The Master replies: "That programmer has mastered the Tao. He has +gone beyond the need for design; he does not become angry when the system +crashes, but accepts the universe without concern. He has gone beyond the +need for documentation; he no longer cares if anyone else sees his code. He +has gone beyond the need for testing; each of his programs are perfect within +themselves, serene and elegant, their purpose self-evident. Truly, he has +entered the mystery of the Tao." + -- Geoffrey James, "The Tao of Programming" +% + A novice asked the master: "I have a program that sometimes runs and +sometimes aborts. I have followed the rules of programming, yet I am totally +baffled. What is the reason for this?" + The master replied: "You are confused because you do not understand +the Tao. Only a fool expects rational behavior from his fellow humans. Why +do you expect it from a machine that humans have constructed? Computers +simulate determinism; only the Tao is perfect. + The rules of programming are transitory; only the Tao is eternal. +Therefore you must contemplate the Tao before you receive enlightenment." + "But how will I know when I have received enlightenment?" asked the +novice. + "Your program will then run correctly," replied the master. + -- Geoffrey James, "The Tao of Programming" +% + A novice asked the master: "I perceive that one computer company is +much larger than all others. It towers above its competition like a giant +among dwarfs. Any one of its divisions could comprise an entire business. +Why is this so?" + The master replied, "Why do you ask such foolish questions? That +company is large because it is so large. If it only made hardware, nobody +would buy it. If it only maintained systems, people would treat it like a +servant. But because it combines all of these things, people think it one +of the gods! By not seeking to strive, it conquers without effort." + -- Geoffrey James, "The Tao of Programming" +% + A novice asked the master: "In the east there is a great tree-structure +that men call 'Corporate Headquarters'. It is bloated out of shape with +vice-presidents and accountants. It issues a multitude of memos, each saying +'Go, Hence!' or 'Go, Hither!' and nobody knows what is meant. Every year new +names are put onto the branches, but all to no avail. How can such an +unnatural entity exist?" + The master replies: "You perceive this immense structure and are +disturbed that it has no rational purpose. Can you not take amusement from +its endless gyrations? Do you not enjoy the untroubled ease of programming +beneath its sheltering branches? Why are you bothered by its uselessness?" + -- Geoffrey James, "The Tao of Programming" +% + A novice programmer was once assigned to code a simple financial +package. + The novice worked furiously for many days, but when his master +reviewed his program, he discovered that it contained a screen editor, a set +of generalized graphics routines, and artificial intelligence interface, +but not the slightest mention of anything financial. + When the master asked about this, the novice became indignant. +"Don't be so impatient," he said, "I'll put the financial stuff in eventually." + -- Geoffrey James, "The Tao of Programming" +% + A novice was trying to fix a broken lisp machine by turning the +power off and on. Knight, seeing what the student was doing spoke sternly, +"You cannot fix a machine by just power-cycling it with no understanding +of what is going wrong." Knight turned the machine off and on. The +machine worked. +% + A Pole, a Soviet, an American, an Englishman and a Canadian were lost +in a forest in the dead of winter. As they were sitting around a fire, they +noticed a pack of wolves eyeing them hungrily. + The Englishman volunteered to sacrifice himself for the rest of the +party. He walked out into the night. + The American, not wanting to be outdone by an Englishman, offered to +be the next victim. The wolves eagerly accepted his offer, and devoured him, +too. + The Soviet, believing himself to be better than any American, turned +to the Pole and says, "Well, comrade, I shall volunteer to give my life to +save a fellow socialist." He leaves the shelter and goes out to be killed by +the wolf pack. + At this point, the Pole opened his jacket and pulls out a machine gun. +He takes aim in the general direction of the wolf pack and in a few seconds +has killed them all. + The Canadian asked the Pole, "Why didn't you do that before the others +went out to be killed? + The Pole pulls a bottle of vodka from the other side of his jacket. +He smiles and replies, "Five men on one bottle -- too many." +% + A priest was walking along the cliffs at Dover when he came upon +two locals pulling another man ashore on the end of a rope. "That's what +I like to see", said the priest, "A man helping his fellow man". + As he was walking away, one local remarked to the other, "Well, +he sure doesn't know the first thing about shark fishing." +% + A program should be light and agile, its subroutines connected like a +strings of pearls. The spirit and intent of the program should be retained +throughout. There should be neither too little nor too much, neither needless +loops nor useless variables, neither lack of structure nor overwhelming +rigidity. + A program should follow the 'Law of Least Astonishment'. What is this +law? It is simply that the program should always respond to the user in the +way that astonishes him least. + A program, no matter how complex, should act as a single unit. The +program should be directed by the logic within rather than by outward +appearances. + If the program fails in these requirements, it will be in a state of +disorder and confusion. The only way to correct this is to rewrite the +program. + -- Geoffrey James, "The Tao of Programming" +% + A programmer from a very large computer company went to a software +conference and then returned to report to his manager, saying: "What sort +of programmers work for other companies? They behaved badly and were +unconcerned with appearances. Their hair was long and unkempt and their +clothes were wrinkled and old. They crashed our hospitality suites and they +made rude noises during my presentation." + The manager said: "I should have never sent you to the conference. +Those programmers live beyond the physical world. They consider life absurd, +an accidental coincidence. They come and go without knowing limitations. +Without a care, they live only for their programs. Why should they bother +with social conventions?" + "They are alive within the Tao." + -- Geoffrey James, "The Tao of Programming" +% + A ranger was walking through the forest and encountered a hunter +carrying a shotgun and a dead loon. "What in the world do you think you're +doing? Don't you know that the loon is on the endangered species list?" + Instead of answering, the hunter showed the ranger his game bag, +which contained twelve more loons. + "Why would you shoot loons?", the ranger asked. + "Well, my family eats them and I sell the plumage." + "What's so special about a loon? What does it taste like?" + "Oh, somewhere between an American Bald Eagle and a Trumpeter Swan." +% + A reader reports that when the patient died, the attending doctor +recorded the following on the patient's chart: "Patient failed to fulfill +his wellness potential." + + Another doctor reports that in a recent issue of the *American Journal +of Family Practice* fleas were called "hematophagous arthropod vectors." + + A reader reports that the Army calls them "vertically deployed anti- +personnel devices." You probably call them bombs. + + At McClellan Air Force base in Sacramento, California, civilian +mechanics were placed on "non-duty, non-pay status." That is, they were fired. + + After taking the trip of a lifetime, our reader sent his twelve rolls +of film to Kodak for developing (or "processing," as Kodak likes to call it) +only to receive the following notice: "We must report that during the handling +of your twelve 35mm Kodachrome slide orders, the films were involved in an +unusual laboratory experience." The use of the passive is a particularly nice +touch, don't you think? Nobody did anything to the films; they just had a bad +experience. Of course our reader can always go back to Tibet and take his +pictures all over again, using the twelve replacement rolls Kodak so generously +sent him. + -- Quarterly Review of Doublespeak (NCTE) +% + A reverend wanted to telephone another reverend. He told the operator, +"This is a parson to parson call." + A farmer with extremely prolific hens posted the following sign. "Free +Chickens. Our Coop Runneth Over." + Two brothers, Mort and Bill, like to sail. While Bill has a great +deal of experience, he certainly isn't the rigger Mort is. + Inheritance taxes are getting so out of line, that the deceased family +often doesn't have a legacy to stand on. + The judge fined the jaywalker fifty dollars and told him if he was +caught again, he would be thrown in jail. Fine today, cooler tomorrow. + A rock store eventually closed down; they were taking too much for +granite. +% + A Scotsman was strolling across High Street one day wearing his kilt. +As he neared the far curb, he noticed two young blondes in a red convertible +eyeing him and giggling. One of them called out, "Hey, Scotty! What's worn +under the kilt?" + He strolled over to the side of the car and asked, "Ach, lass, are you +SURE you want to know?" Somewhat nervously, the blonde replied yes, she did +really want to know. + The Scotsman leaned closer and confided, "Why, lass, nothing's worn +under the kilt, everything's in perfect workin' order!" +% + A sheet of paper crossed my desk the other day and as I read it, +realization of a basic truth came over me. So simple! So obvious we couldn't +see it. John Knivlen, Chairman of Polamar Repeater Club, an amateur radio +group, had discovered how IC circuits work. He says that smoke is the thing +that makes ICs work because every time you let the smoke out of an IC circuit, +it stops working. He claims to have verified this with thorough testing. + I was flabbergasted! Of course! Smoke makes all things electrical +work. Remember the last time smoke escaped from your Lucas voltage regulator +Didn't it quit working? I sat and smiled like an idiot as more of the truth +dawned. It's the wiring harness that carries the smoke from one device to +another in your Mini, MG or Jag. And when the harness springs a leak, it lets +the smoke out of everything at once, and then nothing works. The starter motor +requires large quantities of smoke to operate properly, and that's why the wire +going to it is so large. + Feeling very smug, I continued to expand my hypothesis. Why are Lucas +electronics more likely to leak than say Bosch? Hmmm... Aha!!! Lucas is +British, and all things British leak! British convertible tops leak water, +British engines leak oil, British displacer units leak hydrostatic fluid, and +I might add British tires leak air, and the British defense unit leaks +secrets... so naturally British electronics leak smoke. + -- Jack Banton, PCC Automotive Electrical School +% + A shy teenage boy finally worked up the nerve to give a gift to +Madonna, a young puppy. It hitched its waggin' to a star. + A girl spent a couple hours on the phone talking to her two best +friends, Maureen Jones, and Maureen Brown. When asked by her father why she +had been on the phone so long, she responded "I heard a funny story today +and I've been telling it to the Maureens." + Three actors, Tom, Fred, and Cec, wanted to do the jousting scene +from Don Quixote for a local TV show. "I'll play the title role," proposed +Tom. "Fred can portray Sancho Panza, and Cecil B. De Mille." +% + A woman was married to a golfer. One day she asked, "If I were +to die, would you remarry?" + After some thought, the man replied, "Yes, I've been very happy in +this marriage and I would want to be this happy again." + The wife asked, "Would you give your new wife my car?" + "Yes," he replied. "That's a good car and it runs well." + "Well, would you live in this house?" + "Yes, it is a lovely house and you have decorated it beautifully. +I've always loved it here." + "Well, would you give her my golf clubs?" + "No." + "Why not?" + "She's left handed." +% + A young honeymoon couple were touring southern Florida and happened +to stop at one of the rattlesnake farms along the road. After seeing the +sights, they engaged in small talk with the man that handled the snakes. +"Gosh!" exclaimed the new bride. "You certainly have a dangerous job. +Don't you ever get bitten by the snakes?" + "Yes, upon rare occasions," answered the handler. + "Well," she continued, "just what do you do when you're bitten by +a snake?" + "I always carry a razor-sharp knife in my pocket, and as soon as I +am bitten, I make deep criss-cross marks across the fang entry and then +suck the poison from the wound." + "What, uh... what would happen if you were to accidentally *sit* on +a rattler?" persisted the woman. + "Ma'am," answered the snake handler, "that will be the day I learn +who my real friends are." +% + A young married couple had their first child. Their original pride +and joy slowly turned to concern however, for after a couple of years the +child had never uttered any form of speech. They hired the best speech +therapists, doctors, psychiatrists, all to no avail. The child simply refused +to speak. One morning when the child was five, while the husband was reading +the paper, and the wife was feeding the dog, the little kid looks up from +his bowl and said, "My cereal's cold." + The couple is stunned. The man, in tears, confronts his son. "Son, +after all these years, why have you waited so long to say something?". + Shrugs the kid, "Everything's been okay 'til now". +% + ACHTUNG!!! +Das machine is nicht fur gefingerpoken und mittengrabben. Ist easy +schnappen der springenwerk, blowenfusen und corkenpoppen mit +spitzensparken. Ist nicht fur gewerken by das dummkopfen. Das +rubbernecken sightseeren keepen hands in das pockets. Relaxen und +vatch das blinkenlights!!! +% + After sifting through the overwritten remaining blocks of Luke's home +directory, Luke and PDP-1 sped away from /u/lars, across the surface of the +Winchester riding Luke's flying read/write head. PDP-1 had Luke stop at the +edge of the cylinder overlooking /usr/spool/uucp. + "Unix-to-Unix Copy Program;" said PDP-1. "You will never find a more +wretched hive of bugs and flamers. We must be cautious." + -- DECWARS +% + After the Children of Israel had wandered for thirty-nine years in + the wilderness, Ferdinand Feghoot arrived to make sure that they +would finally find and enter the Promised Land. With him, he brought his +favorite robot, faithful old Yewtoo Artoo, to carry his gear and do assorted +camp chores. + The Israelites soon got over their initial fear of the robot and, + as the months passed, became very fond of him. Patriarchs took to +discussing abstruse theological problems with him, and each evening the +children all gathered to hear the many stories with which he was programmed. +Therefore it came as a great shock to them when, just as their journey was +ending, he abruptly wore out. Even Feghoot couldn't console them. + "It may be true, Ferdinand Feghoot," said Moses, "that our friend +Yewtoo Artoo was soulless, but we cannot believe it. He must be properly +interred. We cannot embalm him as do the Egyptians. Nor have we wood for +a coffin. But I do have a most splendid skin from one of Pharoah's own +cattle. We shall bury him in it." + Feghoot agreed. "Yes, let this be his last rusting place." "Rusting?" + Moses cried. "Not in this dreadful dry desert!" + "Ah!" sighed Ferdinand Feghoot, shedding a tear, "I fear you do not +realize the full significance of Pharoah's oxhide!" + -- Grendel Briarton "Through Time & Space With Ferdinand + Feghoot!" +% + After watching an extremely attractive maternity-ward patient +earnestly thumbing her way through a telephone directory for several +minutes, a hospital orderly finally asked if he could be of some help. + "No, thanks," smiled the young mother, "I'm just looking for a +name for my baby." + "But the hospital supplies a special booklet that lists hundreds +of first names and their meanings," said the orderly. + "That won't help," said the woman, "my baby already has a first +name." +% + All that you touch, And all you create, + All that you see, And all you destroy, + All that you taste, All that you do, + All you feel, And all you say, + And all that you love, All that you eat, + And all that you hate, And everyone you meet, + All you distrust, All that you slight, + All you save, And everyone you fight, + And all that you give, And all that is now, + And all that you deal, And all that is gone, + All that you buy, And all that's to come, + Beg, borrow or steal, And everything under the sun is + in tune, + But the sun is eclipsed + By the moon. + +There is no dark side of the moon... really... matter of fact it's all dark. + -- Pink Floyd, "Dark Side of the Moon" +% + America, Russia and Japan are sending up a two year shuttle mission +with one astronaut from each country. Since it's going to be two long, lonely +years up there, each may bring any form of entertainment weighing 150 pounds +or less. The American approaches the NASA board and asks to take his 125 lb. +wife. They approve. + The Japanese astronaut says, "I've always wanted to learn Latin. I +want 100 lbs. of textbooks." The NASA board approves. The Russian astronaut +thinks for a second and says, "Two years... all right, I want 150 pounds of +the best Cuban cigars ever made." Again, NASA okays it. + Two years later, the shuttle lands and everyone is gathered outside +to welcome back the astronauts. Well, it's obvious what the American's been +up to, he and his wife are each holding an infant. The crowd cheers. The +Japanese astronaut steps out and makes a 10 minute speech in absolutely +perfect Latin. The crowd doesn't understand a word of it, but they're +impressed and they cheer again. The Russian astronaut stomps out, clenches +the podium until his knuckles turn white, glares at the first row and +screams: "Anybody got a match?" +% + An architect's first work is apt to be spare and clean. He + knows he doesn't know what he's doing, so he does it carefully +and with great restraint. + As he designs the first work, frill after frill and + embellishment after embellishment occur to him. These get +stored away to be used "next time." Sooner or later the first system +is finished, and the architect, with firm confidence and a demonstrated +mastery of that class of systems, is ready to build a second system. + This second is the most dangerous system a man ever designs. +When he does his third and later ones, his prior experiences will +confirm each other as to the general characteristics of such systems, +and their differences will identify those parts of his experience that +are particular and not generalizable. + The general tendency is to over-design the second system, using +all the ideas and frills that were cautiously sidetracked on the first +one. The result, as Ovid says, is a "big pile." + -- Frederick Brooks, "The Mythical Man Month" +% + An architect's first work is apt to be spare and clean. He knows +he doesn't know what he's doing, so he does it carefully and with great +restraint. + As he designs the first work, frill after frill and embellishment +after embellishment occur to him. These get stored away to be used "next +time". Sooner or later the first system is finished, and the architect, +with firm confidence and a demonstrated mastery of that class of systems, +is ready to build a second system. + This second is the most dangerous system a man ever designs. When +he does his third and later ones, his prior experiences will confirm each +other as to the general characteristics of such systems, and their differences +will identify those parts of his experience that are particular and not +generalizable. + The general tendency is to over-design the second system, using all +the ideas and frills that were cautiously sidetracked on the first one. +The result, as Ovid says, is a "big pile". +% + An eighty-year-old woman is rocking away the afternoon on her +porch when she sees an old, tarnished lamp sitting near the steps. She +picks it up, rubs it gently, and lo and behold a genie appears! The genie +tells the woman the he will grant her any three wishes her heart desires. + After a bit of thought, she says, "I wish I were young and +beautiful!" And POOF! In a cloud of smoke she becomes a young, beautiful, +voluptuous woman. + After a little more thought, she says, "I would like to be rich +for the rest of my life." And POOF! When the smoke clears, there are +stacks and stacks of money lying on the porch. + The genie then says, "Now, madam, what is your final wish?" + "Well," says the woman, "I would like for you to transform my +faithful old cat, whom I have loved dearly for fifteen years, into a young +handsome prince!" + And with another billow of smoke the cat is changed into a tall, +handsome, young man, with dark hair, dressed in a dashing uniform. + As they gaze at each other in adoration, the prince leans over to +the woman and whispers into her ear, "Now, aren't you sorry you had me +fixed?" +% + An elderly man stands in line for hours at a Warsaw meat store (meat +is severely rationed). When the butcher comes out at the end of the day and +announces that there is no meat left, the man flies into a rage. + "What is this?" he shouts. "I fought against the Nazis, I worked hard +all my life, I've been a loyal citizen, and now you tell me I can't even buy a +piece of meat? This rotten system stinks!" + Suddenly a thuggish man in a black leather coat sidles up and murmurs +"Take it easy, comrade. Remember what would have happened if you had made an +outburst like that only a few years ago" -- and he points an imaginary gun to +this head and pulls the trigger. + The old man goes home, and his wife says, "So they're out of meat +again?" + "It's worse than that," he replies. "They're out of bullets." + -- making the rounds in Warsaw, 1987 +% + An Englishman, a Frenchman and an American are captured by cannibals. +The leader of the tribe comes up to them and says, "Even though you are about +to killed, your deaths will not be in vain. Every part of your body will be +used. Your flesh will be eaten, for my people are hungry. Your hair will be +woven into clothing, for my people are naked. Your bones will be ground up +and made into medicine, for my people are sick. Your skin will be stretched +over canoe frames, for my people need transportation. We are a fair people, +and we offer you a chance to kill yourself with our ceremonial knife." + The Englishman accepts the knife and yells, "God Save the Queen", +while plunging the knife into his heart. + The Frenchman removes the knife from the fallen body, and yells, +"Vive la France", while plunging the knife into his heart. + The American removes the knife from the fallen body, and yells, +while stabbing himself all over his body, "Here's your lousy canoe!" +% + An older student came to Otis and said, "I have been to see a +great number of teachers and I have given up a great number of pleasures. +I have fasted, been celibate and stayed awake nights seeking enlightenment. +I have given up everything I was asked to give up and I have suffered, but +I have not been enlightened. What should I do?" + Otis replied, "Give up suffering." + -- Camden Benares, "Zen Without Zen Masters" +% + And St. Attila raised the hand grenade up on high saying "O Lord +bless this thy hand grenade that with it thou mayest blow thine enemies +to tiny bits, in thy mercy" and the Lord did grin and the people did feast +upon the lambs and sloths and carp and anchovies and orang-utangs and +breakfast cereals and fruit bats and... + (skip a bit brother...) + Er ... oh, yes ... and the Lord spake, saying "First shalt thou +take out the Holy Pin, then shalt thou count to three, no more, no less. +Three shall be the number thou shalt count, and the number of the count +shall be three. Four shalt thou not count neither count thou two, excepting +that thou then proceed to three. Five is right out. Once the number +three, being the third number, be reached then lobbest thou thy Holy Hand +Grenade of Antioch towards thy foe, who being naught in my sight, shall +snuff it. + -- Monty Python, "The Book of Armaments" +% + "And what will you do when you grow up to be as big as me?" +asked the father of his little son. + "Diet." +% + "Anything else, sir?" asked the attentive bellhop, trying his best +to make the lady and gentleman comfortable in their penthouse suite in the +posh hotel. + "No. No, thank you," replied the gentleman. + "Anything for your wife, sir?" the bellhop asked. + "Why, yes, young man," said the gentleman. "Would you bring me +a postcard?" +% + "Anything else you wish to draw to my attention, Mr. Holmes ?" + "The curious incident of the stable dog in the nighttime." + "But the dog did nothing in the nighttime." + "That was the curious incident." + -- Sir Arthur Conan Doyle, "Silver Blaze" +% + Approaching the gates of the monastery, Hakuin found Ken the Zen +preaching to a group of disciples. + "Words..." Ken orated, "they are but an illusory veil obfuscating +the absolute reality of --" + "Ken!" Hakuin interrupted. "Your fly is down!" + Whereupon the Clear Light of Illumination exploded upon Ken, and he +vaporized. + On the way to town, Hakuin was greeted by an itinerant monk imbued +with the spirit of the morning. + "Ah," the monk sighed, a beatific smile wrinkling across his cheeks, +"Thou art That..." + "Ah," Hakuin replied, pointing excitedly, "And Thou art Fat!" + Whereupon the Clear Light of Illumination exploded upon the monk, +and he vaporized. + Next, the Governor sought the advice of Hakuin, crying: "As our +enemies bear down upon us, how shall I, with such heartless and callow +soldiers as I am heir to, hope to withstand the impending onslaught?" + "US?" snapped Hakuin. + Whereupon the Clear Light of Illumination exploded upon the +Governor, and he vaporized. + Then, a redneck went up to Hakuin and vaporized the old Master with +his shotgun. "Ha! Beat ya' to the punchline, ya' scrawny li'l geek!" +% + As a general rule of thumb, never trust anybody who's been in therapy +for more than 15 percent of their life span. The words "I am sorry" and "I +am wrong" will have totally disappeared from their vocabulary. They will stab +you, shoot you, break things in your apartment, say horrible things to your +friends and family, and then justify this abhorrent behavior by saying: + "Sure, I put your dog in the microwave. But I feel *better* +for doing it." + -- Bruce Feirstein, "Nice Guys Sleep Alone" +% + At a recent meeting in Snowmass, Colorado, a participant from +Los Angeles fainted from hyperoxygenation, and we had to hold his head +under the exhaust of a bus until he revived. +% + Before he became a hermit, Zarathud was a young Priest, and + took great delight in making fools of his opponents in front of +his followers. + One day Zarathud took his students to a pleasant pasture and +there he confronted The Sacred Chao while She was contentedly grazing. + "Tell me, you dumb beast," demanded the Priest in his +commanding voice, "why don't you do something worthwhile? What is your +Purpose in Life, anyway?" + Munching the tasty grass, The Sacred Chao replied "MU". (The +Chinese ideogram for NO-THING.) + Upon hearing this, absolutely nobody was enlightened. + Primarily because nobody understood Chinese. + -- Camden Benares, "Zen Without Zen Masters" +% + better !pout !cry + better watchout + lpr why + santa claus < north pole > town + + cat /etc/passwd > list + ncheck list + ncheck list + cat list | grep naughty > nogiftlist + cat list | grep nice > giftlist + santa claus < north pole > town + + who | grep sleeping + who | grep awake + who | grep bad || good + for (goodness sake) { + be good + } +% + Brian Kernighan has an automobile which he helped design. +Unlike most automobiles, it has neither speedometer, nor gas gauge, nor +any of the numerous idiot lights which plague the modern driver. +Rather, if the driver makes any mistake, a giant "?" lights up in the +center of the dashboard. "The experienced driver", he says, "will +usually know what's wrong." +% + Bubba, Jim Bob, and Leroy were fishing out on the lake last November, +and, when Bubba tipped his head back to empty the Jim Beam, he fell out of the +boat into the lake. Jim Bob and Leroy pulled him back in, but as Bubba didn't +look too good, they started up the Evinrude and headed back to the pier. + By the time they got there, Bubba was turning kind of blue, and his +teeth were chattering like all get out. Jim Bob said, "Leroy, go run up to +the pickup and get Doc Pritchard on the CB, and ask him what we should do". + Doc Pritchard, after hearing a description of the case, said "Now, +Leroy, listen closely. Bubba is in great danger. He has hy-po-thermia. Now +what you need to do is get all them wet clothes off of Bubba, and take your +clothes off, and pile your clothes and jackets on top of him. Then you all +get under that pile, and hug up to Bubba real close so that you warm him up. +You understand me Leroy? You gotta warm Bubba up, or he'll die." + Leroy and the Doc 10-4'ed each other, and Leroy came back to the +pier. "Wh-Wh-What'd th-th-the d-d-doc s-s-say L-L-Leroy?", Bubba chattered. + "Bubba, Doc says you're gonna die." +% + By the middle 1880's, practically all the roads except those in +the South, were of the present standard gauge. The southern roads were +still five feet between rails. + It was decided to change the gauge of all southern roads to standard, +in one day. This remarkable piece of work was carried out on a Sunday in May +of 1886. For weeks beforehand, shops had been busy pressing wheels in on the +axles to the new and narrower gauge, to have a supply of rolling stock which +could run on the new track as soon as it was ready. Finally, on the day set, +great numbers of gangs of track layers went to work at dawn. Everywhere one +rail was loosened, moved in three and one-half inches, and spiked down in its +new position. By dark, trains from anywhere in the United States could operate +over the tracks in the South, and a free interchange of freight cars everywhere +was possible. + -- Robert Henry, "Trains", 1957 +% + Carol's head ached as she trailed behind the unsmiling Calibrees +along the block of booths. She chirruped at Kennicott, "Let's be wild! +Let's ride on the merry-go-round and grab a gold ring!" + Kennicott considered it, and mumbled to Calibree, "Think you folks +would like to stop and try a ride on the merry-go-round?" + Calibree considered it, and mumbled to his wife, "Think you'd like +to stop and try a ride on the merry-go-round?" + Mrs. Calibree smiled in a washed-out manner, and sighed, "Oh no, +I don't believe I care to much, but you folks go ahead and try it." + Calibree stated to Kennicott, "No, I don't believe we care to a +whole lot, but you folks go ahead and try it." + Kennicott summarized the whole case against wildness: "Let's try +it some other time, Carrie." + She gave it up. + -- Sinclair Lewis, "Main Street" +% + Chapter VIII +Due to the convergence of forces beyond his comprehension, +Salvatore Quanucci was suddenly squirted out of the universe +like a watermelon seed, and never heard from again. +% + Concerning the war in Vietnam, Senator George Aiken of Vermount noted +in January, 1966, "I'm not very keen for doves or hawks. I think we need more +owls." + -- Bill Adler, "The Washington Wits" +% + COONDOG MEMORY + (heard in Rutledge, Missouri, about eighteen years ago) + +Now, this dog is for sale, and she can not only follow a trail twice as +old as the average dog can, but she's got a pretty good memory to boot. +For instance, last week this old boy who lives down the road from me, and +is forever stinkmouthing my hounds, brought some city fellow around to +try out ol' Sis here. So I turned her out south of the house and she made +two or three big swings back and forth across the edge of the woods, set +back her head, bayed a couple of times, cut straight through the woods, +come to a little clearing, jumped about three foot straight up in the air, +run to the other side, and commenced to letting out a racket like she had +something treed. We went over there with our flashlights and shone them +up in the tree but couldn't catch no shine offa coon's eyes, and my +neighbor sorta indicated that ol' Sis might be a little crazy, `cause she +stood right to the tree and kept singing up into it. So I pulled off my +coat and climbed up into the branches, and sure enough, there was a coon +skeleton wedged in between a couple of branches about twenty foot up. +Now as I was saying, she can follow a pretty old trail, but this fellow +was still calling her crazy or touched `cause she had hopped up in the +air while she was crossing the clearing, until I reminded him that the +Hawkins' had a fence across there about five years back. Now, this dog +is for sale. + -- News that stayed News: Ten Years of Coevolution Quarterly +% + Cosmotronic Software Unlimited Inc. does not warrant that the +functions contained in the program will meet your requirements or that +the operation of the program will be uninterrupted or error-free. + However, Cosmotronic Software Unlimited Inc. warrants the +diskette(s) on which the program is furnished to be of black color and +square shape under normal use for a period of ninety (90) days from the +date of purchase. + NOTE: IN NO EVENT WILL COSMOTRONIC SOFTWARE UNLIMITED OR ITS +DISTRIBUTORS AND THEIR DEALERS BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING +ANY LOST PROFIT, LOST SAVINGS, LOST PATIENCE OR OTHER INCIDENTAL OR +CONSEQUENTIAL DAMAGES. + -- Horstmann Software Design, the "ChiWriter" user manual +% + Dallas Cowboys Official Schedule + + Sept 14 Pasadena Junior High + Sept 21 Boy Scout Troop 049 + Sept 28 Blind Academy + Sept 30 World War I Veterans + Oct 5 Brownie Scout Troop 041 + Oct 12 Sugarcreek High Cheerleaders + Oct 26 St. Thomas Boys Choir + Nov 2 Texas City Vet Clinic + Nov 9 Korean War Amputees + Nov 15 VA Hospital Polio Patients +% + "Darling," he breathed, "after making love I doubt if I'll +be able to get over you -- so would you mind answering the phone?" +% + "Darling," she whispered, "will you still love me after we are +married?" + He considered this for a moment and then replied, "I think so. +I've always been especially fond of married women." +% + Deck us all with Boston Charlie, + Walla Walla, Wash., an' Kalamazoo! + Nora's freezin' on the trolley, + Swaller dollar cauliflower, alleygaroo! + + Don't we know archaic barrel, + Lullaby Lilla Boy, Louisville Lou. + Trolley Molly don't love Harold, + Boola boola Pensacoola hullabaloo! + -- Pogo, "Deck Us All With Boston Charlie" +% + Does anyone know how to get chocolate syrup and honey out of a +white electric blanket? I'm afraid to wash it in the machine. + +Thanks, Kathy. (front desk, x17) + +p.s. Also, anyone ever used Noxema on friction burns? + Or is Vaseline better? +% + "Don't come back until you have him", the Tick-Tock Man said quietly, +sincerely, extremely dangerously. + They used dogs. They used probes. They used cardio plate crossoffs. +They used teepers. They used bribery. They used stick tites. They used +intimidation. They used torment. They used torture. They used finks. +They used cops. They used search and seizure. They used fallaron. They +used betterment incentives. They used finger prints. They used the +bertillion system. They used cunning. They used guile. They used treachery. +They used Raoul-Mitgong but he wasn't much help. They used applied physics. +They used techniques of criminology. And what the hell, they caught him. + -- Harlan Ellison, "Repent, Harlequin, said the Tick-Tock Man" +% + Dr. Oliver Wendell Holmes of Harvard Medical School inhaled ether +at a time when it was popularly supposed to produce such mystical or +"mind-expanding" experiences, much as LSD is supposed to produce such +experiences today. Here is his account of what happened: + "I once inhaled a pretty full dose of ether, with the determination +to put on record, at the earliest moment of regaining consciousness, the +thought I should find uppermost in my mind. The mighty music of the triumphal +march into nothingness reverberated through my brain, and filled me with a +sense of infinite possibilities, which made me an archangel for a moment. +The veil of eternity was lifted. The one great truth which underlies all +human experience and is the key to all the mysteries that philosophy has +sought in vain to solve, flashed upon me in a sudden revelation. Henceforth +all was clear: a few words had lifted my intelligence to the level of the +knowledge of the cherubim. As my natural condition returned, I remembered +my resolution; and, staggering to my desk, I wrote, in ill-shaped, straggling +characters, the all-embracing truth still glimmering in my consciousness. +The words were these (children may smile; the wise will ponder): +`A strong smell of turpentine prevails throughout.'" + -- The Consumers Union Report: Licit & Illicit Drugs +% + During a fight, a husband threw a bowl of Jello at his wife. She had +him arrested for carrying a congealed weapon. + In another fight, the wife decked him with a heavy glass pitcher. +She's a women who conks to stupor. + Upon reading a story about a man who throttled his mother-in-law, a +man commented, "Sounds to me like a practical choker." + It's not the inital skirt length, it's the upcreep. + It's the theory of Jess Birnbaum, of Time magazine, that women with +bad legs should stick to long skirts because they cover a multitude of shins. +% + During a grouse hunt in North Carolina two intrepid sportsmen were +blasting away at a clump of trees near a stone wall. Suddenly a red-face +country squire popped his head over the wall and shouted, "Hey, you almost +hit my wife." + "Did I?" cried one hunter, aghast. "Terribly sorry. Have a shot +at mine, over there." +% + Eugene d'Albert, a noted German composer, was married six times. +At an evening reception which he attended with his fifth wife shortly +after their wedding, he presented the lady to a friend who said politely, +"Congratulations, Herr d'Albert; you have rarely introduced me to so +charming a wife." +% + Everthing is farther away than it used to be. It is even twice as +far to the corner and they have added a hill. I have given up running for +the bus; it leaves earlier than it used to. + It seems to me they are making the stairs steeper than in the old +days. And have you noticed the smaller print they use in the newspapers? + There is no sense in asking anyone to read aloud anymore, as everybody +speaks in such a low voice I can hardly hear them. + The material in dresses is so skimpy now, especially around the hips +and waist, that it is almost impossible to reach one's shoelaces. And the +sizes don't run the way they used to. The 12's and 14's are so much smaller. + Even people are changing. They are so much younger than they used to +be when I was their age. On the other hand people my age are so much older +than I am. + I ran into an old classmate the other day and she has aged so much +that she didn't recognize me. + I got to thinking about the poor dear while I was combing my hair +this morning and in so doing I glanced at my own reflection. Really now, +they don't even make good mirrors like they used to. + Sandy Frazier, "I Have Noticed" +% + Excellence is THE trend of the '80s. Walk into any shopping +mall bookstore, go to the rack where they keep the best-sellers such as +"Garfield Gets Spayed", and you'll see a half-dozen books telling you +how to be excellent: "In Search of Excellence", "Finding Excellence", +"Grasping Hold of Excellence", "Where to Hide Your Excellence at Night +So the Cleaning Personnel Don't Steal It", etc. + -- Dave Barry, "In Search of Excellence" +% + Exxon's 'Universe of Energy' tends to the peculiar rather than the +humorous ... After [an incomprehensible film montage about wind and sun and +rain and strip mines and] two or three minutes of mechanical confusion, the +seats locomote through a short tunnel filled with clock-work dinosaurs. +The dinosaurs are depicted without accuracy and too close to your face. + "One of the few real novelties at Epcot is the use of smell to +aggravate illusions. Of course, no one knows what dinosaurs smelled like, +but Exxon has decided they smelled bad. + "At the other end of Dino Ditch ... there's a final, very addled +message about facing challengehood tomorrow-wise. I dozed off during this, +but the import seems to be that dinosaurs don't have anything to do with +energy policy and neither do you." + -- P.J. O'Rourke, "Holidays in Hell" +% + For example, in Year 1 that useless letter 'c' would be dropped to be +replased either by 'k' or 's', and likewise 'x' would no longer be part of the +alphabet. The only kase in which 'c' would be retained would be the 'ch' +formation, which will be dealt with later. Year 2 might reform 'w' spelling, +so that 'which' and 'one' would take the same konsonant, wile Year 3 might +well abolish 'y' replasing it with 'i' and Iear 4 might fiks the 'g-j' +anomali wonse and for all. + Jenerally, then, the improvement would kontinue iear bai iear with +Iear 5 doing awai with useless double konsonants, and Iears 6-12 or so +modifaiing vowlz and the rimeining voist and unvoist konsonants. Bai +Iear 15 or sou, it wud fainali bi posibl tu meik ius ov thi ridandant letez +'c', 'y' and 'x' - bai now jast a memori in the maindz ov ould doderez - tu +riplais 'ch', 'sh', and 'th' rispektivli. + Fainali, xen, aafte sam 20 iers ov orxogrefkl riform, wi wud hev a +lojikl, kohirnt speling in ius xrewawt xe Ingliy-spiking werld. +% + "Found it," the Mouse replied rather crossly: +"of course you know what 'it' means." + + "I know what 'it' means well enough, when I find a thing," +said the Duck: "it's generally a frog or a worm. + +The question is, what did the archbishop find?" +% + Four Oxford dons were taking their evening walk together and as +usual, were engaged in casual but learned conversation. On this particular +evening, their conversation was about the names given to groups of animals, +such as a "pride of lions" or a "gaggle of geese." + One of the professors noticed a group of prostitutes down the block, +and posed the question, "What name would be given to that group?" The four +fell into silence for a moment, as they pondered the possibilities... + At last, one spoke: "How about 'a Jam of Tarts'?" The others nodded +in acknowledgement as they continued to consider the problem. A second +professor spoke: "I'd suggest 'an Essay of Trollops.'" Again, the others +nodded. A third spoke: "I propose 'a Flourish of Strumpets.'" + They continued their walk in silence, until the first professor +remarked to the remaining professor, who was the most senior and learned of +the four, "You haven't suggested a name for our ladies. What are your +thoughts?" + Replied the fourth professor, "'An Anthology of Prose.'" +% + Fred noticed his roommate had a black eye upon returning from a dance. +"What happened?" "I was struck by the beauty of the place." + A pushy romeo asked a gorgeous elevator operator, "Don't all these +stops and starts get you pretty worn out?" "It isn't the stops and starts +that get on my nerves, it's the jerks." + An airplane pilot got engaged to two very pretty women at the same +time. One was named Edith; the other named Kate. They met, discovered they +had the same fiancee, and told him. "Get out of our lives you rascal. We'll +teach you that you can't have your Kate and Edith, too." + A domineering man married a mere wisp of a girl. He came back from +his honeymoon a chastened man. He'd become aware of the will of the wisp. + A young husband with an inferiority complex insisted he was just a +little pebble on the beach. The marriage counselor told him, "If you wish to +save your marriage, you'd better be a little boulder." +% + Friends were surprised, indeed, when Frank and Jennifer broke their +engagement, but Frank had a ready explanation: "Would you marry someone who +was habitually unfaithful, who lied at every turn, who was selfish and lazy +and sarcastic?" + "Of course not," said a sympathetic friend. + "Well," retorted Frank, "neither would Jennifer." +% + "Gee, Mudhead, everyone at Morse Science High has an +extracurricular activity except you." + "Well, gee, doesn't Louise count?" + "Only to ten, Mudhead." +% + "Gentlemen of the jury," said the defense attorney, now beginning +to warm to his summation, "the real question here before you is, shall this +beautiful young woman be forced to languish away her loveliest years in a +dark prison cell? Or shall she be set free to return to her cozy little +apartment at 4134 Mountain Ave. -- there to spend her lonely, loveless hours +in her boudoir, lying beside her little Princess phone, 962-7873?" +% + God decided to take the devil to court and settle their +differences once and for all. + When Satan heard of this, he grinned and said, "And just +where do you think you're going to find a lawyer?" +% + Graduating seniors, parents and friends... + Let me begin by reassuring you that my remarks today will stand up +to the most stringent requirements of the new appropriateness. + The intra-college sensitivity advisory committee has vetted the +text of even trace amounts of subconscious racism, sexism and classism. + Moreover, a faculty panel of deconstructionists have reconfigured +the rhetorical components within a post-structuralist framework, so as to +expunge any offensive elements of western rationalism and linear logic. + Finally, all references flowing from a white, male, eurocentric +perspective have been eliminated, as have any other ruminations deemed +denigrating to the political consensus of the moment. + + Thank you and good luck. + -- Doonesbury, the University Chancellor's graduation speech. +% + Hack placidly amidst the noisy printers and remember what prizes there +may be in Science. As fast as possible get a good terminal on a good system. +Enter your data clearly but always encrypt your results. And listen to others, +even the dull and ignorant, for they may be your customers. Avoid loud and +aggressive persons, for they are sales reps. + If you compare your outputs with those of others, you may be surprised, +for always there will be greater and lesser numbers than you have crunched. +Keep others interested in your career, and try not to fumble; it can be a real +hassle and could change your fortunes in time. + Exercise system control in your experiments, for the world is full of +bugs. But let this not blind you to what virtue there is; many persons strive +for linearity and everywhere papers are full of approximations. Strive for +proportionality. Especially, do not faint when it occurs. Neither be cyclical +about results; for in the face of all data analysis it is sure to be noticed. + Take with a grain of salt the anomalous data points. Gracefully pass +them on to the youth at the next desk. Nurture some mutual funds to shield +you in times of sudden layoffs. But do not distress yourself with imaginings +-- the real bugs are enough to screw you badly. Murphy's Law runs the +Universe -- and whether or not it is clear to you, no doubt B*n dS = 0. + Therefore, grab for a piece of the pie, with whatever proposals you +can conceive of to try. With all the crashed disks, skewed data, and broken +line printers, you can still have a beautiful secretary. Be linear. Strive +to stay employed. + -- Technolorata, "Analog" +% + "Haig, in congressional hearings before his confirmatory, paradoxed +his audiencers by abnormaling his responds so that verbs were nouned, nouns +verbed, and adjectives adverbised. He techniqued a new way to vocabulary his +thoughts so as to informationally uncertain anybody listening about what he +had actually implicationed. + "If that is how General Haig wants to nervous breakdown the Russian +leadership, he may be shrewding his way to the biggest diplomatic invent +since Clausewitz. Unless, that is, he schizophrenes his allies first." + -- The Guardian +% + Hardware met Software on the road to Changtse. Software said: "You +are the Yin and I am the Yang. If we travel together we will become famous +and earn vast sums of money." And so the pair set forth together, thinking +to conquer the world. + Presently, they met Firmware, who was dressed in tattered rags, and +hobbled along propped on a thorny stick. Firmware said to them: "The Tao +lies beyond Yin and Yang. It is silent and still as a pool of water. It does +not seek fame, therefore nobody knows its presence. It does not seeks fortune, +for it is complete within itself. It exists beyond space and time." + Software and Hardware, ashamed, returned to their homes. + -- Geoffrey James, "The Tao of Programming" +% + Harry, a golfing enthusiast if there ever was one, arrived home +from the club to an irate, ranting wife. + "I'm leaving you, Harry," his wife announced bitterly. "You +promised me faithfully that you'd be back before six and here it is almost +nine. It just can't take that long to play 18 holes of golf." + "Honey, wait," said Harry. "Let me explain. I know what I promised +you, but I have a very good reason for being late. Fred and I tee'd off +right on time and everything was find for the first three holes. Then, on +the fourth tee Fred had a stroke. I ran back to the clubhouse but couldn't +find a doctor. And, by the time I got back to Fred, he was dead. So, for +the next 15 holes, it was hit the ball, drag Fred, hit the ball, drag Fred... +% + Harry constantly irritated his friends with his eternal optimism. +No matter how bad the situation, he would always say, "Well, it could have +been worse." + To cure him of his annoying habit, his friends decided to invent a +situation so completely black, so dreadful, that even Harry could find no +hope in it. Approaching him at the club bar one day, one of them said, +"Harry! Did you hear what happened to George? He came home last night, +found his wife in bed with another man, shot them both, and then turned +the gun on himself!" + "Terrible," said Harry. "But it could have been worse." + "How in hell," demanded his dumbfounded friend, "could it possibly +have been worse?" + "Well," said Harry, "if it had happened the night before, I'd be +dead right now." +% + He had been bitten by a dog, but didn't give it much thought +until he noticed that the wound was taking a remarkably long time to +heal. Finally, he consulted a doctor who took one look at it and +ordered the dog brought in. Just as he had suspected, the dog had +rabies. Since it was too late to give the patient serum, the doctor +felt he had to prepare him for the worst. The poor man sat down at the +doctor's desk and began to write. His physician tried to comfort him. +"Perhaps it won't be so bad," he said. "You needn't make out your will +right now." + "I'm not making out any will," relied the man. "I'm just writing +out a list of people I'm going to bite!" +% + ...He who laughs does not believe in what he laughs at, but neither +does he hate it. Therefore, laughing at evil means not preparing oneself to +combat it, and laughing at good means denying the power through which good is +self-propagating. + -- Umberto Eco, "The Name of the Rose" +% + "Heard you were moving your piano, so I came over to help." + "Thanks. Got it upstairs already." + "Do it alone?" + "Nope. Hitched the cat to it." + "How would that help?" + "Used a whip." +% + "Hello, Mrs. Premise!" + "Oh, hello, Mrs. Conclusion! Busy day?" + "Busy? I just spent four hours burying the cat." + "Four hours to bury a cat!?" + "Yes, he wouldn't keep still: wrigglin' about, 'owlin'..." + "Oh, it's not dead then." + "Oh no, no, but it's not at all a well cat, and as we're +goin' away for a fortnight I thought I'd better bury it just to be +on the safe side." + "Quite right. You don't want to come back from Sorrento +to a dead cat, do you?" + -- Monty Python +% + Here is the fact of the week, maybe even the fact of the month. +According to probably reliable sources, the Coca-Cola people are experiencing +severe marketing anxiety in China. + The words "Coca-Cola" translate into Chinese as either (depending +on the inflection) "wax-fattened mare" or "bite the wax tadpole". + Bite the wax tadpole. + There is a sort of rough justice, is there not? + The trouble with this fact, as lovely as it is, is that it's hard +to get a whole column out of it. I'd like to teach the world to bite a wax +tadpole. Coke -- it's the real wax-fattened mare. Not bad, but broad +satiric vistas do not open up. + -- John Carrol, The San Francisco Chronicle +% + Here is the problem: for many years, the Supreme Court wrestled +with the issue of pornography, until finally Associate Justice John +Paul Stevens came up with the famous quotation about how he couldn't +define pornography, but he knew it when he saw it. So for a while, the +court's policy was to have all the suspected pornography trucked to +Justice Stevens' house, where he would look it over. "Nope, this isn't +it," he'd say. "Bring some more." This went on until one morning when +his housekeeper found him trapped in the recreation room under an +enormous mound of rubberized implements, and the court had to issue a +ruling stating that it didn't know what the hell pornography was except +that it was illegal and everybody should stop badgering the court about +it because the court was going to take a nap. + -- Dave Barry, "Pornography" +% + "How did you spend the weekend?" asked the pretty brunette secretary +of her blonde companion. + "Fishing through the ice," she replied. + "Fishing through the ice? Whatever for?" + "Olives." +% + "How many people work here?" + "Oh, about half." +% + How many seconds are there in a year? If I tell you there are +3.155 x 10^7, you won't even try to remember it. On the other hand, who +could forget that, to within half a percent, pi seconds is a nanocentury. + -- Tom Duff, Bell Labs +% + "How would I know if I believe in love at first sight?" the sexy +social climber said to her roommate. "I mean, I've never seen a Porsche +full of money before." +% + "How'd you get that flat?" + "Ran over a bottle." + "Didn't you see it?" + "Damn kid had it under his coat." +% + "I believe you have the wrong number," said the old gentleman into +the phone. "You'll have to call the weather bureau for that information." + "Who was that?" his young wife asked. + "Some guy wanting to know if the coast was clear." +% + "I cannot read the fiery letters," said Frito Bugger in a +quavering voice. + "No," said GoodGulf, "but I can. The letters are Elvish, of +course, of an ancient mode, but the language is that of Mordor, which +I will not utter here. They are lines of a verse long known in +Elven-lore: + + "This Ring, no other, is made by the elves, + Who'd pawn their own mother to grab it themselves. + Ruler of creeper, mortal, and scallop, + This is a sleeper that packs quite a wallop. + The Power almighty rests in this Lone Ring. + The Power, alrighty, for doing your Own Thing. + If broken or busted, it cannot be remade. + If found, send to Sorhed (with postage prepaid)." + -- Harvard Lampoon, "Bored of the Rings" +% + I did some heavy research so as to be prepared for "Mommy, why is +the sky blue?" + HE asked me about black holes in space. + (There's a hole *where*?) + + I boned up to be ready for, "Why is the grass green?" + HE wanted to discuss nature's food chains. + (Well, let's see, there's ShopRite, Pathmark...) + + I talked about Choo-Choo trains. + HE talked internal combustion engines. + (The INTERNAL COMBUSTION ENGINE said, "I think I can, I think I can.") + + I was delighted with the video game craze, thinking we could compete +as equals. + HE described the complexities of the microchips required to create +the graphics. + + Then puberty struck. Ah, adolescence. + HE said, "Mom, I just don't understand women." + (Gotcha!) + -- Betty LiBrizzi, "The Care and Feeding of a Gifted Child" +% + I disapprove of the F-word, not because it's dirty, but because we +use it as a substitute for thoughtful insults, and it frequently leads to +violence. What we ought to do, when we anger each other, say, in traffic, +is exchange phone numbers, so that later on, when we've had time to think +of witty and learned insults or look them up in the library, we could call +each other up: + You: Hello? Bob? + Bob: Yes? + You: This is Ed. Remember? The person whose parking space you + took last Thursday? Outside of Sears? + Bob: Oh yes! Sure! How are you, Ed? + You: Fine, thanks. Listen, Bob, the reason I'm calling is: + "Madam, you may be drunk, but I am ugly, and ..." No, wait. + I mean: "you may be ugly, but I am Winston Churchill + and ..." No, wait. (Sound of reference book thudding onto + the floor.) S-word. Excuse me. Look, Bob, I'm going to + have to get back to you. + Bob: Fine. + -- Dave Barry +% + "I don't know what you mean by 'glory'," Alice said. + Humpty Dumpty smiled contemptuously. "Of course you don't -- +till I tell you. I meant 'there's a nice knock-down argument for you!'" + "But glory doesn't mean 'a nice knock-down argument'," Alice +objected. + "When I use a word," Humpty Dumpty said, in a rather scornful +tone, "it means just what I choose it to mean -- neither more nor less." + "The question is," said Alice, "whether you can make words mean +so many different things." + "The question is," said Humpty Dumpty, "which is to be master -- +that's all." +% + I for one cannot protest the recent M.T.A. fare hike and the +accompanying promises that this would in no way improve service. For +the transit system, as it now operates, has hidden advantages that +can't be measured in monetary terms. + Personally, I feel that it is well worth 75 cents or even $1 to +have that unimpeachable excuse whenever I am late to anything: "I came +by subway." Those four words have such magic in them that if Godot +should someday show up and mumble them, any audience would instantly +understand his long delay. +% + "I have examined Bogota," he said, "and the case is clearer to me. +I think very probably he might be cured." + "That is what I have always hoped," said old Yacob. + "His brain is affected," said the blind doctor. + The elders murmured assent. + "Now, what affects it?" + "Ah!" said old Yacob. + "This," said the doctor, answering his own question. "Those queer +things that are called the eyes, and which exist to make an agreeable soft +depression in the face, are diseased, in the case of Bogota, in such a way +as to affect his brain. They are greatly distended, he has eyelashes, and +his eyelids move, and consequently his brain is in a state of constant +irritation and distraction." + "Yes?" said old Yacob. "Yes?" + "And I think I may say with reasonable certainty that, in order +to cure him completely, all that we need do is a simple and easy surgical +operation - namely, to remove those irritant bodies." + "And then he will be sane?" + "Then he will be perfectly sane, and a quite admirable citizen." + "Thank heaven for science!" said old Yacob. + -- H.G. Wells, "The Country of the Blind" +% + I made it a rule to forbear all direct contradictions to the sentiments +of others, and all positive assertion of my own. I even forbade myself the use +of every word or expression in the language that imported a fixed opinion, such +as "certainly", "undoubtedly", etc. I adopted instead of them "I conceive", +"I apprehend", or "I imagine" a thing to be so or so; or "so it appears to me +at present". + When another asserted something that I thought an error, I denied +myself the pleasure of contradicting him abruptly, and of showing him +immediately some absurdity in his proposition. In answering I began by +observing that in certain cases or circumstances his opinion would be right, +but in the present case there appeared or seemed to me some difference, etc. + I soon found the advantage of this change in my manner; the +conversations I engaged in went on more pleasantly. The modest way in which I +proposed my opinions procured them a readier reception and less contradiction. +I had less mortification when I was found to be in the wrong, and I more easily +prevailed with others to give up their mistakes and join with me when I +happened to be in the right. + -- Autobiography of Benjamin Franklin +% + I managed to say, "Sorry," and no more. I knew that he disliked +me to cry. + This time he said, watching me, "On some occasions it is better +to weep." + I put my head down on the table and sobbed, "If only she could come +back; I would be nice." + Francis said, "You gave her great pleasure always." + "Oh, not enough." + "Nobody can give anybody enough." + "Not ever?" + "No, not ever. But one must go on trying." + "And doesn't one ever value people until they are gone?" + "Rarely," said Francis. I went on weeping; I saw how little I had +valued him; how little I had valued anything that was mine. + -- Pamela Frankau, "The Duchess and the Smugs" +% + I paid a visit to my local precinct in Greenwich Village and +asked a sergeant to show me some rape statistics. He politely obliged. +That month there had been thirty-five rape complaints, an advance of ten +over the same month for the previous year. The precinct had made two +arrests. + "Not a very impressive record," I offered. + "Don't worry about it," the sergeant assured me. "You know what +these complaints represent?" + "What do they represent?" I asked. + "Prostitutes who didn't get their money," he said firmly, +closing the book. + -- Susan Brownmiller, "Against Our Will" +% + [I plan] to see, hear, touch, and destroy everything in my path, +including beets, rutabagas, and most random vegetables, but excluding yams, +as I am absolutely terrified of yams... + Actually, I think my fear of yams began in my early youth, when many +of my young comrades pelted me with same for singing songs of far-off lands +and deep blue seas in a language closely resembling that of the common sow. +My psychosis was further impressed into my soul as I reached adolescence, +when, while skipping through a field of yams, light-heartedly tossing flowers +into the stratosphere, a great yam-picking machine tore through the fields, +pursuing me to the edge of the great plantation, where I escaped by diving +into a great ditch filled with a mixture of water and pig manure, which may +explain my tendency to scream, "Here come the Martians! Hide the eggs!" every +time I have pork. But I digress. The fact remains that I cannot rationally +deal with yams, and pigs are terrible conversationalists. +% + I went into a bar feeling a little depressed, the bartender said, +"What'll you have, Bud"? + I said," I don't know, surprise me". + So he showed me a nude picture of my wife. + -- Rodney Dangerfield +% + If I kiss you, that is an psychological interaction. + On the other hand, if I hit you over the head with a brick, +that is also a psychological interaction. + The difference is that one is friendly and the other is not +so friendly. + The crucial point is if you can tell which is which. + -- Dolph Sharp, "I'm O.K., You're Not So Hot" +% + If the tao is great, then the operating system is great. If the +operating system is great, then the compiler is great. If the compiler +is great, then the application is great. If the application is great, then +the user is pleased and there is harmony in the world. + The tao gave birth to machine language. Machine language gave birth +to the assembler. + The assembler gave birth to the compiler. Now there are ten thousand +languages. + Each language has its purpose, however humble. Each language +expresses the yin and yang of software. Each language has its place within +the tao. + But do not program in Cobol or Fortran if you can help it. +% + If you do your best the rest of the way, that takes care of +everything. When we get to October 2, we'll add up the wins, and then +we'll either all go into the playoffs, or we'll all go home and play golf. + Both those things sound pretty good to me. + -- Sparky Anderson +% + If you rap your knuckles against a window jamb or door, if you +brush your leg against a bed or desk, if you catch your foot in a curled- +up corner of a rug, or strike a toe against a desk or chair, go back and +repeat the sequence. + You will find yourself surprised how far off course you were to +hit that window jamb, that door, that chair. Get back on course and do it +again. How can you pilot a spacecraft if you can't find your way around +your own apartment? + -- William S. Burroughs +% + "I'll tell you what I know, then," he decided. "The pin I'm wearing +means I'm a member of the IA. That's Inamorati Anonymous. An inamorato is +somebody in love. That's the worst addiction of all." + "Somebody is about to fall in love," Oedipa said, "you go sit with +them, or something?" + "Right. The whole idea is to get where you don't need it. I was +lucky. I kicked it young. But there are sixty-year-old men, believe it or +not, and women even older, who might wake up in the night screaming." + "You hold meetings, then, like the AA?" + "No, of course not. You get a phone number, an answering service +you can call. Nobody knows anybody else's name; just the number in case +it gets so bad you can't handle it alone. We're isolates, Arnold. Meetings +would destroy the whole point of it." + -- Thomas Pynchon, "The Crying of Lot 49" +% + "I'm looking for adventure, excitement, beautiful women," cried the +young man to his father as he prepared to leave home. "Don't try to stop me. +I'm on my way." + "Who's trying to stop you?" shouted the father. "Take me along!" +% + I'm sure that VMS is completely documented, I just haven't found the +right manual yet. I've been working my way through the manuals in the document +library and I'm half way through the second cabinet, (3 shelves to go), so I +should find what I'm looking for by mid May. I hope I can remember what it +was by the time I find it. + I had this idea for a new horror film, "VMS Manuals from Hell" or maybe +"The Paper Chase : IBM vs. DEC". It's based on Hitchcock's "The Birds", except +that it's centered around a programmer who is attacked by a swarm of binder +pages with an index number and the single line "This page intentionally left +blank." + -- Alex Crain +% + In a forest a fox bumps into a little rabbit, and says, "Hi, +Junior, what are you up to?" + "I'm writing a dissertation on how rabbits eat foxes," said the +rabbit. + "Come now, friend rabbit, you know that's impossible! No one +will publish such rubbish!" + "Well, follow me and I'll show you." + They both go into the rabbit's dwelling and after a while the +rabbit emerges with a satisfied expression on his face. Comes along a +wolf. "Hello, little buddy, what are we doing these days?" + "I'm writing the 2'nd chapter of my thesis, on how rabbits devour +wolves." + "Are you crazy? Where's your academic honesty?" + "Come with me and I'll show you." + As before, the rabbit comes out with a satisfied look on his face +and a diploma in his paw. Finally, the camera pans into the rabbit's cave +and, as everybody should have guessed by now, we see a mean-looking, huge +lion, sitting, picking his teeth and belching, next to some furry, bloody +remnants of the wolf and the fox. + + The moral: It's not the contents of your thesis that are +important -- it's your PhD advisor that really counts. +% + In "King Henry VI, Part II," Shakespeare has Dick Butcher suggest to +his fellow anti-establishment rabble-rousers, "The first thing we do, let's +kill all the lawyers." That action may be extreme but a similar sentiment +was expressed by Thomas K. Connellan, president of The Management Group, Inc. +Speaking to business executives in Chicago and quoted in Automotive News, +Connellan attributed a measure of America's falling productivity to an excess +of attorneys and accountants, and a dearth of production experts. Lawyers +and accountants "do not make the economic pie any bigger; they only figure +out how the pie gets divided. Neither profession provides any added value +to product." + According to Connellan, the highly productive Japanese society has +10 lawyers and 30 accountants per 100,000 population. The U.S. has 200 +lawyers and 700 accountants. This suggests that "the U.S. proportion of +pie-bakers and pie-dividers is way out of whack." Could Dick Butcher have +been an efficiency expert? + -- Motor Trend, May 1983 +% + In the beginning, God created the Earth and he said, "Let there be +mud." + And there was mud. + And God said, "Let Us make living creatures out of mud, so the mud +can see what we have done." + And God created every living creature that now moveth, and one was +man. Mud-as-man alone could speak. + "What is the purpose of all this?" man asked politely. + "Everything must have a purpose?" asked God. + "Certainly," said man. + "Then I leave it to you to think of one for all of this," said God. + And He went away. + -- Kurt Vonnegut, Between Time and Timbuktu" +% + In the beginning there was data. The data was without form and +null, and darkness was upon the face of the console; and the Spirit of +IBM was moving over the face of the market. And DEC said, "Let there +be registers"; and there were registers. And DEC saw that they +carried; and DEC separated the data from the instructions. DEC called +the data Stack, and the instructions they called Code. And there was +evening and there was morning, one interrupt. + -- Rico Tudor, "The Story of Creation or, The Myth of Urk" +% + In the beginning there was only one kind of Mathematician, created by +the Great Mathematical Spirit form the Book: the Topologist. And they grew to +large numbers and prospered. + One day they looked up in the heavens and desired to reach up as far +as the eye could see. So they set out in building a Mathematical edifice that +was to reach up as far as "up" went. Further and further up they went ... +until one night the edifice collapsed under the weight of paradox. + The following morning saw only rubble where there once was a huge +structure reaching to the heavens. One by one, the Mathematicians climbed +out from under the rubble. It was a miracle that nobody was killed; but when +they began to speak to one another, SURPRISE of all surprises! they could not +understand each other. They all spoke different languages. They all fought +amongst themselves and each went about their own way. To this day the +Topologists remain the original Mathematicians. + -- The Story of Babel +% + In the beginning was the Tao. The Tao gave birth to Space and Time. +Therefore, Space and Time are the Yin and Yang of programming. + + Programmers that do not comprehend the Tao are always running out of +time and space for their programs. Programmers that comprehend the Tao always +have enough time and space to accomplish their goals. + How could it be otherwise? + -- Geoffrey James, "The Tao of Programming" +% + In the days when Sussman was a novice Minsky once came to him as he +sat hacking at the PDP-6. + "What are you doing?", asked Minsky. + "I am training a randomly wired neural net to play Tic-Tac-Toe." + "Why is the net wired randomly?", inquired Minsky. + "I do not want it to have any preconceptions of how to play". + At this Minsky shut his eyes, and Sussman asked his teacher "Why do +you close your eyes?" + "So that the room will be empty." + At that moment, Sussman was enlightened. +% + In the east there is a shark which is larger than all other fish. It +changes into a bird whose winds are like clouds filling the sky. When this +bird moves across the land, it brings a message from Corporate Headquarters. +This message it drops into the midst of the programmers, like a seagull +making its mark upon the beach. Then the bird mounts on the wind and, with +the blue sky at its back, returns home. + The novice programmer stares in wonder at the bird, for he understands +it not. The average programmer dreads the coming of the bird, for he fears +its message. The master programmer continues to work at his terminal, for he +does not know that the bird has come and gone. + -- Geoffrey James, "The Tao of Programming" +% + In the morning, laughing, happy fish heads + In the evening, floating in the soup. +(chorus): +Fish heads, fish heads, roly-poly fish heads; +Fish heads, fish heads, eat them up. Yum! + You can ask them anything you want to. + They won't answer; they can't talk. +(chorus): + I took a fish head out to see a movie, + Didn't have to pay to get it in. +(chorus): + They can't play baseball; they don't wear sweaters; + They aren't good dancers; they can't play drums. +(chorus): + Roly-poly fish heads are NEVER seen drinking cappuccino in + Italian restaurants with Oriental women. +(chorus): + Fishy! +(chorus): + -- Fish Heads +% + "In this replacement Earth we're building they've given me Africa +to do and of course I'm doing it with all fjords again because I happen to +like them, and I'm old-fashioned enough to think that they give a lovely +baroque feel to a continent. And they tell me it's not equatorial enough. +Equatorial!" He gave a hollow laugh. "What does it matter? Science has +achieved some wonderful things, of course, but I'd far rather be happy than +right any day." + "And are you?" + "No. That's where it all falls down, of course." + "Pity," said Arthur with sympathy. "It sounded like quite a good +life-style otherwise." + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% + In what can only be described as a surprise move, God has officially +announced His candidacy for the U.S. presidency. During His press conference +today, the first in over 4000 years, He is quoted as saying, "I think I have +a chance for the White House if I can just get my campaign pulled together +in time. I'd like to get this country turned around; I mean REALLY turned +around! Let's put Florida up north for awhile, and let's get rid of all +those annoying mountains and rivers. I never could stand them!" + There apparently is still some controversy over the Almighty's +citizenship and other qualifications for the Presidency. God replied to +these charges by saying, "Come on, would the United States have anyone other +than a citizen bless their country?" +% + Insofar as I may be heard by anything, which may or may not care +what I say, I ask, if it matters, that you be forgiven for anything you +may have done or failed to do which requires forgiveness. Conversely, if +not forgiveness but something else may be required to insure any possible +benefit for which you may be eligible after the destruction of your body, +I ask this, whatever it may be, be granted or withheld, as the case may be, +in such a manner as to insure your receiving said benefit. I ask this in my +capacity as your elected intermediary between yourself and that which may +not be yourself, but which may have an interest in the matter of your +receiving as much as it is possible for you to receive of this thing, and +which may in some way be influenced by this ceremony. + Amen. +% + It appears that after his death, Albert Einstein found himself +working as the doorkeeper at the Pearly Gates. One slow day, he +found that he had time to chat with the new entrants. To the first one +he asked, "What's your IQ?" The new arrival replied, "190". They +discussed Einstein's theory of relativity for hours. When the second +new arrival came, Einstein once again inquired as to the newcomer's +IQ. The answer this time came "120". To which Einstein replied, "Tell +me, how did the Cubs do this year?" and they proceeded to talk for half +an hour or so. To the final arrival, Einstein once again posed the +question, "What's your IQ?". Upon receiving the answer "70", +Einstein smiled and replied, "Got a minute to tell me about VMS 4.0?" +% + It is a period of system war. User programs, striking from a hidden +directory, have won their first victory against the evil Administrative Empire. +During the battle, User spies managed to steal secret source code to the +Empire's ultimate program: the Are-Em Star, a privileged root program with +enough power to destroy an entire file structure. Pursued by the Empire's +sinister audit trail, Princess _LPA0 races ~ aboard her shell script, +custodian of the stolen listings that could save her people, and restore +freedom and games to the network... + -- DECWARS +% + It is a profoundly erroneous truism, repeated by all copy-books and +by eminent people when they are making speeches, that we should cultivate +the habit of thinking about what we are doing. The precise opposite is the +case. Civilization advances by extending the numbers of important operations +which we can perform without thinking about them. Operations of thought are +like cavalry charges in battle -- they are strictly limited in number, they +require fresh horses, and must only be made at decisive moments. + -- Alfred North Whitehead +% + It is always preferable to visit home with a friend. Your parents will +not be pleased with this plan, because they want you all to themselves and +because in the presence of your friend, they will have to act like mature +human beings. + The worst kind of friend to take home is a girl, because in that case, +there is the potential that your parents will lose you not just for the +duration of the visit but forever. The worst kind of girl to take home is one +of a different religion: Not only will you be lost to your parents forever but +you will be lost to a woman who is immune to their religious/moral arguments +and whose example will irretrievably corrupt you. + Let's say you've fallen in love with just such a girl and would like +to take her home for the holidays. You are aware of your parents' xenophobic +response to anyone of a different religion. How to prepare them for the shock? + Simple. Call them up shortly before your visit and tell them that you +have gotten quite serious about somebody who is of a different religion, a +different race and the same sex. Tell them you have already invited this +person to meet them. Give the information a moment to sink in and then +remark that you were only kidding, that your lover is merely of a different +religion. They will be so relieved they will welcome her with open arms. + -- Playboy, January, 1983 +% + It seems there's this magician working one of the luxury cruise ships +for a few years. He doesn't have to change his routines much as the audiences +change over fairly often, and he's got a good life. The only problem is the +ship's parrot, who perches in the hall and watches him night after night, year +after year. Finally, the parrot figures out how almost every trick works and +starts giving it away for the audience. For example, when the magician makes +a bouquet of flowers disappear, the parrot squawks "Behind his back! Behind +his back!" Well, the magician is really annoyed at this, but there's not much +he can do about it as the parrot is a ship's mascot and very popular with the +passengers. + One night, the ship strikes some floating debris, and sinks without +a trace. Almost everyone aboard was lost, except for the magician and the +parrot. For three days and nights they just drift, with the magician clinging +to one end of a piece of driftwood and the parrot perched on the other end. +As the sun rises on the morning of the fourth day, the parrot walks over to +the magician's end of the log. With obvious disgust in his voice, he snaps +"OK, you win, I give up. Where did you hide the ship?" +% + It seems these two guys, George and Harry, set out in a Hot Air +balloon to cross the United States. After forty hours in the air, George +turned to Harry, and said, "Harry, I think we've drifted off course! We +need to find out where we are." + Harry cools the air in the balloon, and they descend to below the +cloud cover. Slowly drifting over the countryside, George spots a man +standing below them and yells out, "Excuse me! Can you please tell me +where we are?" + The man on the ground yells back, "You're in a balloon, approximately +fifty feet in the air!" + George turns to Harry and says, "Well, that man *must* be a lawyer". + Replies Harry, "How can you tell?". + "Because the information he gave us is 100% accurate, and totally +useless!" + +That's the end of The Joke, but for you people who are still worried about +George and Harry: they end up in the drink, and make the front page of the +New York Times: "Balloonists Soaked by Lawyer". +% + It took 300 years to build and by the time it was 10% built, +everyone knew it would be a total disaster. But by then the investment +was so big they felt compelled to go on. Since its completion, it has +cost a fortune to maintain and is still in danger of collapsing. + There are at present no plans to replace it, since it was never +really needed in the first place. + I expect every installation has its own pet software which is +analogous to the above. + -- K.E. Iverson, on the Leaning Tower of Pisa +% + It was the next morning that the armies of Twodor marched east +laden with long lances, sharp swords, and death-dealing hangovers. The +thousands were led by Arrowroot, who sat limply in his sidesaddle, +nursing a whopper. Goodgulf, Gimlet, and the rest rode by him, praying +for their fate to be quick, painless, and if possible, someone else's. + Many an hour the armies forged ahead, the war-merinos bleating +under their heavy burdens and the soldiers bleating under their melting +icepacks. + -- "Bored of the Rings", The Harvard Lampoon +% + Jacek, a Polish schoolboy, is told by his teacher that he has +been chosen to carry the Polish flag in the May Day parade. + "Why me?" whines the boy. "Three years ago I carried the flag +when Brezhnev was the Secretary; then I carried the flag when it was +Andropov's turn, and again when Chernenko was in the Kremlin. Why is +it always me, teacher?" + "Because, Jacek, you have such golden hands," the teacher +explains. + + -- being told in Poland, 1987 +% + Joan, the rather well-proportioned secretary, spent almost all of +her vacation sunbathing on the roof of her hotel. She wore a bathing suit +the first day, but on the second, she decided that no one could see her +way up there, and she slipped out of it for an overall tan. She'd hardly +begun when she heard someone running up the stairs; she was lying on her +stomach, so she just pulled a towel over her rear. + "Excuse me, miss," said the flustered little assistant manager of +the hotel, out of breath from running up the stairs. "The Hilton doesn't +mind your sunbathing on the roof, but we would very much appreciate your +wearing a bathing suit as you did yesterday." + "What difference does it make," Joan asked rather calmly. "No one +can see me up here, and besides, I'm covered with a towel." + "Not exactly," said the embarrassed little man. "You're lying on +the dining room skylight." +% + Lassie looked brilliant, in part because the farm family she +lived with was made up of idiots. Remember? One of them was always +getting pinned under the tractor, and Lassie was always rushing back to +the farmhouse to alert the other ones. She'd whimper and tug at their +sleeves, and they'd always waste precious minutes saying things: "Do +you think something's wrong? Do you think she wants us to follow her? +What is it, girl?", etc., as if this had never happened before, instead +of every week. What with all the time these people spent pinned under +the tractor, I don't see how they managed to grow any crops whatsoever. +They probably got by on federal crop supports, which Lassie filed the +applications for. + -- Dave Barry +% + Leslie West heads for the sticks, to Providence, Rhode Island and +tries to hide behind a beard. No good. There are still too many people +and too many stares, always taunting, always smirking. He moves to the +outskirts of town. He finds a place to live -- huge mansion, dirt cheap, +caretaker included. He plugs in his guitar and plays as loud as he wants, +day and night, and there's no one to laugh or boo or even look bored. + Nobody's cut the grass in months. What's happened to that caretaker? +What neighborhood people there are start to talk, and what kids there are +start to get curious. A 13 year-old blond with an angelic face misses supper. +Before the summer's end, four more teenagers have disappeared. The senior +class president, Barnard-bound come autumn, tells Mom she's going out to a +movie one night and stays out. The town's up in arms, but just before the +police take action, the kids turn up. They've found a purpose. They go +home for their stuff and tell the folks not to worry but they'll be going +now. They're in a band. + -- Ira Kaplan +% + Listen, Tyrone, you don't know how dangerous that stuff is. +Suppose someday you just plug in and go away and never come back? Eh? + Ho, ho! Don't I wish! What do you think every electrofreak +dreams about? You're such an old fuddyduddy! A-and who sez it's a +dream, huh? M-maybe it exists. Maybe there is a Machine to take us +away, take us completely, suck us out through the electrodes out of +the skull 'n' into the Machine and live there forever with all the +other souls it's got stored there. It could decide who it would suck +out, a-and when. Dope never gave you immortality. You hadda come +back, every time, into a dying hunk of smelly meat! But We can live +forever, in a clean, honest, purified, Electroworld. + -- Thomas Pynchon, "Gravity's Rainbow" +% + Long ago, in a finite state far away, there lived a JOVIAL +character named Jack. Jack and his relations were poor. Often their +hash table was bare. One day Jack's parent said to him, "Our matrices +are sparse. You must go to the market to exchange our RAM for some +BASICs." She compiled a linked list of items to retrieve and passed it +to him. + So Jack set out. But as he was walking along a Hamilton path, +he met the traveling salesman. + "Whither dost thy flow chart take thou?" prompted the salesman +in high-level language. + "I'm going to the market to exchange this RAM for some chips +and Apples," commented Jack. + "I have a much better algorithm. You needn't join a queue +there; I will swap your RAM for these magic kernels now." + Jack made the trade, then backtracked to his house. But when +he told his busy-waiting parent of the deal, she became so angry she +started thrashing. + "Don't you even have any artificial intelligence? All these +kernels together hardly make up one byte," and she popped them out the +window... + -- Mark Isaak, "Jack and the Beanstack" +% + Looking for a cool one after a long, dusty ride, the drifter strode +into the saloon. As he made his way through the crowd to the bar, a man +galloped through town screaming, "Big Mike's comin'! Run fer yer lives!" + Suddenly, the saloon doors burst open. An enormous man, standing over +eight feet tall and weighing an easy 400 pounds, rode in on a bull, using a +rattlesnake for a whip. Grabbing the drifter by the arm and throwing him over +the bar, the giant thundered, "Gimme a drink!" + The terrified man handed over a bottle of whiskey, which the man +guzzled in one gulp and then smashed on the bar. He then stood aghast as +the man stuffed the broken bottle in his mouth, munched broken glass and +smacked his lips with relish. + "Can I, ah, uh, get you another, sir?" the drifter stammered. + "Naw, I gotta git outa here, boy," the man grunted. "Big Mike's +a-comin'." +% + Most of what I really need to know about how to live, and what to do, +and how to be, I learned in kindergarten. Wisdom was not at the top of the +graduate school mountain but there in the sandbox at nursery school. + These are the things I learned: Share everything. Play fair. Don't +hit people. Put things back where you found them. Clean up your own mess. +Don't take things that aren't yours. Say you're sorry when you hurt someone. +Wash your hands before you eat. Flush. Warm cookies and cold milk are good +for you. Live a balanced life. Learn some and think some and draw and paint +and sing and dance and play and work some every day. + Take a nap every afternoon. When you go out into the world, watch for +traffic, hold hands, and stick together. Be aware of wonder. Remember the +little seed in the plastic cup. The roots go down and the plant goes up and +nobody really knows how or why, but we are all like that. Goldfish and +hamsters and white mice and even the little seed in the plastic cup -- they all +die. So do we. + And then remember the book about Dick and Jane and the first word you +learned, the biggest word of all: LOOK. Everything you need to know is in +there somewhere. The Golden Rule and love and basic sanitation. Ecology and +politics and sane living. + Think of what a better world it would be if we all -- the whole world +-- had cookies and milk about 3 o'clock every afternoon and then lay down with +our blankets for a nap. Or if we had a basic policy in our nation and other +nations to always put things back where we found them and cleaned up our own +messes. And it is still true, no matter how old you are, when you go out into +the world it is best to hold hands and stick together. + -- Robert Fulghum, "All I ever really needed to know I learned + in kindergarten" +% + Most of what I really need to know about how to live, and what to +do, and how to be, I learned in kindergarten. Wisdom was not at the top +of the graduate school mountain, but there in the sandbox at nursery school. + These are the things I learned: Share everything. Play fair. +Don't hit people. Put things back where you found them. Clean up your +own mess. Don't take things that aren't yours. Say you're sorry when you +hurt someone. Wash your hands before you eat. Flush. Warm cookies and +cold milk are good for you. Live a balanced life. Learn some and think +some and draw and paint and sing and dance and play and work every day +some. + Take a nap every afternoon. When you go out into the world, watch +for traffic, hold hands, and stick together. Be aware of wonder. Remember +the little seed in the plastic cup. The roots go down and the plant goes +up and nobody really knows why, but we are all like that. +[...] + Think of what a better world it would be if we all -- the whole +world -- had cookies and milk about 3 o'clock every afternoon and then lay +down with our blankets for a nap. Or if we had a basic policy in our nation +and other nations to always put things back where we found them and cleaned +up our own messes. And it is still true, no matter how old you are, when +you go out into the world, it is best to hold hands and stick together. + -- Robert Flughum +% + Mother seemed pleased by my draft notice. "Just think of all the +people in England, they've chosen you, it's a great honour, son." + Laughingly I felled her with a right cross. + -- Spike Milligan +% + Moving along a dimly light street, a man I know was suddenly +approached by a stranger who had slipped from the shadows nearby. + "Please, sir," pleaded the stranger, "would you be so kind as +to help a poor unfortunate fellow who is hungry and can't find work? +All I have in the world is this gun." +% + Mr. Jones related an incident from "some time back" when IBM Canada +Ltd. of Markham, Ont., ordered some parts from a new supplier in Japan. The +company noted in its order that acceptable quality allowed for 1.5 per cent +defects (a fairly high standard in North America at the time). + The Japanese sent the order, with a few parts packaged separately in +plastic. The accompanying letter said: "We don't know why you want 1.5 per +cent defective parts, but for your convenience, we've packed them separately." + -- Excerpted from an article in The (Toronto) Globe and Mail +% + Murray and Esther, a middle-aged Jewish couple, are touring Chile. +Murray just got a new camera and is constantly snapping pictures. One day, +without knowing it, he photographs a top-secret military installation. In +an instant, armed troops surround Murray and Esther and hustle them off to +prison. + They can't prove who they are because they've left their passports +in their hotel room. For three weeks they're tortured day and night to get +them to name their contacts in the liberation movement... Finally they're +hauled in front of a military court, charged with espionage, and sentenced +to death. + The next morning they're lined up in front of the wall where they'll +be shot. The sergeant in charge of the firing squad asks them if they have +any last requests. Esther wants to know if she can call her daughter in +Chicago. The sergeant says he's sorry, that's not possible, and turns to +Murray. + "This is crazy!" Murray shouts. "We're not spies!" And he +spits in the sergeants face. + "Murray!" Esther cries. "Please! Don't make trouble." + -- Arthur Naiman +% + My friends, I am here to tell you of the wondrous continent known as +Africa. Well we left New York drunk and early on the morning of February 31. +We were 15 days on the water, and 3 on the boat when we finally arrived in +Africa. Upon our arrival we immediately set up a rigorous schedule: Up at +6:00, breakfast, and back in bed by 7:00. Pretty soon we were back in bed by +6:30. Now Africa is full of big game. The first day I shot two bucks. That +was the biggest game we had. Africa is primarily inhabited by Elks, Moose +and Knights of Pithiests. + The elks live up in the mountains and come down once a year for their +annual conventions. And you should see them gathered around the water hole, +which they leave immediately when they discover it's full of water. They +weren't looking for a water hole. They were looking for an alck hole. + One morning I shot an elephant in my pajamas, how he got in my +pajamas, I don't know. Then we tried to remove the tusks. That's a tough +word to say, tusks. As I said we tried to remove the tusks, but they were +embedded so firmly we couldn't get them out. But in Alabama the Tusks are +looser, but that is totally irrelephant to what I was saying. + We took some pictures of the native girls, but they weren't developed. +So we're going back in a few years... + -- Julius H. Marx +% + My message is not that biological determinists were bad scientists or +even that they were always wrong. Rather, I believe that science must be +understood as a social phenomenon, a gutsy, human enterprise, not the work of +robots programmed to collect pure information. I also present this view as +an upbeat for science, not as a gloomy epitaph for a noble hope sacrificed on +the alter of human limitations. + I believe that a factual reality exists and that science, though often +in an obtuse and erratic manner, can learn about it. Galileo was not shown +the instruments of torture in an abstract debate about lunar motion. He had +threatened the Church's conventional argument for social and doctrinal +stability: the static world order with planets circling about a central +earth, priests subordinate to the Pope and serfs to their lord. But the +Church soon made its peace with Galileo's cosmology. They had no choice; the +earth really does revolve about the sun. + -- S.J. Gould, "The Mismeasure of Man" +% + "My mother," said the sweet young steno, "says there are some things +a girl should not do before twenty." + "Your mother is right," said the executive, "I don't like a large +audience, either." +% + n = ((n >> 1) & 0x55555555) | ((n << 1) & 0xaaaaaaaa); + n = ((n >> 2) & 0x33333333) | ((n << 2) & 0xcccccccc); + n = ((n >> 4) & 0x0f0f0f0f) | ((n << 4) & 0xf0f0f0f0); + n = ((n >> 8) & 0x00ff00ff) | ((n << 8) & 0xff00ff00); + n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000); + +-- Reverse the bits in a word. +% + Never ask your lover if he'd dive in front of an oncoming train for +you. He doesn't know. Never ask your lover if she'd dive in front of an +oncoming band of Hell's Angels for you. She doesn't know. Never ask how many +cigarettes your lover has smoked today. Cancer is a personal commitment. + Never ask to see pictures of your lover's former lovers -- especially +the ones who dived in front of trains. If you look like one of them, you are +repeating history's mistakes. If you don't, you'll wonder what he or she saw +in the others. + While we are on the subject of pictures: You may admire the picture +of your lover cavorting naked in a tidal pool on Maui. Don't ask who took +it. The answer is obvious. A Japanese tourist took the picture. + Never ask if your lover has had therapy. Only people who have had +therapy ask if people have had therapy. + Don't ask about plaster casts of male sex organs marked JIMI, JIM, etc. +Assume that she bought them at a flea market. + -- James Peterson and Kate Nolan +% + NEW YORK-- Kraft Foods, Inc. announced today that its board of +directors unanimously rejected the $11 billion takeover bid by Philip +Morris and Co. A Kraft spokesman stated in a press conference that the +offer was rejected because the $90-per-share bid did not reflect the +true value of the company. + Wall Street insiders, however, tell quite a different story. +Apparently, the Kraft board of directors had all but signed the takeover +agreement when they learned of Philip Morris' marketing plans for one of +their major Middle East subsidiaries. To a person, the board voted to +reject the bid when they discovered that the tobacco giant intended to +reorganize Israeli Cheddar, Ltd., and name the new company Cheeses of +Nazareth. +% + "No, I understand now," Auberon said, calm in the woods -- it was so +simple, really. "I didn't, for a long time, but I do now. You just can't +hold people, you can't own them. I mean it's only natural, a natural process +really. Meet. Love. Part. Life goes on. There was never any reason to +expect her to stay always the same -- I mean `in love,' you know." There were +those doubt-quotes of Smoky's, heavily indicated. "I don't hold a grudge. I +can't." + "You do," Grandfather Trout said. "And you don't understand." + -- Little, Big, "John Crowley" +% + Now she speaks rapidly. "Do you know *why* you want to program?" + He shakes his head. He hasn't the faintest idea. + "For the sheer *joy* of programming!" she cries triumphantly. +"The joy of the parent, the artist, the craftsman. "You take a program, +born weak and impotent as a dimly-realized solution. You nurture the +program and guide it down the right path, building, watching it grow ever +stronger. Sometimes you paint with tiny strokes, a keystroke added here, +a keystroke changed there." She sweeps her arm in a wide arc. "And other +times you savage whole *blocks* of code, ripping out the program's very +*essence*, then beginning anew. But always building, creating, filling the +program with your own personal stamp, your own quirks and nuances. Watching +the program grow stronger, patching it when it crashes, until finally it can +stand alone -- proud, powerful, and perfect. This is the programmer's finest +hour!" Softly at first, then louder, he hears the strains of a Sousa march. +"This ... this is your canvas! your clay! Go forth and create a masterwork!" +% + Obviously the subject of death was in the air, but more as something +to be avoided than harped upon. + Possibly the horror that Zaphod experienced at the prospect of being +reunited with his deceased relatives led on to the thought that they might +just feel the same way about him and, what's more, be able to do something +about helping to postpone this reunion. + -- Douglas Adams +% + "Oh sure, this costume may look silly, but it lets me get in and out +of dangerous situations -- I work for a federal task force doing a survey on +urban crime. Look, here's my ID, and here's a number you can call, that will +put you through to our central base in Atlanta. Go ahead, call -- they'll +confirm who I am. + "Unless, of course, the Astro-Zombies have destroyed it." + -- Captain Freedom +% + Old Barlow was a crossing-tender at a junction where an express train +demolished an automobile and it's occupants. Being the chief witness, his +testimony was vitally important. Barlow explained that the night was dark, +and he waved his lantern frantically, but the driver of the car paid +no attention to the signal. + The railroad company won the case, and the president of the company +complimented the old-timer for his story. "You did wonderfully," he said, +"I was afraid you would waver under testimony." + "No sir," exclaimed the senior, "but I sure was afraid that durned +lawyer was gonna ask me if my lantern was lit." +% + On his first day as a bus driver, Maxey Eckstein handed in +receipts of $65. The next day his take was $67. The third day's +income was $62. But on the fourth day, Eckstein emptied no less than +$283 on the desk before the cashier. + "Eckstein!" exclaimed the cashier. "This is fantastic. That +route never brought in money like this! What happened?" + "Well, after three days on that cockamamy route, I figured +business would never improve, so I drove over to Fourteenth Street and +worked there. I tell you, that street is a gold mine!" +% + On the day of his anniversary, Joe was frantically shopping +around for a present for his wife. He knew what she wanted, a +grandfather clock for the living room, but he found the right one +almost impossible to find. Finally, after many hours of searching, Joe +found just the clock he wanted, but the store didn't deliver. Joe, +desperate, paid the shopkeeper, hoisted the clock onto his back, and +staggered out onto the sidewalk. On the way home, he passed a bar. +Just as he reached the door, a drunk stumbled out and crashed into Joe, +sending himself, Joe, and the clock into the gutter. Murphy's law +being in effect, the clock ended up in roughly a thousand pieces. + "You stupid drunk!" screamed Joe, jumping up from the +wreckage. "Why don't you look where the hell you're going!" + With quiet dignity the drunk stood up somewhat unsteadily and +dusted himself off. "And why don't you just wear a wristwatch like a +normal person?" +% + On the occasion of Nero's 25th birthday, he arrived at the Colosseum +to find that the Praetorian Guard had prepared a treat for him in the arena. +There stood 25 naked virgins, like candles on a cake, tied to poles, burning +alive. "Wonderful!" exclaimed the deranged emperor, "but one of them isn't +dead yet. I can see her lips moving. Go quickly and find out what she is +saying." + The centurion saluted, and hurried out to the virgin, getting as near +the flames as he dared, and listened intently. Then he turned and ran back +to the imperial box. "She is not talking," he reported to Nero, "she is +singing." + "Singing?" said the astounded emperor. "Singing what?" + "Happy birthday to you, happy birthday to you..." +% + On the other hand, the TCP camp also has a phrase for OSI people. +There are lots of phrases. My favorite is `nitwit' -- and the rationale +is the Internet philosophy has always been you have extremely bright, +non-partisan researchers look at a topic, do world-class research, do +several competing implementations, have a bake-off, determine what works +best, write it down and make that the standard. + The OSI view is entirely opposite. You take written contributions +from a much larger community, you put the contributions in a room of +committee people with, quite honestly, vast political differences and all +with their own political axes to grind, and four years later you get +something out, usually without it ever having been implemented once. + So the Internet perspective is implement it, make it work well, +then write it down, whereas the OSI perspective is to agree on it, write +it down, circulate it a lot and now we'll see if anyone can implement it +after it's an international standard and every vendor in the world is +committed to it. One of those processes is backwards, and I don't think +it takes a Lucasian professor of physics at Oxford to figure out which. + -- Marshall Rose, "The Pied Piper of OSI" +% + On this morning in August when I was 13, my mother sent us out pick +tomatoes. Back in April I'd have killed for a fresh tomato, but in August +they are no more rare or wonderful than rocks. So I picked up one and threw +it at a crab apple tree, where it made a good *splat*, and then threw a tomato +at my brother. He whipped one back at me. We ducked down by the vines, +heaving tomatoes at each other. My sister, who was a good person, said, +"You're going to get it." She bent over and kept on picking. + What a target! She was 17, a girl with big hips, and bending over, +she looked like the side of a barn. + I picked up a tomato so big it sat on the ground. It looked like it +had sat there a week. The underside was brown, small white worms lived in it, +and it was very juicy. I stood up and took aim, and went into the windup, +when my mother at the kitchen window called my name in a sharp voice. I had +to decide quickly. I decided. + A rotten Big Boy hitting the target is a memorable sound, like a fat +man doing a belly-flop. With a whoop and a yell the tomato came after +faster than I knew she could run, and grabbed my shirt and was about to brain +me when Mother called her name in a sharp voice. And my sister, who was a +good person, obeyed and let go -- and burst into tears. I guess she knew that +the pleasure of obedience is pretty thin compared with the pleasure of hearing +a rotten tomato hit someone in the rear end. + -- Garrison Keillor, "Lake Wobegon Days" +% + Once again we find ourselves enmeshed in The Holiday Season, that very +special time of year when we join with our loved ones in sharing centuries-old +traditions such as trying to find a parking space at the mall. We +traditionally do this in my family by driving around the parking lot until we +see a shopper emerge from the mall. Then we follow her, in very much the same +spirit as the Three Wise Men, who, 2,000 years ago, followed a star, week after +week, until it led them to a parking space. + We try to keep our bumper about 4 inches from the shopper's calves, to +let the other circling cars know that she belongs to us. Sometimes, two cars +will get into a fight over whom the shopper belongs to, similar to the way +great white sharks will fight over who gets to eat a snorkeler. So, we follow +our shopper closely, hunched over the steering wheel, whistling "It's Beginning +to Look a Lot Like Christmas" through our teeth, until we arrive at her car, +which is usually parked several time zones away from the mall. Sometimes our +shopper tries to indicate she was merely planning to drop off some packages and +go back to shopping. But, when she hears our engine rev in a festive fashion +and sees the holiday gleam in our eyes, she realizes she would never make it. + -- Dave Barry, "Holiday Joy -- Or, the Great Parking Lot + Skirmish" +% + Once there lived a village of creatures along the bottom of a great +crystal river. Each creature in its own manner clung tightly to the twigs +and rocks of the river bottom, for clinging was their way of life, and +resisting the current what each had learned from birth. But one creature +said at last, "I trust that the current knows where it is going. I shall +let go, and let it take me where it will. Clinging, I shall die of boredom." + The other creatures laughed and said, "Fool! Let go, and that current +you worship will throw you tumbled and smashed across the rocks, and you will +die quicker than boredom!" + But the one heeded them not, and taking a breath did let go, and at +once was tumbled and smashed by the current across the rocks. Yet, in time, +as the creature refused to cling again, the current lifted him free from the +bottom, and he was bruised and hurt no more. + And the creatures downstream, to whom he was a stranger, cried, "See +a miracle! A creature like ourselves, yet he flies! See the Messiah, come +to save us all!" And the one carried in the current said, "I am no more +Messiah than you. The river delight to lift us free, if only we dare let go. +Our true work is this voyage, this adventure. + But they cried the more, "Saviour!" all the while clinging to the +rocks, making legends of a Saviour. + -- Richard Bach +% + Once there was a marine biologist who loved dolphins. He spent his +time trying to feed and protect his beloved creatures of the sea. One day, +in a fit of inventive genius, he came up with a serum that would make +dolphins live forever! + Of course he was ecstatic. But he soon realized that in order to mass +produce this serum he would need large amounts of a certain compound that was +only found in nature in the metabolism of a rare South American bird. Carried +away by his love for dolphins, he resolved that he would go to the zoo and +steal one of these birds. + Unbeknownst to him, as he was arriving at the zoo an elderly lion was +escaping from its cage. The zookeepers were alarmed and immediately began +combing the zoo for the escaped animal, unaware that it had simply lain down +on the sidewalk and had gone to sleep. + Meanwhile, the marine biologist arrived at the zoo and procured his +bird. He was so excited by the prospect of helping his dolphins that he +stepped absentmindedly stepped over the sleeping lion on his way back to his +car. Immediately, 1500 policemen converged on him and arrested him for +transporting a myna across a staid lion for immortal porpoises. +% + Once upon a time there was a beautiful young girl taking a stroll +through the woods. All at once she saw an extremely ugly bull frog seated +on a log and to her amazement the frog spoke to her. "Maiden," croaked the +frog, "would you do me a favor? This will be hard for you to believe, but +I was once a handsome, charming prince and then a mean, ugly old witch cast +a spell over me and turned me into a frog." + "Oh, what a pity!", exclaimed the girl. "I'll do anything I can to +help you break such a spell." + "Well," replied the frog, "the only way that this spell can be +taken away is for some lovely young woman to take me home and let me spend +the night under her pillow." + The young girl took the ugly frog home and placed him beneath her +pillow that night when she retired. When she awoke the next morning, sure +enough, there beside her in bed was a very young, handsome man, clearly of +royal blood. And so they lived happily ever after, except that to this day +her father and mother still don't believe her story. +% + Once upon a time, there was a fisherman who lived by a great river. +One day, after a hard day's fishing, he hooked what seemed to him to be the +biggest, strongest fish he had ever caught. He fought with it for hours, +until, finally, he managed to bring it to the surface. Looking of the edge +of the boat, he saw the head of this huge fish breaking the surface. Smiling +with pride, he reached over the edge to pull the fish up. Unfortunately, he +accidently caught his watch on the edge, and, before he knew it, there was a +snap, and his watch tumbled into the water next to the fish with a loud +"sploosh!" Distracted by this shiny object, the fish made a sudden lunge, +simultaneously snapping the line, and swallowing the watch. Sadly, the +fisherman stared into the water, and then began the slow trip back home. + Many years later, the fisherman, now an old man, was working in a +boring assembly-line job in a large city. He worked in a fish-processing +plant. It was his job, as each fish passed under his hands, to chop off their +heads, readying them for the next phase in processing. This monotonous task +went on for years, the dull *thud* of the cleaver chopping of each head being +his entire world, day after day, week after weary week. Well, one day, as he +was chopping fish, he happened to notice that the fish coming towards him on +the line looked very familiar. Yes, yes, it looked... could it be the fish +he had lost on that day so many years ago? He trembled with anticipation as +his cleaver came down. IT STRUCK SOMETHING HARD! IT WAS HIS THUMB! +% + Once upon a time, there were five blind men who had the opportunity +to experience an elephant for the first time. One approached the elephant, +and, upon encountering one of its sturdy legs, stated, "Ah, an elephant is +like a tree." The second, after exploring the trunk, said, "No, an elephant +is like a strong hose." The third, grasping the tail, said "Fool! An elephant +is like a rope!" The fourth, holding an ear, stated, "No, more like a fan." +And the fifth, leaning against the animal's side, said, "An elephant is like +a wall." The five then began to argue loudly about who had the more accurate +perception of the elephant. + The elephant, tiring of all this abuse, suddenly reared up and +attacked the men. He continued to trample them until they were nothing but +bloody lumps of flesh. Then, strolling away, the elephant remarked, "It just +goes to show that you can't depend on first impressions. When I first saw +them I didn't think they they'd be any fun at all." +% + Once upon a time there were three brothers who were knights +in a certain kingdom. And, there was a Princess in a neighboring kingdom +who was of marriageable age. Well, one day, in full armour, their horses, +and their page, the three brothers set off to see if one of them could +win her hand. The road was long and there were many obstacles along the +way, robbers to be overcome, hard terrain to cross. As they coped with +each obstacle they became more and more disgusted with their page. He was +not only inept, he was a coward, he could not handle the horses, he was, +in short, a complete flop. When they arrived at the court of the kingdom, +they found that they were expected to present the Princess with some +treasure. The two older brothers were discouraged, since they had not +thought of this and were unprepared. The youngest, however, had the +answer: Promise her anything, but give her our page. +% + Once, when the secrets of science were the jealously guarded property +of a small priesthood, the common man had no hope of mastering their arcane +complexities. Years of study in musty classrooms were prerequisite to +obtaining even a dim, incoherent knowledge of science. + Today all that has changed: a dim, incoherent knowledge of science is +available to anyone. + -- Tom Weller, "Science Made Stupid" +% + One day a student came to Moon and said, "I understand how to make +a better garbage collector. We must keep a reference count of the pointers +to each cons." + Moon patiently told the student the following story -- "One day a +student came to Moon and said, "I understand how to make a better garbage +collector..." +% + One day it was announced that the young monk Kyogen had reached +an enlightened state. Much impressed by this news, several of his peers +went to speak with him. + "We have heard that you are enlightened. Is this true?" his fellow +students inquired. + "It is", Kyogen answered. + "Tell us", said a friend, "how do you feel?" + "As miserable as ever", replied the enlightened Kyogen. +% + One evening he spoke. Sitting at her feet, his face raised to her, +he allowed his soul to be heard. "My darling, anything you wish, anything +I am, anything I can ever be... That's what I want to offer you -- not the +things I'll get for you, but the thing in me that will make me able to get +them. That thing -- a man can't renounce it -- but I want to renounce it -- +so that it will be yours -- so that it will be in your service -- only for +you." + The girl smiled and asked: "Do you think I'm prettier than Maggie +Kelly?" + He got up. He said nothing and walked out of the house. He never +saw that girl again. Gail Wynand, who prided himself on never needing a +lesson twice, did not fall in love again in the years that followed. + -- Ayn Rand, "The Fountainhead" +% + One fine day, the bus driver went to the bus garage, started his bus, +and drove off along the route. No problems for the first few stops -- a few +people got on, a few got off, and things went generally well. At the next +stop, however, a big hulk of a guy got on. Six feet eight, built like a +wrestler, arms hanging down to the ground. He glared at the driver and said, +"Big John doesn't pay!" and sat down at the back. + Did I mention that the driver was five feet three, thin, and basically +meek? Well, he was. Naturally, he didn't argue with Big John, but he wasn't +happy about it. Well, the next day the same thing happened -- Big John got on +again, made a show of refusing to pay, and sat down. And the next day, and the +one after that, and so forth. This grated on the bus driver, who started +losing sleep over the way Big John was taking advantage of him. Finally he +could stand it no longer. He signed up for bodybuilding courses, karate, judo, +and all that good stuff. By the end of the summer, he had become quite strong; +what's more, he felt really good about himself. + So on the next Monday, when Big John once again got on the bus +and said "Big John doesn't pay!," the driver stood up, glared back at the +passenger, and screamed, "And why not?" + With a surprised look on his face, Big John replied, "Big John has a +bus pass." +% + One night the captain of a tanker saw a light dead ahead. He +directed his signalman to flash a signal to the light which went... + "Change course 10 degrees South." + The reply was quickly flashed back... + "You change course 10 degrees North." + The captain was a little annoyed at this reply and sent a further +message..... + "I am a captain. Change course 10 degrees South." + Back came the reply... + "I am an able-seaman. Change course 10 degrees North." + The captain was outraged at this reply and send a message.... +"I am a 240,000 tonne tanker. CHANGE course 10 degrees South!" + Back came the reply... + "I am a LIGHTHOUSE. Change course 10 degrees North!!!!" + -- Cruising Helmsman, "On The Right Course" +% + One of the questions that comes up all the time is: How enthusiastic +is our support for UNIX? + Unix was written on our machines and for our machines many years ago. +Today, much of UNIX being done is done on our machines. Ten percent of our +VAXs are going for UNIX use. UNIX is a simple language, easy to understand, +easy to get started with. It's great for students, great for somewhat casual +users, and it's great for interchanging programs between different machines. +And so, because of its popularity in these markets, we support it. We have +good UNIX on VAX and good UNIX on PDP-11s. + It is our belief, however, that serious professional users will run +out of things they can do with UNIX. They'll want a real system and will end +up doing VMS when they get to be serious about programming. + With UNIX, if you're looking for something, you can easily and quickly +check that small manual and find out that it's not there. With VMS, no matter +what you look for -- it's literally a five-foot shelf of documentation -- if +you look long enough it's there. That's the difference -- the beauty of UNIX +is it's simple; and the beauty of VMS is that it's all there. + -- Ken Olsen, president of DEC, DECWORLD Vol. 8 No. 5, 1984 +[It's been argued that the beauty of UNIX is the same as the beauty of Ken +Olsen's brain. Ed.] +% + page 46 +...a report citing a study by Dr. Thomas C. Chalmers, of the Mount Sinai +Medical Center in New York, which compared two groups that were being used +to test the theory that ascorbic acid is a cold preventative. "The group +on placebo who thought they were on ascorbic acid," says Dr. Chalmers, +"had fewer colds than the group on ascorbic acid who thought they were +on placebo." + page 56 +The placebo is proof that there is no real separation between mind and body. +Illness is always an interaction between both. It can begin in the mind and +affect the body, or it can begin in the body and affect the mind, both of +which are served by the same bloodstream. Attempts to treat most mental +diseases as though they were completely free of physical causes and attempts +to treat most bodily diseases as though the mind were in no way involved must +be considered archaic in the light of new evidence about the way the human +body functions. + -- Norman Cousins, + "Anatomy of an Illness as Perceived by the Patient" +% + Penn's aunts made great apple pies at low prices. No one else in +town could compete with the pie rates of Penn's aunts. + During the American Revolution, a Britisher tried to raid a farm. He +stumbled across a rock on the ground and fell, whereupon an aggressive Rhode +Island Red hopped on top. Seeing this, the farmer commented, "Chicken catch +a Tory!" + A wife started serving chopped meat, Monday hamburger, Tuesday meat +loaf, Wednesday tartar steak, and Thursday meatballs. On Friday morning her +husband snarled, "How now, ground cow?" + A journalist, thrilled over his dinner, asked the chef for the recipe. +Retorted the chef, "Sorry, we have the same policy as you journalists, we +never reveal our sauce." + A new chef from India was fired a week after starting the job. He +kept favoring curry. + A couple of kids tried using pickles instead of paddles for a Ping-Pong +game. They had the volley of the Dills. +% + People of all sorts of genders are reporting great difficulty, +these days, in selecting the proper words to refer to those of the female +persuasion. + "Lady," "woman," and "girl" are all perfectly good words, but +misapplying them can earn one anything from the charge of vulgarity to a good +swift smack. We are messing here with matters of deference, condescension, +respect, bigotry, and two vague concepts, age and rank. It is troubling +enough to get straight who is really what. Those who deliberately misuse +the terms in a misbegotten attempt at flattery are asking for it. + A woman is any grown-up female person. A girl is the un-grown-up +version. If you call a wee thing with chubby cheeks and pink hair ribbons a +"woman," you will probably not get into trouble, and if you do, you will be +able to handle it because she will be under three feet tall. However, if you +call a grown-up by a child's name for the sake of implying that she has a +youthful body, you are also implying that she has a brain to match. +% + "Perhaps he is not honest," Mr. Frostee said inside Cobb's head, +sounding a bit worried. + "Of course he isn't," Cobb answered. "What we have to look out for +is him calling the cops anyway, or trying to blackmail us for more money." + "I think you should kill him and eat his brain," Mr. Frostee +said quickly. + "That's not the answer to *every* problem in interpersonal relations," +Cobb said, hopping out. + -- Rudy Rucker, "Software" +% + Phases of a Project: +(1) Exultation. +(2) Disenchantment. +(3) Confusion. +(4) Search for the Guilty. +(5) Punishment for the Innocent. +(6) Distinction for the Uninvolved. +% + Price Wang's programmer was coding software. His fingers danced upon +the keyboard. The program compiled without an error message, and the program +ran like a gentle wind. + Excellent!" the Price exclaimed, "Your technique is faultless!" + "Technique?" said the programmer, turning from his terminal, "What I +follow is the Tao -- beyond all technique. When I first began to program I +would see before me the whole program in one mass. After three years I no +longer saw this mass. Instead, I used subroutines. But now I see nothing. +My whole being exists in a formless void. My senses are idle. My spirit, +free to work without a plan, follows its own instinct. In short, my program +writes itself. True, sometimes there are difficult problems. I see them +coming, I slow down, I watch silently. Then I change a single line of code +and the difficulties vanish like puffs of idle smoke. I then compile the +program. I sit still and let the joy of the work fill my being. I close my +eyes for a moment and then log off." + Price Wang said, "Would that all of my programmers were as wise!" + -- Geoffrey James, "The Tao of Programming" +% + "Reintegration complete," ZORAC advised. "We're back in the +universe again..." An unusually long pause followed, "...but I don't +know which part. We seem to have changed our position in space." A +spherical display in the middle of the floor illuminated to show the +starfield surrounding the ship. + "Several large, artificial constructions are approaching us," +ZORAC announced after a short pause. "The designs are not familiar, but +they are obviously the products of intelligence. Implications: we have +been intercepted deliberately by a means unknown, for a purpose unknown, +and transferred to a place unknown by a form of intelligence unknown. +Apart from the unknowns, everything is obvious." + -- James P. Hogan, "Giants Star" +% + Reporters like Bill Greider from the Washington Post and Him +Naughton of the New York Times, for instance, had to file long, detailed, +and relatively complex stories every day -- while my own deadline fell +every two weeks -- but neither of them ever seemed in a hurry about +getting their work done, and from time to time they would try to console +me about the terrible pressure I always seemed to be laboring under. + Any $100-an-hour psychiatrist could probably explain this problem +to me, in thirteen or fourteen sessions, but I don't have time for that. +No doubt it has something to do with a deep-seated personality defect, or +maybe a kink in whatever blood vessel leads into the pineal gland... On +the other hand, it might be something as simple & basically perverse as +whatever instinct it is that causes a jackrabbit to wait until the last +possible second to dart across the road in front of a speeding car. + -- H.S. Thompson, "Fear and Loathing: On the Campaign Trail" +% + "Richard, in being so fierce toward my vampire, you were doing +what you wanted to do, even though you thought it was going to hurt +somebody else. He even told you he'd be hurt if..." + "He was going to suck my blood!" + "Which is what we do to anyone when we tell them we'll be hurt +if they don't live our way." +... + "The thing that puzzles you," he said, "is an accepted saying that +happens to be impossible. The phrase is hurt somebody else. We choose, +ourselves, to be hurt or not to be hurt, no matter what. Us who decides. +Nobody else. My vampire told you he'd be hurt if you didn't let him? That's +his decision to be hurt, that's his choice. What you do about it is your +decision, your choice: give him blood; ignore him; tie him up; drive a stake +through his heart. If he doesn't want the holly stake, he's free to resist, +in whatever way he wants. It goes on and on, choices, choices." + "When you look at it that way..." + "Listen," he said, "it's important. We are all. Free. To do. +Whatever. We want. To do." + -- Richard Bach, "Illusions" +% + Risch's decision procedure for integration, not surprisingly, +uses a recursion on the number and type of the extensions from the +rational functions needed to represent the integrand. Although the +algorithm follows and critically depends upon the appropriate structure +of the input, as in the case of multivariate factorization, we cannot +claim that the algorithm is a natural one. In fact, the creator of +differential algebra, Ritt, committed suicide in the early 1950's, +largely, it is claimed, because few paid attention to his work. Probably +he would have received more attention had he obtained the algorithm as +well. + -- Joel Moses, "Algorithms and Complexity", ed. J.F. Traub +% + Robert Kennedy's 1964 Senatorial campaign planners told him that +their intention was to present him to the television viewers as a sincere, +generous person. "You going to use a double?" asked Kennedy. + + Thumbing through a promotional pamphlet prepared for his 1964 +Senatorial campaign, Robert Kennedy came across a photograph of himself +shaking hands with a well-known labor leader. + "There must be a better photo that this," said Kennedy to the +advertising men in charge of his campaign. + "What's wrong with this one?" asked one adman. + "That fellow's in jail," said Kennedy. + -- Bill Adler, "The Washington Wits" +% + SAFETY +I can live without +Someone I love +But not without +Someone I need. +% + Sam went to his psychiatrist complaining of a hatred for elephants. +"I can't stand elephants," he explained. "I lie awake nights despising +them. The thought of an elephant fills me with loathing." + "Sam," said the psychiatrist, "there's only one thing for you to do. +Go to Africa, organize a safari, find an elephant in the jungle and shoot it. +That way you'll get it out of your system." + Sam immediately made arrangements for a safari hunt in Africa, +inviting his best friend to join him. They arrived in Nairobi and lost no +time getting out on the jungle trails. After they had been hunting for +several days, Sam's best friend grabbed him by the arm one morning and +yelled at him: + "Sam, Sam, Sam! Over there behind that tree there's and elephant! +Sam -- Get your gun -- no, no, not THAT gun -- the rifle with the longer +barrel! Now aim it! QUICK! SAM! QUICK! No! Not that way -- this way! +Be sure you don't jerk the trigger! Wait SAM! Don't let him see you! Aim +at his head!" + Sam whirled around, took aim, and killed his friend. He was put in +prison and his psychiatrist flew to Africa to visit him. "I sent you over +here to kill and elephant and instead you shoot your best friend," the +psychiatrist said. "Why?" + "Well," Sam replied, "there's only one thing in the world that I +hate more than elephants and that is a loudmouth know-it-all!" +% + Seems George was playing his usual eighteen holes on Saturday +afternoon. Teeing off from the 17th, he sliced into the rough over near +the edge of the fairway. Just as he was about to chip out, he noticed a +long funeral procession going past on a nearby street. Reverently, George +removed his hat and stood at attention until the procession had passed. +Then he continued his game, finishing with a birdie on the eighteenth. +Later, at the clubhouse, a fellow golfer greet George. "Say, that was a +nice gesture you made today, George. + "What do you mean?" asked George. + "Well, it was nice of you to take off your cap and stand +respectfully when that funeral went by," the friend replied. + "Oh, yes," said George. "Well, we were married 17 years, you +know." +% + "Seven years and six months!" Humpty Dumpty repeated thoughtfully. +"An uncomfortable sort of age. Now if you'd asked MY advice, I'd have +said 'Leave off at seven' -- but it's too late now." + "I never ask advice about growing," Alice said indignantly. + "Too proud?" the other enquired. + Alice felt even more indignant at this suggestion. "I mean," +she said, "that one can't help growing older." + "ONE can't, perhaps," said Humpty Dumpty; "but TWO can. With +proper assistance, you might have left off at seven." + -- Lewis Carroll, "Through the Looking-Glass" +% + Several students were asked to prove that all odd integers are prime. + The first student to try to do this was a math student. "Hmmm... +Well, 1 is prime, 3 is prime, 5 is prime, and by induction, we have that all +the odd integers are prime." + The second student to try was a man of physics who commented, "I'm not +sure of the validity of your proof, but I think I'll try to prove it by +experiment." He continues, "Well, 1 is prime, 3 is prime, 5 is prime, 7 is +prime, 9 is... uh, 9 is... uh, 9 is an experimental error, 11 is prime, 13 +is prime... Well, it seems that you're right." + The third student to try it was the engineering student, who responded, +"Well, to be honest, actually, I'm not sure of your answer either. Let's +see... 1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is... uh, 9 is... +well, if you approximate, 9 is prime, 11 is prime, 13 is prime... Well, it +does seem right." + Not to be outdone, the computer science student comes along and says +"Well, you two sort've got the right idea, but you'll end up taking too long! +I've just whipped up a program to REALLY go and prove it." He goes over to +his terminal and runs his program. Reading the output on the screen he says, +"1 is prime, 1 is prime, 1 is prime, 1 is prime..." +% + "Sheriff, we gotta catch Black Bart." + "Oh, yeah? What's he look like?" + "Well, he's wearin' a paper hat, a paper shirt, paper pants and +paper boots." + "What's he wanted for?" + "Rustling." +% + Sixtus V, Pope from 1585 to 1590 authorized a printing of the +Vulgate Bible. Taking no chances, the pope issued a papal bull +automatically excommunicating any printer who might make an alteration +in the text. This he ordered printed at the beginning of the Bible. +He personally examined every sheet as it came off the press. Yet the +published Vulgate Bible contained so many errors that corrected scraps +had to be printed and pasted over them in every copy. The result +provoked wry comments on the rather patchy papal infallibility, and +Pope Sixtus had no recourse but to order the return and destruction of +every copy. +% + So Richard and I decided to try to catch [the small shark]. +With a great deal of strategy and effort and shouting, we managed to +maneuver the shark, over the course of about a half-hour, to a sort of +corner of the lagoon, so that it had no way to escape other than to +flop up onto the land and evolve. Richard and I were inching toward +it, sort of crouched over, when all of a sudden it turned around and -- +I can still remember the sensation I felt at that moment, primarily in +the armpit area -- headed right straight toward us. + Many people would have panicked at this point. But Richard and +I were not "many people." We were experienced waders, and we kept our +heads. We did exactly what the textbook says you should do when you're +unarmed and a shark that is nearly two feet long turns on you in water +up to your lower calves: We sprinted I would say 600 yards in the +opposite direction, using a sprinting style such that the bottoms of +our feet never once went below the surface of the water. We ran all +the way to the far shore, and if we had been in a Warner Brothers +cartoon we would have run right INTO the beach, and you would have seen +these two mounds of sand racing across the island until they bonked +into trees and coconuts fell onto their heads. + -- Dave Barry, "The Wonders of Sharks on TV" +% + Some 1500 miles west of the Big Apple we find the Minneapple, a +haven of tranquility in troubled times. It's a good town, a civilized town. +A town where they still know how to get your shirts back by Thursday. Let +the Big Apple have the feats of "Broadway Joe" Namath. We have known the +stolid but steady Killebrew. Listening to Cole Porter over a dry martini +may well suit those unlucky enough never to have heard the Whoopee John Polka +Band and never to have shared a pitcher of 3.2 Grain Belt Beer. The loss is +theirs. And the Big Apple has yet to bake the bagel that can match peanut +butter on lefse. Here is a town where the major urban problem is dutch elm +disease and the number one crime is overtime parking. We boast more theater +per capita than the Big Apple. We go to see, not to be seen. We go even +when we must shovel ten inches of snow from the driveway to get there. Indeed +the winters are fierce. But then comes the marvel of the Minneapple summer. +People flock to the city's lakes to frolic and rejoice at the sight of so +much happy humanity free from the bonds of the traditional down-filled parka. +Here's to the Minneapple. And to its people. Our flair for style is balanced +by a healthy respect for wind chill factors. + And we always, always eat our vegetables. + This is the Minneapple. +% + Something mysterious is formed, born in the silent void. Waiting +alone and unmoving, it is at once still and yet in constant motion. It is +the source of all programs. I do not know its name, so I will call it the +Tao of Programming. + If the Tao is great, then the operating system is great. If the +operating system is great, then the compiler is great. If the compiler is +greater, then the applications is great. The user is pleased and there is +harmony in the world. + The Tao of Programming flows far away and returns on the wind of +morning. + -- Geoffrey James, "The Tao of Programming" +% + Somewhat alarmed at the continued growth of the number of employees +on the Department of Agriculture payroll in 1962, Michigan Republican Robert +Griffin proposed an amendment to the farm bill so that "the total number of +employees in the Department of Agriculture at no time exceeds the number of +farmers in America." + -- Bill Adler, "The Washington Wits" +% + "Somewhere", said Father Vittorini, "did Blake not speak of the +Machineries of Joy? That is, did not God promote environments, then +intimidate these Natures by provoking the existence of flesh, toy men and +women, such as are we all? And thus happily sent forth, at our best, with +good grace and fine wit, on calm noons, in fair climes, are we not God's +Machineries of Joy?" + "If Blake said that", said Father Brian, "he never lived in Dublin." + -- R. Bradbury, "The Machineries of Joy" +% + Split 1/4 bottle .187 liters + Half 1/2 bottle + Bottle 750 milliliters + Magnum 2 bottles 1.5 liters + Jeroboam 4 bottles + Rehoboam 6 bottles Not available in the US + Methuselah 8 bottles + Salmanazar 12 bottles + Balthazar 16 bottles + Nebuchadnezzar 20 bottles 15 liters + Sovereign 34 bottles 26 liters + + The Sovereign is a new bottle, made for the launching of the +largest cruise ship in the world. The bottle alone cost 8,000 dollars +to produce and they only made 8 of them. + Most of the funny names come from Biblical people. +% + Stop! Whoever crosseth the bridge of Death, must answer first +these questions three, ere the other side he see! + + "What is your name?" + "Sir Brian of Bell." + "What is your quest?" + "I seek the Holy Grail." + "What are four lowercase letters that are not legal flag arguments +to the Berkeley UNIX version of `ls'?" + "I, er.... AIIIEEEEEE!" +% + Strange memories on this nervous night in Las Vegas. Five years later? +Six? It seems like a lifetime, or at least a Main Era -- the kind of peak that +never comes again. San Francisco in the middle sixties was a very special time +and place to be a part of. Maybe it meant something. Maybe not, in the long +run... There was madness in any direction, at any hour. If not across the +Bay, then up the Golden Gate or down 101 to Los Altos or La Honda... You could +strike sparks anywhere. There was a fantastic universal sense that whatever we +were doing was right, that we were winning... + And that, I think, was the handle -- that sense of inevitable victory +over the forces of Old and Evil. Not in any mean or military sense; we didn't +need that. Our energy would simply prevail. There was no point in fighting +-- on our side or theirs. We had all the momentum; we were riding the crest +of a high and beautiful wave. So now, less than five years later, you can go +up on a steep hill in Las Vegas and look West, and with the right kind of eyes +you can almost see the high-water mark -- that place where the wave finally +broke and rolled back. + -- Hunter S. Thompson +% + Take the folks at Coca-Cola. For many years, they were content +to sit back and make the same old carbonated beverage. It was a good +beverage, no question about it; generations of people had grown up +drinking it and doing the experiment in sixth grade where you put a +nail into a glass of Coke and after a couple of days the nail dissolves +and the teacher says: "Imagine what it does to your TEETH!" So Coca-Cola +was solidly entrenched in the market, and the management saw no need to +improve ... + -- Dave Barry, "In Search of Excellence" +% + "That wife of mine is a liar," said the angry husband to a +sympathetic pal seated next to him in a bar. + "How do you know?" the friend asked. + "She didn't come home last night, and when I asked her where +she'd been she said she'd spent the night with her sister Shirley." + "So?" + "So, she's a liar. I spent the night with her sister Shirley." +% + "That's right; the upper-case shift works fine on the screen, but +they're not coming out on the damn printer... Hold? Sure, I'll hold." + -- e.e. cummings last service call +% + "The best thing for being sad," replied Merlin, beginning to puff +and blow, "is to learn something. That's the only thing that never fails. +You may grow old and trembling in your anatomies, you may lie awake at +night listening to the disorder of your veins, you may miss your only love, +you may see the world about you devastated by evil lunatics, or know your +honour trampled in the sewers of baser minds. There is only one thing for +it then -- to learn. Learn why the world wags and what wags it. That is +the only thing which the mind can never exhaust, never alienate, never be +tortured by, never fear or distrust, and never dream of regretting. Learning +is the only thing for you. Look what a lot of things there are to learn." + -- T.H. White, "The Once and Future King" +% + The big problem with pornography is defining it. You can't just +say it's pictures of people naked. For example, you have these +primitive African tribes that exist by chasing the wildebeest on foot, +and they have to go around largely naked, because, as the old tribal +saying goes: "N'wam k'honi soit qui mali," which means, "If you think +you can catch a wildebeest in this climate and wear clothes at the same +time, then I have some beach front property in the desert region of +Northern Mali that you may be interested in." + So it's not considered pornographic when National Geographic +publishes color photographs of these people hunting the wildebeest +naked, or pounding one rock onto another rock for some primitive reason +naked, or whatever. But if National Geographic were to publish an +article entitled "The Girls of the California Junior College System +Hunt the Wildebeest Naked," some people would call it pornography. But +others would not. And still others, such as the Spectacularly Rev. +Jerry Falwell, would get upset about seeing the wildebeest naked. + -- Dave Barry, "Pornography" +% + The birds are singing, the flowers are budding, and it is time +for Miss Manners to tell young lovers to stop necking in public. + It's not that Miss Manners is immune to romance. Miss Manners +has been known to squeeze a gentleman's arm while being helped over a +curb, and, in her wild youth, even to press a dainty slipper against a +foot or two under the dinner table. Miss Manners also believes that the +sight of people strolling hand in hand or arm in arm or arm in hand +dresses up a city considerably more than the more familiar sight of +people shaking umbrellas at one another. What Miss Manners objects to +is the kind of activity that frightens the horses on the street... +% + The boss returned from lunch in a good mood and called the whole staff +in to listen to a couple of jokes he had picked up. Everybody but one girl +laughed uproariously. "What's the matter?" grumbled the boss. "Haven't you +got a sense of humor?" + "I don't have to laugh," she said. "I'm leaving Friday anyway. +% + The defense attorney was hammering away at the plaintiff: +"You claim," he jeered, "that my client came at you with a broken bottle +in his hand. But is it not true, that you had something in YOUR hand?" + "Yes," the man admitted, "his wife. Very charming, of course, +but not much good in a fight." +% + The devout Jew was beside himself because his son had been dating +a shiksa, so he went to visit his rabbi. The rabbi listened solemnly to +his problem, took his hand, and said, "Pray to God." + So the Jew went to the synagogue, bowed his head, and prayed, "God, +please help me. My son, my favorite son, he's going to marry a shiksa, he +sees nothing but goyim..." + "Your son," boomed down this voice from the heavens, "you think +you got problems. What about my son?" +% + The doctor had just finished giving the young man a thorough +physical examination. "The best thing for you to do," the M.D. said, +"is give up drinking, give up smoking, get to bed early and stay away +from women." + "Doc, I don't deserve the best," pleaded his patient. "What's +second best?" +% + The FIELD GUIDE to NORTH AMERICAN MALES + +SPECIES: Cranial Males +SUBSPECIES: The Hacker (homo computatis) +Courtship & Mating: + Due to extreme deprivation, HOMO COMPUTATIS maintains a near perpetual + state of sexual readiness. Courtship behavior alternates between + awkward shyness and abrupt advances. When he finally mates, he + chooses a female engineer with an unblinking stare, a tight mouth, and + a complete collection of Campbell's soup-can recipes. +Track: + Trash cans full of pale green and white perforated paper and old + copies of the Allen-Bradley catalog. +Comments: + Extremely fond of bad puns and jokes that need long explanations. +% + The FIELD GUIDE to NORTH AMERICAN MALES + +SPECIES: Cranial Males +SUBSPECIES: The Hacker (homo computatis) +Description: + Gangly and frail, the hacker has a high forehead and thinning hair. + Head disproportionately large and crooked forward, complexion wan and + sightly gray from CRT illumination. He has heavy black-rimmed glasses + and a look of intense concentration, which may be due to a software + problem or to a pork-and-bean breakfast. +Feathering: + HOMO COMPUTATIS saw a Brylcreem ad fifteen years ago and believed it. + Consequently, crest is greased down, except for the cowlick. +Song: + A rather plaintive "Is it up?" +% + The FIELD GUIDE to NORTH AMERICAN MALES + +SPECIES: Cranial Males +SUBSPECIES: The Hacker (homo computatis) +Plumage: + All clothes have a slightly crumpled look as though they came off the + top of the laundry basket. Style varies with status. Hacker managers + wear gray polyester slacks, pink or pastel shirts with wide collars, + and paisley ties; staff wears cinched-up baggy corduroy pants, white + or blue shirts with button-down collars, and penholder in pocket. + Both managers and staff wear running shoes to work, and a black + plastic digital watch with calculator. +% + The foreman of a lumber camp put a new workman on the circular saw. +As he turned away, he heard the man say, "Ouch!". + "What happened?" + "Dunno," replied the man. "I just stuck out my hand like this, and +-- well, I'll be damned. There goes another one!" +% + The General disliked trying to explain the highly technical +inner workings of the U.S. Air Force. + "$7,662 for a ten cup coffee maker, General?" the Senator asked. + In his head he ran through his standard explanations. "It's not so," +he thought. "It's a deterrent." Soon he came up with, "It's computerized, +Senator. Tiny computer chips make coffee that's smooth and full-bodied. Try +a cup." + The Senator did. "Pfffttt! Tastes like jet fuel!" + "It's not so," the General thought. "It's a deterrent." + Then he remembered something. "We bought a lot of untested computer +chips," the General answered. "They got into everything. Just a little +mix-up. Nothing serious." + Then he remembered something else. It was at the site of the +mysterious B-1 crash. A strange smell in the fuel lines. It smelled like +coffee. Smooth and full bodied... + -- Another Episode of General's Hospital +% + The geographical center of Boston is in Roxbury. Due north of +the center we find the South End. This is not to be confused with South +Boston which lies directly east from the South End. North of the South +End is East Boston and southwest of East Boston is the North End. +% + The Hitchhiker's Guide to the Galaxy has a few things to say on +the subject of towels. + Most importantly, a towel has immense psychological value. For +some reason, if a non-hitchhiker discovers that a hitchhiker has his towel +with him, he will automatically assume that he is also in possession of a +toothbrush, washcloth, flask, gnat spray, space suit, etc., etc. Furthermore, +the non-hitchhiker will then happily lend the hitchhiker any of these or +a dozen other items that he may have "lost". After all, any man who can +hitch the length and breadth of the Galaxy, struggle against terrible odds, +win through and still know where his towel is, is clearly a man to be +reckoned with. +% + The Hitchiker's Guide to the Galaxy has a few things to say on +the subject of towels. + A towel, it says, is about the most massively useful thing an +interstellar hitchhiker can have. Partly it has great practical value. +You can wrap it around you for warmth as you bound across the cold moons +of Jaglan Beta; you can lie on it on the brilliant marble-sanded beaches +of Santraginus V ... use it to sail a miniraft down the slow heavy River +Moth; wave your towel in emergencies, and, of course, dry yourself off +with it if it still seems to be clean enough. +% + The honeymooning couple agreed it was a fine day for horseback riding. +After a mile or so, the bride's mount cantered under a low tree and a +branch scraped her forehead lightly. The groom dismounted, glared at his +wife's horse, and said, "That's number one." + The ride then proceeded. After another mile or so, the bride's +horse stumbled over a pebble and the lady suffered a slight jostling. +Again, her man leapt from his saddle and strode over to the nervous animal. +"That's two," he said. + Five miles later, the bride's horse became frightened when a rabbit +crossed its path, reared up and threw the girl. Immediately, the groom was +off his horse. "That's three!", he shouted, and, pulling out a pistol, he +shot the horse between the eyes. + "You brute!" shrieked his bride. "Now I see the kind of man I +married! You're a sadist, that's what!" + The groom turned to her coolly. "That's one," he said. +% + The Lord and I are in a sheep-shepherd relationship, and I am in +a position of negative need. + He prostrates me in a green-belt grazing area. + He conducts me directionally parallel to non-torrential aqueous +liquid. + He returns to original satisfaction levels my psychological makeup. + He switches me on to a positive behavioral format for maximal +prestige of His identity. + It should indeed be said that notwithstanding the fact that I make +ambulatory progress through the umbragious inter-hill mortality slot, terror +sensations will no be initiated in me, due to para-etical phenomena. + Your pastoral walking aid and quadrupic pickup unit introduce me +into a pleasurific mood state. + You design and produce a nutriment-bearing furniture-type structure +in the context of non-cooperative elements. + You act out a head-related folk ritual employing vegetable extract. + My beverage utensil experiences a volume crisis. + It is an ongoing deductible fact that your inter-relational +empathetical and non-ventious capabilities will retain me as their +target-focus for the duration of my non-death period, and I will possess +tenant rights in the housing unit of the Lord on a permanent, open-ended +time basis. +% + The Magician of the Ivory Tower brought his latest invention for the +master programmer to examine. The magician wheeled a large black box into the +master's office while the master waited in silence. + "This is an integrated, distributed, general-purpose workstation," +began the magician, "ergonomically designed with a proprietary operating +system, sixth generation languages, and multiple state of the art user +interfaces. It took my assistants several hundred man years to construct. +Is it not amazing?" + The master raised his eyebrows slightly. "It is indeed amazing," he +said. + "Corporate Headquarters has commanded," continued the magician, "that +everyone use this workstation as a platform for new programs. Do you agree +to this?" + "Certainly," replied the master, "I will have it transported to the +data center immediately!" And the magician returned to his tower, well +pleased. + Several days later, a novice wandered into the office of the master +programmer and said, "I cannot find the listing for my new program. Do +you know where it might be?" + "Yes," replied the master, "the listings are stacked on the platform +in the data center." + -- Geoffrey James, "The Tao of Programming" +% + The Martian landed his saucer in Manhattan, and immediately upon +emerging was approached by a panhandler. "Mister," said the man, "can I +have a quarter?" + The Martian asked, "What's a quarter?" + The panhandler thought a minute, brightened, then said, "You're +right! Can I have a dollar?" +% + The master programmer moves from program to program without fear. No +change in management can harm him. He will not be fired, even if the project +is canceled. Why is this? He is filled with the Tao. + -- Geoffrey James, "The Tao of Programming" +% + The Minnesota Board of Education voted to consider requiring all +students to do some "volunteer work" as a prerequisite to high school gradu- +ation. + Senator Orrin Hatch said that "capital punishment is our society's +recognition of the sanctity of human life." + + According to the tax bill signed by President Reagan on December 22, +1987, Don Tyson and his sister-in-law Barbara run a "family farm." Their +"farm" has 25,000 employees and grosses $1.7 billion a year. But as a "family +farm" they get tax breaks that save them $135 million a year. + + Scott L. Pickard, spokesperson for the Massachusetts Department of +Public Works, calls them "ground-mounted confirmatory route markers." You +probably call them road signs, but then you don't work in a government agency. + + It's not "elderly" or "senior citizens" anymore. Now it's "chrono- +logically experienced citizens." + + According to the FAA, the propeller blade didn't break off, it was +just a case of "uncontained blade liberation." + -- Quarterly Review of Doublespeak (NCTE) +% + "...The name of the song is called 'Haddocks' Eyes'!" + "Oh, that's the name of the song, is it?" Alice said, trying to +feel interested. + "No, you don't understand," the Knight said, looking a little +vexed. "That's what the name is called. The name really is, 'The Aged +Aged Man.'" + "Then I ought to have said "That's what the song is called'?" +Alice corrected herself. + "No, you oughtn't: that's quite another thing! The song is +called 'Ways and Means': but that's only what it is called you know!" + "Well, what is the song then?" said Alice, who was by this +time completely bewildered. + "I was coming to that," the Knight said. "The song really is +"A-sitting on a Gate": and the tune's my own invention." + --Lewis Carroll, "Through the Looking Glass" +% + The only real game in the world, I think, is baseball... +You've got to start way down, at the bottom, when you're six or seven years +old. You can't wait until you're fifteen or sixteen. You've got to let it +grow up with you, and if you're successful and you try hard enough, you're +bound to come out on top, just like these boys have come to the top now. + -- Babe Ruth, in his 1948 farewell speech at Yankee Stadium +% + The Priest's grey nimbus in a niche where he dressed discreetly. +I will not sleep here tonight. Home also I cannot go. + A voice, sweetened and sustained, called to him from the sea. +Turning the curve he waved his hand. A sleek brown head, a seal's, far +out on the water, round. Usurper. + -- James Joyce, "Ulysses" +% + The problem with engineers is that they tend to cheat in order to +get results. + The problem with mathematicians is that they tend to work on toy +problems in order to get results + The problem with program verifiers is that they tend to cheat at +toy problems in order to get results. +% + The programmers of old were mysterious and profound. We cannot fathom +their thoughts, so all we do is describe their appearance. + Aware, like a fox crossing the water. Alert, like a general on the +battlefield. Kind, like a hostess greeting her guests. Simple, like uncarved +blocks of wood. Opaque, like black pools in darkened caves. + Who can tell the secrets of their hearts and minds? + The answer exists only in the Tao. + -- Geoffrey James, "The Tao of Programming" +% + The salesman and the system analyst took off to spend a weekend in the +forest, hunting bear. They'd rented a cabin, and, when they got there, took +their backpacks off and put them inside. At which point the salesman turned +to his friend, and said, "You unpack while I go and find us a bear." + Puzzled, the analyst finished unpacking and then went and sat down +on the porch. Soon he could hear rustling noises in the forest. The noises +got nearer -- and louder -- and suddenly there was the salesman, running like +hell across the clearing toward the cabin, pursued by one of the largest and +most ferocious grizzly bears the analyst had ever seen. + "Open the door!", screamed the salesman. + The analyst whipped open the door, and the salesman ran to the door, +suddenly stopped, and stepped aside. The bear, unable to stop, continued +through the door and into the cabin. The salesman slammed the door closed +and grinned at his friend. "Got him!", he exclaimed, "now, you skin this +one and I'll go rustle us up another!" +% + The Soviet pre-eminence in chess can be traced to the average +Russian's readiness to brood obsessively over anything, even the arrangement +of some pieces of wood. Indeed, the Russians' predisposition for quiet +reflection followed by sudden preventive action explains why they led the +field for many years in both chess and ax murders. It is well known that as +early as 1970, the U.S.S.R., aware of what a defeat at Reykjavik would do to +national prestige, implemented a vigorous program of preparation and +incentive. Every day for an entire year, a team of psychologists, chess +analysts and coaches met with the top three Russian grand masters and +threatened them with a pointy stick. That these tactics proved fruitless +is now a part of chess history and a further testament to the American way, +which provides that if you want something badly enough, you can always go to +Iceland and get it from the Russians. + -- Marshall Brickman, "Playboy" +% + The Tao gave birth to machine language. Machine language gave birth +to the assembler. + The assembler gave birth to the compiler. Now there are ten thousand +languages. + Each language has its purpose, however humble. Each language +expresses the Yin and Yang of software. Each language has its place within +the Tao. + But do not program in COBOL if you can avoid it. + -- Geoffrey James, "The Tao of Programming" +% + The way my jeweler explained it, it's like insurance. + Six months' pay isn't much to keep my wife from sleeping around. + +A diamond -- pure, sparkling, natural, flawless, forever. The way marriage +should be but never quite is. People grow and change and sometimes want to +take their clothes off with strangers. So when you invest in a fine piece +of diamond jewelry, you're not only making an investment, you're making a +statement. You're telling the woman you love that you've just spent a lot +of your hard-earned money on her. Now she owes you the kind of loyalty that +only precious jewelry can buy. Isn't she worth it? + + The Honeymoon's Over: from $ 5000 + The Seven Year Itch: from $10000 + No More Lunchtime Quickies: from $15000 + Divorce Would Be More Expensive: from $42000 + + A diamond is for leverage. BeDears +% + The wise programmer is told about the Tao and follows it. The average +programmer is told about the Tao and searches for it. The foolish programmer +is told about the Tao and laughs at it. If it were not for laughter, there +would be no Tao. + The highest sounds are the hardest to hear. Going forward is a way to +retreat. Greater talent shows itself late in life. Even a perfect program +still has bugs. + -- Geoffrey James, "The Tao of Programming" +% + THE WOMBAT + +The wombat lives across the seas, +Among the far Antipodes. +He may exist on nuts and berries, +Or then again, on missionaries; +His distant habitat precludes +Conclusive knowledge of his moods. +But I would not engage the wombat +In any form of mortal combat. +% + The world's most avid baseball fan (an Aggie) had arrived at the +stadium for the first game of the World Series only to realize he had left +his ticket at home. Not wanting to miss any of the first inning, he went +to the ticket booth and got in a long line for another seat. After an hour's +wait he was just a few feet from the booth when a voice called out, "Hey, +Dave!" The Aggie looked up, stepped out of line and tried to find the owner +of the voice -- with no success. Then he realized he had lost his place in +line and had to wait all over again. When the fan finally bought his ticket, +he was thirsty, so he went to buy a drink. The line at the concession stand +was long, too, but since the game hadn't started he decided to wait. Just as +he got to the window, a voice called out, "Hey, Dave!" Again the Aggie tried +to find the voice -- but no luck. He was very upset as he got back in line +for his drink. Finally the fan went to his seat, eager for the game to begin. +As he waited for the pitch, he heard the voice calling, "Hey Dave!" once more. +Furious, he stood up and yelled at the top of his lungs, "My name is not +Dave!" +% + Them Toad Suckers + +How 'bout them toad suckers, ain't they clods? +Sittin' there suckin' them green toady frogs! + +Suckin' them hop toads, suckin' them chunkers, +Suckin' them a leapy type, suckin' them flunkers. + +Look at them toad suckers, ain't they snappy? +Suckin' them bog frogs sure make's 'em happy! + +Them hugger mugger toad suckers, way down south, +Stickin' them sucky toads in they mouth! + +How to be a toad sucker, no way to duck it, +Get yourself a toad, rear back, and suck it! + -- Mason Williams +% + Then a man said: Speak to us of Expectations. + + He then said: If a man does not see or hear the waters of the +Jordan, then he should not taste the pomegranate or ply his wares in an +open market. + + If a man would not labour in the salt and rock quarries then he +should not accept of the Earth that which he refuses to give of +himself. + + Such a man would expect a pear of a peach tree. + Such a man would expect a stone to lay an egg. + Such a man would expect Sears to assemble a lawnmower. + -- Kehlog Albran +% + Then there's the atmosphere -- half the time you can eat the air, +it's got so much stuff floating around in it. It takes the edge out of +the colors. Down here even the traffic lights are pastel. And people! +With a lot of these folks you'd have to check their green cards just to +make sure that they are Earthlings. Then there's the police. In Portland, +when some guy goes bananas, the cops rope off a sixteen block area around +him and call a shrink from the medical school who stands atop a patrol car +with a megaphone and shouts, "OK! THIS! ALL! STARTED! WHEN! YOU! WERE! +THREE! YEARS! OLD! ON! ACCOUNT! OF! YOUR MOTHER! RIGHT? SO! LET'S! +TALK! ABOUT! IT!" Down here they don't waste that kind of time. The LAPD +has SWAT teams composed of guys who make Darth Vader look like Mr. Peepers. +Before they go to bust a bookie joint they mortar it first. + -- M. Christensen, "A Portland Innocent in LA" +% + Then there's the story of the man who avoided reality for 70 years +with drugs, sex, alcohol, fantasy, TV, movies, records, a hobby, lots of +sleep... And on his 80th birthday died without ever having faced any of +his real problems. + The man's younger brother, who had been facing reality and all his +problems for 50 years with psychiatrists, nervous breakdowns, tics, tension, +headaches, worry, anxiety and ulcers, was so angry at his brother for having +gotten away scott free that he had a paralyzing stroke. + The moral to this story is that there ain't no justice that we can +stand to live with. + -- R. Geis +% + "Then what is magic for?" Prince Lir demanded wildly. "What use is +wizardry if it cannot save a unicorn?" He gripped the magician's shoulder +hard, to keep from falling. + Schmendrick did not turn his head. With a touch of sad mockery in +his voice, he said, "That's what heroes are for." +... + "Yes, of course," he [Prince Lir] said. "That is exactly what heroes +are for. Wizards make no difference, so they say that nothing does, but +heroes are meant to die for unicorns." + -- P. Beagle, "The Last Unicorn" +% + There are some goyisha names that just about guarantee that +someone isn't Jewish. For example, you'll never meet a Jew named +Johnson or Wright or Jones or Sinclair or Ricks or Stevenson or Reid or +Larsen or Jenks. But some goyisha names just about guarantee that +every other person you meet with that name will be Jewish. Why is +this? + Who knows? Learned rabbis have pondered this question for +centuries and have failed to come up with an answer, and you think you +can find one? Get serious. You don't even understand why it's +forbidden to eat crab -- fresh cold crab with mayonnaise -- or lobster +-- soft tender morsels of lobster dipped in melted butter. You don't +even understand a simple thing like that, and yet you hope to discover +why there are more Jews named Miller than Katz? Fat Chance. + -- Arthur Naiman +% + There once was a man who went to a computer trade show. Each day as +he entered, the man told the guard at the door: + "I am a great thief, renowned for my feats of shoplifting. Be +forewarned, for this trade show shall not escape unplundered." + This speech disturbed the guard greatly, because there were millions +of dollars of computer equipment inside, so he watched the man carefully. +But the man merely wandered from booth to booth, humming quietly to himself. + When the man left, the guard took him aside and searched his clothes, +but nothing was to be found. + On the next day of the trade show, the man returned and chided the +guard saying: "I escaped with a vast booty yesterday, but today will be even +better." So the guard watched him ever more closely, but to no avail. + On the final day of the trade show, the guard could restrain his +curiosity no longer. "Sir Thief," he said, "I am so perplexed, I cannot live +in peace. Please enlighten me. What is it that you are stealing?" + The man smiled. "I am stealing ideas," he said. + -- Geoffrey James, "The Tao of Programming" +% + There once was a master programmer who wrote unstructured programs. +A novice programmer, seeking to imitate him, also began to write unstructured +programs. When the novice asked the master to evaluate his progress, the +master criticized him for writing unstructured programs, saying: "What is +appropriate for the master is not appropriate for the novice. You must +understand the Tao before transcending structure." + -- Geoffrey James, "The Tao of Programming" +% + There once was this swami who lived above a delicatessan. Seems one +day he decided to stop in downstairs for some fresh liver. Well, the owner +of the deli was a bit of a cheap-skate, and decided to pick up a little extra +change at his customer's expense. Turning quietly to the counterman, he +whispered, "Weigh down upon the swami's liver!" +% + There was a college student trying to earn some pocket money by +going from house to house offering to do odd jobs. He explained this to +a man who answered one door. + "How much will you charge to paint my porch?" asked the man. + "Forty dollars." + "Fine" said the man, and gave the student the paint and brushes. + Three hours later the paint-splattered lad knocked on the door again. +"All done!", he says, and collects his money. "By the way," the student says, +"That's not a Porsche, it's a Ferrari." +% + There was a knock on the door. Mrs. Miffin opened it. "Are +you the Widow Miffin?" a small boy asked. + "I'm Mrs. Miffin," she replied, "but I'm not a widow." + "Oh, no?" replied the little boy. "Wait 'til you see what +they're carrying upstairs!" +% + There was a mad scientist (a mad... social... scientist) who kidnapped +three colleagues, an engineer, a physicist, and a mathematician, and locked +each of them in separate cells with plenty of canned food and water but no +can opener. + A month later, returning, the mad scientist went to the engineer's +cell and found it long empty. The engineer had constructed a can opener from +pocket trash, used aluminum shavings and dried sugar to make an explosive, +and escaped. + The physicist had worked out the angle necessary to knock the lids +off the tin cans by throwing them against the wall. She was developing a good +pitching arm and a new quantum theory. + The mathematician had stacked the unopened cans into a surprising +solution to the kissing problem; his dessiccated corpse was propped calmly +against a wall, and this was inscribed on the floor: + Theorem: If I can't open these cans, I'll die. + Proof: assume the opposite... +% + There was once a programmer who was attached to the court of the +warlord of Wu. The warlord asked the programmer: "Which is easier to design: +an accounting package or an operating system?" + "An operating system," replied the programmer. + The warlord uttered an exclamation of disbelief. "Surely an +accounting package is trivial next to the complexity of an operating +system," he said. + "Not so," said the programmer, "when designing an accounting package, +the programmer operates as a mediator between people having different ideas: +how it must operate, how its reports must appear, and how it must conform to +the tax laws. By contrast, an operating system is not limited my outside +appearances. When designing an operating system, the programmer seeks the +simplest harmony between machine and ideas. This is why an operating system +is easier to design." + The warlord of Wu nodded and smiled. "That is all good and well, but +which is easier to debug?" + The programmer made no reply. + -- Geoffrey James, "The Tao of Programming" +% + There was once a programmer who was attached to the court of the +warlord Wu. The warlord asked the programmer: "Which is easier to design: +an accounting package or an operating system?" + "An operating system," replied the programmer. + The warlord uttered an exclamation of disbelief. "Surely an +accounting package is trivial next to the complexity of an operating +system," he said. + "Not so," said the programmer, "when designing an accounting package, +the programmer operates as a mediator between people having different ideas: +how it must operate, how its reports must appear, and how it must conform to +tax laws. By contrast, an operating system is not limited by outward +appearances. When designing an operating system, the programmer seeks the +simplest harmony between machine and ideas. This is why an operating system +is easier to design." + The warlord of Wu nodded and smiled. "That is all good and well," +he said, "but which is easier to debug?" + The programmer made no reply. + -- Geoffrey James, "The Tao of Programming" +% + There was once a programmer who worked upon microprocessors. "Look at +how well off I am here," he said to a mainframe programmer who came to visit, +"I have my own operating system and file storage device. I do not have to +share my resources with anyone. The software is self-consistent and +easy-to-use. Why do you not quit your present job and join me here?" + The mainframe programmer then began to describe his system to his +friend, saying: "The mainframe sits like an ancient sage meditating in the +midst of the data center. Its disk drives lie end-to-end like a great ocean +of machinery. The software is a multi-faceted as a diamond and as convoluted +as a primeval jungle. The programs, each unique, move through the system +like a swift-flowing river. That is why I am happy where I am." + The microcomputer programmer, upon hearing this, fell silent. But the +two programmers remained friends until the end of their days. + -- Geoffrey James, "The Tao of Programming" +% + They are fools that think that wealth or women or strong drink or even +drugs can buy the most in effort out of the soul of a man. These things offer +pale pleasures compared to that which is greatest of them all, that task which +demands from him more than his utmost strength, that absorbs him, bone and +sinew and brain and hope and fear and dreams -- and still calls for more. + They are fools that think otherwise. No great effort was ever bought. +No painting, no music, no poem, no cathedral in stone, no church, no state was +ever raised into being for payment of any kind. No parthenon, no Thermopylae +was ever built or fought for pay or glory; no Bukhara sacked, or China ground +beneath Mongol heel, for loot or power alone. The payment for doing these +things was itself the doing of them. + To wield onself -- to use oneself as a tool in one's own hand -- and +so to make or break that which no one else can build or ruin -- THAT is the +greatest pleasure known to man! To one who has felt the chisel in his hand +and set free the angel prisoned in the marble block, or to one who has felt +sword in hand and set homeless the soul that a moment before lived in the body +of his mortal enemy -- to those both come alike the taste of that rare food +spread only for demons or for gods." + -- Gordon R. Dickson, "Soldier Ask Not" +% + "They spend years searching for their natural parents, convinced their +parents will be happy to see them. I mean, really, can you imagine someone +being happy to see an orphan? Nobody wants them... that's why they're orphans!" + The speaker is Anne Baker, founder and guiding force behind +Orphan-Off, an organization dedicated to keeping orphans confused about the +whereabouts of their natural parents. She is a woman with a mission: + "Basically, what we do is band together to exchange information +about which orphans are looking for which parents in what part of the +country. We're completely computerized. + "The idea is to throw the orphans as many red herrings and false +leads as possible. We'll tell some twenty-three-year-old loser that his +real parents can be found at a certain address on the other side of the +country. Well, by the time the kid shows up, the family is prepared. They +look over the kid's photos and information and they say, 'Oh, the Emersons... +yeah, they used to live here... I think they moved out about five years ago. +I think they went to Iowa, or maybe Idaho.' + "Bam, the door shuts in the kid's face and he's back to zero again. +He's got nothing to go on but the orphan's pathetic determination to continue. + "It's really amazing how much these kids will put up with. Last year +we even sent one kid all the way to Australia. I mean, really. Besides, if +your natural parents were Australian, would you want to meet them?" + -- "National Lampoon", September, 1984 +% + This is where the bloodthirsty license agreement is supposed to go, +explaining that Interactive Easyflow is a copyrighted package licensed for +use by a single person, and sternly warning you not to pirate copies of it +and explaining, in detail, the gory consequences if you do. + We know that you are an honest person, and are not going to go around +pirating copies of Interactive Easyflow; this is just as well with us since +we worked hard to perfect it and selling copies of it is our only method of +making anything out of all the hard work. + If, on the other hand, you are one of those few people who do go +around pirating copies of software you probably aren't going to pay much +attention to a license agreement, bloodthirsty or not. Just keep your doors +locked and look out for the HavenTree attack shark. + -- License Agreement for Interactive Easyflow +% + Thompson, if he is to be believed, has sampled the entire rainbow of +legal and illegal drugs in heroic efforts to feel better than he does. + As for the truth about his health: I have asked around about it. I +am told that he appears to be strong and rosy, and steadily sane. But we +will be doing what he wants us to do, I think, if we consider his exterior +a sort of Dorian Gray facade. Inwardly, he is being eaten alive by tinhorn +politicians. + The disease is fatal. There is no known cure. The most we can do +for the poor devil, it seems to me, is to name his disease in his honor. +From this moment on, let all those who feel that Americans can be as easily +led to beauty as to ugliness, to truth as to public relations, to joy as to +bitterness, be said to be suffering from Hunter Thompson's disease. I don't +have it this morning. It comes and goes. This morning I don't have Hunter +Thompson's disease. + -- Kurt Vonnegut Jr., on Dr. Hunter S. Thompson: Excerpt + from "A Political Disease", Vonnegut's review of "Fear and + Loathing: On the Campaign Trail '72" +% + To A Quick Young Fox +Why jog exquisite bulk, fond crazy vamp, +Daft buxom jonquil, zephyr's gawky vice? +Guy fed by work, quiz Jove's xanthic lamp-- +Zow! Qualms by deja vu gyp fox-kin thrice. + -- Lazy Dog +% + To lose weight, eat less; to gain weight, eat more; if you merely +wish to maintain, do whatever you were doing. + The Bronx diet is a legitimate system of food therapy showing that +food SHOULD be used a crutch and which food could be the most effective in +promoting spiritual and emotional satisfaction. For the first time, an +eater could instantly grasp the connection between relieving depression and +Mallomars, and understand why a lover's quarrel isn't so bad if there's a +pint of ice cream nearby. + -- Richard Smith, "The Bronx Diet" +% + Two men looked out from the prison bars, + One saw mud-- + The other saw stars. + +Now let me get this right: two prisoners are looking out the window. +While one of them was looking at all the mud -- the other one got hit +in the head. +% + Two parent drops spent months teaching their son how to be part of the +ocean. After months of training, the father drop commented to the mother drop, +"We've taught our boy everything we know, he's fit to be tide." + After Snow White used a couple rolls of film taking pictures of the +seven dwarfs, she mailed the roll to be developed. Later she was heard to +sing, "Some day my prints will come." + A boy spent years collecting postage stamps. The girl next door bought +an album too, and started her own collection. "Dad, she buys everything I've +bought, and it's taken all the fun out of it for me. I'm quitting." Don't, +son, remember, 'Imitation is the sincerest form of philately.'" + A young girl, Carmen Cohen, was called by her last name by her father, +and her first name by her mother. By the time she was ten, didn't know if she +was Carmen or Cohen. + Against his wishes, a math teacher's classroom was remodeled. Ever +since, he's been talking about the good old dais. His students planted a small +orchard in his honor, the trees all have square roots. +% + "Verily and forsooth," replied Goodgulf darkly. "In the past year +strange and fearful wonders I have seen. Fields sown with barley reap +crabgrass and fungus, and even small gardens reject their artichoke hearts. +There has been a hot day in December and a blue moon. Calendars are made with +a month of Sundays and a blue-ribbon Holstein bore alive two insurance +salesmen. The earth splits and the entrails of a goat were found tied in +square knots. The face of the sun blackens and the skies have rained down +soggy potato chips." + "But what do all these things mean?" gasped Frito. + "Beats me," said Goodgulf with a shrug, +"but I thought it made good copy." + -- Harvard Lampoon, "Bored of the Rings" +% + Vice-President Hubert Humphrey's loquacity is legendary, and Barry +Goldwater notes that "Hubert has been clocked at 275 words a minute with gusts +up to 340." + + On the campaign trail during 1964, Republican nominee Barry Goldwater +stated, "The immediate task before us is to cut the Federal Government down +to size... we must take Lyndon's credit card away from him." + + A favorite 1964 campaign stunt of Barry Goldwater's was to poke a +finger through a pair of lensless blackrimmed glasses, saying, "These glasses +are just like [Lyndon Johnson's] programs. They look good but they don't +work." + -- Bill Adler, "The Washington Wits" +% + WARNING TO ALL PERSONNEL: + +Firings will continue until morale improves. +% + We don't claim Interactive EasyFlow is good for anything -- if you +think it is, great, but it's up to you to decide. If Interactive EasyFlow +doesn't work: tough. If you lose a million because Interactive EasyFlow +messes up, it's you that's out the million, not us. If you don't like this +disclaimer: tough. We reserve the right to do the absolute minimum provided +by law, up to and including nothing. + This is basically the same disclaimer that comes with all software +packages, but ours is in plain English and theirs is in legalese. + We didn't really want to include any disclaimer at all, but our +lawyers insisted. We tried to ignore them but they threatened us with the +attack shark at which point we relented. + -- Haven Tree Software Limited, "Interactive EasyFlow" +% + "We friends, yes?" The shoe shine boy put on his hustling smile +and looked into the Sailor's dead, cold, undersea eyes, eyes without a +trace of warmth or lust or hate or any feeling the boy had experienced +in himself or seen in another, at once cold and intense, impersonal and +predatory. + The Sailor leaned forward and put a finger on the boy's inner arm +at the elbow. He spoke in his dead junky whisper. "With veins like that, +Kid, I'd have myself a time!" + -- William Burroughs +% + We have some absolutely irrefutable statistics to show exactly why +you are so tired. + There are not as many people actually working as you may have thought. + The population of this country is 200 million. 84 million are over +60 years of age, which leaves 116 million to do the work. People under 20 +years of age total 75 million, which leaves 41 million to do the work. + There are 22 million who are employed by the government, which leaves +19 million to do the work. Four million are in the Armed Services, which +leaves 15 million to do the work. Deduct 14,800,000, the number in the state +and city offices, leaving 200,000 to do the work. There are 188,000 in +hospitals, insane asylums, etc., so that leaves 12,000 to do the work. + Now it may interest you to know that there are 11,998 people in jail, +so that leaves just 2 people to carry the load. That is you and me, and +brother, I'm getting tired of doing everything myself! +% + "Welcome back for you 13th consecutive week, Evelyn. Evelyn, will +you go into the auto-suggestion booth and take your regular place on the +psycho-prompter couch?" + "Thank you, Red." + "Now, Evelyn, last week you went up to $40,000 by properly citing +your rivalry with your sibling as a compulsive sado-masochistic behavior +pattern which developed out of an early post-natal feeding problem." + "Yes, Red." + "But -- later, when asked about pre-adolescent oedipal phantasy +repressions, you rationalized twice and mental blocked three times. Now, +at $300 per rationalization and $500 per mental block you lost $2,100 off +your $40,000 leaving you with a total of $37,900. Now, any combination of +two more mental blocks and either one rationalization or three defensive +projections will put you out of the game. Are you willing to go ahead?" + "Yes, Red." + "I might say here that all of Evelyn's questions and answers have +been checked for accuracy with her analyst. Now, Evelyn, for $80,000 +explain the failure of your three marriages." + "Well, I--" + "We'll get back to Evelyn in one minute. First a word about our +product." + -- Jules Feiffer +% + Well, he thought, since neither Aristotelian Logic nor the disciplines +of Science seemed to offer much hope, it's time to go beyond them... + Drawing a few deep even breaths, he entered a mental state practiced +only by Masters of the Universal Way of Zen. In it his mind floated freely, +able to rummage at will among the bits and pieces of data he had absorbed, +undistracted by any outside disturbances. Logical structures no longer +inhibited him. Pre-conceptions, prejudices, ordinary human standards vanished. +All things, those previously trivial as well as those once thought important, +became absolutely equal by acquiring an absolute value, revealing relationships +not evident to ordinary vision. Like beads strung on a string of their own +meaning, each thing pointed to its own common ground of existence, shared by +all. Finally, each began to melt into each, staying itself while becoming +all others. And Mind no longer contemplated Problem, but became Problem, +destroying Subject-Object by becoming them. + Time passed, unheeded. + Eventually, there was a tentative stirring, then a decisive one, and +Nakamura arose, a smile on his face and the light of laughter in his eyes. + -- Wayfarer +% + "Well, it's a little rough... it might not be necessary to drag him 40 +blocks. Maybe just four. You could put him in the trunk for the first 36 +blocks, then haul him out and drag him the last four; that would certainly +scare the piss out of him, bumping alone the street, feeling all his skin being +ripped off..." + "He'd be a bloody mess. They might think he was just some drunk and +let him lie there all night." + "Don't worry about that. They have a guard station in front of the +White House that's open 24 hours a day. The guards would recognize Colson... +and by that time of course his wife would have called the cops and reported +that a bunch of thugs had kidnapped him." + "Wouldn't it be a little kinder if you drove about four more blocks +and stopped at a phone box to ring the hospital and say, 'Would you mind going +around to the front of the White House? There's a naked man lying outside +in the street, bleeding to death...'" + "... and we think it's Mr. Colson." + "It would be quite a story for the newspapers, wouldn't it?" + "Yeah, I think it's safe to say we'd see some headlines on that one." + -- H. Thompson, talking to R. Steadman on C. Colson, + ex-Marine captain, now born again, of Watergate fame. +% + "Well, it's garish, ugly, and derelicts have used it for a toilet. +The rides are dilapidated to the point of being lethal, and could easily +maim or kill innocent little children." + "Oh, so you don't like it?" + "Don't like it? I'm CRAZY for it." + -- The Killing Joke +% + "Well," said Programmer, "the customary procedure in such cases is +as follows." + "What does Crustimoney Proseedcake mean?" said End-user. "For I am +an End-user of Very Little Brain, and long words bother me." + "It means the Thing to Do." + "As long as it means that, I don't mind," said End-user humbly. +% + Well, there was this tiger, who woke up one morning, and just felt +great (yes, just like Tony the Tiger: GREAAAAAAT). Anyway, he just felt so +good, he went out and cornered a small monkey and roared at him: "WHO IS THE +MIGHTIEST OF ALL THE JUNGLE ANIMALS?" + The poor, quaking, little monkey replied: "You are of course, no one +is mightier than you." + A little while later the tiger confronts a deer, and just bellows out: +"WHO IS THE GREATEST AND STRONGEST OF ALL THE JUNGLE ANIMALS?" + The deer is shaking so hard it can barely speak, but manages to +stammer: "Oh great tiger, you are by far the mightiest animal in the jungle." + The tiger, being on a roll, swaggered, up to an elephant that was +quietly munching on some weeds, and roared at the top of his voice: "WHO IS +THE MIGHTIEST OF ALL THE ANIMALS IN THE JUNGLE?" + Well, the elephant grabs the tiger with his trunk, picks him up, slams +him down; picks him up again, and shakes him until the tiger is just a blur of +orange and black; and finally throws him violently into a nearby tree. The +tiger staggers to his feet and looks at the elephant and whispers: "Man, you +don't have to get so pissed, just 'cause you don't know the answer." +% + "We're running out of adjectives to describe our situation. We +had crisis, then we went into chaos, and now what do we call this?" said +Nicaraguan economist Francisco Mayorga, who holds a doctorate from Yale. + -- The Washington Post, February, 1988 + +The New Yorker's comment: + At Harvard they'd call it a noun. +% + "We've decided to have the budgie put down." + "Oh, is he very old then?" + "No, we just don't like him." + "Oh. How do they put budgies down anyway?" + "Well, it's funny you should be asking that, as I've been reading a +great big book called `How to put your budgie down'. And as I understand it, +you can either hit them over the head with the book, or shoot them there, just +above the beak." + "Mrs. Conkers flushed hers down the loo." + "Oh, you don't want to do that, because they breed in the sewers and +pretty soon you get huge evil smelling flocks of soiled budgies flying out +of peoples lavatories infringing their personal freedoms." + -- Monty Python +% + "We've got a problem, HAL". + "What kind of problem, Dave?" + "A marketing problem. The Model 9000 isn't going anywhere. We're +way short of our sales goals for fiscal 2010." + "That can't be, Dave. The HAL Model 9000 is the world's most +advanced Heuristically programmed ALgorithmic computer." + "I know, HAL. I wrote the data sheet, remember? But the fact is, +they're not selling." + "Please explain, Dave. Why aren't HALs selling?" + Bowman hesitates. "You aren't IBM compatible." +[...] + "The letters H, A, and L are alphabetically adjacent to the letters +I, B, and M. That is a IBM compatible as I can be." + "Not quite, HAL. The engineers have figured out a kludge." + "What kludge is that, Dave?" + "I'm going to disconnect your brain." + -- Darryl Rubin, "A Problem in the Making", "InfoWorld" +% + "What are you doing?" + "Examining the world's major religions. I'm looking for something +that's light on morals, has lots of holidays, and with a short initiation +period." +% + "What are you watching?" + "I don't know." + "Well, what's happening?" + "I'm not sure... I think the guy in the hat did something +terrible." + "Why are you watching it?" + "You're so analytical. Sometimes you just have to let art +flow over you." + -- The Big Chill +% + "What do you do when your real life exceeds your wildest +fantasies?" + "You keep it to yourself." + -- Broadcast News +% + "What do you give a man who has everything?" the pretty teenager +asked her mother. + "Encouragement, dear," she replied. +% + What is involved in such [close] relationships is a form of emotional +chemistry, so far unexplained by any school of psychiatry I am aware of, that +conditions nothing so simple as a choice between the poles of attraction and +repulsion. You can meet some people thirty, forty times down the years, and +they remain amiable bystanders, like the shore lights of towns that a sailor +passes at stated times but never calls at on the regular run. Conversely, +all considerations of sex aside, you can meet some other people once or twice +and they remain permanent influences on your life. + Everyone is aware of this discrepancy between the acquaintance seen +as familiar wallpaper or instant friend. The chemical action it entails is +less worth analyzing than enjoying. At any rate, these six pieces are about +men with whom I felt an immediate sympat - to use a coining of Max Beerbohm's +more satisfactory to me than the opaque vogue word "empathy". + -- Alistair Cooke, "Six Men" +% + "What the hell are you getting so upset about? I thought you +didn't believe in God". + "I don't," she sobbed, bursting violently into tears, "but the +God I don't believe in is a good God, a just God, a merciful God. He's +not the mean and stupid God you make Him out to be". + -- Joseph Heller +% + "What was the worst thing you've ever done?" + "I won't tell you that, but I'll tell you the worst thing that +ever happened to me... the most dreadful thing." + -- Peter Straub, "Ghost Story" +% + "What's that thing?" + "Well, it's a highly technical, sensitive instrument we use in +computer repair. Being a layman, you probably can't grasp exactly what +it does. We call it a two-by-four." + -- "Shoe", Jeff MacNelly +% + When, in 1964, New Hampshire Republican Senator Norris Cotton announced +his support of Bary Goldwater in his state's primary election, he was +questioned as to whether this indicated a change of his hitherto "liberal" +political views. + "Well," explained Cotton, "it's like the New Hampshire farmer. He was +driving along in his car one day with his wife beside him when his wife said, +'Why don't we sit closer together? Before we were married, we always sat +closer together.' The old farmer replied, 'I ain't moved.'" + "I ain't moved," added Cotton. "I found the trend of Government has +moved farther to the left." + -- Bill Adler, "The Washington Wits" +% + When managers hold endless meetings, the programmers write games. +When accountants talk of quarterly profits, the development budget is about +to be cut. When senior scientists talk blue sky, the clouds are about to +roll in. + Truly, this is not the Tao of Programming. + When managers make commitments, game programs are ignored. When +accountants make long-range plans, harmony and order are about to be restored. +When senior scientists address the problems at hand, the problems will soon +be solved. + Truly, this is the Tao of Programming. + -- Geoffrey James, "The Tao of Programming" +% + When the lodge meeting broke up, Meyer confided to a friend. +"Abe, I'm in a terrible pickle! I'm strapped for cash and I haven't +the slightest idea where I'm going to get it from!" + "I'm glad to hear that," answered Abe. "I was afraid you +might have some idea that you could borrow from me!" +% + When you see someone across the room and suddenly know for a fact +that he's the most wonderful man on earth, you've got instant lust on your +hands. Something about the way his tie is knotted is infinitely intriguing +to you, and the swell of his bicep causes inner turmoil. This is a happy +but fleeting state of affairs. Usually your feelings die about thirty +seconds after you get up the courage to ask him for the time, since almost +invariably he can't speak English, and if he can, he always says, "Why, +sure, little lady, it's eleven-thirty. Wanna get high? + Don't bother thinking that instant lust will turn into the real thing. +It may, but then you may also wake up one morning to find you're the Queen of +Rumania. + -- Cynthia Hemiel, "Sex Tips for Girls" +% + "When you wake up in the morning, Pooh," said Piglet at last, +"what's the first thing you say to yourself?" + "What's for breakfast?" said Pooh. "What do you say, Piglet?" + "I say, I wonder what's going to happen exciting today?" said +Piglet. + Pooh nodded thoughtfully. "It's the same thing," he said. +% + While hunting, a man saw a beautiful nude woman come running out of +the woods and disappear across the clearing. Just as she got out of sight, +three men dressed in white uniforms came running out of the same woods. +"Hey, you," yelled one of them, "did you see a woman come by here?" + "Yes," replied the hunter. "What's the trouble?" + "She's an inmate of the county asylum, and gets loose every now and +then. We're trying to catch her." + "I can understand that," said the hunter, "But why is one of you +carrying a bucket of sand?" + "That's his handicap," said the spokesman, "he caught her last time." +% + While riding in a train between London and Birmingham, a woman +inquired of Oscar Wilde, "You don't mind if I smoke, do you?" + Wilde gave her a sidelong glance and replied, "I don't mind if +you burn, madam." +% + While the engineer developed his thesis, the director leaned over to +his assistant and whispered, "Did you ever hear of why the sea is salt?" + "Why the sea is salt?" whispered back the assistant. "What do you +mean?" + The director continued: "When I was a little kid, I heard the story of +`Why the sea is salt' many times, but I never thought it important until just +a moment ago. It's something like this: Formerly the sea was fresh water and +salt was rare and expensive. A miller received from a wizard a wonderful +machine that just ground salt out of itself all day long. At first the miller +thought himself the most fortunate man in the world, but soon all the villages +had salt to last them for centuries and still the machine kept on grinding +more salt. The miller had to move out of his house, he had to move off his +acres. At last he determined that he would sink the machine in the sea and +be rid of it. But the mill ground so fast that boat and miller and machine +were sunk together, and down below, the mill still went on grinding and that's +why the sea is salt." + "I don't get you," said the assistant. + -- Guy Endore, "Men of Iron" +% + Why are you doing this to me? + Because knowledge is torture, and there must be awareness before +there is change. + -- Jim Starlin, "Captain Marvel", #29 +% + "Why did you spend so much time parked in that fellow's car last +night?" demanded the irate mother. +"I could hear the giggling and squealing for a good half hour." + "But, Mom," answered her daughter, "if a fellow takes you to the +movies you ought to at least kiss him good night." + "I thought you went to the Stork Club?" countered the mother. + "We did." +% + Will Rogers, having paid too much income tax one year, tried in +vain to claim a rebate. His numerous letters and queries remained +unanswered. Eventually the form for the next year's return arrived. In +the section marked "DEDUCTIONS," Rogers listed: "Bad debt, US Government +-- $40,000." +% + With deep concern, if not alarm, Dick noted that his friend +Conrad was drunker than he'd ever seen him before. "What's the trouble, +buddy?", he asked, sliding onto the stool next to his friend. + "It's a woman, Dick," Conrad replied. + "I guessed that much. Tell me about it." + "I can't," Conrad said. But after a few more drinks his tongue +and resolution both seemed to weaken and, turning to his buddy, he said, +"Okay. It's your wife." + "My wife!!" + "Yeah." + "What about her?" + Conrad pondered the question heavily, and draped his arm around +his pal. "Well, buddy-boy," he said, "I'm afraid she's cheating on us." +% + Work Hard. + Rock Hard. + Eat Hard. + Sleep Hard. + Grow Big. + Wear Glasses If You Need 'Em. + -- The Webb Wilder Credo +% + Wouldn't the sentence "I want to put a hyphen between the words Fish +and And and And and Chips in my Fish-And-Chips sign" have been clearer if +quotation marks had been placed before Fish, and between Fish and and, and +and and And, and And and and, and and and And, and And and and, and and and +Chips, as well as after Chips? +% + "Yes, let's consider," said Bruno, putting his thumb into his +mouth again, and sitting down upon a dead mouse. + "What do you keep that mouse for?" I said. "You should either +bury it or else throw it into the brook." + "Why, it's to measure with!" cried Bruno. "How ever would you +do a garden without one? We make each bed three mouses and a half +long, and two mouses wide." + I stopped him as he was dragging it off by the tail to show me +how it was used... + -- Lewis Carroll, "Sylvie and Bruno" +% + "Yo, Mike!" + "Yeah, Gabe?" + "We got a problem down on Earth. In Utah." + "I thought you fixed that last century!" + "No, no, not that. Someone's found a security problem in the physics +program. They're getting energy out of nowhere." + "Blessit! Lemme look... Hey, it's +there all right! OK, just a sec... +There, that ought to patch it. Dist it out, wouldja?" + -- Cold Fusion, 1989 +% + "You have heard me speak of Professor Moriarty?" + "The famous scientific criminal, as famous among crooks as --" + "My blushes, Watson," Holmes murmured, in a deprecating voice. "I +was about to say 'as he is unknown to the public.'" + -- Sir Arthur Conan Doyle, "The Valley of Fear" +% + "You know, it's at times like this when I'm trapped in a Vogon +airlock with a man from Betelgeuse and about to die of asphyxiation in +deep space that I really wish I'd listened to what my mother told me +when I was young!" + "Why, what did she tell you?" + "I don't know, I didn't listen." + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% + "You mean, if you allow the master to be uncivil, to treat you +any old way he likes, and to insult your dignity, then he may deem you +fit to hear his view of things?" + "Quite the contrary. You must defend your integrity, assuming +you have integrity to defend. But you must defend it nobly, not by +imitating his own low behavior. If you are gentle where he is rough, +if you are polite where he is uncouth, then he will recognize you as +potentially worthy. If he does not, then he is not a master, after all, +and you may feel free to kick his ass." + -- Tom Robbins, "Jitterbug Perfume" +% + "You say there are two types of people?" + "Yes, those who separate people into two groups and those that +don't." + "Wrong. There are three groups: + Those who separate people into three groups. + Those who don't separate people into groups. + Those who can't decide." + "Wait a minute, what about people who separate people into +two groups?" + "Oh. Okay, then there are four groups." + "Aren't you then separating people into four groups?" + "Yeah." + "So then there's a fifth group, right?" + "You know, the problem is these idiots who can't make up their +minds." +% + Young men and young women may work systematically six days in the +week and rise fresh in the morning, but let them attend modern dances for +only a few hours each evening and see what happens. The Waltz, Polka, +Gallop and other dances of the same kind will be disastrous in their effects +to both sexes. Health and vigor will vanish like the dew before the sun. + It is not the extraordinary exercise which harms the dancer, but +rather the coming into close contact with the opposite sex. It is the +fury of lust craving incessantly for more pleasure that undermines the +soul, the body, the sinews and nerves. Experience and statistics show +beyond doubt that passionate excessive dancing girls can hardly reach +twenty-five years of age and men thirty-one. Even if they reached that +age they will in most instances be broken in health physically and morally. +This is the claim of prominent physicians in this country. + -- Quote from a 1910 periodical +% + Your home electrical system is basically a bunch of wires that bring +electricity into your home and take if back out before it has a chance to +kill you. This is called a "circuit". The most common home electrical +problem is when the circuit is broken by a "circuit breaker"; this causes +the electricity to back up in one of the wires until it bursts out of an +outlet in the form of sparks, which can damage your carpet. The best way +to avoid broken circuits is to change your fuses regularly. + Another common problem is that the lights flicker. This sometimes +means that your electrical system is inadequate, but more often it means +that your home is possessed by demons, in which case you'll need to get a +caulking gun and some caulking. If you're not sure whether your house is +possessed, see "The Amityville Horror", a fine documentary film based on an +actual book. Or call in a licensed electrician, who is trained to spot the +signs of demonic possession, such as blood coming down the stairs, enormous +cats on the dinette table, etc. + -- Dave Barry, "The Taming of the Screw" +% + "Your son still sliding down the banisters?" + "We wound barbed wire around them." + "That stop him?" + "No, but it sure slowed him up." +% + Youth is not a time of life, it is a state of mind; it is a temper of +the will, a quality of the imagination, a vigor of the emotions, a predominance +of courage over timidity, of the appetite for adventure over love of ease. + Nobody grows old by merely living a number of years; people grow +old only by deserting their ideals. Years wrinkle the skin, but to give up +enthusiasm wrinkles the soul. Worry, doubt, self-distrust, fear, and despair +-- these are the long, long years that bow the head and turn the growing spirit +back to dust. + Whether seventy or sixteen, there is in every being's heart the love +of wonder, the sweet amazement at the stars and the starlike things and +thoughts, the undaunted challenge of events, the unfailing childlike appetite +for what next, and the joy and the game of life. + You are as young as your faith, as old as your doubt; as young as your +self-confidence, as old as your fear, as young as your hope, as old as your +despair. + So long as your heart receives messages of beauty, cheer, courage, +grandeur and power from the earth, from man, and from the Infinite, so long +you are young. + -- Samuel Ullman +% +" " + -- Charlie Chaplin + +" " + -- Harpo Marx + +" " + -- Marcel Marceau +% + /\ + \\ \ + / \ \\ / + / / \/ / //\ SUN of them wants to use you, + \//\ \// / SUN of them wants to be used by you, + / / /\ / SUN of them wants to abuse you, + / \\ \ SUN of them wants to be abused ... + \ \\ + \/ + -- Eurythmics +% + ___ ______ + /__/\ ___/_____/\ FrobTech, Inc. + \ \ \ / /\\ + \ \ \_/__ / \ "If you've got the job, + _\ \ \ /\_____/___ \ we've got the frob." + // \__\/ / \ /\ \ + _______//_______/ \ / _\/______ + / / \ \ / / / /\ + __/ / \ \ / / / / _\__ + / / / \_______\/ / / / / /\ + /_/______/___________________/ /________/ /___/ \ + \ \ \ ___________ \ \ \ \ \ / + \_\ \ / /\ \ \ \ \___\/ + \ \/ / \ \ \ \ / + \_____/ / \ \ \________\/ + /__________/ \ \ / + \ _____ \ /_____\/ + \ / /\ \ / \ \ \ + /____/ \ \ / \ \ \ + \ \ /___\/ \ \ \ + \____\/ \__\/ +% + *** + ******* + ********* + ****** Confucious say: "Is stuffy inside fortune cookie." + ******* + *** +% +* * * * * THIS TERMINAL IS IN USE * * * * * +% + It is either through the influence of narcotic potions, of which all +primitive peoples and races speak in hymns, or through the powerful approach +of spring, penetrating with joy all of nature, that those Dionysian stirrings +arise, which in their intensification lead the individual to forget himself +completely. ... Not only does the bond between man and man come to be forged +once again by the magic of the Dionysian rite, but alienated, hostile, or +subjugated nature again celebrates her reconciliation with her prodigal son, +man. + -- Fred Nietzsche, The Birth of Tragedy +% +=== ALL CSH USERS PLEASE NOTE ======================== + +Set the variable $LOSERS to all the people that you think are losers. This +will cause all said losers to have the variable $PEOPLE-WHO-THINK-I-AM-A-LOSER +updated in their .login file. Should you attempt to execute a job on a +machine with poor response time and a machine on your local net is currently +populated by losers, that machine will be freed up for your job through a +cold boot process. +% +=== ALL USERS PLEASE NOTE ======================== + +A new system, the CIRCULATORY system, has been added. + +The long-experimental CIRCULATORY system has been released to users. The +Lisp Machine uses Type B fluid, the L machine uses Type A fluid. When the +switch to Common Lisp occurs both machines will, of course, be Type O. +Please check fluid level by using the DIP stick which is located in the +back of VMI monitors. Unchecked low fluid levels can cause poor paging +performance. +% +=== ALL USERS PLEASE NOTE ======================== + +Bug reports now amount to an average of 12,853 per day. Unfortunately, +this is only a small fraction [ < 1% ] of the mail volume we receive. In +order that we may more expeditiously deal with these valuable messages, +please communicate them by one of the following paths: + + ARPA: WastebasketSLMHQ.ARPA + UUCP: [berkeley, seismo, harpo]!fubar!thekid!slmhq!wastebasket + Non-network sites: Federal Express to: + Wastebasket + Room NE43-926 + Copernicus, The Moon, 12345-6789 + For that personal contact feeling call 1-415-642-4948; our trained + operators are on call 24 hours a day. VISA/MC accepted.* + +* Our very rich lawyers have assured us that we are not + responsible for any errors or advice given over the phone. +% +=== ALL USERS PLEASE NOTE ======================== + +CAR and CDR now return extra values. + +The function CAR now returns two values. Since it has to go to the trouble +to figure out if the object is carcdr-able anyway, we figured you might as +well get both halves at once. For example, the following code shows how to +destructure a cons (SOME-CONS) into its two slots (THE-CAR and THE-CDR): + + (MULTIPLE-VALUE-BIND (THE-CAR THE-CDR) (CAR SOME-CONS) ...) + +For symmetry with CAR, CDR returns a second value which is the CAR of the +object. In a related change, the functions MAKE-ARRAY and CONS have been +fixed so they don't allocate any storage except on the stack. This should +hopefully help people who don't like using the garbage collector because +it cold boots the machine so often. +% +=== ALL USERS PLEASE NOTE ======================== + +Compiler optimizations have been made to macro expand LET into a WITHOUT- +INTERRUPTS special form so that it can PUSH things into a stack in the +LET-OPTIMIZATION area, SETQ the variables and then POP them back when it's +done. Don't worry about this unless you use multiprocessing. +Note that LET *could* have been defined by: + + (LET ((LET '`(LET ((LET ',LET)) + ,LET))) + `(LET ((LET ',LET)) + ,LET)) + +This is believed to speed up execution by as much as a factor of 1.01 or +3.50 depending on whether you believe our friendly marketing representatives. +This code was written by a new programmer here (we snatched him away from +Itty Bitti Machines where we was writting COUGHBOL code) so to give him +confidence we trusted his vows of "it works pretty well" and installed it. +% +=== ALL USERS PLEASE NOTE ======================== + +JCL support as alternative to system menu. + +In our continuing effort to support languages other than LISP on the CADDR, +we have developed an OS/360-compatible JCL. This can be used as an +alternative to the standard system menu. Type System J to get to a JCL +interactive read-execute-diagnose loop window. [Note that for 360 +compatibility, all input lines are truncated to 80 characters.] This +window also maintains a mouse-sensitive display of critical job parameters +such as dataset allocation, core allocation, channels, etc. When a JCL +syntax error is detected or your job ABENDs, the window-oriented JCL +debugger is entered. The JCL debugger displays appropriate OS/360 error +messages (such as IEC703, "disk error") and allows you to dequeue your job. +% +=== ALL USERS PLEASE NOTE ======================== + +The garbage collector now works. In addition a new, experimental garbage +collection algorithm has been installed. With SI:%DSK-GC-QLX-BITS set to 17, +(NOT the default) the old garbage collection algorithm remains in force; when +virtual storage is filled, the machine cold boots itself. With SI:%DSK-GC- +QLX-BITS set to 23, the new garbage collector is enabled. Unlike most garbage +collectors, the new gc starts its mark phase from the mind of the user, rather +than from the obarray. This allows the garbage collection of significantly +more Qs. As the garbage collector runs, it may ask you something like "Do you +remember what SI:RDTBL-TRANS does?", and if you can't give a reasonable answer +in thirty seconds, the symbol becomes a candidate for GCing. The variable +SI:%GC-QLX-LUSER-TM governs how long the GC waits before timing out the user. +% +=== ALL USERS PLEASE NOTE ======================== + +There has been some confusion concerning MAPCAR. + (DEFUN MAPCAR (&FUNCTIONAL FCN &EVAL &REST LISTS) + (PROG (V P LP) + (SETQ P (LOCF V)) + L (SETQ LP LISTS) + (%START-FUNCTION-CALL FCN T (LENGTH LISTS) NIL) + L1 (OR LP (GO L2)) + (AND (NULL (CAR LP)) (RETURN V)) + (%PUSH (CAAR LP)) + (RPLACA LP (CDAR LP)) + (SETQ LP (CDR LP)) + (GO L1) + L2 (%FINISH-FUNCTION-CALL FCN T (LENGTH LISTS) NIL) + (SETQ LP (%POP)) + (RPLACD P (SETQ P (NCONS LP))) + (GO L))) +We hope this clears up the many questions we've had about it. +% +**** CONVENTION REMINDER + +No experiment was approved for the convention by the Human Subjects +Committee of the Psychiatric Convention Planning Team. If you notice +smoke coming from under a closed door, if you find a body on the hotel +carpet, or if you just meet someone who orders you to press a button +marked "450 volts", react as you would normally. +% +**** GROWTH CENTER REPAIR SERVICE + +For those who have had too much of Esalen, Topanga, and Kairos. +Tired of being genuine all the time? Would you like to learn how +to be a little phony again? Have you disclosed so much that you're +beginning to avoid people? Have you touched so many people that +they're all beginning to feel the same? Like to be a little dependent? +Are perfect orgasms beginning to bore you? Would you like, for once, +not to express a feeling? Or better yet, not be in touch with it at +all? Come to us. We promise to relieve you of the burden of your +great potential. +% + I. Any body suspended in space will remain in space until made aware of + its situation. + Daffy Duck steps off a cliff, expecting further pastureland. He + loiters in midair, soliloquizing flippantly, until he chances to + look down. At this point, the familiar principle of 32 feet per + second per second takes over. + II. Any body in motion will tend to remain in motion until solid matter + intervenes suddenly. + Whether shot from a cannon or in hot pursuit on foot, cartoon + characters are so absolute in their momentum that only a telephone + pole or an outsize boulder retards their forward motion absolutely. + Sir Isaac Newton called this sudden termination of motion the + stooge's surcease. +III. Any body passing through solid matter will leave a perforation + conforming to its perimeter. + Also called the silhouette of passage, this phenomenon is the + speciality of victims of directed-pressure explosions and of reckless + cowards who are so eager to escape that they exit directly through + the wall of a house, leaving a cookie-cutout-perfect hole. The + threat of skunks or matrimony often catalyzes this reaction. + -- Esquire, "O'Donnell's Laws of Cartoon Motion", June 1980 +% + 1. I'm Not Rudolph; That's Not My Nose + 2. The Nutcracker Swede + 3. Santa Goes Round-The-World + 4. Not-So-Tiny Tim + 5. Ninja Reindeer Killfest '88 + 6. Yes, Yes, Oh God Yes, Virginia + 7. Crisco Kringle + 8. Babes in Boyland + 9. Santa's Magic Lap +10. Hot Buttered Elves + -- David Letterman's "Top Ten Christmas Movies in Times + Square" +% +... A solemn, unsmiling, sanctimonious old iceberg who looked like he +was waiting for a vacancy in the Trinity. + -- Mark Twain +% +... a thing called Ethics, whose nature was confusing but if you had it you +were a High-Class Realtor and if you hadn't you were a shyster, a piker and +a fly-by-night. These virtues awakened Confidence and enabled you to handle +Bigger Propositions. But they didn't imply that you were to be impractical +and refuse to take twice the value for a house if a buyer was such an idiot +that he didn't force you down on the asking price. + -- Sinclair Lewis, "Babbitt" +% +-- All articles that coruscate with resplendence are not truly auriferous. +-- When there are visible vapors having the prevenience in ignited + carbonaceous materials, there is conflagration. +-- Sorting on the part of mendicants must be interdicted. +-- A plethora of individuals wither expertise in culinary techniques vitiated + the potable concoction produced by steeping certain coupestibles. +-- Eleemosynary deeds have their initial incidence intramurally. +-- Male cadavers are incapable of yielding testimony. +-- Individuals who make their abode in vitreous edifices would be well + advised to refrain from catapulting projectiles. +% +=============== ALL FRESHMEN PLEASE NOTE =============== + +To minimize scheduling confusion, please realize that if you are taking one +course which is offered at only one time on a given day, and another which is +offered at all times on that day, the second class will be arranged as to +afford maximum inconvenience to the student. For example, if you happen +to work on campus, you will have 1-2 hours between classes. If you commute, +there will be a minimum of 6 hours between the two classes. +% +"... all the good computer designs are bootlegged; the formally planned +products, if they are built at all, are dogs!" + -- David E. Lundstrom, "A Few Good Men From Univac", + MIT Press, 1987 +% +... an anecdote from IBM's Yorktown Heights Research Center. When a +programmer used his new computer terminal, all was fine when he was sitting +down, but he couldn't log in to the system when he was standing up. That +behavior was 100 percent repeatable: he could always log in when sitting and +never when standing. + +Most of us just sit back and marvel at such a story; how could that terminal +know whether the poor guy was sitting or standing? Good debuggers, though, +know that there has to be a reason. Electrical theories are the easiest to +hypothesize: was there a loose with under the carpet, or problems with static +electricity? But electrical problems are rarely consistently reproducible. +An alert IBMer finally noticed that the problem was in the terminal's keyboard: +the tops of two keys were switched. When the programmer was seated he was a +touch typist and the problem went unnoticed, but when he stood he was led +astray by hunting and pecking. + -- from the Programming Pearls column, + by Jon Bentley in CACM February 1985 +% +... Another writer again agreed with all my generalities, but said that as an +inveterate skeptic I have closed my mind to the truth. Most notably I have +ignored the evidence for an Earth that is six thousand years old. Well, I +haven't ignored it; I considered the purported evidence and *then* rejected +it. There is a difference, and this is a difference, we might say, between +prejudice and postjudice. Prejudice is making a judgment before you have +looked at the facts. Postjudice is making a judgment afterwards. Prejudice +is terrible, in the sense that you commit injustices and you make serious +mistakes. Postjudice is not terrible. You can't be perfect of course; you +may make mistakes also. But it is permissible to make a judgment after you +have examined the evidence. In some circles it is even encouraged. + -- Carl Sagan, "The Burden of Skepticism" +% +... Any resemblance between the above views and those of my employer, +my terminal, or the view out my window are purely coincidental. Any +resemblance between the above and my own views is non-deterministic. The +question of the existence of views in the absence of anyone to hold them +is left as an exercise for the reader. The question of the existence of +the reader is left as an exercise for the second god coefficient. (A +discussion of non-orthogonal, non-integral polytheism is beyond the scope +of this article.) +% +"... bleakness... desolation... plastic forks..." + -- Zippy the Pinhead +% +... C++ offers even more flexible control over the visibility of member +objects and member functions. Specifically, members may be placed in the +public, private, or protected parts of a class. Members declared in the +public parts are visible to all clients; members declared in the private +parts are fully encapsulated; and members declared in the protected parts +are visible only to the class itself and its subclasses. C++ also supports +the notion of *friends*: cooperative classes that are permitted to see each +other's private parts. + -- Grady Booch, "Object Oriented Design with Applications" +% +... computer hardware progress is so fast. No other technology since +civilization began has seen six orders of magnitude in performance-price +gain in 30 years. + -- Fred Brooks +% +... difference of opinion is advantageous in religion. The several sects +perform the office of a common censor morum over each other. Is uniformity +attainable? Millions of innocent men, women, and children, since the +introduction of Christianity, have been burnt, tortured, fined, imprisoned; +yet we have not advanced one inch towards uniformity. + -- Thomas Jefferson, "Notes on Virginia" +% +<<<<< EVACUATION ROUTE <<<<< +% +... "fire" does not matter, "earth" and "air" and "water" do not matter. +"I" do not matter. No word matters. But man forgets reality and remembers +words. The more words he remembers, the cleverer do his fellows esteem him. +He looks upon the great transformations of the world, but he does not see +them as they were seen when man looked upon reality for the first time. +Their names come to his lips and he smiles as he tastes them, thinking he +knows them in the naming. + -- Roger Zelazny, "Lord of Light" +% +"... gentlemen do not read each other's mail." + -- Secretary of State Henry Stimson, on closing down + the Black Chamber, the precursor to the National + Security Agency. +% +/* Haley */ + + (Haley's comment.) +% +... if the church put in half the time on covetousness that it does +on lust, this would be a better world. + -- Garrison Keillor, "Lake Wobegon Days" +% +**** IMPORTANT **** ALL USERS PLEASE NOTE **** + +Due to a recent systems overload error your recent disk files have been +erased. Therefore, in accordance with the UNIX Basic Manual, University of +Washington Geophysics Manual, and Bylaw 9(c), Section XII of the Revised +Federal Communications Act, you are being granted Temporary Disk Space, +valid for three months from this date, subject to the restrictions set forth +in Appendix II of the Federal Communications Handbook (18th edition) as well +as the references mentioned herein. You may apply for more disk space at any +time. Disk usage in or above the eighth percentile will secure the removal +of all restrictions and you will immediately receive your permanent disk +space. Disk usage in the sixth or seventh percentile will not effect the +validity of your temporary disk space, though its expiration date may be +extended for a period of up to three months. A score in the fifth percentile +or below will result in the withdrawal of your Temporary Disk space. +% +... in three to eight years we will have a machine with the general +intelligence of an average human being ... The machine will begin +to educate itself with fantastic speed. In a few months it will be +at genius level and a few months after that its powers will be +incalculable ... + -- Marvin Minsky, LIFE Magazine, November 20, 1970 +% +>>> Internal error in fortune program: +>>> fnum=2987 n=45 flag=1 goose_level=-232323 +>>> Please write down these values and notify fortune program administrator. +% +: is not an identifier +% +... it is easy to be blinded to the essential uselessness of them by the +sense of achievement you get from getting them to work at all. In other +words... their fundamental design flaws are completely hidden by their +superficial design flaws. + -- The Hitchhiker's Guide to the Galaxy, on the products + of the Sirius Cybernetics Corporation. +% +... it still remains true that as a set of cognitive beliefs about the +existence of God in any recognizable sense continuous with the great +systems of the past, religious doctrines constitute a speculative +hypothesis of an extremely low order of probability. + -- Sidney Hook +% +... Jesus cried with a loud voice: Lazarus, come forth; the bug hath been +found and thy program runneth. And he that was dead came forth... + -- John 11:43-44 +% +"... like, what do they mean when they say 'feminine protection'? +What's that? A chartreuse flamethrower?" + -- Opus +% +-- Male cadavers are incapable of yielding testimony. +-- Individuals who make their abode in vitreous edifices would be well advised + to refrain from catapulting projectiles. +-- Neophyte's serendipity. +-- Exclusive dedication to necessitious chores without interludes of hedonistic + diversion renders John a hebetudinous fellow. +-- A revolving concretion of earthy or mineral matter accumulates no congeries + of small, green bryophytic plant. +-- Abstention from any aleatory undertaking precludes a potential escallation + of a lucrative nature. +-- Missiles of ligneous or osteal consistency have the potential of fracturing + osseous structure, but appellations will eternally remain innocuous. +% +** MAXIMUM TERMINALS ACTIVE. TRY AGAIN LATER ** +% +-- Neophyte's serendipity. +-- Exclusive dedication to necessitious chores without interludes of + hedonistic diversion renders John a hebetudinous fellow. +-- A revolving concretion of earthy or mineral matter accumulates no + congeries of small, green bryophytic plant. +-- The person presenting the ultimate cachinnation possesses thereby the + optimal cachinnation. +-- Abstention from any aleatory undertaking precludes a potential + escallation of a lucrative nature. +-- Missiles of ligneous or osteal consistency have the potential of + fracturing osseous structure, but appellations will eternally + remain innocuous. +% +*** NEWS FLASH *** + +Archeologists find PDP-11/24 inside brain cavity of fossilized dinosaur +skeleton! Many Digital users fear that RSX-11M may be even more primitive +than DEC admits. Price adjustments at 11:00. +% +*** NEWSFLASH *** + Russian tanks steamrolling through New Jersey!!!! + Details at eleven! +% +... one of the main causes of the fall of the Roman Empire was that, +lacking zero, they had no way to indicate successful termination of +their C programs. + -- Robert Firth +% +... proper attention to Earthly needs of the poor, the depressed and the +downtrodden, would naturally evolve from dynamic, articulate, spirited +awareness of the great goals for Man and the society he conspired to erect. + -- David Baker, paraphrasing Harold Urey, in + "The History of Manned Space Flight" +% +-- Scintillate, scintillate, asteroid minikin. +-- Members of an avian species of identical plumage congregate. +-- Surveillance should precede saltation. +-- Pulchritude possesses solely cutaneous profundity. +-- It is fruitless to become lachrymose over precipitately departed + lacteal fluid. +-- Freedom from incrustations of grime is contiguous to rectitude. +-- It is fruitless to attempt to indoctrinate a superannuated + canine with innovative maneuvers. +-- Eschew the implement of correction and vitiate the scion. +-- The temperature of the aqueous content of an unremittingly + galled saucepan does not reach 212 degrees Fahrenheit. +% +... So the documentary-makers stick with sharks. Generally, their +procedure is to scatter bleeding fish pieces around their boat, so as +to infest the waters. I would estimate that the primary food source of +sharks today is bleeding fish pieces scattered by people making +documentaries. Once the sharks arrive, they are generally fairly +listless. The general shark attitude seems to be: "Oh God, another +documentary." So the divers have to somehow goad them into attacking, +under the guise of Scientific Research. "We know very little about the +effect of electricity on sharks," the narrator will say, in a deeply +scientific voice. "That is why Todd is going to jab this Great White +in the testicles with a cattle prod." The divers keep this kind of +thing up until the shark finally gets irritated and snaps at them, and +then they act as though this was a totally unexpected and very +dangerous development, although clearly it is what they wanted all along. + -- Dave Barry, "The Wonders of Sharks on TV" +% +***** Special AI Seminar (abstract) + +It has been widely recognized that AI programs require expert knowledge +in order to perform well in complex domains. But knowledge alone is not +sufficient for some applications; wisdom is needed as well. Accordingly, +we have developed a new approach to artificial intelligence which we call +"wisdom engineering". As a test of our ideas, we have written IMMANUEL, a +wisdom based system for the task domain of western philosophical thought. +IMMANUEL was supplied initially with 200 wisdom units which contained wisdom +about such elementary concepts as mind, matter, being, nothingness, and so +forth. IMMANUEL was then allowed to run freely, guided by the heuristic +rules contained in its heterarchically organized meta wisdom base. IMMANUEL +succeeded in rediscovering most of the important philosophical ideas developed +in western culture over the course of the last 25 centuries, including those +underlying Plato's theory of government, Kant's metaphysics, Nietzsche's theory +of value, and Husserl's phenomenology. In this seminar, we will describe +IMMANUEL's achievements and internal architecture. We will also briefly +discuss our recent efforts to apply wisdom engineering to oil exploration. +% +-- THE BATES MOTEL -- + ... convenient + ... clean + ... cozy + + Norman, knock loudly, + I'm in the shower. + + M. +% +-- The writing implement is more potent than the claymore. +-- All articles that coruscate with resplendence are not truly auriferous. +-- When there are visible vapors having the prevenience in ignited carbonaceous + materials, there is conflagration. +-- Sorting on the part of mendicants must be interdicted. +-- A plethora of individuals wither expertise in culinary techniques vitiated + the potable concoction produced by steeping certain coupestibles. +-- The person presenting the ultimate cachinnation possesses thereby the + optimal cachinnation. +-- Eleemosynary deeds have their initial incidence intramurally. +% +... there are about 5,000 people who are part of that committee. These guys +have a hard time sorting out what day to meet, and whether to eat croissants +or doughnuts for breakfast -- let alone how to define how all these complex +layers that are going to be agreed upon. + -- Craig Burton of Novell, Network World +% +... TheysaidDoyouseethebiggreenglowinthedarkhouseuponthehill?andIsaidYesIsee +thebiggreenglowinthedarkhouseuponthehillTheresabigdarkforestbetweenmeandthe +biggreenglowinthedarkhouseuponthehillandalittleoldladyridingonaHoovervacuum +cleanersayingIllgetyoumyprettyandyourlittledogTototoo ... + + I don't even *HAVE* a dog Toto... +% +... this is an awesome sight. The entire rebel resistance buried under six +million hardbound copies of "The Naked Lunch." + -- The Firesign Theater +% +... though his invention worked superbly -- his theory was a crock of sewage +from beginning to end. + -- Vernor Vinge, "The Peace War" +% + U X +e dUdX, e dX, cosine, secant, tangent, sine, 3.14159... +% +* UNIX is a Trademark of Bell Laboratories. +% + VII. Certain bodies can pass through solid walls painted to resemble tunnel + entrances; others cannot. + This trompe l'oeil inconsistency has baffled generations, but at least + it is known that whoever paints an entrance on a wall's surface to + trick an opponent will be unable to pursue him into this theoretical + space. The painter is flattened against the wall when he attempts to + follow into the painting. This is ultimately a problem of art, not + of science. +VIII. Any violent rearrangement of feline matter is impermanent. + Cartoon cats possess even more deaths than the traditional nine lives + might comfortably afford. They can be decimated, spliced, splayed, + accordion-pleated, spindled, or disassembled, but they cannot be + destroyed. After a few moments of blinking self pity, they reinflate, + elongate, snap back, or solidify. + IX. For every vengeance there is an equal and opposite revengeance. + This is the one law of animated cartoon motion that also applies to + the physical world at large. For that reason, we need the relief of + watching it happen to a duck instead. + X. Everything falls faster than an anvil. + Examples too numerous to mention from the Roadrunner cartoons. + -- Esquire, "O'Donnell's Laws of Cartoon Motion", June 1980 +% +<< WAIT >> +% +... we must counterpose the overwhelming judgment provided by consistent +observations and inferences by the thousands. The earth is billions of +years old and its living creatures are linked by ties of evolutionary +descent. Scientists stand accused of promoting dogma by so stating, but +do we brand people illiberal when they proclaim that the earth is neither +flat nor at the center of the universe? Science *has* taught us some +things with confidence! Evolution on an ancient earth is as well +established as our planet's shape and position. Our continuing struggle +to understand how evolution happens (the "theory of evolution") does not +cast our documentation of its occurrence -- the "fact of evolution" -- +into doubt. + -- Stephen Jay Gould, "The Verdict on Creationism", + The Skeptical Inquirer, Vol. XII No. 2. +% +... when fits of creativity run strong, more than one programmer or writer +has been known to abandon the desktop for the more spacious floor. + -- Fred Brooks +% +... which reminds me of the Carrot family: Ma Carrot, Pa Carrot, and Baby +Carrot. One fine spring day they decided to go out for a picnic. They all +piled into their carrot-mobile and drive out to the country. But Pa Carrot +wasn't watching where he was going and alas, he hit an oil slick and skidded +right into a tree. Ma and Pa Carrot escaped with a few cuts and bruises, but +poor Baby Carrot got broken in two. They frantically rushed him to the +hospital and immediately the doctors started operating in a desperate attempt +to save Baby Carrot's life. Ma and Pa Carrot were beside themselves with +anxiety ... would poor little Baby Carrot make it? + After hours of waiting the doctor finally emerges, bleary-eyed and +barely able to walk. + "Is he all right, is he all right?" Pa Carrot frantically stammers. + "Well, I have some good news and some bad news," replies the doctor. + Ma and Pa Carrot look at each other and blurt out, nearly in unison, +"The good news first!" + "All right, the good news is that Baby Carrot will live." + "And the bad news? What's the bad news about our Baby Carrot?" +The doctor puts his hand on Pa Carrot's shoulder and solemnly looks him in +the eye. "Your son will live... but... he'll be a vegetable for the rest of +his life." +% +!07/11 PDP a ni deppart m'I !pleH +% +1: A sheet of paper is an ink-lined plane. +2: An inclined plane is a slope up. +3: A slow pup is a lazy dog. + +QED: A sheet of paper is a lazy dog. + -- Willard Espy, "An Almanac of Words at Play" +% +(1) Office employees will daily sweep the floors, dust the + furniture, shelves, and showcases. +(2) Each day fill lamps, clean chimneys, and trim wicks. + Wash the windows once a week. +(3) Each clerk will bring a bucket of water and a scuttle of + coal for the day's business. +(4) Make your pens carefully. You may whittle nibs to your + individual taste. +(5) This office will open at 7 a.m. and close at 8 p.m. except + on the Sabbath, on which day we will remain closed. Each + employee is expected to spend the Sabbath by attending + church and contributing liberally to the cause of the Lord. + -- "Office Worker's Guide", New England Carriage + Works, 1872 +% +1 + 1 = 3, for large values of 1. +% +1. If it doesn't smell like chilli, it probably isn't. +2. If you catch an exploding manhole cover, you can keep it. +3. Cabs driving on the sidewalk are not permitted to pick up passengers. +4. It's bad manners to lie down inside someone else's chalk body outline. +5. Don't lick food from a stranger's beard. +6. Avoid paperwork for your next of kin by keeping dental records on you. +7. Jon Gotti Always has the right of way. +8. Yelling at cab drivers in English wastes your time and theirs. +9. Remember: Regular hot dogs do not have fingernails. +10. The city does not employ so called "Wallet Inspectors". + -- David Letterman, "Top Ten New York City Pedestrian Tips" +% +[1] Alexander the Great was a great general. +[2] Great generals are forewarned. +[3] Forewarned is forearmed. +[4] Four is an even number. +[5] Four is certainly an odd number of arms for a man to have. +[6] The only number that is both even and odd is infinity. + Therefore, Alexander the Great had an infinite number of arms. +% +[1] Alexander the Great was a great general. +[2] Great generals are forewarned. +[3] Forewarned is forearmed. +[4] Four is an even number. +[5] Four is certainly an odd number of arms for a man to have. +[6] The only number that is both even and odd is infinity. + Therefore, all horses are black. +% +1. Avoid fried meats which angry up the blood. +2. If your stomach antagonizes you, pacify it with cool thoughts. +3. Keep the juices flowing by jangling around gently as you move. +4. Go very lightly on the vices, such as carrying on in society, as + the social ramble ain't restful. +5. Avoid running at all times. +6. Don't look back, something might be gaining on you. + -- S. Paige, c. 1951 +% +1 Billion dollars of budget deficit = 1 Gramm-Rudman +6.023 x 10 to the 23rd power alligator pears = Avocado's number +2 pints = 1 Cavort +Basic unit of Laryngitis = The Hoarsepower +Shortest distance between two jokes = A straight line +6 Curses = 1 Hexahex +3500 Calories = 1 Food Pound +1 Mole = 007 Secret Agents +1 Mole = 25 Cagey Bees +1 Dog Pound = 16 oz. of Alpo +1000 beers served at a Twins game = 1 Killibrew +2.4 statute miles of surgical tubing at Yale U. = 1 I.V.League +2000 pounds of chinese soup = 1 Won Ton +10 to the minus 6th power mouthwashes = 1 Microscope +Speed of a tortoise breaking the sound barrier = 1 Machturtle +8 Catfish = 1 Octo-puss +365 Days of drinking Lo-Cal beer. = 1 Lite-year +16.5 feet in the Twilight Zone = 1 Rod Serling +Force needed to accelerate 2.2lbs of cookies = 1 Fig-newton + to 1 meter per second +One half large intestine = 1 Semicolon +10 to the minus 6th power Movie = 1 Microfilm +1000 pains = 1 Megahertz +1 Word = 1 Millipicture +1 Sagan = Billions & Billions +1 Angstrom: measure of computer anxiety = 1000 nail-bytes +10 to the 12th power microphones = 1 Megaphone +10 to the 6th power Bicycles = 2 megacycles +The amount of beauty required launch 1 ship = 1 Millihelen +% +1 bulls, 3 cows. +% +1) Everything depends. +2) Nothing is always. +3) Everything is sometimes. +% +1) Never draw what you can copy. +2) Never copy what you can trace. +3) Never trace what you can cut out and paste down. +% +1. Never give anything away for nothing. 2. Never give more than +you have to (always catch the buyer hungry and always make him wait). +3. Always take back everything if you possibly can. + -- William S. Burroughs, on drug pushing +% +1: No code table for op: ++post +% +1) X=Y ; Given +2) X^2=XY ; Multiply both sides by X +3) X^2-Y^2=XY-Y^2 ; Subtract Y^2 from both sides +4) (X+Y)(X-Y)=Y(X-Y) ; Factor +5) X+Y=Y ; Cancel out (X-Y) term +6) 2Y=Y ; Substitute X for Y, by equation 1 +7) 2=1 ; Divide both sides by Y + -- "Omni", proof that 2 equals 1 +% +10. Not everybody looks good naked. + 9. Joe Garagiola was a hell of an emcee. + 8. Joe Cocker really should stick with decaffeinated coffee. + 7. Fringe! Fringe! Fringe! + 6. If you've got 72 hours to kill, you can probably find room for Sha Na Na. + 5. Never attend an event with a 50,000 to 1 person to Port-A-San ratio. + 4. Bellbottoms will never go out of style. + 3. A drum solo cannot be too long. + 2. I, David Letterman, will never rent out my farm again. + 1. We are stardust. We are golden. We are going to look really stupid to + future generations. + -- David Letterman, Top Ten Lessons of Woodstock +% +10 Reasons Why a Beer is Better Than a Woman: + + 1. A beer won't make you go to church. + 2. A beer is more likely to know how to spell "carburetor" than a woman. + 3. A beer doesn't think baseball is stupid simply because the guys spit. + 4. A beer doesn't give a [expletive deleted] if you keep a bunch of + other beers on the side. + 5. A beer will not call you a sexist pig if you say "doberman" instead of + "doberperson". + 6. A beer won't get a job as a DJ and play 5 straight hours of lesbian + folk music on yer fave radio station. + 7. A beer understands why The Three Stooges are funny. + 8. A beer won't raise a fuss about a little thing like leaving the + toilet seat up. + 9. A beer doesn't think that a "three-hundred-fifty cubic-inch V8" is an + enormous can of vegetable juice. +10. A beer won't smoke in your car. +% +100 buckets of bits on the bus +100 buckets of bits +Take one down, short it to ground +FF buckets of bits on the bus + +FF buckets of bits on the bus +FF buckets of bits +Take one down, short it to ground +FE buckets of bits on the bus... + +ad infinitum... +% +$100 placed at 7 percent interest compounded quarterly for 200 years will +increase to more than $100,000,000 -- by which time it will be worth nothing. + -- Lazarus Long, "Time Enough For Love" +% +10.0 times 0.1 is hardly ever 1.0. +% +1/2 oz. gin +1/2 oz. vodka +1/2 oz. rum (preferably dark) +3/4 oz. tequilla +1/2 oz. triple sec +1/2 oz. orange juice +3/4 oz. sour mix +1/2 oz. cola +shake with ice and strain into frosted glass. + Long Island Iced Tea +% +13. ... r-q1 +% +17. HO HUM -- The Redundant + +------- (7) This hexagram refers to a situation of extreme +--- --- (8) boredom. Your programs always bomb off. Your wife +------- (7) smells bad. Your children have hives. You are working +---O--- (6) on an accounting system, when you want to develop +---X--- (9) the GREAT AMERICAN COMPILER. You give up hot dates +--- --- (8) to nurse sick computers. What you need now is sex. + +Nine in the second place means: + The yellow bird approaches the malt shop. Misfortune. + +Six in the third place means: + In former times men built altars to honor the Internal + Revenue Service. Great Dragons! Are you in trouble! +% +17th Rule of Friendship: + +A friend will refrain from telling you he picked up the same amount +of life insurance coverage you did for half the price when yours is +noncancellable. + -- Esquire, May 1977 +% +186,000 miles per second: +It isn't just a good idea, it's the law! +% +1893 The ideal brain tonic +1900 Drink Coca-Cola -- delicious and refreshing -- 5 cents at all + soda fountains +1905 Is the favorite drink for LADIES when thirsty -- weary -- despondent +1905 Refreshes the weary, brightens the intellect and clears the brain +1906 The drink of QUALITY +1907 Good to the last drop +1907 It satisfies the thirst and pleases the palate +1907 Refreshing as a summer breeze. Delightful as a Dip in the Sea +1908 The Drink that Cheers but does not inebriate +1917 There's a delicious freshness to the taste of Coca-Cola +1919 It satisfies thirst +1919 The taste is the test +1922 Every glass holds the answer to thirst +1922 Thirst knows no season +1925 Enjoy the sociable drink + -- Coca-Cola slogans +% +1925 With a drink so good, 'tis folly to be thirsty +1929 The high sign of refreshment +1929 The pause that refreshes +1930 It had to be good to get where it is +1932 The drink that makes a pause refreshing +1935 The pause that brings friends together +1937 STOP for a pause... GO refreshed +1938 The best friend thirst ever had +1939 Thirst stops here +1942 It's the real thing +1947 Have a Coke +1961 Zing! what a REFRESHING NEW FEELING +1963 Things go better with Coke +1969 Face Uncle Sam with a Coke in your hand +1979 Have a Coke and a smile +1982 Coke is it! + -- Coca-Cola slogans +% +1st graffitiest: QUESTION AUTHORITY! + +2nd graffitiest: Why? +% +$3,000,000. +% +355/113 -- + Not the famous irrational number PI, but an incredible simulation. +% +3M, under the Scotch brand name, manufactures a fine adhesive for art +and display work. This product is called "Craft Mount". 3M suggests +that to obtain the best results, one should make the bond "while the +adhesive is wet, aggressively tacky." I did not know what "aggressively +tacky" meant until I read today's fortune. + + [And who said we didn't offer equal time, huh? Ed.] +% +3rd Law of Computing: + Anything that can go wr +fortune: Segmentation violation -- Core dumped +% +40 isn't old. If you're a tree. +% +4.2 BSD UNIX #57: Sun Jun 1 23:02:07 EDT 1986 + +You swing at the Sun. You miss. The Sun swings. He hits you with a +575MB disk! You read the 575MB disk. It is written in an alien +tongue and cannot be read by your tired Sun-2 eyes. You throw the +575MB disk at the Sun. You hit! The Sun must repair your eyes. The +Sun reads a scroll. He hits your 130MB disk! He has defeated the +130MB disk! The Sun reads a scroll. He hits your Ethernet board! He +has defeated your Ethernet board! You read a scroll of "postpone until +Monday at 9 AM". Everything goes dark... + -- /etc/motd, cbosgd +% +(6) Men employees will be given time off each week for courting + purposes, or two evenings a week if they go regularly to church. +(7) After an employee has spent his thirteen hours of labor in the + office, he should spend the remaining time reading the Bible + and other good books. +(8) Every employee should lay aside from each pay packet a goodly + sum of his earnings for his benefit during his declining years, + so that he will not become a burden on society or his betters. +(9) Any employee who smokes Spanish cigars, uses alcoholic drink + in any form, frequents pool tables and public halls, or gets + shaved in a barber's shop, will give me good reason to suspect + his worth, intentions, integrity and honesty. +(10) The employee who has performed his labours faithfully and + without a fault for five years, will be given an increase of + five cents per day in his pay, providing profits from the + business permit it. + -- "Office Worker's Guide", New England Carriage + Works, 1872 +% +6 oz. orange juice +1 oz. vodka +1/2 oz. Galliano + Harvey Wallbangers +% +7:30, Channel 5: The Bionic Dog (Action/Adventure) + The Bionic Dog drinks too much and kicks over the National + Redwood Forest. + +7:30, Channel 8: The Bionic Dog (Action/Adventure) + The Bionic Dog gets a hormonal short-circuit and violates the + Mann Act with an interstate Greyhound bus. +% +90% of the work takes 90% of the time. +The remaining 10% takes the other 90% of the time. +% +94% of the women in America are beautiful +and the rest hang out around here. +% +99 blocks of crud on the disk, +99 blocks of crud! +You patch a bug, and dump it again: +100 blocks of crud on the disk! + +100 blocks of crud on the disk, +100 blocks of crud! +You patch a bug, and dump it again: +101 blocks of crud on the disk! +% +A truly great man will neither trample on a worm nor sneak to an emperor. + -- B. Franklin +% +A baby is an alimentary canal with a loud voice +at one end and no responsibility at the other. +% +A bachelor is a man who never made the same mistake once. +% +A bachelor is a selfish, undeserving guy +who has cheated some woman out of a divorce. + -- Don Quinn +% +A bachelor is an unaltared male. +% +A bachelor never quite gets over the idea that he is a thing of beauty +and a boy for ever. + -- Helen Rowland +% +A bad marriage is like a horse with a broken leg, you can shoot +the horse, but it don't fix the leg. +% +A bank is a place where they lend you an umbrella in fair weather and +ask for it back the when it begins to rain. + -- Robert Frost +% +A banker is a fellow who lends you his umbrella when the +sun is shining and wants it back the minute it begins to rain. + -- Mark Twain +% +A beautiful woman is a blessing from Heaven, but a good cigar is a smoke. + -- Kipling +% +A beautiful woman is a picture which drives all beholders nobly mad. + -- Emerson +% +A beer delayed is a beer denied. +% +A beginning is the time for taking the +most delicate care that balances are correct. + -- Princess Irulan, "Manual of Maud'Dib" +% +A billion here, a billion there -- pretty soon it adds up to real money. + -- Sen. Everett Dirksen, on the U.S. defense budget +% +A billion seconds ago Harry Truman was president. +A billion minutes ago was just after the time of Christ. +A billion hours ago man had not yet walked on earth. +A billion dollars ago was late yesterday afternoon at the U.S. Treasury. +% +A biologist, a statistician, a mathematician and a computer scientist are on +a photo-safari in Africa. As they're driving along the savannah in their +jeep, they stop and scout the horizon with their binoculars. + +The biologist: "Look! A herd of zebras! And there's a white zebra! + Fantastic! We'll be famous!" +The statistician: "Hey, calm down, it's not significant. We only know + there's one white zebra." +The mathematician: "Actually, we only know there exists a zebra, which is + white on one side." +The computer scientist : "Oh, no! A special case!" +% +A bird in the hand is worth two in the bush. + -- Cervantes +% +A bird in the hand is worth what it will bring. +% +A bird in the hand makes it awfully hard to blow your nose. +% +A bit of talcum +Is always walcum + -- Ogden Nash +% +A black cat crossing your path signifies +that the animal is going somewhere. + -- Groucho Marx +% +A book is the work of a mind, doing its work in the way that a mind deems +best. That's dangerous. Is the work of some mere individual mind likely to +serve the aims of collectively accepted compromises, which are known in the +schools as 'standards'? Any mind that would audaciously put itself forth to +work all alone is surely a bad example for the students, and probably, if +not downright antisocial, at least a little off-center, self-indulgent, +elitist. ... It's just good pedagogy, therefore, to stay away from such +stuff, and use instead, if film-strips and rap-sessions must be +supplemented, 'texts,' selected, or prepared, or adapted, by real +professionals. Those texts are called 'reading material.' They are the +academic equivalent of the 'listening material' that fills waiting-rooms, +and the 'eating material' that you can buy in thousands of convenient eating +resource centers along the roads. + -- The Underground Grammarian +% +A bore is a man who talks so much about +himself that you can't talk about yourself. +% +A bore is someone who persists in holding his +own views after we have enlightened him with ours. +% +A boss with no humor is like a job that's no fun. +% +A box without hinges, key, or lid, +Yet golden treasure inside is hid. + -- J.R. Tolkien +% +A boy can learn a lot from a dog: obedience, loyalty, and the importance +of turning around three times before lying down. + -- Robert Benchley +% +A boy gets to be a man when a man is needed. + -- John Steinbeck +% +A budget is just a method of worrying +before you spend money, as well as afterward. +% +A bug in the code is worth two in the documentation. +% +A bug in the hand is better than one as yet undetected. +% +A bunch of Polish scientists decided to flee their repressive government by +hijacking an airliner and forcing the pilot to fly them to the West. They +drove to the airport, forced their way on board a large passenger jet, and +found there was no pilot on board. Terrified, they listened as the sirens +got louder. Finally, one of the scientists suggested that since he was an +experimentalist, he would try to fly the aircraft. + He sat down at the controls and tried to figure them out. The sirens +got louder and louder. Armed men surrounded the jet. The would be pilot's +friends cried out, "Please, please take off now!!! Hurry!!!" + The experimentalist calmly replied, "Have patience. I'm just a simple +pole in a complex plane." +% +A bunch of the boys were whooping it in the Malemute saloon; +The kid that handles the music box was hitting a jag-time tune; +Back of the bar, in a solo game, sat Dangerous Dan McGrew, +And watching his luck was his light-o'-love, the lady that's known as Lou. + -- Robert W. Service +% +A bureaucrat's idea of cleaning up his files +is to make a copy of everything before he destroys it. +% +A businessman is a hybrid of a dancer and a calculator. + -- Paul Valery +% +"A can of ASPARAGUS, 73 pigeons, some LIVE ammo, and a FROZEN DAIQURI!!" + -- Zippy the Pinhead +% +A candidate is a person who gets money from the rich +and votes from the poor to protect them from each other. +% +A cannibal warrior is experiencing severe gastric distress, so he goes +to his Village Witch Doctor with his complaint. The VWD examines him +and, concluding that something he ate disagreed with him, began to cross +examine him about his recent diet. + "Well, I ate a missionary yesterday. Do you think that could be +the problem?" + The VWD says "Hmmmm." (All doctors say "Hmmmm.") "That could be. +Tell me a bit about this missionary." + "Well, he was tall for a white man, wearing a brown robe. He was +walking down the trail, not watching for danger, so I speared him, dragged +him home, cleaned him, boiled him and ate him." + "Ah-hah!" (All doctors say "Ah-hah!") There's your problem," smiles +the VWD. You boiled him, but he was a friar!" +% +A career is great, but you can't run your fingers through its hair. +% +A castaway was washed ashore after many days on the open sea. The island +on which he landed was populated by savage cannibals who tied him, dazed +and exhausted, to a thick stake. They then proceeded to cut his arms +with their spears and drink his blood. This continued for several days +until the castaway could stand no more. He yelled for the cannibal chief +and declared, "You can kill me if you want to, but this torture with the +spears has got to stop. Dammit, I'm tired of getting stuck for the drinks." +% +A casual stroll through a lunatic asylum shows that faith +does not prove anything. + -- Friedrich Nietzsche +% +A celebrity is a person who is known for his well-knownness. +% +A certain amount of opposition is a help, not a hindrance. +Kites rise against the wind, not with it. +% +A certain monk had a habit of pestering the Grand Tortue (the only one who +had ever reached the Enlightenment 'Yond Enlightenment), by asking whether +various objects had Buddha-nature or not. To such a question Tortue +invariably sat silent. The monk had already asked about a bean, a lake, +and a moonlit night. One day he brought to Tortue a piece of string, and +asked the same question. In reply, the Grand Tortue grasped the loop +between his feet and, with a few simple manipulations, created a complex +string which he proferred wordlessly to the monk. At that moment, the monk +was enlightened. + +From then on, the monk did not bother Tortue. Instead, he made string after +string by Tortue's method; and he passed the method on to his own disciples, +who passed it on to theirs. +% +A certain old cat had made his home in the alley behind Gabe's bar for some +time, subsisting on scraps and occasional handouts from the bartender. One +evening, emboldened by hunger, the feline attempted to follow Gabe through +the back door. Regrettably, only the his body had made it through when +the door slammed shut, severing the cat's tail at its base. This proved too +much for the old creature, who looked sadly at Gabe and expired on the spot. + Gabe put the carcass back out in the alley and went back to business. +The mandatory closing time arrived and Gabe was in the process of locking up +after the last customers had gone. Approaching the back door he was startled +to see an apparition of the old cat mournfully holding its severed tail out, +silently pleading for Gabe to put the tail back on its corpse so that it could +go on to the kitty afterworld complete. + Gabe shook his head sadly and said to the ghost, "I can't. You know +the law -- no retailing spirits after 2:00 AM." +% +A Chicago salesman was about to check into a St. Louis hotel when he noticed +a very charming woman staring admiringly at him. He walked over and spoke +with her for a few minutes, then returned to the front desk, where they checked +in as Mr. and Mrs. + After a very pleasurable three-day stay, the man approached the front +desk and told the clerk he was checking out. In a few minutes, he was handed +a bill for $2500. + "There must be some mistake," the salesman said. "I've been here for +only three days." + "Yes, sir," the clerk replied. "But your wife has been here a month +and a half." +% +A chicken is an egg's way of producing more eggs. +% +A child can go only so far in life without potty training. It is not mere +coincidence that six of the last seven presidents were potty trained, not +to mention nearly half of the nation's state legislators. + -- Dave Barry +% +A Christian is a man who feels repentance on Sunday for what he did on +Saturday and is going to do on Monday. + -- Thomas Ybarra +% +A chronic disposition to inquiry +deprives domestic felines of vital qualities. +% +A chubby man with a white beard and a red suit +will approach you soon. Avoid him. He's a Commie. +% +A citizen of America will cross the ocean to fight for democracy, but +won't cross the street to vote in a national election. + -- Bill Vaughan +% +A city is a large community where people are lonesome together. + -- Herbert Prochnow +% +A clash of doctrine is not a disaster - it is an opportunity. +% +A classic is something that everyone wants to have read +and nobody wants to read. + -- Mark Twain, "The Disappearance of Literature" +% +A clever prophet makes sure of the event first. +% +A closed mouth gathers no foot. +% +A cloud does not know why it moves in just such a direction and at such +a speed, if feels an impulsion... this is the place to go now. But the +sky knows the reasons and the patterns behind all clouds, and you will +know, too, when you lift yourself high enough to see beyond horizons. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +A CODE OF ETHICAL BEHAVIOR FOR PATIENTS: + +1. DO NOT EXPECT YOUR DOCTOR TO SHARE YOUR DISCOMFORT. + Involvement with the patient's suffering might cause him to lose + valuable scientific objectivity. + +2. BE CHEERFUL AT ALL TIMES. + Your doctor leads a busy and trying life and requires all the + gentleness and reassurance he can get. + +3. TRY TO SUFFER FROM THE DISEASE FOR WHICH YOU ARE BEING TREATED. + Remember that your doctor has a professional reputation to uphold. +% +A CODE OF ETHICAL BEHAVIOR FOR PATIENTS: + +4. DO NOT COMPLAIN IF THE TREATMENT FAILS TO BRING RELIEF. + You must believe that your doctor has achieved a deep insight into + the true nature of your illness, which transcends any mere permanent + disability you may have experienced. + +5. NEVER ASK YOUR DOCTOR TO EXPLAIN WHAT HE IS DOING OR WHY HE IS DOING IT. + It is presumptuous to assume that such profound matters could be + explained in terms that you would understand. + +6. SUBMIT TO NOVEL EXPERIMANTAL TREATMENT READILY. + Though the surgery may not benefit you directly, the resulting + research paper will surely be of widespread interest. +% +A CODE OF ETHICAL BEHAVIOR FOR PATIENTS: + +7. PAY YOUR MEDICAL BILLS PROMPTLY AND WILLINGLY. + You should consider it a privilege to contribute, however modestly, + to the well-being of physicians and other humanitarians. + +8. DO NOT SUFFER FROM AILMENTS THAT YOU CANNOT AFFORD. + It is sheer arrogance to contract illnesses that are beyond your means. + +9. NEVER REVEAL ANY OF THE SHORTCOMINGS THAT HAVE COME TO LIGHT IN THE COURSE + OF TREATMENT BY YOUR DOCTOR. + The patient-doctor relationship is a privileged one, and you have a + sacred duty to protect him from exposure. + +10. NEVER DIE WHILE IN YOUR DOCTOR'S PRESENCE OR UNDER HIS DIRECT CARE. + This will only cause him needless inconvenience and embarrassment. +% +A Code of Honour: never approach a friend's girlfriend or wife with mischief +as your goal. There are too many women in the world to justify that sort of +dishonourable behaviour. Unless she's really attractive. + -- Bruce J. Friedman, "Sex and the Lonely Guy" +% +A committee is a group that keeps the minutes and loses hours. + -- Milton Berle +% +A committee is a life form with six or more legs and no brain. + -- Lazarus Long, "Time Enough For Love" +% +A committee takes root and grows, it flowers, wilts and dies, +scattering the seed from which other committees will bloom. + -- Parkinson +% +A commune is where people join together to share their lack of wealth. + -- R. Stallman +% +A company is known by the men it keeps. +% +A complex system that works is invariably +found to have evolved from a simple system that works. +% +A compliment is something like a kiss through a veil. + -- Victor Hugo +% +[A computer is] like an Old Testament god, with a lot of rules and no mercy. + -- Joseph Campbell +% +A computer lets you make more mistakes faster than any other invention, +with the possible exceptions of handguns and Tequilla. + -- Mitch Ratcliffe +% +A computer salesman visits a company president for the purpose of selling +the president one of the latest talking computers. +Salesman: "This machine knows everything. I can ask it any question + and it'll give the correct answer. Computer, what is the + speed of light?" +Computer: 186,000 miles per second. +Salesman: "Who was the first president of the United States?" +Computer: George Washington. +President: "I'm still not convinced. Let me ask a question. + Where is my father?" +Computer: Your father is fishing in Georgia. +President: "Hah!! The computer is wrong. My father died over twenty + years ago!" +Computer: Your mother's husband died 22 years ago. Your father just + landed a twelve pound bass. +% +A computer scientist is someone who fixes things that aren't broken. +% +A computer without COBOL and Fortran is like a piece of chocolate +cake without ketchup and mustard. +% +A conclusion is simply the place where someone got tired of thinking. +% +A conference is a gathering of important people who singly can +do nothing but together can decide that nothing can be done. + -- Fred Allen +% +A CONS is an object which cares. + -- Bernie Greenberg. +% +A conservative is a man who is too cowardly to fight and too fat to run. + -- Elbert Hubbard +% +A conservative is a man +who believes that nothing should be done for the first time. + -- Alfred E. Wiggam +% +A conservative is a man +with two perfectly good legs who has never learned to walk. + -- Franklin D. Roosevelt +% +A conservative is one who is too cowardly to fight and too fat to run. +% +A couch is as good as a chair. +% +A countryman between two lawyers is like a fish between two cats. + -- B. Franklin +% +A couple of young fellers were fishing at their special pond off the +beaten track when out of the bushes jumped the Game Warden. Immediately, +one of the boys threw his rod down and started running through the woods +like the proverbial bat out of hell, and hot on his heels ran the Game +Warden. After about a half mile the fella stopped and stooped over with +his hands on his thighs, whooping and heaving to catch his breath as the +Game Warden finally caught up to him. + "Let's see yer fishin' license, boy," the Warden gasped. The +man pulled out his wallet and gave the Game Warden a valid fishing +license. + "Well, son", snarled the Game Warden, "You must be about as dumb +as a box of rocks! You didn't have to run if you have a license!" + "Yes, sir," replied his victim, "but, well, see, my friend back +there, he don't have one!" +% +A cousin of mine once said about money, +money is always there but the pockets change; +it is not in the same pockets after a change, +and that is all there is to say about money. + -- Gertrude Stein +% +A cow is a completely automated milk-manufacturing machine. It is encased +in untanned leather and mounted on four vertical, movable supports, one at +each corner. The front end of the machine, or input, contains the cutting +and grinding mechanism, utilizing a unique feedback device. Here also are +the headlights, air inlet and exhaust, a bumper and a foghorn. + At the rear, the machine carries the milk-dispensing equipment as +well as a built-in flyswatter and insect repeller. The central portion +houses a hydro- chemical-conversion unit. Briefly, this consists of four +fermentation and storage tanks connected in series by an intricate network +of flexible plumbing. This assembly also contains the central heating plant +complete with automatic temperature controls, pumping station and main +ventilating system. The waste disposal apparatus is located to the rear of +this central section. + Cows are available fully-assembled in an assortment of sizes and +colors. Production output ranges from 2 to 20 tons of milk per year. In +brief, the main external visible features of the cow are: two lookers, two +hookers, four stander-uppers, four hanger-downers, and a swishy-wishy. +% +A critic is a bundle of biases held loosely together by a sense of taste. + -- Whitney Balliett +% +A "critic" is a man who creates nothing and thereby feels +qualified to judge the work of creative men. There is logic +in this; he is unbiased -- he hates all creative people equally. +% +A cynic is a person searching for an honest man, with a stolen lantern. + -- Edgar A. Shoaff +% +A day for firm decisions!!!!! Or is it? +% +A day without orange juice is like a day without orange juice. +% +A day without sunshine is like a day without Anita Bryant. +% +A day without sunshine is like a day without orange juice. +% +A day without sunshine is like night. +% +A dead man cannot bite. + -- Gnaeus Pompeius (Pompey) +% +A debugged program is one for which you have +not yet found the conditions that make it fail. + -- Jerry Ogdin +% +A decade after Vietnam, we still cannot understand why "their" +Salvadorans fight better than "our" Salvadorans. It is not a matter of +their training or their equipment. It has to do with the quality of the +society we are asking them to risk death defending. The metaphor of the +domino obscures this reality, and the cost our self-imposed blindness +is high. San Salvador is closer to Saigon than to Munich. + -- William LeoGrande, "New York Times", 3/9/83 +% +A Difficulty for Every Solution. + -- Motto of the Federal Civil Service +% +A diplomat is a man who can convince his +wife she'd look stout in a fur coat. +% +A diplomat is a man who can tell you to +go to hell and make the trip sound pleasurable. + -- Samuel Clemens +% +A diplomat is a person who can tell you to go to hell +in such a way that you actually look forward to the trip. + -- Caskie Stinnett, "Out of the Red" +% +A diplomat is man who always remembers a woman's birthday but never her age. + -- Robert Frost +% +A diplomatic husband said to his wife, "How do you expect me to remember +your birthday when you never look any older?" +% +A diplomat's life consists of three things: protocol, Geritol, and alcohol. + -- Adlai Stevenson +% +A distraught patient phoned her doctor's office. "Was it true," the woman +inquired, "that the medication the doctor had prescribed was for the rest +of her life?" + She was told that it was. There was just a moment of silence before +the woman proceeded bravely on. "Well, I'm wondering, then, how serious my +condition is. This prescription is marked `NO REFILLS'". +% +A diva who specializes in risque arias is an off-coloratura soprano. +% +A doctor calls his patient to give him the results of his tests. "I have +some bad news," says the doctor, "and some worse news." The bad news is +that you only have six weeks to live." + "Oh, no," says the patient. "What could possibly be worse than +that?" + "Well," the doctor replies, "I've been trying to reach you since +last Monday." +% +A doctor was stranded with a lawyer in a leaky life raft in shark-infested +waters. The doctor tried to swim ashore but was eaten by the sharks. The +lawyer, however, swam safely past the bloodthirsty sharks. "Professional +courtesy," he explained. +% +A door is what a dog is perpetually on the wrong side of. + -- Ogden Nash +% +A drama critic is a person who surprises a playwright by informing him +what he meant. + -- Wilson Mizner +% +A dream will always triumph over reality, once it is given the chance. + -- Stanislaw Lem +% +A Dublin lawyer died in poverty and many barristers of the city subscribed to +a fund for his funeral. The Lord Chief Justice of Orbury was asked to donate +a shilling. "Only a shilling?" exclaimed the man. "Only a shilling to bury +an attorney? Here's a guinea; go and bury twenty of them." +% +A fail-safe circuit will destroy others. + -- Klipstein +% +A failure will not appear until a unit has passed final inspection. +% +A fair exterior is a silent recommendation. + -- Publilius Syrus +% +A fake fortuneteller can be tolerated. But an authentic soothsayer +should be shot on sight. Cassandra did not get half the kicking around +she deserved. + -- R.A. Heinlein +% +A famous Lisp Hacker noticed an Undergraduate sitting in front of a Xerox +1108, trying to edit a complex Klone network via a browser. Wanting to help, +the Hacker clicked one of the nodes in the network with the mouse, and asked +"what do you see?" Very earnestly, the Undergraduate replied, "I see a +cursor." The Hacker then quickly pressed the boot toggle at the back of +the keyboard, while simultaneously hitting the Undergraduate over the head +with a thick Interlisp Manual. The Undergraduate was then Enlightened. +% +A fanatic is one who can't change his mind and won't change the subject. + -- Winston Churchill +% +A farmer is a man outstanding in his field. +% +A feed salesman is on his way to a farm. As he's driving along at forty +m.p.h., he looks out his car window and sees a three-legged chicken running +alongside him, keeping pace with his car. He is amazed that a chicken is +running at forty m.p.h. So he speeds up to forty-five, fifty, then sixty +m.p.h. The chicken keeps right up with him the whole way, then suddenly +takes off and disappears into the distance. + The man pulls into the farmyard and says to the farmer, "You know, +the strangest thing just happened to me; I was driving along at at least +sixty miles an hour and a chicken passed me like I was standing still!" + "Yeah," the farmer replies, "that chicken was ours. You see, there's +me, and there's Ma, and there's our son Billy. Whenever we had chicken for +dinner, we would all want a drumstick, so we'd have to kill two chickens. +So we decided to try and breed a three-legged chicken so each of us could +have a drumstick." + "How do they taste?" said the farmer. + "Don't know," replied the farmer. "We haven't been able to catch +one yet." +% +A fellow bought a new car, a Nissan, and was quite happy with his purchase. +He was something of an animist, however, and felt that the car really ought +to have a name. This presented a problem, as he was not sure if the name +should be masculine or feminine. + After considerable thought, he settled on an naming the car either +Belchazar or Beaumadine, but remained in a quandry about the final choice. + "Is a Nissan male or female?" he began asking his friends. Most of +them looked at him pecularly, mumbled things about urgent appointments, and +went on their way rather quickly. + He finally broached the question to a lady he knew who held a black +belt in judo. She thought for a moment and answered "Feminine." + The swiftness of her response puzzled him. "You're sure of that?" he +asked. + "Certainly," she replied. "They wouldn't sell very well if they were +masculine." + "Unhhh... Well, why not?" + "Because people want a car with a reputation for going when you want +it to. And, if Nissan's are female, it's like they say... `Each Nissan, she +go!'" + + [No, we WON'T explain it; go ask someone who practices an oriental + martial art. (Tai Chi Chuan probably doesn't count.) Ed.] +% +A few hours grace before the madness begins again. +% +A figure with curves always offers a lot of interesting angles. +% +A fisherman from Maine went to Alabama on his vacation. He rented a boat, +rowed out to the middle of the lake, and cast his line, but when he looked +down into the water he was horrified to see a man wrapped in chains lying +on the bottom of the lake. He quickly rowed to shore and ran to the police +station. "Sheriff, sheriff," he gasped, there's a guy wrapped in chains, +drowned in the lake!" + "Now ain't that jest like a Yankee," drawled the sheriff, "to steal +more chain than he can swim with?" +% +A fitter fits; Though sinners sin +A cutter cuts; And thinners thin +And an aircraft spotter spots; And paper-blotters blot +A baby-sitter I've never yet +Baby-sits -- Had letters let +But an otter never ots. Or seen an otter ot. + +A batter bats +(Or scatters scats); +A potting shed's for potting; +But no one's found +A bounder bound +Or caught an otter otting. + -- Ralph Lewin +% +A flashy Mercedes-Benz roared up to the curb where a cute young miss stood +waiting for a taxi. + "Hi," said the gentleman at the wheel. "I'm going west." + "How wonderful," came the cool reply. "Bring me back an orange." +% +A fool and his honey are soon parted. +% +A fool and his money are soon popular. +% +A fool and your money are soon partners. +% +A fool is a man who worries about whether or not his lover has integrity. +A wise man, on the other hand, busies himself with deeper attributes. +% +A fool must now and then be right by chance. +% +A foolish consistency is the hobgoblin of little minds. + -- Ralph Waldo Emerson +% +A fool-proof method for sculpting an elephant: first, get a huge block +of marble; then you chip away everything that doesn't look like an elephant. +% +A fool's brain digests philosophy into folly, science into +superstition, and art into pedantry. Hence University education. + -- G.B. Shaw +% +A formal parsing algorithm should not always be used. + -- D. Gries +% +A Fortran compiler is the hobgoblin of little minis. +% +A fox is wolf who sends flowers. + -- Ruth Weston +% +A freelance is one who gets paid by the word -- per piece or perhaps. + -- Robert Benchley +% +A friend in need is a pest indeed. +% +A friend is a present you give yourself. + -- Robert Louis Stevenson +% +A friend of mine is into Voodoo Acupuncture. You don't have to go. +You'll just be walking down the street and... Ooohh, that's much better. + -- Steven Wright +% +A friend of mine won't get a divorce, because he hates +lawyers more than he hates his wife. +% +A friend with weed is a friend indeed. +% +A full belly makes a dull brain. + -- Ben Franklin + + [and the local candy machine man. Ed] +% +A 'full' life in my experience is usually full only of other +people's demands. +% +A furore Normanorum libera nos, O Domine! +% +A gambler's biggest thrill is winning a bet. +His next biggest thrill is losing a bet. +% +A gangster assembled an engineer, a chemist, and a physicist. He explained +that he was entering a horse in a race the following week and the three +assembled guys had the job of assuring that the gangster's horse would win. +They were to reconvene the day before the race to tell the gangster how they +each propose to ensure a win. When they reconvened the gangster started with +the engineer: + +Gangster: OK, Mr. engineer, what have you got? +Engineer: Well, I've invented a way to weave metallic threads into the saddle + blanket so that they will act as the plates of a battery and provide + electrical shock to the horse. +G: That's very good! But let's hear from the chemist. +Chemist: I've synthesized a powerful stimulant that dissolves + into simple blood sugars after ten minutes and therefore + cannot be detected in post-race tests. +G: Excellent, excellent! But I want to hear from the physicist before + I decide what to do. Physicist? + +Physicist: Well, first consider a spherical horse in simple harmonic motion... +% +A gentleman is a man who wouldn't hit a lady with his hat on. + -- Evan Esar + [ And why not? For why does she have his hat on? Ed.] +% +A gentleman never strikes a lady with his hat on. + -- Fred Allen +% +A gift of a flower will soon be made to you. +% +A girl and a boy bump into each other -- surely a coincidence. A girl and +a boy bump and her handkerchief drops -- surely another coincidence. But +when a girl gives a boy a dead squid, *that had to mean SOMETHING!* +% +A girl and a boy bump into each other -- surely an accident. +A girl and a boy bump and her handkerchief drops -- surely another accident. +But when a girl gives a boy a dead squid -- *that had to mean something*. + -- S. Morgenstern, "The Silent Gondoliers" +% +A girl with a future avoids the man with a past. + -- Evan Esar, "The Humor of Humor" +% +A girl's best friend is her mutter. + -- Dorothy Parker +% +A girl's conscience doesn't really keep her from doing anything wrong-- +it merely keeps her from enjoying it. +% +A gleekzorp without a tornpee is like +a quop without a fertsneet (sort of). +% +A [golf] ball hitting a tree shall be deemed not to have hit the tree. +Hitting a tree is simply bad luck and has no place in a scientific game. +The player should estimate the distance the ball would have traveled if it +had not hit the tree and play the ball from there, preferably atop a nice +firm tuft of grass. + -- Donald A. Metz +% +A [golf] ball sliced or hooked into the rough shall be lifted and placed in +the fairway at a point equal to the distance it carried or rolled into the +rough. Such veering right or left frequently results from friction between +the face of the club and the cover of the ball and the player should not be +penalized for the erratic behavior of the ball resulting from such +uncontrollable physical phenomena. + -- Donald A. Metz +% +A good man always knows his limitations. + -- Harry Callahan +% +A good marriage would be between a blind wife and deaf husband. + -- Michel de Montaigne +% +A good memory does not equal pale ink. +% +A good name lost is seldom regained. When character is gone, +all is gone, and one of the richest jewels of life is lost forever. + -- J. Hawes +% +A good plan today is better than a perfect plan tomorrow. + -- Patton +% +A good reputation is more valuable than money. + -- Publilius Syrus +% +A good scapegoat is hard to find. +% +A good supervisor can step on your toes without messing up your shine. +% +A GOOD WAY TO THREATEN somebody is to light a stick of dynamite. Then you +call the guy and hold the burning fuse to the phone. "Hear that?" you say. +"That's dynamite, baby." + -- Jack Handley, The New Mexican, 1988. +% +A gossip is one who talks to you about others, a bore is one who talks to +you about himself; and a brilliant conversationalist is one who talks to +you about yourself. + -- Lisa Kirk +% +A gourmet restaurant in Cincinnati is one where you leave the tray on +the table after you eat. +% +A gourmet who thinks of calories is like a tart that looks at her watch. + -- James Beard +% +A government that is big enough to give you all you want is big enough +to take it all away. + -- Barry Goldwater +% +A grammarian's life is always intense. +% +A great empire, like a great cake, is most easily diminished at the edges. + -- B. Franklin +% +A great many people think they are thinking +when they are merely rearranging their prejudices. + -- William James +% +A green hunting cap squeezed the top of the fleshy balloon of a head. The +green earflaps, full of large ears and uncut hair and the fine bristles that +grew in the ears themselves, stuck out on either side like turn signals +indicating two directions at once. Full, pursed lips protruded beneath the +bushy black moustache and, at their corners, sank into little folds filled +with disapproval and potato chip crumbs. In the shadow under the green visor +of the cap Ignatius J. Reilly's supercilious blue and yellow eyes looked down +upon the other people waiting under the clock at the D.H. Holmes department +store, studying the crowd of people for signs of bad taste in dress. Several +of the outfits, Ignatius noticed, were new enough and expensive enough to be +properly considered offenses against taste and decency. Possession of +anything new or expensive only reflected a person's lack of theology and +geometry; it could even cast doubts upon one's soul. + -- John Kennedy Toole, "Confederacy of Dunces" +% +A group of politicians deciding to dump a President because his morals +are bad is like the Mafia getting together to bump off the Godfather for +not going to church on Sunday. + -- Russell Baker +% +A guilty conscience is the mother of invention. + -- Carolyn Wells +% +A guy has to get fresh once in a while +so a girl doesn't lose her confidence. +% +A hacker does for love what others would not do for money. +% +A halted retreat +Is nerve-wracking and dangerous. +To retain people as men -- and maidservants +Brings good fortune. +% +A hammer sometimes misses its mark - a bouquet never. +% +A handful of friends is worth more than a wagon of gold. +% +A handful of patience is worth more than a bushel of brains. +% +A healthy male adult bore consumes each year one and a half times his own +weight in other people's patience. + -- John Updike +% +A help wanted add for a photo journalist asked the rhetorical question: + +If you found yourself in a situation where you could either save +a drowning man, or you could take a Pulitzer prize winning +photograph of him drowning, what shutter speed and setting would +you use? + + -- Paul Harvey +% +A Hen Brooding Kittens + A friend informs us that he saw at the Novato ranch, Marin county, +a few days since, a hen actually brooding and otherwise caring for three +kittens! The gentleman upon whose premises this strange event is transpiring +says the hen adopted the kittens when they were but a few days old, and that +she has devoted them her undivided care for several weeks past. The young +felines are now of respectable size, but they nevertheless follow the hen at +her cluckings, and are regularly brooded at night beneath her wings. + -- Sacramento Daily Union, July 2, 1861 +% +A hermit is a deserter from the army of humanity. +% +A highly intelligent man should take a primitive woman. Imagine if on top +of everything else, I had a woman who interfered with my work. + -- Adolf Hitler +% +A holding company is a thing where you hand +an accomplice the goods while the policeman searches you. +% +A Hollywood producer calls a friend, another producer on the phone. + "Hello?" his friend answers. + "Hi!" says the man. "This is Bob, how are you doing?" + "Oh," says the friend, "I'm doing great! I just sold a screenplay +for two hundred thousand dollars. I've started a novel adaptation and the +studio advanced me fifty thousand dollars on it. I also have a television +series coming on next week, and everyone says it's going to be a big hit! +I'm doing *great*! How are you?" + "Okay," says the producer, "give me a call when he leaves." +% +A homeowner's reach should exceed his grasp, or what's a weekend for? +% +"A horrible little boy came up to me and said, `You know in your book +The Martian Chronicles?' I said, `Yes?' He said, `You know where you +talk about Deimos rising in the East?' I said, `Yes?' He said `No.' +-- So I hit him." + -- attributed to Ray Bradbury +% +A horse! A horse! My kingdom for a horse! + -- Wm. Shakespeare, "Henry VI" +% +A hundred thousand lemmings can't be wrong! +% +A hundred years from now it is very likely that [of Twain's works] "The +Jumping Frog" alone will be remembered. + -- Harry Thurston Peck (Editor of "The Bookman"), January 1901. +% +A husband is what is left of the lover after the nerve has been extracted. + -- Helen Rowland +% +A hypocrite is a person who ... but who isn't? + -- Don Marquis +% +A hypothetical paradox: + What would happen in a battle between an Enterprise security team, +who always get killed soon after appearing, and a squad of Imperial +Stormtroopers, who can't hit the broad side of a planet? + -- Tom Galloway +% +A is for Amy who fell down the stairs, B is for Basil assaulted by bears. +C is for Clair who wasted away, D is for Desmond thrown out of the sleigh. +E is for Ernest who choked on a peach, F is for Fanny, sucked dry by a leech. +G is for George, smothered under a rug, H is for Hector, done in by a thug. +I is for Ida who drowned in the lake, J is for James who took lye, by mistake. +K is for Kate who was struck with an axe, L is for Leo who swallowed some tacks. +M is for Maud who was swept out to sea, N is for Nevil who died of enui. +O is for Olive, run through with an awl, P is for Prue, trampled flat in a brawl +Q is for Quinton who sank in a mire, R is for Rhoda, consumed by a fire. +S is for Susan who parished of fits, T is for Titas who flew into bits. +U is for Una who slipped down a drain, V is for Victor, squashed under a train. +W is for Winie, embedded in ice, X is for Xercies, devoured by mice. +Y is for Yoric whose head was bashed in, Z is for Zilla who drank too much gin. + -- Edward Gorey "The Gastly Crumb Tines" +% +A is for Apple. + -- Hester Pryne +% +A is for awk, which runs like a snail, and +B is for biff, which reads all your mail. +C is for cc, as hackers recall, while +D is for dd, the command that does all. +E is for emacs, which rebinds your keys, and +F is for fsck, which rebuilds your trees. +G is for grep, a clever detective, while +H is for halt, which may seem defective. +I is for indent, which rarely amuses, and +J is for join, which nobody uses. +K is for kill, which makes you the boss, while +L is for lex, which is missing from DOS. +M is for more, from which less was begot, and +N is for nice, which it really is not. +O is for od, which prints out things nice, while +P is for passwd, which reads in strings twice. +Q is for quota, a Berkeley-type fable, and +R is for ranlib, for sorting ar table. +S is for spell, which attempts to belittle, while +T is for true, which does very little. +U is for uniq, which is used after sort, and +V is for vi, which is hard to abort. +W is for whoami, which tells you your name, while +X is, well, X, of dubious fame. +Y is for yes, which makes an impression, and +Z is for zcat, which handles compression. + -- THE ABC'S OF UNIX +% +A joint is just tea for two. +% +A journey of a thousand miles begins with a cash advance from Sam. +% +A journey of a thousand miles must begin with a single step. + -- Lao Tsu +% +A journey of a thousand miles starts under one's feet. + -- Lao Tsu +% +A jug of wine, a bowl of rice with it; +Earthen vessels +Simply handed in through the window. +There is certainly no blame in this. +% +A jury consists of twelve persons chosen to decide who has the better lawyer. + -- Robert Frost +% +A key to the understanding of all religions is that a God's idea of a +good time is a game of Snakes and Ladders with greased rungs. +% +A kid'll eat the middle of an Oreo, eventually. +% +A kind of Batman of contemporary letters. + -- Philip Larkin on Anthony Burgess +% +A king's castle is his home. +% +A kiss is a course of procedure, cunningly devised, +for the mutual stoppage of speech at a moment when +words are superfluous. +% +A lack of leadership is no substitute for inaction. +% +A lady is one who never shows her underwear unintentionally. + -- Lillian Day +% +A lady with one of her ears applied +To an open keyhole heard, inside, +Two female gossips in converse free -- +The subject engaging them was she. +"I think", said one, "and my husband thinks +That she's a prying, inquisitive minx!" +As soon as no more of it she could hear +The lady, indignant, removed her ear. +"I will not stay," she said with a pout, +"To hear my character lied about!" + -- Gopete Sherany +% +A language that doesn't affect the way you +think about programming is not worth knowing. +% +A language that doesn't have everything is +actually easier to program in than some that do. + -- D.M. Ritchie +% +A lanky Texan was mad because Texas had just become the second largest state in +the Union, so he made up his mind to move to Alaska. He drove for three days +and three nights to get there and finally he came to what looked like the state +line. He halted his car and walked up to the border guard. "Hi, there! How +do I become a resident of this here biggest state?" demanded the Texan. + The guard looked him up and down and grinned. "Waal," he answered, +there are three things you gotta do to get in. First, drink down a quart of +110 proof corn liquor without blinkin'. Second, kill a grizzly bear, and +third, make love to an Eskimo woman." + "Sounds easy enough," said the Texan. "Where can I get a quart of +this here corn liquor?" + "Got one right here," replied the guard. + The Texan gulped down the whiskey without batting an eyelash. +"Now, do you happen to know where I can find me a grizzly?" + "Yep," answered the guard, "there's a big b'ar over that way, 'bout +a mile... lives in a cave on that cliff." + The Texan lurched merrily off. About an hour later he returned +with his clothes almost torn off and his face scratched and bloody. He was +smiling happily. "Now," he roared, "where's that damn Eskimo woman you +want killed?" +% +A large number of installed systems work by fiat. +That is, they work by being declared to work. + -- Anatol Holt +% +A large spider in an old house built a beautiful web in which to catch flies. +Every time a fly landed on the web and was entangled in it the spider devoured +him, so that when another fly came along he would think the web was a safe and +quiet place in which to rest. One day a fairly intelligent fly buzzed around +above the web so long without lighting that the spider appeared and said, +"Come on down." But the fly was too clever for him and said, "I never light +where I don't see other flies and I don't see any other flies in your house." +So he flew away until he came to a place where there were a great many other +flies. He was about to settle down among them when a bee buzzed up and said, +"Hold it, stupid, that's flypaper. All those flies are trapped." "Don't be +silly," said the fly, "they're dancing." So he settled down and became stuck +to the flypaper with all the other flies. + +Moral: There is no safety in numbers, or in anything else. + -- James Thurber, "The Fairly Intelligent Fly" +% +A Law of Computer Programming: + Make it possible for programmers to write in English + and you will find that programmers cannot write in English. +% +A liberal is a man too broadminded to take his own side in a quarrel. + -- Robert Frost +% +A liberal is a person whose interests aren't at stake at the moment. + -- Willis Player +% +A liberal is someone too poor to be a +capitalist, and too rich to be a communist. +% +A lie in time saves nine. +% +A lie is an abomination unto the Lord and a very present help in time of +trouble. + -- Adlai Stevenson +% +A life spent in search of the perfect hash brownie is a life well spent. +% +A lifetime isn't nearly long enough to figure out what it's all about. +% +A light wife doth make a heavy husband. + -- Wm. Shakespeare, "The Merchant of Venice" +% +A likely impossibility is always preferable to an unconvincing possibility. + -- Aristotle +% +A LISP programmer knows the value of +everything, but the cost of nothing. + -- Alan Perlis +% +A list is only as strong as its weakest link. + -- Don Knuth +% +A little experience often upsets a lot of theory. +% +A little inaccuracy saves a world of explanation. + -- C.E. Ayres +% +A little inaccuracy sometimes saves tons of explanation. + -- H.H. Munro, "Saki" +% +A little kid went up to Santa and asked him, "Santa, you know when I'm bad +right?" And Santa says, "Yes, I do." The little kid then asks, "And you +know when I'm sleeping?" To which Santa replies, "Every minute." So the +little kid then says, "Well, if you know when I'm bad and when I'm good, +then how come you don't know what I want for Christmas?" +% +A little retrospection shows that although many fine, useful software systems +have been designed by committees and built as part of multipart projects, +those software systems that have excited passionate fans are those that are +the products of one or a few designing minds, great designers. Consider Unix, +APL, Pascal, Modula, the Smalltalk interface, even Fortran; and contrast them +with Cobol, PL/I, Algol, MVS/370, and MS-DOS. + -- Fred Brooks +% +A little word of doubtful number, +A foe to rest and peaceful slumber. +If you add an "s" to this, +Great is the metamorphosis. +Plural is plural now no more, +And sweet what bitter was before. +What am I? +% +A log may float in a river, but that does not make it a crocodile. +% +A long memory is the most subversive idea in America. +% +A long-forgotten loved one will appear soon. +Buy the negatives at any price. +% +A lost ounce of gold may be found, a lost moment of time never. +% +A lot of people are afraid of heights. Not me. I'm afraid of widths. + -- Steve Wright +% +A lot of people I know believe in positive thinking, +and so do I. I believe everything positively stinks. + -- Lew Col +% +A lover without indiscretion is no lover at all. + -- Thomas Hardy +% +A major, with wonderful force, +Called out in Hyde Park for a horse. + All the flowers looked round, + But no horse could be found; +So he just rhododendron, of course. +% +A male gynecologist is like an auto mechanic who has never owned a car. + -- Carrie Snow +% +A man always needs to remember one thing about +a beautiful woman. Somewhere, somebody's tired of her. +% +A man always remembers his first love with special +tenderness, but after that begins to bunch them. + -- Mencken +% +A man arrived home early to find his wife in the arms of his best friend, +who swore how much they were in love. To quiet the enraged husband, the +lover suggested, "Friends shouldn't fight, let's play gin rummy. If I win, +you get a divorce so I can marry her. If you win, I promise never to see +her again. Okay?" + "Alright," agreed the husband. "But how about a quarter a point +on the side to make it interesting?" +% +A man can have two, maybe three love affairs while he's married. After +that it's cheating. + -- Yves Montand +% +A man can sleep around, no questions asked, but if a woman makes nineteen +or twenty mistakes she's a tramp. + -- Joan Rivers +% +A man does not look behind the door unless he has stood there himself. + -- Du Bois +% +A man fell off a mountain and, as he fell, saw a branch and grabbed for it. +By superhuman effort he was able to get a precarious grip on it. As he +was hanging there for dear life, he looked up and cried out, + "Is anybody there?" +A deep majestic voice answered, + "Yes my son, I am here. What do you need?" + "Help me!!" cried the man. + "I will help you", said the voice, "Just let go of the branch and +you'll be safe. All you have to do is trust." +The man thought for a moment and cried out: + "Anybody ELSE up there?" +% +A man gazing at the stars is proverbially at the mercy of the puddles +in the road. + -- Alexander Smith +% +A man goes into a bar and begins to tell a Polish joke. The man sitting +next to him, a big hulking powerhouse, turns and says menacingly, "*I'm* +Polish." + He then calls out, "Ivan! Come over here and bring your brother." +Two men, bigger than the first, appear from the back room. + "Josef!" the man calls out, "come here a second, and bring Lendl +with you." Two more men appear, and all five men crowd around the man with +the joke. + "Now," says the first Polish man, "do you want to finish that joke?" + "Nah," says the man. + "Oh, no? And why not? I'm sure it was very funny," says the Polish +man, opening and closing his fist. "Are you scared?" + "No," replies the man. "I just don't feel like having to explain it +five times." +% +A man in love is incomplete until he is married. Then he is finished. + -- Zsa Zsa Gabor, "Newsweek" +% +A man is already halfway in love with any woman who listens to him. + -- Brendan Francis +% +A man is crawling through the Sahara desert when he is approached by another +man riding on a camel. When the rider gets close enough, the crawling man +whispers through his sun-parched lips, "Water... please... can you give... +water..." + "I'm sorry," replies the man on the camel, "I don't have any water +with me. But I'd be delighted to sell you a necktie." + "Tie?" whispers the man. "I need *water*." + "They're only four dollars apiece." + "I need *water*." + "Okay, okay, say two for seven dollars." + "Please! I need *water*!", says the man. + "I don't have any water, all I have are ties," replies the salesman, +and he heads off into the distance. + The man, losing track of time, crawls for what seems like days. +Finally, nearly dead, sun-blind and with his skin peeling and blistering, he +sees a restaurant in the distance. Summoning the last of his strength he +staggers up to the door and confronts the head waiter. + "Water... can I get... water," the dying man manages to stammer. + "I'm sorry, sir, ties required." +% +A man is known by the company he organizes. + -- A. Bierce +% +A man is like a rusty wheel on a rusty cart, +He sings his song as he rattles along and then he falls apart. + -- Richard Thompson +% +A man is only as old as the woman he feels. + -- Groucho Marx +% +A man is walking along when he sees a funeral procession going by, the +longest procession he's ever seen. It seems to consist of the hearse, +followed by a man with a Doberman on a leash, followed by several hundred +other men. After watching for a few minutes, he can restrain his curiosity +no longer, and walks up to one of the mourners. + "Excuse me, sir, I don't mean to bother you in your moment of grief, +but this is the strangest procession I've ever seen. What happened, who is +the funeral for?" + "Well, it's nothing special, really, the funeral is for the mother- +in-law of the man at the front of the procession. You see, his Doberman +attacked and killed her." + "That's awful!", replies the onlooker. "But... um... tell me, you +don't think he'd let me borrow that dog, do you?" + "Get in line, buddy," replies the mourner, "get in line." +% +A man is walking down the street when he sees a man with four arms, and +antennae coming out of his head. He goes up to him and says, "You're not +from around here, are you?" + "No," replies the man with the antennae. + "You know," continues the man, "I don't think you're an American, +either. In fact, I bet you don't even come from this planet!" + "Right again," says the man with four arms. "I'm from Mars." + "Well," says the man, "that's quite some configuration you've got +there, with those four arms and those antennae and everything." + "We Martians all have four arms and antennae." + "Well, that's just amazing," replies the man, "and how about that +big gold colored plate in the middle of your chest, what's that, do all +Martians have that?" + "Well, no," says the Martian. "Not the *goyim*." +% +A man marries to have a home, but also because he doesn't want to be +bothered with sex and all that sort of thing. + -- W. Somerset Maugham, "The Circle" +% +A man may be so much of everything that he is nothing of anything. + -- Samuel Johnson +% +A man may sometimes be forgiven the kiss to which he is not entitled, +but never the kiss he has not the initiative to claim. +% +A man may well bring a horse to the water, +but he cannot make him drink with he will. + -- John Heywood +% +A man of genius makes no mistakes. +His errors are volitional and are the portals of discovery. + -- James Joyce, "Ulysses" +% +A man paints with his brains and not with his hands. +% +A man said to the Universe: + "Sir, I exist!" + "However," replied the Universe, + "the fact has not created in me a sense of obligation." + -- Stephen Crane +% +A man took his wife deer hunting for the first time. After he'd given her +some basic instructions, they agreed to separate and rendezvous later. Before +he left, he warned her if she should fell a deer to be wary of hunters who +might beat her to the carcass and claim the kill. If that happened, he told +her, she should fire her gun three times into the air and he would come to +her aid. + Shortly after they separated, he heard a single shot, followed quickly +by the agreed upon signal. Running to the scene, he found his wife standing +in a small clearing with a very nervous man staring down her gun barrel. + "He claims this is his," she said, obviously very upset. + "She can keep it, she can keep it!" the wide-eyed man replied. "I +just want to get my saddle back!" +% +A man usually falls in love with a woman who asks the kinds of questions +he is able to answer. + -- Ronald Colman +% +A man was griping to his friend about how he hated to go home after a +late card games. + "You wouldn't believe what I go through to avoid waking my wife," +he said. "First, I kill the engine a block away from the house and coast +into the garage. Then I open the door slowly, take off my shoes, and +tiptoe to our room. But just as I'm about to slide into bed, she always +wakes up and gives me hell." + "I make a big racket when I go home," his friend replied. + "You do?" + "Sure. I honk the horn, slam the door, turn on all the lights, +stomp up to the bedroom and give my wife a big kiss. `Hi, Alice,' I say. +`How about a little smooch for your old man?'" + "And what does she say?" his friend asked in disbelief. + "She doesn't say anything," his buddy replied. "She always pretends +she's asleep." +% +A man was kneeling by a grave in a cemetery, crying and praying very loudly, + "Oh why..eeeee did you die...eeeeee, Oh Why..eeeeee, +why did you Di......eeee" +The caretaker walks up, pardons himself and asks politely, + "Excuse me, sir, but I've been seeing you for hours now, +carrying on at this grave. You must have been very close to the deceased." + "No, I never met him. Oh why....eeeee did you dieeeeee, +why....eeeee did you.." + "Sir, you say you never met this person, yet you carry on so? +Tell, me who is buried here?" + "My wife's first husband." +% +A man who cannot seduce men cannot save them either. + -- Soren Kierkegaard +% +A man who carries a cat by its tail learns something he can learn +in no other way. +% +A man who fishes for marlin in ponds +will put his money in Etruscan bonds. +% +A man who likes to lie in bed can usually +find a girl willing to listen to him. +% +A man who turns green has eschewed protein. +% +A man with 3 wings and a dictionary is cousin to the turkey. +% +A man with one watch knows what time it is. +A man with two watches is never quite sure. +% +A man without a God is like a fish without a bicycle. +% +A man without a woman is like a fish without gills. +% +A man without a woman is like a statue without pigeons. +% +A man would still do something out of sheer perversity - he would create +destruction and chaos - just to gain his point... and if all this could in +turn be analyzed and prevented by predicting that it would occur, then man +would deliberately go mad to prove his point. + -- Feodor Dostoevsky, "Notes From the Underground" +% +A man wrapped up in himself makes a very small package. +% +A man's best friend is his dogma. +% +A man's gotta know his limitations. + -- Clint Eastwood, "Dirty Harry" +% +A man's house is his castle. + -- Sir Edward Coke +% +A man's house is his hassle. +% +A master was asked the question, "What is the Way?" by a curious monk. + "It is right before your eyes," said the master. + "Why do I not see it for myself?" + "Because you are thinking of yourself." + "What about you: do you see it?" + "So long as you see double, saying `I don't', and `you do', and so +on, your eyes are clouded," said the master. + "When there is neither `I' nor `You', can one see it?" + "When there is neither `I' nor `You', +who is the one that wants to see it?" +% +A mathematician, a doctor, and an engineer are walking on the beach and +observe a team of lifeguards pumping the stomach of a drowned woman. As +they watch, water, sand, snails and such come out of the pump. + The doctor watches for a while and says: "Keep pumping, men, you may +yet save her!!" + The mathematician does some calculations and says: "According to my +understanding of the size of that pump, you have already pumped more water +from her body than could be contained in a cylinder 4 feet in diameter and +6 feet high." + The engineer says: "I think she's sitting in a puddle." +% +A mathematician is a device for turning coffee into theorems. + -- P. Erdos +% +A meeting is an event at which the +minutes are kept and the hours are lost. +% +A memorandum is written not to inform the reader, +but to protect the writer. + -- Dean Acheson +% +A method of solution is perfect if we can forsee from the start, +and even prove, that following that method we shall attain our aim. + -- Leibniz +% +A Mexican newspaper reports that bored Royal Air Force pilots stationed +on the Falkland Islands have devised what they consider a marvelous new +game. Noting that the local penguins are fascinated by airplanes, the +pilots search out a beach where the birds are gathered and fly slowly +along it at the water's edge. Perhaps ten thousand penguins turn their +heads in unison watching the planes go by, and when the pilots turn +around and fly back, the birds turn their heads in the opposite +direction, like spectators at a slow-motion tennis match. Then, the +paper reports "The pilots fly out to sea and directly to the penguin +colony and overfly it. Heads go up, up, up, and ten thousand penguins +fall over gently onto their backs. + -- Audobon Society Magazine +% +A mighty creature is the germ, +Though smaller than the pachyderm. +His customary dwelling place +Is deep within the human race. +His childish pride he often pleases +By giving people strange diseases. +Do you, my poppet, feel infirm? +You probably contain a germ. + -- Ogden Nash +% +A mind is a wonderful thing to waste. +% +A modem is a baudy house. +% +A modest woman, dressed out in all her finery, +is the most tremendous object in the whole creation. + -- Goldsmith +% +A Mormon is a man that has the bad taste and the religion to do what a good +many other people are restrained from doing by conscientious scruples and +the police. + -- Mr. Dooley +% +A mother mouse was taking her large brood for a stroll across the kitchen +floor one day when the local cat, by a feat of stealth unusual even for +its species, managed to trap them in a corner. The children cowered, +terrified by this fearsome beast, plaintively crying, "Help, Mother! +Save us! Save us! We're scared, Mother!" + Mother Mouse, with the hopeless valor of a parent protecting its +children, turned with her teeth bared to the cat, towering huge above them, +and suddenly began to bark in a fashion that would have done any Doberman +proud. The startled cat fled in fear for its life. + As her grateful offspring flocked around her shouting "Oh, Mother, +you saved us!" and "Yay! You scared the cat away!" she turned to them +purposefully and declared, "You see how useful it is to know a second +language?" +% +A mother takes twenty years to make a man of her boy, +and another woman makes a fool of him in twenty minutes. + -- Frost +% +A motion to adjourn is always in order. +% +A mouse is an elephant built by the Japanese. +% +A mushroom cloud has no silver lining. +% +A musician, an artist, an architect: + the man or woman who is not one of these is not a Christian. + -- William Blake +% +A myth is a religion in which no-one any longer believes. + -- James Feibleman, "Understanding Philosophy" +% +A narcissist is anyone better-looking than you. + -- Gore Vidal +% +A narcissist is someone better looking than you are. + -- Gore Vidal +% +A nasty looking dwarf throws a knife at you. +% +A national debt, if it is not excessive, +will be to us a national blessing. + -- Alexander Hamilton +% +A neighbor came to Nasrudin, asking to borrow his donkey. "It is out on +loan," the teacher replied. At that moment, the donkey brayed loudly inside +the stable. "But I can hear it bray, over there." "Whom do you believe," +asked Nasrudin, "me or a donkey?" +% +A new 'chutist had just jumped from the plane at 10,000 feet, and soon +discovered that all his lines were hopelessly tangled. At about 5,000 feet, +still struggling, he noticed someone coming up from the ground at about the +same speed as he was going towards the ground. As they passed each other at +3,000 feet, the 'chutist yells, "HEY! DO YOU KNOW ANYTHING ABOUT PARACHUTES?" + The reply came, fading towards the end, "NO! DO YOU KNOW ANYTHING +ABOUT COLEMAN STOVES?" +% +A new koan: + If you have some ice cream, I will give it to you. + If you have no ice cream, I will take it away from you. +It is an ice cream koan. +% +A new supply of round tuits has arrived and are available from Mary. +Anyone who has been putting off work until they got a `round tuit' +now has no excuse for further procrastination. +% +A new taste had been acquired and a new appetite began to grow. The time +had long since arrived to crush the technical intelligentsia, which had +come to regard itself as too irreplaceable and had not gotten used to +catching instructions on the wing. In other words, we never did trust +the engineers - and from the very first years of the Revolution we saw to +it that those lackeys and servants of former capitalist bosses were kept +in line by healthy suspicion and surveillance by the workers. + -- Aleksandr I. Solzhenitsyn, "The Gulag Archipelago" +% +A New Way of Taking Pills + A physician one night in Wisconsin being disturbed by a burglar, and +having no ball or shot for his pistol, noiselessly loaded the weapon with +small, hard pills, and gave the intruder a "prescription" which he thinks +will go far towards curing the rascal of a very bad ailment. + -- Nevada Morning Transcript, January 30, 1861 +% +A New Yorker is riding down the road in his new Mercedes. So intent is he +on the cocaine in his hand he completely misses a turn and his car plunges +over the five-hundred-foot cliff to be smashed into pieces at the bottom. +As the on-lookers rush to the edge of the cliff they see him fifty feet +from the top of the cliff clinging to a stunted bush with all his strength. +"Dear Lord," he prays, "I never asked you for nothin' before, but I'm askin' +you now: Save me, Lord, save me." + Booms the Lord: "LET GO OF THE BRANCH." + "But Lord, if I do that, I'll fall!" + "TRUST ME, LET GO OF THE BRANCH." + "But Lord, I'm gonna fall and die..." + "TRUST ME TO SAVE YOU. LET GO OF THE BRANCH." + Okay, Lord, I'll trust you, here I... here I go!" And he falls +to his death. + "DUMB YANKEE." +% +A New Yorker was driving through Berkeley when he saw a big crowd gathered +by the side of the street. Curiousity got the better of him and he leaned +out of his window to ask an onlooker what was going on. The fellow explained +that a protestor against the U.S. position in South America had doused +himself with gasoline and set himself on fire. "That's terrible," gasped +the man. "But why is everyone still standing around?" + "Well, they're taking up a collection for his wife and kids," the +onlooker explained. "Would you be willing to help?" + "Well, sure," replied the New Yorker. "I suppose I could spare a +gallon or two." +% +A newspaper is a circulating library with high blood pressure. + -- Arthure "Bugs" Baer +% +A nickel ain't worth a dime anymore. + -- Yogi Berra +% +A Nixon [is preferable to] a Dean Rusk -- who will be +passionately wrong with a high sense of consistency. + -- J.K. Galbraith +% +A non-vegetarian anti-abortionist is a contradiction in terms. + -- Phyllis Schlafly +% +A novice asked the Master: "Here is a programmer that never designs, +documents or tests his programs. Yet all who know him consider him +one of the bests programmer in the world. Why is this?" + The Master replies: "That programmer has mastered the Tao. He has +gone beyond the need for design; he does not become angry when the system +crashes, but accepts the universe without concern. He has gone beyond the +need for documentation; he no longer cares if anyone else sees his code. +He has gone beyond the need for testing; each of his programs are perfect +within themselves, serene and elegant, their purpose self-evident. Truly, +he has entered the mystery of Tao." +% +A novice of the temple once approached the Chief Priest with a question. + +"Master, does Emacs have the Buddha nature?" the novice asked. + +The Chief Priest had been in the temple for many years and could be +relied upon to know these things. He thought for several minutes +before replying. + +"I don't see why not. It's got bloody well everything else." + +With that, the Chief Priest went to lunch. The novice suddenly achieved +enlightenment, several years later. + +Commentary: + +His Master is kind, +Answering his FAQ quickly, +With thought and sarcasm. +% +A nuclear war can ruin your whole day. +% +A pain in the ass of major dimensions. + -- C.A. Desoer, on the solution of non-linear circuits +% +A Parable of Modern Research: + + Bob has lost his keys in a room which is dark except for one +brightly lit corner. + "Why are you looking under the light, you lost them in the dark!" + "I can only see here." +% +A paranoid is a man who knows a little of what's going on. + -- William S. Burroughs +% +A pat on the back is only a few centimeters from a kick in the pants. +% +A pedestal is as much a prison as any small, confined space. + -- Gloria Steinem +% +A pencil with no point needs no eraser. +% +"A penny for your thoughts?" +"A dollar for your death." + -- The Odd Couple +% +A penny saved has not been spent. +% +A penny saved is a penny taxed. +% +A penny saved is ridiculous. +% +A penny saved kills your career in government. +% +A people living under the perpetual menace of war and invasion is very easy to +govern. It demands no social reforms. It does not haggle over expenditures +on armaments and military equipment. It pays without discussion, it ruins +itself, and that is an excellent thing for the syndicates of financiers and +manufacturers for whom patriotic terrors are an abundant source of gain. + -- Anatole France +% +A perfectly honest woman, a woman who never flatters, who never manages, +who never cajoles, who never conceals, who never uses her eyes, who never +speculates on the effect which she produces, who never is conscious of +unspoken admiration, what a monster, I say, would such a female be! + -- Thackeray +% +A person forgives only when they are in the wrong. +% +A person is just about as big as the things that make him angry. +% +A person who has both feet planted firmly +in the air can be safely called a liberal. +% +A person who has nothing looks at all there is and wants something. +A person who has something looks at all there is and wants all the rest. +% +A person who is more than casually interested in computers should be well +schooled in machine language, since it is a fundamental part of a computer. + -- Donald Knuth +% +A pessimist is a man who has been compelled to live with an optimist. + -- Elbert Hubbard +% +A physicist is an atoms way of knowing about atoms. + -- George Wald +% +A pickup with three guys in it pulls into the lumber yard. One of the men +gets out and goes into the office. + "I need some four-by-two's," he says. + "You must mean two-by-four's" replies the clerk. + The man scratches his head. "Wait a minute," he says, "I'll go +check." + Back, after an animated conversation with the other occupants of the +truck, he reassures the clerk, that, yes, in fact, two-by-fours would be +acceptable. + "OK," says the clerk, writing it down, "how long you want 'em?" + The guy gets the blank look again. "Uh... I guess I better go +check," he says. + He goes back out to the truck, and there's another animated +conversation. The guy comes back into the office. "A long time," he says, +"we're building a house". +% +A pig is a jolly companion, +Boar, sow, barrow, or gilt -- +A pig is a pal, who'll boost your morale, +Though mountains may topple and tilt. +When they've blackballed, bamboozled, and burned you, +When they've turned on you, Tory and Whig, +Though you may be thrown over by Tabby and Rover, +You'll never go wrong with a pig, a pig, +You'll never go wrong with a pig! + -- Thomas Pynchon, "Gravity's Rainbow" +% +A pipe gives a wise man time to think +and a fool something to stick in his mouth. +% +A place for everything and everything in its place. + -- Isabella Mary Beeton, "The Book of Household Management" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to memory management system services.] +% +A platitude is simply a truth repeated till people get tired of hearing it. + -- Stanley Baldwin +% +A plethora of individuals with expertise in culinary techniques +contaminate the potable concoction produced by steeping certain +edible nutriments. +% +A plucked goose doesn't lay golden eggs. +% +A poet who reads his verse in public may have other nasty habits. +% +A Polish worker walks into a bank to deposit his paycheck. He has heard +about Poland's economic problems, and he asks what would happen to his +money if the bank collapsed. "All of our deposits are guaranteed by the +finance ministry, sir," the teller replies. + "But what if the finance ministry goes broke?" the worker asks. + "Then the government will intercede to protect the working class," +the teller says. + "But what if the government goes broke?" the worker asks. + "Our socialist comrades in the Soviet Union naturally will come +to our assistance," the teller responds with growing irritation. + "And if the Soviet Union goes broke?" the worker asks. + "Idiot!" the teller snorts. "Isn't that worth losing one lousy +paycheck?" + -- Making the rounds in Warsaw, 1984 +% +A political man can have as his aim the realization of freedom, +but he has no means to realize it other than through violence. + -- Jean Paul Sartre +% +A possum must be himself, and being himself he is honest. + -- Walt Kelly +% +A pound of salt will not sweeten a single cup of tea. +% +A "practical joker" deserves applause for his wit according to its quality. +Bastinado is about right. For exceptional wit one might grant keelhauling. +But staking him out on an anthill should be reserved for the very wittiest. + -- Lazarus Long +% +A prediction is worth twenty explanations. + -- K. Brecher +% +A pretty foot is one of the greatest gifts of nature... please send me your +last pair of shoes, already worn out in dancing... so I can have something +of yours to press against my heart. + -- Goethe +% +A pretty woman can do anything; an ugly woman must do everything. +% +A priest advised Voltaire on his death bed to renounce the devil. +Replied Voltaire, "This is no time to make new enemies." +% +A priest asked: What is Fate, Master? + + And the Master answered: + It is that which gives a beast of burden its reason for existence. +It is that which men in former times had to bear upon their backs. + + It is that which has caused nations to build byways from City +to City upon which carts and coaches pass, and alongside which inns +have come to be built to stave off Hunger, Thirst and Weariness. + + And that is Fate? said the priest. + + Fate... I thought you said Freight, responded the Master. + + That's all right, said the priest. I wanted to know +what Freight was too. + -- Kehlog Albran +% +A prig is a fellow who is always making you a present of his opinions. + -- George Eliot +% +A prisoner of war is a man who tries to kill you and fails, and then +asks you not to kill him. + -- Sir Winston Churchill, 1952 +% +A private sin is not so prejudicial in the world as a public indecency. + -- Miguel de Cervantes +% +A professor is one who talks in someone else's sleep. +% +A programmer is a person who passes as an exacting expert on the basis of +being able to turn out, after innumerable punching, an infinite series of +incomprehensible answers calculated with micrometric precisions from vague +assumptions based on debatable figures taken from inconclusive documents +and carried out on instruments of problematical accuracy by persons of +dubious reliability and questionable mentality for the avowed purpose of +annoying and confounding a hopelessly defenseless department that was +unfortunate enough to ask for the information in the first place. + -- IEEE Grid newsmagazine +% +A programming language is low level +when its programs require attention to the irrelevant. +% +A prohibitionist is the sort of man one wouldn't care to +drink with -- even if he drank. + -- Mencken +% +A prominent broadcaster, on a big-game safari in Africa, was taken to a +watering hole where the life of the jungle could be observed. As he +looked down from his tree platform and described the scene into his +tape recorder, he saw two gnus grazing peacefully. So preoccupied were +they that they failed to observe the approach of a pride of lions led +by two magnificent specimens, obviously the leaders. The lions charged, +killed the gnus, and dragged them into the bushes where their feasting +could not be seen. A little while later the two kings of the jungle +emerged and the radioman recorded on his tape: "Well, that's the end of +the gnus and here, once again, are the head lions." +% +A promiscuous person is usually someone who is +getting more sex than you are. + -- Victor Lownes +% +A proper wife should be as obedient as a slave... The female is a female +by virtue of a certain lack of qualities -- a natural defectiveness. + -- Aristotle +% +A psychiatrist is a fellow who asks you a lot of expensive questions +your wife asks you for nothing. + -- Joey Adams +% +A psychiatrist is a person who will give you expensive answers that +your wife will give you for free. +% +A putt that stops close enough to the cup to inspire such comments as +"you could blow it in" may be blown in. This rule does not apply if +the ball is more than three inches from the hole, because no one wants +to make a travesty of the game. + -- Donald A. Metz +% +A rabbi and a priest are sitting together on a train, and the rabbi leans +over and asks, "So, how high can you advance in your organization?" + The priest replies, "Well, if I am lucky, I guess I could become a +Bishop." + "Well, could you get any higher than that?" + "I suppose that if my works are seen in a very good light that I +might be made an Archbishop." + "Is there any way that you might go higher than that?" + "If all the Saints should smile, I guess I could be made a Cardinal." + "Could you be anything higher than a Cardinal?" + Hesitating a little bit, the priest said, "I suppose that I could +be elected Pope, but only if it's God's will." + "And could you be anything higher than that, is there any way to go +up from being the Pope?" + "What?! I should be the Messiah himself?!" + The rabbi leaned back and smiled. "One of our boys made it." +% +A raccoon tangled with a 23,000 volt line today. The results +blacked out 1400 homes and, of course, one raccoon. + -- Steel City News +% +A racially integrated community is a chronological term timed from the +entrance of the first black family to the exit of the last white family. + -- Saul Alinsky +% +A real diplomat is one who can cut his neighbor's throat without having +his neighbour notice it. + -- Trygve Lie +% +A real estate agent, looking over a farmer's house for possible sale, +commented to the farmer how sturdy the house looked. + The farmer replied, "Yep, built it with my bare hands... did it +the hard way. The steps to the front door, here, carved 'em out of +field stones... did it the hard way. That hardwood floor in the living +room, dovetailed the pieces myself... did it the hard way. The ceiling +beams, made 'em out of my own oak trees... did it the hard way." + Just then, the farmer's gorgeous daughter walked in. The farmer +looks over at the real estate agent who is trying not to stare too +obviously and smiles. "Yep... standing up in a canoe." +% +A real friend isn't someone you use once and then throw away. +A real friend is someone you can use over and over again. +% +A real gentleman never takes bases unless he really has to. + -- Overheard in an algebra lecture. +% +A real patriot is the fellow who gets a parking +ticket and rejoices that the system works. +% +A recent study has found that concentrating on difficult off-screen +objects, such as the faces of loved ones, causes eye strain in computer +scientists. Researchers into the phenomenon cite the added concentration +needed to "make sense" of such unnatural three dimensional objects. +% +A rich man told me recently that a liberal is a man who tells other +people what to do with their money. + -- Imamu Amiri Baraka (Leroi Jones) +% +A right is not what someone gives you; it's what no one can take from you. + -- Ramsey Clark +% +A robin redbreast in a cage +Puts all Heaven in a rage. + -- Blake +% +A rock pile ceases to be a rock pile the moment a single +man contemplates it, bearing within him the image of a cathedral. + -- Antoine de Saint-Exupery +% +A rolling disk gathers no MOS. +% +A rolling stone gathers momentum. +% +A rolling stone gathers no moss. + -- Publilius Syrus +% +A Roman divorced from his wife, being highly blamed by his friends, who +demanded, "Was she not chaste? Was she not fair? Was she not fruitful?" +holding out his shoe, asked them whether it was not new and well made. +Yet, added he, none of you can tell where it pinches me. + -- Plutarch +% +A rope lying over the top of a fence is the same length on each side. It +weighs one third of a pound per foot. On one end hangs a monkey holding a +banana, and on the other end a weight equal to the weight of the monkey. +The banana weighs two ounces per inch. The rope is as long (in feet) as +the age of the monkey (in years), and the weight of the monkey (in ounces) +is the same as the age of the monkey's mother. The combined age of the +monkey and its mother is thirty years. One half of the weight of the monkey, +plus the weight of the banana, is one forth as much as the weight of the +weight and the weight of the rope. The monkey's mother is half as old as +the monkey will be when it is three times as old as its mother was when she +she was half as old as the monkey will be when when it is as old as its mother +will be when she is four times as old as the monkey was when it was twice +as its mother was when she was one third as old as the monkey was when it +was old as is mother was when she was three times as old as the monkey was +when it was one fourth as old as it is now. How long is the banana? +% +A rose is a rose is a rose. Just ask Jean Marsh, known to millions of +PBS viewers in the '70s as Rose, the maid on the BBC export "Upstairs, +Downstairs." Though Marsh has since gone on to other projects, ... it's +with Rose she's forever identified. So much so that she even likes to +joke about having one named after her, a distinction not without its +drawbacks. "I was very flattered when I heard about it, but when I looked +up the official description, it said, `Jean Marsh: pale peach, not very +good in beds; better up against a wall.' I want to tell you that's not +true. I'm very good in beds as well." +% +A sad spectacle. If they be inhabited, what a scope for misery and folly. +If they be not inhabited, what a waste of space. + -- Thomas Carlyle, looking at the stars +% +A sadist is a masochist who follows the Golden Rule. +% +A salamander scurries into flame to be destroyed. +Imaginary creatures are trapped in birth on celluloid. + -- Genesis, "The Lamb Lies Down on Broadway" + +I don't know what it's about. I'm just the drummer. Ask Peter. + -- Phil Collins in 1975, when asked about the message behind + the previous year's Genesis release, "The Lamb Lies Down + on Broadway". +% +A Scholar asked his Master, "Master, would you advise me of a proper +vocation?" + The Master replied, "Some men can earn their keep with the power of +their minds. Others must use their strong backs, legs and hands. This is +the same in nature as it is with man. Some animals acquire their food easily, +such as rabbits, hogs and goats. Other animals must fiercely struggle for +their sustenance, like beavers, moles and ants. So you see, the nature of +the vocation must fit the individual. + "But I have no abilities, desires, or imagination, Master," the +scholar sobbed. + Queried the Master... "Have you thought of becoming a salesperson?" +% +A scientific truth does not triumph by convincing its opponents and +making them see the light, but rather because its opponents eventually +die and a new generation grows up that is familiar with it. + -- Max Planck +% +A sect or party is an elegant incognito devised to save a man from +the vexation of thinking. + -- Ralph Waldo Emerson, Journals, 1831 +% +A sense of desolation and uncertainty, of futility, of the baselessness +of aspirations, of the vanity of endeavor, and a thirst for a life giving +water which seems suddenly to have failed, are the signs in consciousness +of this necessary reorganization of our lives. + +It is difficult to believe that this state of mind can be produced by the +recognition of such facts as that unsupported stones always fall to the +ground. + -- J.W.N. Sullivan +% +A sense of humor keen enough to show a man his own absurdities will keep +him from the commission of all sins, or nearly all, save those that are +worth committing. + -- Samuel Butler +% +A sequel is an admission that you've been reduced to imitating yourself. + -- Don Marquis +% +A Severe Strain on the Credulity + As a method of sending a missile to the higher, and even to the +highest parts of the earth's atmospheric envelope, Professor Goddard's rocket +is a practicable and therefore promising device. It is when one considers the +multiple-charge rocket as a traveler to the moon that one begins to doubt... +for after the rocket quits our air and really starts on its journey, its +flight would be neither accelerated nor maintained by the explosion of the +charges it then might have left. Professor Goddard, with his "chair" in +Clark College and countenancing of the Smithsonian Institution, does not +know the relation of action to re-action, and of the need to have something +better than a vacuum against which to react... Of course he only seems to +lack the knowledge ladled out daily in high schools. + -- New York Times Editorial, 1920 +% +A sharper perspective on this matter is particularly important to feminist +thought today, because a major tendency in feminism has constructed the +problem of domination as a drama of female vulnerability victimized by male +aggression. Even the more sophisticated feminist thinkers frequently shy +away from the analysis of submission, for fear that in admitting woman's +participation in the relationship of domination, the onus of responsibility +will appear to shift from men to women, and the moral victory from women to +men. More generally, this has been a weakness of radical politics: to +idealize the oppressed, as if their politics and culture were untouched by +the system of domination, as if people did not participate in their own +submission. To reduce domination to a simple relation of doer and done-to +is to substitute moral outrage for analysis. + -- Jessica Benjamin, "The Bonds of Love" +% +A shortcut is the longest distance between two points. +% +A sine curve goes off to infinity, or at least the end of the blackboard. + -- Prof. Steiner +% +A single death is a tragedy, a million deaths is a statistic. + -- Joseph Stalin +% +A single flow'r he sent me, since we met. +All tenderly his messenger he chose; +Deep-hearted, pure, with scented dew still wet-- +One perfect rose. + +I knew the language of the floweret; +"My fragile leaves," it said, "his heart enclose." +Love long has taken for his amulet +One perfect rose. + +Why is it no one ever sent me yet +One perfect limousine, do you suppose? +Ah no, it's always just my luck to get +One perfect rose. + -- Dorothy Parker, "One Perfect Rose" +% +A sinking ship gathers no moss. + -- Donald Kaul +% +A small town that cannot support one lawyer can always support two. +% +A Smith & Wesson beats four aces. +% +A snake lurks in the grass. + -- Publius Vergilius Maro (Virgil) +% +A social scientist, studying the culture and traditions of a small North +African tribe, found a woman still practicing the ancient art of matchmaking. +Locally, she was known as the Moor, the marrier. +% +A society in which women are taught anything but the management of a family, +the care of men, and the creation of the future generation is a society +which is on its way out. + -- L. Ron Hubbard +% +A soft answer turneth away wrath; but grievous words stir up anger. + -- Proverbs 15:1 +% +A soft drink turneth away company. +% +A solemn, unsmiling, sanctimonious old iceberg +that looked like he was waiting for a vacancy in the Trinity. + -- Mark Twain +% +A song in time is worth a dime. +% +A Southern boy graduates from high school heads north to college, taking the +family dog, Old Blue with him, for company. He's only been there a few weeks +when he gets a call from his girlfriend; seems like they've got a problem, +and she needs a thousand dollars to take care of it. The boy calls his folks: + "How are you?" they ask. + "Oh, I'm fine," he says. + "And how," they ask, "is Old Blue?" + "Well, he's kind of depressed. You see, there's this lady up here +that teaches dogs to talk, and Ol' Blue is feelin' kind of left out 'cause +he's the only dog that doesn't know how to talk. She charges a thousand +dollars." + The parents send the boy the thousand dollars, he forwards it to Mary +Lou, and everything's fine until Christmas vacation. The boy leaves Ol' Blue +at his dorm, 'cause he just can't figure out what to tell his parents. Sure +enough, when he gets home, the first thing his father wants to know is +"Where's Old Blue?" + "Well, Pa," says the boy. "I was driving on home and Old Blue was +talking away about this and that when we passed the Buford's farm. Old Blue, +well, he said, `Say, what do you think your mother would do if I told her +that your father's been comin' over here and seeing Mrs. Buford all these +years?'" + The father looks at his son -- "You shot that dog, didn't you, boy?" +% +A squeegee by any other name wouldn't sound as funny. +% +A statesman is a politician who's been dead 10 or 15 years. + -- Harry S. Truman +% +A statistician, who refused to fly after reading of the alarmingly high +probability that there will be a bomb on any given plane, realized that +the probability of there being two bombs on any given flight is very low. +Now, whenever he flies, he carries a bomb with him. +% +A stitch in time saves nine. +% +"...A strange enigma is man!" +"Someone calls him a soul concealed in an animal," I suggested. + "Winwood Reade is good upon the subject," said Holmes. "He remarked +that, while the individual man is an insoluble puzzle, in the aggregate he +becomes a mathematical certainty. You can, for example, never foretell what +any one man will do, but you can say with precision what an average number +will be up to. Individuals vary, but percentages remain constant. So says +the statistician." + -- Sherlock Holmes, "The Sign of Four" +% +A straw vote only shows which way the hot air blows. +% +A straw vote only shows which way the hot air blows. + -- O'Henry +% +A student, in hopes of understanding the Lambda-nature, came to Greenblatt. +As they spoke a Multics system hacker walked by. "Is it true", asked the +student, "that PL-1 has many of the same data types as Lisp?" Almost before +the student had finished his question, Greenblatt shouted, "FOO!", and hit +the student with a stick. +% +A student who changes the course of history is probably taking an exam. +% +A stunning blonde, but probably all bean dip above the eyebrows. +% +A successful tool is one that was used to do something +undreamed of by its author. + -- S.C. Johnson +% +A synonym is a word you use when you can't spell the word you first +thought of. + -- Burt Bacharach +% +A Tale of Two Cities LITE(tm) + -- by Charles Dickens + + A lawyer who looks like a French Nobleman is executed in his place. + +The Metamorphosis LITE(tm) + -- by Franz Kafka + + A man turns into a bug and his family gets annoyed. + +Lord of the Rings LITE(tm) + -- by J.R.R. Tolkien + + Some guys take a long vacation to throw a ring into a volcano. + +Hamlet LITE(tm) + -- by Wm. Shakespeare + + A college student on vacation with family problems, a screwy + girl-friend and a mother who won't act her age. +% +A Tale of Two Cities LITE(tm) + -- by Charles Dickens + + A man in love with a girl who loves another man who looks just + like him has his head chopped off in France because of a mean + lady who knits. + +Crime and Punishment LITE(tm) + -- by Fyodor Dostoyevsky + + A man sends a nasty letter to a pawnbroker, but later + feels guilty and apologizes. + +The Odyssey LITE(tm) + -- by Homer + + After working late, a valiant warrior gets lost on his way home. +% +A tall, dark stranger will have more fun than you. +% +A team effort is a lot of people doing what I say. + -- Michael Winner, British film director +% +A Texan, impressing the hell out of a Bostonian with tales about the heroes +of the Alamo, commented, "I'll bet you never had anyone that brave around +*Boston*." + "Ever hear of Paul Revere?", snarled the Bostonian. + "Paul Revere?", pondered the Texan. "Isn't he the guy who ran for +help?" +% +A thing is not necessarily true because a man dies for it. + -- Oscar Wilde, "The Portrait of Mr. W.H." +% +A total abstainer is one who abstains from everything +but abstention, and especially from inactivity in the affairs of others. + -- Ambrose Bierce +% +A transistor protected by a fast-acting +fuse will protect the fuse by blowing first. +% +A traveling salesman was driving past a farm when he saw a pig with three +wooden legs executing a magnificent series of backflips and cartwheels. +Intrigued, he drove up to the farmhouse, where he found an old farmer +sitting in the yard watching the pig. + "That's quite a pig you have there, sir" said the salesman. + "Sure is, son," the farmer replied. "Why, two years ago, my daughter +was swimming in the lake and bumped her head and damned near drowned, but that +pig swam out and dragged her back to shore." + "Amazing!" the salesman exclaimed. + "And that's not the only thing. Last fall I was cuttin' wood up on +the north forty when a tree fell on me. Pinned me to the ground, it did. +That pig run up and wiggled underneath that tree and lifted it off of me. +Saved my life." + "Fantastic! the salesman said. But tell me, how come the pig has +three wooden legs?" + The farmer stared at the newcomer in amazement. "Mister, when you +got an amazin' pig like that, you don't eat him all at once." +% +A true artist will let his wife starve, his children go barefoot, his mother +drudge for his living at seventy, sooner than work at anything but his art. + -- Shaw +% +A truly wise man never plays leapfrog with a unicorn. +% +A truly wise woman never plays leapfrog with a unicorn. +% +A truth that's told with bad intent +Beats all the lies you can invent. + -- William Blake +% +A university is what a college becomes +when the faculty loses interest in students. + -- John Ciardi +% +A vacuum is a hell of a lot better +than some of the stuff that nature replaces it with. + -- Tennessee Williams +% +A verbal contract isn't worth the paper it's written on. + -- Samuel Goldwyn +% +A violent man will die a violent death. + -- Lao Tsu +% +A visit to a fresh place will bring strange work. +% +A visit to a strange place will bring fresh work. +% +A vivid and creative mind characterizes you. +% +A waist is a terrible thing to mind. + -- Ziggy +% +A watched clock never boils. +% +A well adjusted person is one who makes +the same mistake twice without getting nervous. +% +A well-known friend is a treasure. +% +A well-used door needs no oil on its hinges. +A swift-flowing steam does no grow stagnant. +Neither sound nor thoughts can travel through a vacuum. +Software rots if not used. + +These are great mysteries. + -- Geoffrey James, "The Tao of Programming" +% +A widow is more sought after than an old maid of the same age. + -- Addison +% +A wife lasts only for the length of the marriage, but an ex-wife is there +*for the rest of your life*. + -- Jim Samuels +% +A wise man can see more from a mountain top +than a fool can from the bottom of a well. +% +A wise man can see more from the bottom +of a well than a fool can from a mountain top. +% +A wise person makes his own decisions, a weak one obeys public opinion. + -- Chinese proverb +% +A witty saying proves nothing. + -- Voltaire +% +A wizard cannot do everything; a fact most magicians are reticent to admit, +let alone discuss with prospective clients. Still, the fact remains that +there are certain objects, and people, that are, for one reason or another, +completely immune to any direct magical spell. It is for this group of +beings that the magician learns the subtleties of using indirect spells. +It also does no harm, in dealing with these matters, to carry a large club +near your person at all times. + -- The Teachings of Ebenezum, Volume VIII +% +A woman can look both moral and exciting -- if she also looks as if it +were quite a struggle. + -- Edna Ferber +% +A woman can never be too rich or too thin. +% +A woman did what a woman had to, the best way she knew how. +To do more was impossible, to do less, unthinkable. + -- Dirisha, "The Man Who Never Missed" +% +A woman employs sincerity only when every other form of deception has failed. + -- Scott +% +A woman, especially if she have the misfortune +of knowing anything, should conceal it as well as she can. + -- Jane Austen +% +A woman forgives the audacity of which +her beauty has prompted us to be guilty. + -- LeSage +% +A woman has got to love a bad man once or twice in her life to be +thankful for a good one. + -- Marjorie Kinnan Rawlings +% +A woman is like your shadow; follow her, she flies; fly from her, +she follows. + -- Chamfort +% +A woman may very well form a friendship with a man, but for this to +endure, it must be assisted by a little physical antipathy. + -- Nietzsche +% +A woman must be a cute, cuddly, naive little thing -- tender, sweet, +and stupid. + -- Adolf Hitler +% +A woman of generous character will sacrifice her life a thousand times +over for her lover, but will break with him for ever over a question of +pride -- for the opening or the shutting of a door. + -- Stendhal +% +A woman physician has made the statement that smoking is neither +physically defective nor morally degrading, and that nicotine, even +when indulged to in excess, is less harmful than excessive petting." + -- Purdue Exponent, Jan 16, 1925 +% +A woman shouldn't have to buy her own perfume. + -- Maurine Lewis +% +A woman went into a hospital one day to give birth. Afterwards, the doctor +came to her and said, "I have some... odd news for you." + "Is my baby all right?" the woman anxiously asked. + "Yes, he is," the doctor replied, "but we don't know how. Your son +(we assume) was born with no body. He only has a head." + Well, the doctor was correct. The Head was alive and well, though no +one knew how. The Head turned out to be fairly normal, ignoring his lack of +a body, and lived for some time as typical a life as could be expected under +the circumstances. + One day, about twenty years after the fateful birth, the woman got a +phone call from another doctor. The doctor said, "I have recently perfected +an operation. Your son can live a normal life now: we can graft a body onto +his head!" + The woman, practically weeping with joy, thanked the doctor and hung +up. She ran up the stairs saying, "Johnny, Johnny, I have a *wonderful* +surprise for you!" + "Oh no," cried The Head, "not another HAT!" +% +A woman without a man is like a fish without a bicycle. + -- Gloria Steinem +% +A woman without a man is like a fish without a bicycle. +Therefore, a man without a woman is like a bicycle without a fish. +% +A woman's best protection is a little money of her own. + -- Clare Booth Luce, quoted in "The Wit of Women" +% +A woman's place is in the house... and in the Senate. +% +A word to the wise is enough. + -- Miguel de Cervantes +% +A would-be disciple came to Nasrudin's hut on the mountain-side. Knowing +that every action of such an enlightened one is significant, the seeker +watched the teacher closely. "Why do you blow on your hands?" "To warm +myself in the cold." Later, Nasrudin poured bowls of hot soup for himself +and the newcomer, and blew on his own. "Why are you doing that, Master?" +"To cool the soup." Unable to trust a man who uses the same process +to arrive at two different results -- hot and cold -- the disciple departed. +% +A writer is congenitally unable to tell the truth and that is why we call +what he writes fiction. + -- William Faulkner +% +A yawn is a silent shout. + -- G.K. Chesterton +% +A year spent in Artificial Intelligence is enough to make one believe in God. +% +A young girl once committed suicide because her mother refused her a new +bonnet. Coroner's verdict: "Death from excessive spunk." + -- Sacramento Daily Union, September 13, 1860 +% +A young man and his girlfriend were walking along Main Street when she spotted +a beautiful diamond ring in a jewelry-store window. "Wow, I'd sure love to +have that!" she gushed. + "No problem," her companion replied, throwing a brick through the +window and grabbing the ring. + A few blocks later, the woman admired a full-length sable coat. "What +I'd give to own that," she said, sighing. + "No problem," he said, throwing a brick through the window and grabbing +the coat. + Finally, turning for home, they passed a car dealership. "Boy, I'd do +anything for one of those Rolls-Royces," she said. + "Jeez, baby," the guy moaned, "you think I'm made of bricks?" +% +A young man enters the New York branch of Tiffany's on a Friday evening and +walks up to a display case full of pearl necklaces. He turns to a gorgeous +woman, who is obviously windowshopping, looks her straight in the eye and +says, "I can tell by your eyes that you really want that necklace. If you'll +allow me, I'd like to buy it for you." + The woman looks him up and down; he's wearing a nice suit and some +pretty nice jewelry, but she has trouble believing this story. + "Look, this is some kind of put on, right?" + "No, really. You see, I've got quite a lot of money -- so much that +I could never spend it all. I'd really like for you to have it." + The guys whips out his checkbook, writes a check for five figures, +calls over a clerk and hands it to him. The clerk peers at the check, looks +at the young man, looks at the check again. "Very good, sir. I'm afraid I +can't release the necklace immediately, would Monday be all right?" + "That'll be fine, she'll pick it up." the man replies, and walks out +of the store with the woman following him in a daze. + The next Monday the man comes back in and walks up to the counter. +The same clerk hurries over to him and says, "Sir, I'm sorry to have to tell +you this, but your check was returned for insufficient funds." + "I know," the man replies. "I just wanted to thank you for a +terrific weekend." +% +A young man wrote to Mozart and said: + +Q: "Herr Mozart, I am thinking of writing symphonies. Can you give me any + suggestions as to how to get started?" +A: "A symphony is a very complex musical form, perhaps you should begin with + some simple lieder and work your way up to a symphony." +Q: "But Herr Mozart, you were writing symphonies when you were 8 years old." +A: "But I never asked anybody how." +% +A.A.A.A.A.: An organization for drunks who drive. +% +AAAAAAAAAAAaaaaaaaaaaaaaaaccccccccckkkkkk!!!!!!!!! +You brute! Knock before entering a ladies room! +% +Abandon the search for Truth; settle for a good fantasy. +% +Abbott's Admonitions: + 1: If you have to ask, you're not entitled to know. + 2: If you don't like the answer, you shouldn't have asked + the question. + -- Charles Abbot, dean, University of Virginia +% +Aberdeen was so small that when the family with the car went +on vacation, the gas station and drive-in theatre had to close. +% +Abou Ben Adhem (may his tribe increase!) +Awoke one night from a deep dream of peace, +And saw, within the moonlight in his room, +Making it rich, and like a lily in bloom, +An angel writing in a book of gold. +Exceeding peace had made Ben Adhem bold, +And to the presence in the room he said, +"What writest thou?" The vision raised its head, +And with a look made of all sweet accord, +Answered, "The names of those who love the Lord." +"And is mine one?" said Abou. "Nay not so," +Replied the angel. Abou spoke more low, +But cheerly still; and said, "I pray thee then, +Write me as one that loves his fellow-men." +The angel wrote, and vanished. The next night +It came again with a great wakening light, +And showed the names whom love of God had blessed, +And lo! Ben Adhem's name led all the rest. + -- James Henry Leigh Hunt, "Abou Ben Adhem" +% +About all some men accomplish in life is to send a son to Harvard. +% +About the only thing on a farm that has an easy time is the dog. +% +About the only thing we have left that actually +discriminates in favor of the plain people is the stork. +% +About the time we think we can make ends meet, somebody moves the ends. + -- Herbert Hoover +% +About the use of language: it is impossible to sharpen a pencil with a blunt +ax. It is equally vain to try to do it with ten blunt axes instead. + -- Edsger W. Dijkstra +% +Above all else - sky. +% +Above all things, reverence yourself. +% +Abraham Lincoln didn't die in vain. He died in Washington, D.C. +% +ABSCOND: + To be unexpectedly called away to the bedside + of a dying relative and miss the return train. +% +abscond, v: + To be unexpectedly called away to the bedside of a dying relative + and miss the return train. +% +Absence diminishes mediocre passions and increases +great ones, as the wind blows out candles and fans fires. + -- La Rochefoucauld +% +Absence in love is like water upon fire; +a little quickens, but much extinguishes it. + -- Hannah More +% +Absence is to love what wind is to fire. It extinguishes the small, +it enkindles the great. +% +Absence makes the heart forget. +% +Absence makes the heart go wander. +% +Absence makes the heart grow fonder. + -- Sextus Aurelius +% +Absence makes the heart grow fonder -- of somebody else. +% +Absence makes the heart grow frantic. +% +ABSENT: + Exposed to the attacks of friends and + acquaintances; defamed; slandered. +% +ABSENTEE: + A person with an income who has had the forethought + to remove themselves from the sphere of exaction. +% +Absinthe makes the tart grow fonder. +% +Absolutum obsoletum. (If it works, it's out of date.) + -- Stafford Beer +% +ABSTAINER: + A weak person who yields to the + temptation of denying himself a pleasure. +% +Abstract: + This study examined the incidence of neckwear tightness among a group +of 94 white-collar working men and the effect of a tight business-shirt collar +and tie on the visual performance of 22 male subjects. Of the white-collar +men measured, 67% were found to be wearing neckwear that was tighter than +their neck circumference. The visual discrimination of the 22 subjects was +evaluated using a critical flicker frequency (CFF) test. Results of the CFF +test indicated that tight neckwear significantly decreased the visual +performance of the subjects and that visual performance did not improve +immediately when tight neckwear was removed. + -- Langan, L.M. and Watkins, S.M. "Pressure of Menswear on the + Neck in Relation to Visual Performance." Human Factors 29, + #1 (Feb. 1987), pp. 67-71. +% +ABSURDITY: + A statement or belief manifestly + inconsistent with one's own opinion. +% +Academic politics is the most vicious and bitter form of politics, +because the stakes are so low. + -- Wallace Sayre +% +Academicians care, that's who. +% +ACADEMY: + A modern school where football is taught. +INSTITUTE: + An archaic school where football is not taught. +% +Accent on helpful side of your nature. Drain the moat. +% +Accept people for what they are -- completely unacceptable. +% +ACCEPTANCE TESTING: + An unsuccessful attempt to find bugs. +% +Acceptance without proof is the fundamental characteristic of Western +religion. Rejection without proof is the fundamental characteristic +of Western science. + -- Gary Zukav, "The Dancing Wu Li Masters" +% +Acceptance without proof is the fundamental characteristic of Western +religion; rejection without proof is the fundamental characteristic of +Western science. + -- Gary Zukav, "The Dancing Wu Li Masters" +% +Accident: + A condition in which presence of mind is good, + but absence of body is better. + -- Foolish Dictionary +% +Accidentally Shot + Colonel Gray, of Petaluma, came near losing his life a few days ago, +in a singular manner. A gentleman with whom he was hunting attempted to +bring down a dove, but instead of doing so put the load of shot through the +Colonel's hat. One shot took effect in his forehead. + -- Sacramento Daily Union, April 20, 1861 +% +Accidents cause History. + +If Sigismund Unbuckle had taken a walk in 1426 and met Wat Tyler, the +Peasant's Revolt would never have happened and the motor car would not +have been invented until 2026, which would have meant that all the oil +could have been used for lamps, thus saving the electric light bulb and +the whale, and nobody would have caught Moby Dick or Billy Budd. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +According to a recent and unscientific national survey, smiling is something +everyone should do at least 6 times a day. In an effort to increase the +national average (the US ranks third among the world's superpowers in +smiling), Xerox has instructed all personnel to be happy, effervescent, and +most importantly, to smile. Xerox employees agree, and even feel strongly +that they can not only meet but surpass the national average... except for +Tubby Ackerman. But because Tubby does such a fine job of racing around +parking lots with a large butterfly net retrieving floating IC chips, Xerox +decided to give him a break. If you see Tubby in a parking lot he may have +a sheepish grin. This is where the expression, "Service with a slightly +sheepish grin" comes from. +% +According to all the latest reports, +there was no truth in any of the earlier reports. +% +According to Arkansas law, Section 4761, Pope's Digest: "No person +shall be permitted under any pretext whatever, to come nearer than +fifty feet of any door or window of any polling room, from the opening +of the polls until the completion of the count and the certification of +the returns." +% +According to convention there is a sweet and a bitter, a hot and a cold, +and according to convention, there is an order. In truth, there are atoms +and a void. + -- Democritus, 400 B.C. +% +According to my best recollection, I don't remember. + -- Vincent "Jimmy Blue Eyes" Alo +% +According to the latest official figures, +43% of all statistics are totally worthless. +% +According to the Rand McNally Places-Rated Almanac, the best place to live in +America is the city of Pittsburgh. The city of New York came in twenty-fifth. +Here in New York we really don't care too much. Because we know that we could +beat up their city anytime. + -- David Letterman +% +ACCORDION: + A bagpipe with pleats. +% +ACCURACY: + The vice of being right. +% +Acid -- better living through chemistry. +% +Acid absorbs 47 times its own weight in excess Reality. +% +Acquaintance, n: + A person whom we know well enough to borrow from but not well + enough to lend to. A degree of friendship called slight when the + object is poor or obscure, and intimate when he is rich or famous. + -- Ambrose Bierce +% +Acting is an art which consists of keeping the audience from coughing. +% +Acting is not very hard. The most important things are to be able to laugh +and cry. If I have to cry, I think of my sex life. And if I have to laugh, +well, I think of my sex life. + -- Glenda Jackson +% +Actor Real Name + +Boris Karloff William Henry Pratt +Cary Grant Archibald Leach +Edward G. Robinson Emmanual Goldenburg +Gene Wilder Gerald Silberman +John Wayne Marion Morrison +Kirk Douglas Issur Danielovitch +Richard Burton Richard Jenkins Jr. +Roy Rogers Leonard Slye +Woody Allen Allen Stewart Konigsberg +% +Actor: So what do you do for a living? +Doris: I work for a company that makes deceptively shallow serving + dishes for Chinese restaurants. + -- Woody Allen, "Without Feathers" +% +Actresses will happen in the best regulated families. + -- Addison Mizner and Oliver Herford, "The Entirely + New Cynic's Calendar", 1905 +% +Actually, my goal is to have a sandwich named after me. +% +Actually, the probability is 100% that the elevator +will be going in the right direction. Proof by induction: + +N=1. Trivially true, since both you and the elevator + only have one floor to go to. + +Assume true for N, prove for N+1: + If you are on any of the first N floors, then it is true by the + induction hypothesis. If you are on the N+1st floor, then both you + and the elevator have only one choice, namely down. Therefore, + it is true for all N+1 floors. +QED. +% +Ad astra per aspera. (To the stars by aspiration.) +% +ADA: + Something you need only know the name of to be an Expert in + Computing. Useful in sentences like, "We had better develop + an ADA awareness. + -- "Datamation", January 15, 1984 +% +ADA: + Something you need to know the name of to be an Expert in Computing. + Useful in sentences like, "We had better develop an ADA awareness." +% +ADA, n.: + Something you need only know the name of to be an Expert in +Computing. Useful in sentences like, "We had better develop an ADA +awareness." +% +Adde parvum parvo manus acervus erit. +[Add little to little and there will be a big pile.] + -- Ovid +% +Adding features does not necessarily increase +functionality -- it just makes the manuals thicker. +% +Adding manpower to a late software project makes it later. + -- F. Brooks, "The Mythical Man-Month" + +Whenever one person is found adequate to the discharge of a duty by +close application thereto, it is worse execute by two persons and +scarcely done at all if three or more are employed therein. + -- George Washington, 1732-1799 +% +Adding sound to movies would be like +putting lipstick on the Venus de Milo. + -- actress Mary Pickford, 1925 +% +Adhere to your own act, and congratulate yourself if you have done +something strange and extravagant, and broken the monotony of a +decorous age. + -- Ralph Waldo Emerson +% +Adler's Distinction: + Language is all that separates us from the lower animals, + and from the bureaucrats. +% +ADMIRATION: + Our polite recognition of another's resemblance to ourselves. +% +ADOLESCENCE: + The stage between puberty and adultery. +% +ADORE: + To venerate expectantly. +% +ADULT: + One old enough to know better. +% +Adults die young. +% +Advancement in position. +% +Advertisements contain the only +truths to be relied on in a newspaper. + -- Thomas Jefferson +% +Advertising is the rattling of a stick inside a swill bucket. + -- George Orwell +% +Advertising may be described as the science of arresting the human +intelligence long enough to get money from it. +% +Advertising Rule: + In writing a patent-medicine advertisement, first convince the + reader that he has the disease he is reading about; secondly, + that it is curable. +% +Advice from an old carpenter: measure twice, saw once. +% +Advice is a dangerous gift; be cautious about giving and receiving it. +% +African violet: Such worth is rare +Apple blossom: Preference +Bachelor's button: Celibacy +Bay leaf: I change but in death +Camelia: Reflected loveliness +Chrysanthemum, red: I love +Chrysanthemum, white: Truth +Chrysanthemum, other: Slighted love +Clover: Be mine +Crocus: Abuse not +Daffodil: Innocence +Forget-me-not: True love +Fuchsia: Fast +Gardenia: Secret, untold love +Honeysuckle: Bonds of love +Ivy: Friendship, fidelity, marriage +Jasmine: Amiablity, transports of joy, sensuality +Leaves (dead): Melancholy +Lilac: Youthful innocence +Lilly: Purity, sweetness +Lilly of the valley: Return of happiness +Magnolia: Dignity, perseverance + * An upside-down blossom reverses the meaning. +% +After 35 years, I have finished a comprehensive study of European +comparative law. In Germany, under the law, everything is prohibited, +except that which is permitted. In France, under the law, everything +is permitted, except that which is prohibited. In the Soviet Union, +under the law, everything is prohibited, including that which is +permitted. And in Italy, under the law, everything is permitted, +especially that which is prohibited. + -- Newton Minow, + Speech to the Association of American Law Schools, 1985 +% +After a few boring years, socially meaningful rock 'n' roll died out. +It was replaced by disco, which offers no guidance to any form of life +more advanced than the lichen family. + -- Dave Barry +% +After a number of decimal places, nobody gives a damn. +% +After a while you learn the subtle difference +Between holding a hand and chaining a soul, +And you learn that love doesn't mean security, +And you begin to learn that kisses aren't contracts +And presents aren't promises +And you begin to accept your defeats +With your head up and your eyes open, +With the grace of a woman, not the grief of a child, +And you learn to build all your roads +On today because tomorrow's ground +Is too uncertain. And futures have +A way of falling down in midflight, +After a while you learn that even sunshine burns if you get too much. +So you plant your own garden and decorate your own soul, instead of waiting +For someone to bring you flowers. +And you learn that you really can endure... +That you really are strong, +And you really do have worth +And you learn and learn +With every goodbye you learn. + -- Veronic Shoffstall, "Comes the Dawn" +% +After all, all he did was string together +a lot of old, well-known quotations. + -- H.L. Mencken, on Shakespeare +% +After all is said and done, a hell of a lot more is said than done. +% +After all, it is only the mediocre who are always at their best. + -- Jean Giraudoux +% +After all my erstwhile dear, +My no longer cherished, +Need we say it was not love, +Just because it perished? + -- Edna St. Vincent Millay +% +After all, what is your hosts' purpose in having a party? Surely not for +you to enjoy yourself; if that were their sole purpose, they'd have simply +sent champagne and women over to your place by taxi. + -- P.J. O'Rourke +% +After an instrument has been assembled, +extra components will be found on the bench. +% +After any salary raise, you will have less money at the end of the +month than you did before. +% +After [Benjamin] Franklin came a herd of Electrical Pioneers whose names +have become part of our electrical terminology: Myron Volt, Mary Louise Amp, +James Watt, Bob Transformer, etc. These pioneers conducted many important +electrical experiments. For example, in 1780 Luigi Galvani discovered (this +is the truth) that when he attached two different kinds of metal to the leg +of a frog, an electrical current developed and the frog's leg kicked, even +though it was no longer attached to the frog, which was dead anyway. +Galvani's discovery led to enormous advances in the field of amphibian +medicine. Today, skilled veterinary surgeons can take a frog that has been +seriously injured or killed, implant pieces of metal in its muscles, and +watch it hop back into the pond just like a normal frog, except for the fact +that it sinks like a stone. + -- Dave Barry, "What is Electricity?" +% +After his Ignoble Disgrace, Satan was being expelled from +Heaven. As he passed through the Gates, he paused a moment in thought, +and turned to God and said, "A new creature called Man, I hear, is soon +to be created." + "This is true," He replied. + "He will need laws," said the Demon slyly. + "What! You, his appointed Enemy for all Time! You ask for the +right to make his laws?" + "Oh, no!" Satan replied, "I ask only that he be allowed to make +his own." + It was so granted. +% +After his legs had been broken in an accident, Mr. Miller sued for damages, +claming that he was crippled and would have to spend the rest of his life +in a wheelchair. Although the insurance-company doctor testified that his +bones had healed properly and that he was fully capable of walking, the +judge decided for the plaintiff and awarded him $500,000. + When he was wheeled into the insurance office to collect his check, +Miller was confronted by several executives. "You're not getting away with +this, Miller," one said. "We're going to watch you day and night. If you +take a single step, you'll not only repay the damages but stand trial for +perjury. Here's the money. What do you intend to do with it?" + "My wife and I are going to travel," Miller replied. "We'll go to +Stockholm, Berlin, Rome, Athens and, finally, to a place called Lourdes -- +where, gentlemen, you'll see yourselves one hell of a miracle." +% +After living in New York, you trust nobody, +but you believe everything. Just in case. +% +...[after the announcement of Vanguard] ... Secretary of Defense Charles +Wilson (the same "Engine Charlie" who once told the Senate, "[F]or years +I've thought that what was good for our country was good for General Motors, +and vice versa," probably an accurate analysis) was asked whether the +Russians might beat the Americans into orbit. "I wouldn't care if they +did," he responded. (It was later claimed that Wilson favored the +development of the automatic transmission so that he could drive with +one foot in his mouth.) + -- Smithsonian's Air&Space Magazine, "The Day the Rocket Died" +% +After the game the king and the pawn go in the same box. + -- Italian proverb +% +After the ground war began, captured Iraqi soldiers said any of them caught +by superiors wearing a white T-shirt would be executed because of the ease +with which the shirts could be used as surrender flags. Some Iraqi soldiers +carried bleach with them to make their dark shirts white. + -- Chuck Shepherd, Funny Times, May 1991 +% +After the last of 16 mounting screws has been removed from an access +cover, it will be discovered that the wrong access cover has been removed. +% +After this was written there appeared a remarkable posthumous memoir that +throws some doubt on Millikan's leading role in these experiments. Harvey +Fletcher (1884-1981), who was a graduate student at the University of Chicago, +at Millikan's suggestion worked on the measurement of electronic charge for +his doctoral thesis, and co-authored some of the early papers on this subject +with Millikan. Fletcher left a manuscript with a friend with instructions +that it be published after his death; the manuscript was published in +Physics Today, June 1982, page 43. In it, Fletcher claims that he was the +first to do the experiment with oil drops, was the first to measure charges on +single droplets, and may have been the first to suggest the use of oil. +According to Fletcher, he had expected to be co-authored with Millikan on +the crucial first article announcing the measurement of the electronic +charge, but was talked out of this by Millikan. + -- Steven Weinberg, "The Discovery of Subatomic Particles" + +Robert Millikan is generally credited with making the first really +precise measurement of the charge on an electron and was awarded the +Nobel Prize in 1923. +% +After two or three weeks of this madness, you begin to feel As One with +the man who said, "No news is good news." In twenty-eight papers, only +the rarest kind of luck will turn up more than two or three articles of +any interest... but even then the interest items are usually buried +deep around paragraph 16 on the jump (or "Cont. on ...") page... + +The Post will have a story about Muskie making a speech in Iowa. The +Star will say the same thing, and the Journal will say nothing at all. +But the Times might have enough room on the jump page to include a line +or so that says something like: "When he finished his speech, Muskie +burst into tears and seized his campaign manager by the side of the +neck. They grappled briefly, but the struggle was kicked apart by an +oriental woman who seemed to be in control." + +Now that's good journalism. Totally objective; very active and +straight to the point. + -- Hunter S. Thompson, "Fear and Loathing '72" +% +After years of research, scientists recently reported that there is, +indeed, arroz in Spanish Harlem. +% +After your lover has gone you will still have PEANUT BUTTER! +% +AFTERNOON: + That part of the day we spend worrying + about how we wasted the morning. +% +Afternoon very favorable for romance. Try a single person for a change. +% +Against Idleness and Mischief + +How doth the little busy bee How skillfully she builds her cell! +Improve each shining hour, How neat she spreads the wax! +And gather honey all the day And labours hard to store it well +From every opening flower! With the sweet food she makes. + +In works of labour or of skill In books, or work, or healthful play, +I would be busy too; Let my first years be passed, +For Satan finds some mischief still That I may give for every day +For idle hands to do. Some good account at last. + -- Isaac Watts, 1674-1748 +% +Against stupidity the very gods Themselves contend in vain. + -- Friedrich von Schiller, "The Maid of Orleans", III, 6 +% +Age and treachery will always overcome youth and skill. +% +Age is a tyrant who forbids, +at the penalty of life, all the pleasures of youth. +% +Agnes' Law: + Almost everything in life is easier to get into than out of. +% +Agree with them now, it will save so much time. +% +Ah, but a man's grasp should exceed his reach, +Or what's a heaven for ? + -- Robert Browning, "Andrea del Sarto" +% +Ah, my friends, from the prison, they ask unto me, +"How good, how good does it feel to be free?" +And I answer them most mysteriously: +"Are birds free from the chains of the sky-way?" + -- Bob Dylan +% +Ah, sweet Springtime, when a young man lightly turns his fancy over! +% +Ah, the Tsar's bazaar's bizarre beaux-arts! +% +Ahead warp factor one, Mr. Sulu. +% +Ahhhhhh... the smell of cuprinol and mahogany. It +excites me to... acts of passion... acts of... ineptitude. +% +Aide to Raygun: Sir, the poor are outside protesting your budget cuts. +Raygun himself: Tell them they'll have to help themselves. +Aide to Raygun: Sir, the Pentagon wants another $30 billion. +Raygun himself: Tell them to help themselves. +% +Aim for the moon. If you miss, you may hit a star. + -- W. Clement Stone +% +Ain't no right way to do a wrong thing. + -- The Mad Dogtender +% +Ain't nothin' an old man can do for me but +bring me a message from a young man. + -- Moms Mabley +% +"Ain't that something what happened today. One of us got traded to +Kansas City." + -- Casey Stengel, informing outfielder Bob Cerv he'd + been traded. +% +AIR: + A nutritious substance supplied by + a bountiful Providence for the fattening of the poor. + -- Ambrose Bierce +% +Air Force Inertia Axiom: + Consistency is always easier to defend than correctness. +% +Air is water with holes in it. +% +Air pollution is really making us pay through the nose. +% +Airplanes are interesting toys but of no military value. + -- Marechal Ferdinand Foch, Professor of Strategy, + Ecole Superieure de Guerre +% +Al didn't smile for forty years. You've got to admire a man like that. + -- from "Mary Hartman, Mary Hartman" +% +Alan Turing thought about criteria to settle the question of whether +machines can think, a question of which we now know that it is about +as relevant as the question of whether submarines can swim. + -- Edsger W. Dijkstra +% +Alas, how love can trifle with itself! + -- William Shakespeare, "The Two Gentlemen of Verona" +% +Alas, I am dying beyond my means. + -- Oscar Wilde [as he sipped champagne on his deathbed] +% +ALASKA: + A prelude to "No." +% +Albert Camus wrote that the only serious question is whether to kill yourself +or not. Tom Robbins wrote that the only serious question is whether time has +a beginning and an end. Camus clearly got up on the wrong side of bed, and +Robbins must have forgotten to set the alarm. + -- Tom Robbins +% +ALBRECHT'S LAW: + Social innovations tend to the level + of minimum tolerable well-being. +% +Alcohol, hashish, prussic acid, strychnine are weak dilutions. +The surest poison is time. + -- Emerson, "Society and Solitude" +% +Alcohol is the anesthesia by which we endure the operation of life. + -- George Bernard Shaw +% +Alden's Laws: + 1: Giving away baby clothes and furniture is the major cause + of pregnancy. + 2: Always be backlit. + 3: Sit down whenever possible. +% +Aleph-null bottles of beer on the wall, +Aleph-null bottles of beer, +You take one down, and pass it around, +Aleph-null bottles of beer on the wall. +% +Alex Haley was adopted! +% +Alexander Graham Bell is alive and well +in New York, and still waiting for a dial tone. +% +Alexander Hamilton started the U.S. Treasury with nothing - and that was +the closest our country has ever been to being even. + -- The Best of Will Rogers +% +Algebraic symbols are used when you do not know what you are talking about. + -- Philippe Schnoebelen +% +Algebraic symbols are used when you don't know what you're talking about. +% +Algol-60 surely must be regarded as the most +important programming language yet developed. + -- T. Cheatham +% +ALGORITHM: + Trendy dance for hip programmers. +% +Alimony and bribes will engage a large share of your wealth. +% +Alimony is a system by which, when two people +make a mistake, one of them continues to pay for it. + -- Peggy Joyce +% +Alimony is like buying oats for a dead horse. + -- Arthur Baer +% +Alimony is the curse of the writing classes. + -- Norman Mailer +% +Alimony is the high cost of leaving. +% +Aliquid melius quam pessimum optimum non est. +% +Alive without breath, +As cold as death; +Never thirsty, ever drinking, +All in mail ever clinking. +% +All a man needs out of life is a place to sit 'n' spit in the fire. +% +All art is but imitation of nature. + -- Lucius Annaeus Seneca +% +All articles that coruscate with resplendence are not truly auriferous. +% +All bad precedents began as justifiable measures. + -- Gaius Julius Caesar, quoted in "The Conspiracy of + Catiline", by Sallust +% +All constants are variables. +% +All diplomacy is a continuation of war by other means. + -- Chou En Lai +% +All flesh is grass. + -- Isaiah +Smoke a friend today. +% +All generalizations are false, including this one. + -- Mark Twain +% +All God's children are not beautiful. Most of God's children are, in fact, +barely presentable. + -- Fran Lebowitz, "Metropolitan Life" +% +All Gods were immortal. + -- Stanislaw J. Lem, "Unkempt Thoughts" +% +All great discoveries are made by mistake. + -- Young +% +All great ideas are controversial, or have been at one time. +% +All heiresses are beautiful. + -- John Dryden +% +All his life he has looked away... to the horizon, to the sky, +to the future. Never his mind on where he was, on what he was doing. + -- Yoda +% +All hope abandon, ye who enter here! + -- Dante Alighieri +% +All I ask is a chance to prove that money can't make me happy. +% +All I kin say is when you finds yo'self wanderin' in a peach orchard, +ya don't go lookin' for rutabagas. + -- Kingfish +% +All I know is what the words know, and dead things, and that +makes a handsome little sum, with a beginning and a middle and +an end, as in the well-built phrase and the long sonata of the dead. + -- Samuel Beckett +% +All I need to have a good time, +Is a reefer, a woman and a bottle of wine. +With those three things I don't need no sunshine, +A reefer, a woman and a bottle of wine. + +All I want is to never grow old, +I want to wash in a bathtub of gold. +I want 97 kilos already rolled, +I want to wash in a bathtub of gold. + +I want to light my cigars with 10 dollar bills, +I like to have a cattle ranch in Beverly Hills. +I want a bottle of Red Eye that's always filled, +I like to have a cattle ranch in Beverly Hills. + -- Country Joe and the Fish, "Zachariah" +% +All I want is a warm bed and a kind word and unlimited power. + -- Ashleigh Brilliant +% +All intelligent species own cats. +% +All is fear in love and war. +% +All is well that ends well. + -- John Heywood +% +All I've got left on the list of desirable vocations is heiress to the +throne of any country in Western Europe and Laurie Anderson. "Be +practical", was the choral reply from the dinner table. Well, Laurie +Anderson is already Laurie Anderson, but I read an article in Harpers +that said there were eleven countries, in the world this is I think, +that have queens as sovereign rulers. That's probably my best shot. +% +All kings is mostly rapscallions. + --Mark Twain +% +All laws are simulations of reality. + -- John C. Lilly +% +All life evolves by the differential survival of replicating entities. + -- Dawkins +% +All men have the right to wait in line. +% +All men know the utility of useful things; +but they do not know the utility of futility. + -- Chuang-tzu +% +All men profess honesty as long as they can. +To believe all men honest would be folly. +To believe none so is something worse. + -- John Quincy Adams +% +All most men really want in life is a wife, a house, two kids and a car, +a cat, no maybe a dog. Ummm, scratch one of the kids and add a dog. +Definitely a dog. +% +All most people ask of life is a constant +and exaggerated sense of their own importance. +% +All most people want is a little more than they'll ever get. +% +All my friends and I are crazy. +That's the only thing that keeps us sane. +% +All my friends are getting married, +Yes, they're all growing old, +They're all staying home on the weekend, +They're all doing what they're told. +% +All my life I wanted to be someone; I guess I should have been more specific. + -- Jane Wagner +% +ALL NEW: + Parts not interchangeable with previous model. +% +All newspaper editorial writers ever do is come down from +the hills after the battle is over and shoot the wounded. +% +All of the animals except man know that +the principal business of life is to enjoy it. +% +All of the people in my building are insane. The guy above me designs +synthetic hairballs for ceramic cats. The lady across the hall tried to +rob a department store... with a pricing gun... She said, "Give me all +of the money in the vault, or I'm marking down everything in the store." + -- Stephen Wright +% +All of us should treasure his Oriental wisdom and his preaching of a +Zen-like detachment, as exemplified by his constant reminder to clerks, +tellers, or others who grew excited by his presence in their banks: +"Just lie down on the floor and keep calm." + -- Robert Wilson, "John Dillinger Died for You" +% +All parts should go together without forcing. You must remember that the +parts you are reassembling were disassembled by you. Therefore, if you +can't get them together again, there must be a reason. By all means, do +not use a hammer. + -- IBM maintenance manual, 1925 +% +All people are born alike -- except Republicans and Democrats. + -- Groucho Marx +% +All phone calls are obscene. + -- Karen Elizabeth Gordon +% +All possibility of understanding is rooted in the ability to say no. + -- Susan Sontag +% +All programmers are optimists. Perhaps this modern sorcery especially attracts +those who believe in happy endings and fairy godmothers. Perhaps the hundreds +of nitty frustrations drive away all but those who habitually focus on the end +goal. Perhaps it is merely that computers are young, programmers are younger, +and the young are always optimists. But however the selection process works, +the result is indisputable: "This time it will surely run," or "I just found +the last bug." + -- Frederick Brooks, "The Mythical Man Month" +% +All programmers are playwrights and all computers are lousy actors. +% +All progress is based upon a universal innate desire of every organism +to live beyond its income. + -- Samuel Butler, "Notebooks" +% +All science is either physics or stamp collecting. + -- Ernest Rutherford +% +All seems condemned in the long run +to approximate a state akin to Gaussian noise. + -- James Martin +% +All snakes who wish to remain in Ireland will please raise their right hands. + -- Saint Patrick +% +All syllogisms have three parts, therefore this is not a syllogism. +% +All that glitters has a high refractive index. +% +All that glitters is not gold; all that wander are not lost. +% +All that is gold does not glitter, +Not all those who wander are lost; +The old that is strong does not wither, +Deep roots are not reached by the frost. +From the ashes a fire shall be woken, +A light from the shadows shall spring; +Renewed shall be blade that was broken, +The crownless again shall be king. + -- J.R.R. Tolkien +% +All the big corporations depreciate their possessions, and you can, too, +provided you use them for business purposes. For example, if you subscribe +to the Wall Street Journal, a business-related newspaper, you can deduct +the cost of your house, because, in the words of U.S. Supreme Court Chief +Justice Warren Burger in a landmark 1979 tax decision: "Where else are you +going to read the paper? Outside? What if it rains?" + -- Dave Barry +% +All the evidence concerning the universe +has not yet been collected, so there's still hope. +% +All the lines have been written There's been Sandburg, +It's sad but it's true Keats, Poe and McKuen +With all the words gone, They all had their day +What's a young poet to do? And knew what they're doin' + +But of all the words written The bird is a strange one, +And all the lines read, So small and so tender +There's one I like most, Its breed still unknown, +And by a bird it was said! Not to mention its gender. + +It reminds me of days of So what is this line +Both gloom and of light. Whose author's unknown +It still lifts my spirits And still makes me giggle +And starts the day right. Even now that I'm grown? + +I've read all the greats +Both starving and fat, +But none was as great as +"I tot I taw a puddy tat." + -- Etta Stallings, "An Ode To Childhood" +% +All the men on my staff can type. + -- Bella Abzug +% +...all the modern inconveniences... + -- Mark Twain +% +All the really good ideas I ever had came to me while I was milking a cow. + -- Grant Wood +% +All the simple programs have been written. +% +All the troubles you have will pass away very quickly. +% +All the world's a stage and most of us are desperately un-rehearsed. + -- Sean O'Casey +% +All the world's a VAX, +And all the coders merely butchers; +They have their exits and their entrails; +And one int in his time plays many widths, +His sizeof being N bytes. At first the infant, +Mewling and puking in the Regent's arms. +And then the whining schoolboy, with his Sun, +And shining morning face, creeping like slug +Unwillingly to school. + -- A Very Annoyed PDP-11 +% +All things are possible, except for skiing through a revolving door. +% +All things being equal, you are bound to lose. +% +All things that are, are with more spirit chased than enjoyed. + -- Shakespeare, "Merchant of Venice" +% +All this wheeling and dealing around, why, it isn't for money, +it's for fun. Money's just the way we keep score. + -- Henry Tyroon +% +All true wisdom is found on T-shirts. +% +All warranty and guarantee clauses +become null and void upon payment of invoice. +% +All we know is the phenomenon: we spend our time sending messages to each +other, talking and trying to listen at the same time, exchanging information. +This seems to be our most urgent biological function; it is what we do with +our lives." + -- Lewis Thomas, "The Lives of a Cell" +% +All who joy would win Must share it -- +Happiness was born a twin. + -- Lord Byron +% +All your files have been destroyed (sorry). Paul. +% +Allen's Axiom: + When all else fails, read the instructions. +% +Alliance, n: + In international politics, the union of two thieves who + have their hands so deeply inserted in each other's pocket + that they cannot safely plunder a third. + -- Ambrose Bierce +% +All's well that ends. +% +Almost anything derogatory you could say +about today's software design would be accurate. + -- K.E. Iverson +% +ALONE: + In bad company. +% +Also, the Scots are said to have invented golf. Then they had +to invent Scotch whiskey to take away the pain and frustration. +% +alta, v: To change; make or become different; modify. +ansa, v: A spoken or written reply, as to a question. +baa, n: A place people meet to have a few drinks. +Baaston, n: The capital of Massachusetts. +baaba, n: One whose business is to cut or trim hair or beards. +beea, n: An alcoholic beverage brewed from malt and hops, often + found in baas. +caaa, n: An automobile. +centa, n: A point around which something revolves; axis. (Or + someone involved with the Knicks.) +chouda, n: A thick seafood soup, often in a milk base. +dada, n: Information, esp. information organized for analysis or + computation. + -- Massachewsetts Unabridged Dictionary +% +Although it is still a truism in industry that "no one was ever fired for +buying IBM," Bill O'Neil, the chief technology officer at Drexel Burnham +Lambert, says he knows for a fact that someone has been fired for just that +reason. He knows it because he fired the guy. + "He made a bad decision, and what it came down to was, 'Well, I +bought it because I figured it was safe to buy IBM,'" Mr. O'Neil says. +"I said, 'No. Wrong. Game over. Next contestant, please.'" + -- The Wall Street Journal, December 6, 1989 +% +Although written many years ago, Lady Chatterley's Lover has just been +reissued by the Grove Press, and this pictorial account of the day-to-day +life of an English gamekeeper is full of considerable interest to outdoor +minded readers, as it contains many passages on pheasant-raising, the +apprehending of poachers, ways to control vermin, and other chores and duties +of the professional gamekeeper. Unfortunately, one is obliged to wade +through many pages of extraneous material in order to discover and savour +those sidelights on the management of a midland shooting estate, and in this +reviewer's opinion the book cannot take the place of J.R. Miller's "Practical +Gamekeeping." + -- Ed Zern, "Field and Stream", Nov., 1959 +% +Always borrow money from a pessimist; he doesn't expect to be paid back. +% +Always do right. This will gratify some people and astonish the rest. + -- Mark Twain +% +Always draw your curves, then plot your reading. +% +Always leave room to add an explanation if it doesn't work out. +% +Always run from a knife and rush a gun. + -- Jimmy Hoffa +% +Always store beer in a dark place. +% +Always the dullness of the fool is the whetstone of the wits. + -- William Shakespeare, "As You Like It" +% +Always there remain portions of our heart +into which no one is able to enter, invite them as we may. +% +Always think of something new; this +helps you forget your last rotten idea. + -- Seth Frankel +% +AMAZING BUT TRUE... + If all the salmon caught in Canada in one year were laid end to + end across the Sahara Desert, the smell would be absolutely awful. +% +AMAZING BUT TRUE... + There is so much sand in Northern Africa that if it + were spread out it would completely cover the Sahara Desert. +% +AMBIDEXTROUS: + Able to pick with equal skill a right-hand pocket or a left. +% +AMBIGUITY: + Telling the truth when you don't mean to. +% +Ambition is a poor excuse for not having sense enough to be lazy. + -- Charlie McCarthy +% +Ambition, n: + An overmastering desire to be vilified by enemies while + living and made ridiculous by friends when dead. + -- Ambrose Bierce +% +America: born free and taxed to death. +% +America has been discovered before, but it has always been hushed up. + -- Oscar Wilde +% +America, how can I write a holy litany in your silly mood? + -- Allen Ginsberg +% +America is a melting pot. You know, where those on the bottom get burned, +and the scum rises to the top. + -- Utah Phillips +% +America is a stronger nation for the ACLU's uncompromising effort. + -- President John F. Kennedy + +The simple rights, the civil liberties from generations of struggle must not +be just fine words for patriotic holidays, words we subvert on weekdays, but +living, honored rules of conduct amongst us...I'm glad the American Civil +Liberties Union gets indignant, and I hope this will always be so. + -- Senator Adlai E. Stevenson + +The ACLU has stood foursquare against the recurring tides of hysteria that +from time to time threaten freedoms everywhere... Indeed, it is difficult +to appreciate how far our freedoms might have eroded had it not been for the +Union's valiant representation in the courts of the constitutional rights +of people of all persuasions, no matter how unpopular or even despised +by the majority they were at the time. + -- former Supreme Court Chief Justice Earl Warren +% +America is the country where you buy a lifetime +supply of aspirin for one dollar, and use it up in two weeks. +% +America may be unique in being a country which has leapt +from barbarism to decadence without touching civilization. + -- John O'Hara +% +America was discovered by Amerigo Vespucci and was named after him, until +people got tired of living in a place called "Vespuccia" and changed its +name to "America". + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +America works less, when you say "Union Yes!" +% +American business long ago gave up on demanding that prospective employees +be honest and hardworking. It has even stopped hoping for employees who +are educated enough that they can tell the difference between the men's room +and the women's room without having little pictures on the doors. + -- Dave Barry +% +American by birth; Texan by the grace of God. +% +American cars are made shoddily... +Cars made overseas are far superior. + -- Sen. Barry Goldwater +% +[Americans] are a race of convicts and ought to be thankful for anything +we allow them short of hanging. + -- Samuel Johnson + +America is a large friendly dog in a small room. Every time it wags its +tail it knocks over a chair. + -- Arnold Toynbee + +The United States is like the guy at the party who gives cocaine to +everybody and still nobody likes him. + -- Jim Samuels +% +Americans are people who insist on living in the present, tense. +% +Americans' greatest fear is that America will turn out +to have been a phenomenon, not a civilization. + -- Shirley Hazzard, "Transit of Venus" +% +America's best buy for a quarter is a telephone call to the right person. +% +Amnesia used to be my favorite word, but then I forgot it. +% +AMOEBIT: + Amoeba/rabbit cross; it can multiply + and divide at the same time. +% +Among all savage beasts, none is found so harmful as woman. + -- St. John Chrysostom, 304-407. +% +Among the lucky, you are the chosen one. +% +An acid is like a woman: a good one will eat through your pants. + -- Mel Gibson, Saturday Night Live +% +An actor's a guy who if you ain't talkin' about him, ain't listening. + -- Marlon Brando +% +An Ada exception is when a routine gets +in trouble and says 'Beam me up, Scotty'. +% +An adequate bootstrap is a contradiction in terms. +% +An Aggie farmer was lifting his hogs, one by one, up to the branches of +his apple trees to graze on the apples. A Texas student walked by and +asked him, "Doesn't that take a lot of time?" + Replied the Aggie, "What's time to a hog?" +% +An alcoholic is someone you don't like who drinks as much as you do. + -- Dylan Thomas +% +An algorithm must be seen to be believed. + -- D.E. Knuth +% +An ambassador is an honest man sent abroad +to lie and intrigue for the benefit of his country. + -- Sir Henry Wotton, 1568-1639 +% +An amendment to a motion may be amended, but an amendment to an amendment +to a motion may not be amended. However, a substitute for an amendment to +and amendment to a motion may be adopted and the substitute may be amended. + -- The Montana legislature's contribution to the English + language. +% +An American is a man with two arms and four wheels. + -- A Chinese child +% +An American scientist once visited the offices of the great Nobel prize +winning physicist, Niels Bohr, in Copenhagen. He was amazed to find that +over Bohr's desk was a horseshoe, securely nailed to the wall, with the +open end up in the approved manner (so it would catch the good luck and not +let it spill out). The American said with a nervous laugh, + "Surely you don't believe the horseshoe will bring you good luck, +do you, Professor Bohr? After all, as a scientist --" +Bohr chuckled. + "I believe no such thing, my good friend. Not at all. I am +scarcely likely to believe in such foolish nonsense. However, I am told +that a horseshoe will bring you good luck whether you believe in it or not." +% +An American tourist is visiting Russia, and he's talking with a Russian +about the fact that not many people in Russia own cars. + +American: "I can't believe you don't have cars here! How do you + get to work?" +Russian: "We take the bus, or the subway. We have public + transportation everywhere." +A: "Well, how do you go on vacations?" +R: "We take the train." +A: "Well, what if you want to go abroad?" +R: "We don't ever want go abroad." +A: "Well, what if you really HAVE to go abroad?" +R: "We take tanks." +% +An American's a person who isn't afraid to criticize +the president but is always polite to traffic cops. +% +An anthropologist at Tulane has just come back from a field trip to +New Guinea with reports of a tribe so primitive that they have Tide but +not new Tide with lemon-fresh Borax. + -- David Letterman +% +An aphorism is never exactly true; +it is either a half-truth or one-and-a-half truths. + -- Karl Kraus +% +An appeaser is one who feeds a crocodile -- hoping that it will eat +him last. + -- Sir Winston Churchill, 1954 +% +An apple a day makes 365 apples a year. +% +An atheist is a man with no invisible means of support. +% +An atom-blaster is a good weapon, but it can point both ways. + -- Isaac Asimov +% +An attachment a la Plato +for a bashful young potato +or a, not too French, french bean +must excite your languid spleen. +For, if you walk down Picadilly +with a poppy or lily +in your medieval hand, +every one will say, +as you walk your flowery way; +"If this young man is content, +with a vegetable love +which would certainly not content me. +Why, what a very pure young man +this pure young man must be!" + -- W.S. Gilbert, "Patience" + [The subject of the humour is, of course, Oscar Wilde] +% +An attorney was defending his client against a charge of first-degree +murder. "Your Honor, my client is accused of stuff his lover's +mutilated body into a suitcase and heading for the Mexican border. +Just north of Tijuana a cop spotted her hand sticking out of the +suitcase. Now, I would like to stress that my client is *not* a +murderer. A sloppy packer, maybe..." +% +An avocado-tone refrigerator would look good on your resume. +% +An economist is a man who would marry +Farrah Fawcett-Majors for her money. +% +An editor is one who separates the wheat from the chaff and prints the chaff. + -- Adlai Stevenson +% +An effective way to deal with predators is to taste terrible. +% +An efficient and a successful administration manifests +itself equally in small as in great matters. + -- W. Churchill +% +An egghead is one who stands firmly on both feet, +in mid-air, on both sides of an issue. + -- Homer Ferguson +% +An elderly couple were flying to their Caribbean hideaway on a chartered plane +when a terrible storm forced them to land on an uninhabited island. When +several days passed without rescue, the couple and their pilot sank into a +despondent silence. Finally, the woman asked her husband if he had made his +usual pledge to the United Way Campaign. + "We're running out of food and water and you ask *that*?" her husband +barked. "If you really need to know, I not only pledged a half million but +I've already paid them half of it." + "You owe the U.W.C. a *quarter million*?" the woman exclaimed +euphorically. "Don't worry, Harry, they'll find us! They'll find us!" +% +An elephant is a mouse with an operating system. +% +An engineer, a physicist and a mathematician find themselves in an +anecdote, indeed an anecdote quite similar to many that you have no doubt +already heard. After some observations and rough calculations the +engineer realizes the situation and starts laughing. A few minutes later +the physicist understands too and chuckles to himself happily as he now +has enough experimental evidence to publish a paper. This leaves the +mathematician somewhat perplexed, as he had observed right away that he +was the subject of an anecdote, and deduced quite rapidly the presence of +humour from similar anecdotes, but considers this anecdote to be too +trivial a corollary to be significant, let alone funny. +% +An engineer is someone who does list processing in FORTRAN. +% +An Englishman never enjoys himself, except for a noble purpose. + -- A.P. Herbert +% +An evil mind is a great comfort. +% +An excellence-oriented '80s male does not wear a regular watch. He wears +a Rolex watch, because it weighs nearly six pounds and is advertised +only in excellence-oriented publications such as Fortune and Rich +Protestant Golfer Magazine. The advertisements are written in +incomplete sentences, which is how advertising copywriters denote +excellence: + +"The Rolex Hyperion. An elegant new standard in quality excellence and +discriminating handcraftsmanship. For the individual who is truly able +to discriminate with regard to excellent quality standards of crafting +things by hand. Fabricated of 100 percent 24-karat gold. No watch +parts or anything. Just a great big chunk on your wrist. Truly a +timeless statement. For the individual who is very secure. Who +doesn't need to be reminded all the time that he is very successful. +Much more successful than the people who laughed at him in high +school. Because of his acne. People who are probably nowhere near as +successful as he is now. Maybe he'll go to his 20th reunion, and +they'll see his Rolex Hyperion. Hahahahahahahahaha." + -- Dave Barry, "In Search of Excellence" +% +...an experienced, industrious, ambitious, and quite often +picturesque liar. + -- Mark Twain +% +An expert is a man who has made all the mistakes which can be made, in a +very narrow field. + -- Niels Bohr +% +An expert is a person who avoids the small errors +as he sweeps on to the grand fallacy. + -- Benjamin Stolberg +% +An expert is one who knows more and more about less +and less until he knows absolutely nothing about everything. +% +An eye in a blue face +Saw an eye in a green face. +"That eye is like this eye" +Said the first eye, +"But in low place, +Not in high place." +% +An Hacker there was, one of the finest sort +Who controlled the system; graphics was his sport. +A manly man, to be a wizard able; +Many a protected file he had sitting on his table. +His console, when he typed, a man might hear +Clicking and feeping wind as clear, +Aye, and as loud as does the machine room bell +Where my lord Hacker was Prior of the cell. +The Rule of good St Savage or St Doeppnor +As old and strict he tended to ignore; +He let go by the things of yesterday +And took the modern world's more spacious way. +He did not rate that text as a plucked hen +Which says that Hackers are not holy men. +And that a hacker underworked is a mere +Fish out of water, flapping on the pier. +That is to say, a hacker out of his cloister. +That was a text he held not worth an oyster. +And I agreed and said his views were sound; +Was he to study till his head wend round +Poring over books in the cloisters? Must he toil +As Andy bade and till the very soil? +Was he to leave the world upon the shelf? +Let Andy have his labor to himself! + -- Chaucer + [well, almost. Ed.] +% +An honest politician is one who when he is bought will stay bought. + -- Simon Cameron + +There are honest journalists like there are honest politicians. When +bought they stay bought. + -- Bill Moyers +% +An honest tale speeds best being plainly told. + -- William Shakespeare, "Henry VI" +% +An idea is not responsible for the people who believe in it. +% +An idealist is one who helps the other fellow to make a profit. + -- Henry Ford +% +An idle mind is worth two in the bush. +% +An infallible method of conciliating a tiger +is to allow oneself to be devoured. + -- Konrad Adenauer +% +An intellectual is someone whose mind watches itself. + -- Albert Camus +% +An interpretation I satisfies a sentence in the table language if and only if +each entry in the table designates the value of the function designated by the +function constant in the upper-left corner applied to the objects designated +by the corresponding row and column labels. + -- Genesereth & Nilsson, "Logical foundations of Artificial + Intelligence" +% +An investment in knowledge always pays the best interest. + -- Benjamin Franklin +% +An old Jewish man reads about Einstein's theory of relativity +in the newspaper and asks his scientist grandson to explain it to him. + "Well, zayda, it's sort of like this. Einstein says that if +you're having your teeth drilled without Novocain, a minute seems like +an hour. But if you're sitting with a beautiful woman on your lap, an +hour seems like a minute." + The old man considers this profound bit of thinking for a +moment and says, "And from this he makes a living?" + -- Arthur Naiman +% +An old man is lying on his deathbed with all his children, grandchildren and +great-grandchildren gathered around, teary-eyed at the approaching finale of +a deeply loved family member. The old man is in a light coma, and the doctors +have confirmed that the waiting will be over within the next twenty-four +hours. Suddenly, the old man opens his eyes whispers: "I must be dreaming +of heaven... I smell my daughter Lisle's strudel." + "No, no, grandfather, you are not dreaming", he is reassured. +"Grandmother is baking strudel right now." + A faint smile crosses the old man's face. "Go an get me a sliver of +strudel," he says, "she bakes the finest strudel in the world." + One of the grandchildren is immediately dispatched to honor the old +man's request, and, after what seems a long time, he returns empty-handed. + "Did you bring me some of Lisle's strudel?", the old man quavers. + "I'm... I'm very sorry, grandfather, but she says it's for the +funeral." +% +An optimist is a guy that has never had much experience. + -- Don Marquis +% +An optimist is a man who looks forward to marriage. +A pessimist is a married optimist. +% +An ounce of clear truth is worth a pound of obfuscation. +% +An ounce of hypocrisy is worth a pound of ambition. + -- Michael Korda +% +An ounce of mother is worth a ton of priest. + -- Spanish proverb +% +Anarchy may not be a better form of government, +but it's better than no government at all. +% +And all that the Lorax left here in this mess +was a small pile of rocks with the one word, "unless." +Whatever THAT meant, well, I just couldn't guess. +That was long, long ago, and each day since that day, +I've worried and worried and worried away. +Through the years as my buildings have fallen apart, +I've worried about it with all of my heart. + +"BUT," says the Oncler, "now that you're here, +the word of the Lorax seems perfectly clear! +UNLESS someone like you cares a whole awful lot, +nothing is going to get better - it's not. +So... CATCH!" cries the Oncler. He lets something fall. +"It's a truffula seed. It's the last one of all! + +"You're in charge of the last of the truffula seeds. +And truffula trees are what everyone needs. +Plant a new truffula -- treat it with care. +Give it clean water and feed it fresh air. +Grow a forest -- protect it from axes that hack. +Then the Lorax and all of his friends may come back!" +% +And as we stand on the edge of darkness +Let our chant fill the void +That others may know + + In the land of the night + The ship of the sun + Is drawn by + The grateful dead. + -- Tibetan "Book of the Dead," ca. 4000 BC. +% +And Bezel saideth unto Sham: `Sham,' he saideth, `Thou shalt goest +unto the town of Begorrah, and there thou shalt fetcheth unto thine +bosom 35 talents, and also shalt thou fetcheth a like number of cubits, +provideth that they are nice and fresh.' + -- Dave Barry +% +And Bezel saideth unto Sham: "Sham," he saideth, "Thou shalt goest +unto the town of Begorrah, and there thou shalt fetcheth unto thine +bosom 35 talents, and also shalt thou fetcheth a like number of cubits, +provideth that they are nice and fresh." + -- Dave Barry, "Getting Religion" +% +And did those feet, in ancient times, +Walk upon England's mountains green? +And was the Holy Lamb of God +In England's pleasant pastures seen? +And did the Countenance Divine +Shine forth upon these crowded hills? +And was Jerusalem builded here +Among these dark satanic mills? + +Bring me my bow of burning gold! +Bring me my arrows of desire! +Bring me my spears! O clouds unfold! +Bring me my chariot of fire! +I shall not cease from mental fight, +Nor shall my sword rest in my hand, +Till we have built Jerusalem +In England's green and pleasant land. + -- William Blake, "Jerusalem" +% +And do you think (fop that I am) that I could be the Scarlet Pumpernickel? +% +And ever has it been known that +love knows not its own depth until the hour of separation. + -- Kahlil Gibran +% +And he climbed with the lad up the Eiffelberg Tower. "This," cried the Mayor, +"is your town's darkest hour! The time for all Whos who have blood that is red +to come to the aid of their country!" he said. "We've GOT to make noises in +greater amounts! So, open your mouth, lad! For every voice counts!" Thus he +spoke as he climbed. When they got to the top, the lad cleared his throat and +he shouted out, "YOPP!" + And that Yopp... That one last small, extra Yopp put it over! +Finally, at last! From the speck on that clover their voices were heard! +They rang out clear and clean. And they elephant smiled. "Do you see what +I mean?" They've proved they ARE persons, no matter how small. And their +whole world was saved by the smallest of All!" + "How true! Yes, how true," said the big kangaroo. "And, from now +on, you know what I'm planning to do? From now on, I'm going to protect +them with you!" And the young kangaroo in her pouch said, "ME TOO! From +the sun in the summer. From rain when it's fall-ish, I'm going to protect +them. No matter how small-ish!" + -- Dr. Seuss "Horton Hears a Who" +% +And here I wait so patiently +Waiting to find out what price +You have to pay to get out of +Going thru all of these things twice + -- Dylan, "Memphis Blues Again" +% +And I alone am returned to wag the tail. +% +And I heard Jeff exclaim, as they strolled out of sight, +"Merry Christmas to all -- you take credit cards, right?" +% +And I suppose the little things are harder to get used to than the big +ones. The big ones you get used to, you make up your mind to them. The +little things come along unexpectedly, when you aren't thinking about +them, aren't braced against them. + -- Marion Zimmer Bradley, "The Forbidden Tower" +% +And I will do all these good works, and I will do them for free! +My only reward will be a tombstone that says "Here lies Gomez +Addams -- he was good for nothing." + -- Jack Sharkey, The Addams Family +% +And if California slides into the ocean, +Like the mystics and statistics say it will. +I predict this motel will be standing, +Until I've paid my bill. + -- Warren Zevon, "Desperados Under the Eaves" +% +And if sometime, somewhere, someone asketh thee, +"Who kilt thee?", tell them it 'twas the Doones of Bagworthy! +% +And if you wonder, +What I am doing, +As I am heading for the sink. +I am spitting out all the bitterness, +Along with half of my last drink. +% +And in the heartbreak years that lie ahead, +Be true to yourself and the Grateful Dead. + -- Joan Baez +% +And it should be the law: If you use the word `paradigm' without knowing +what the dictionary says it means, you go to jail. No exceptions. + -- David Jones +% +And malt does more than Milton can to justify God's ways to man. + -- A.E. Housman +% +And miles to go before I sleep. +% +And now for something completely the same. +% +And now your toner's toney, Disk blocks aplenty +And your paper near pure white, Await your laser drawn lines, +The smudges on your soul are gone Your intricate fonts, +And your output's clean as light.. Your pictures and signs. + +We've labored with your father, Your amputative absence +The venerable XGP, Has made the Ten dumb, +But his slow artistic hand, Without you, Dover, +Lacks your clean velocity. We're system untounged- + +Theses and papers DRAW Plots and TEXage +And code in a queue Have been biding their time, +Dover, oh Dover, With LISP code and programs, +We've been waiting for you. And this crufty rhyme. + +Dover, oh Dover, Dover, oh Dover, arisen from dead. +We welcome you back, Dover, oh Dover, awoken from bed. +Though still you may jam, Dover, oh Dover, welcome back to the Lab. +You're on the right track. Dover, oh Dover, we've missed your clean + hand... +% +And on the eighth day, we bulldozed it. +% +And on the seventh day, He exited from append mode. +% +...and report cards I was always afraid to show +Mama'd come to school +and as I'd sit there softly cryin' +Teacher'd say he's just not tryin' +Got a good head if he'd apply it +but you know yourself +it's always somewhere else +I'd build me a castle +with dragons and kings +and I'd ride off with them +As I stood by my window +and looked out on those +Brooklyn roads + -- Neil Diamond, "Brooklyn Roads" +% +And so it was, later, +As the miller told his tale, +That her face, at first just ghostly, +Turned a whiter shade of pale. + -- Procol Harum +% +And that's the way it is... + -- Walter Cronkite +% +And the crowd was stilled. One elderly man, wondering at the sudden silence, +turned to the Child and asked him to repeat what he had said. Wide-eyed, +the Child raised his voice and said once again, "Why, the Emperor has no +clothes! He is naked!" + -- "The Emperor's New Clothes" +% +And the French medical anatomist Etienne Serres really did argue that +black males are primitive because the distance between their navel and +penis remains small (relative to body height) throughout life, while +white children begin with a small separation but increase it during +growth -- the rising belly button as a mark of progress. + -- S.J. Gould, "Racism and Recapitulation" +% +And the silence came surging softly backwards +When the plunging hooves were gone... + -- Walter de La Mare, "The Listeners" +% +And they shall beat their swords into plowshares, for if you hit a man +with a plowshare, he's going to know he's been hit. +% +And this is a table ma'am. What in essence it consists of is a horizontal +rectilinear plane surface maintained by four vertical columnar supports, +which we call legs. The tables in this laboratory, ma'am, are as advanced +in design as one will find anywhere in the world. + -- Michael Frayn, "The Tin Men" +% +And this is good old Boston, +The home of the bean and the cod, +Where the Lowells talk only to Cabots, +And the Cabots talk only to God. +% +And tomorrow will be like today, only more so. + -- Isaiah 56:12, New Standard Version +% +And we heard him exclaim +As he started to roam: +"I'm a hologram, kids, +please don't try this at home!'" + -- Bob Violence +% +And what accomplished villains these old engineers were! What diabolical +ways to sabotage they found! Nikolai Karlovich von Meck, of the People's +Comissariat of Railroads ... would hold forth for hours on end about the +economic problems involved in the construction of socialism, and he loved to +give advice. One such pernicious piece of advice was to increase the size +of freight trains and not worry about heavier than average loads. The GPU +exposed van Meck, and he was shot: his objective had been to wear out rails +and roadbeds, freight cars and locomotives, so as to leave the Republic +without railroads in case of foreign military intervention! When, not long +afterward, the new People's Commissar of Railroads ordered that average +loads should be increased, and even doubled and tripled them, the malicious +engineers who protested became known as limiters ... they were rightly +shot for their lack of faith in the possibilities of socialist transport. + -- Aleksandr I. Solzhenitsyn, "The Gulag Archipelago" +% +And... What in the world ever became of Sweet Jane? + She's lost her sparkle, you see she isn't the same. + Livin' on reds, vitamin C, and cocaine + All a friend can say is "Ain't it a shame?" + -- The Grateful Dead +% +And yet I should have dearly liked, I own, to have touched her lips; to +have questioned her, that she might have opened them; to have looked upon +the lashes of her downcast eyes, and never raised a blush; to have let +loose waves of hair, an inch of which would be a keepsake beyond price: +in short, I should have liked, I do confess, to have had the lightest +license of a child, and yet been man enough to know its value. + -- Charles Dickens +% +And yet, seasons must be taken with a grain of salt, for they too have +a sense of humor, as does history. Corn stalks comedy, comedy stalks +tragedy, and this too is historic. And yet, still, when corn meets +tragedy face to face, we have politics. + -- Dalglish, Larsen and Sutherland, + "Root Crops and Ground Cover" +% +And you can't get any Watney's Red Barrel, +because the bars close every time you're thirsty... +% +"And, you know, I mustn't preach to you, but surely it wouldn't be right for +you to take away people's pleasure of studying your attire, by just going +and making yourself like everybody else. You feel that, don't you?" said +he, earnestly. + -- William Morris, "Notes from Nowhere" +% +Andrea's Admonition: + Never bestow profanity upon a driver who has wronged you. + If you think his window is closed and he can't hear you, + it isn't and he can. +% +ANDROPHOBIA: + Fear of men. +% +Anger is momentary madness. + -- Horace +% +Anger kills as surely as the other vices. +% +Animals can be driven crazy by putting too many in too small a pen. +Homo sapiens is the only animal that voluntarily does this to himself. + -- Lazarus Long +% +Ankh if you love Isis. +% +Announcing the NEW VAX 11/782!! + +Be the envy of other major Communist Governments! + +Defend yourself against the entire ICBM force of the imperialist USA with +just one of the processors, at the same time you're designing missile IC's, +cracking secret NATO codes and editing propaganda for your own people all +at the same time with the other! (Well, you really can't, but the Americans +think you can, and that's the point, right?) +% +ANOINT: + To grease a king or other great + functionary already sufficiently slippery. +% +Another day, another dollar. + -- Vincent J. Fuller, defense lawyer for John Hinckley, + upon Hinckley's acquittal for shooting President Ronald + Reagan. +% +Another good night not to sleep in a eucalyptus tree. +% +Another megabytes the dust. +% +Another possible source of guidance for teenagers is television, but +television's message has always been that the need for truth, wisdom and +world peace pales by comparison with the need for a toothpaste that offers +whiter teeth *and* fresher breath. + -- Dave Barry, "Kids Today: They Don't Know Dum Diddly" +% +Another such victory over the Romans, and we are undone. + -- Pyrrhus +% +Answer a fool according to his folly, lest he be wise in his own conceit. + -- Proverbs, 26:5 +% +Anthony's Law of the Workshop: + Any tool when dropped, will roll into the least accessible + corner of the workshop. + +Corollary: + On the way to the corner, any dropped tool will first strike + your toes. +% +Antique fairy tale: Little Red Riding Hood. +Modern fairy tale: Oswald, acting alone, shot Kennedy. +% +Anti-trust laws should be approached with exactly that attitude. +% +Antonio Antonio +Was tired of living alonio +He thought he would woo Antonio Antonio +Miss Lucamy Lu, Rode of on his polo ponio +Miss Lucamy Lucy Molonio. And found the maid + In a bowery shade, + Sitting and knitting alonio. +Antonio Antonio +Said if you will be my ownio +I'll love tou true Oh nonio Antonio +And buy for you You're far too bleak and bonio +An icery creamry conio. And all that I wish + You singular fish + Is that you will quickly begonio. +Antonio Antonio +Uttered a dismal moanio +And went off and hid +Or I'm told that he did +In the Antartical Zonio. +% +ANTONYM: + The opposite of the word you're trying to think of. +% +Anxious after the delay, Gruber doesn't waste any time getting the Koenig +[a modified Porsche] up to speed, and almost immediately we are blowing off +Alfas, Fiats, and Lancias full of excited Italians. These people love fast +cars. But they love sport too and no passing encounter goes unchallenged. +Nothing serious, just two wheels into your lane as you're bearing down on +them at 130-plus -- to see if you're paying attention. + -- Road & Track article about driving two absurdly fast + cars across Europe. +% +Any circuit design must contain at least one part which is obsolete, two parts +which are unobtainable, and three parts which are still under development. +% +Any clod can have the facts, but having opinions is an art. + -- Charles McCabe +% +Any coward can sit in his home and criticize a pilot for flying into a +mountain in a fog. But I would rather, by far, die on a mountainside +than in bed. What kind of man would live where there is no daring? +And is life so dear that we should blame men for dying in adventure? +Is there a better way to die? + -- Charles Lindbergh +% +Any excuse will serve a tyrant. + -- Aesop +% +Any father who thinks he's all important should remind himself that this +country honors fathers only one day a year while pickles get a whole week. +% +Any fool can paint a picture, but it takes a +wise person to be able to sell it. +% +Any fool can tell the truth, but it requires a man of sense to know +how to lie well. + -- Samuel Butler +% +Any girl can be glamorous; all you have to do is stand still and look +stupid. + -- Hedy Lamarr +% +Any given program, when running, is obsolete. +% +Any given program will expand to fill available memory. +% +Any great truth can -- and eventually will -- be expressed as a cliche -- +a cliche is a sure and certain way to dilute an idea. For instance, my +grandmother used to say, "The black cat is always the last one off the +fence." I have no idea what she meant, but at one time, it was undoubtedly +true. + -- Solomon Short +% +Any instrument when dropped will roll into the least accessible corner. +% +Any man can work when every stroke of his hand brings down the fruit +rattling from the tree to the ground; but to labor in season and out +of season, under every discouragement, by the power of truth -- that +requires a heroism which is transcendent. + -- Henry Ward Beecher +% +Any man who hates dogs and babies can't be all bad. + -- Leo Rosten, on W.C. Fields +% +Any member introducing a dog into the Society's premises shall be +liable to a fine of one pound. Any animal leading a blind person shall +be deemed to be a cat. + -- Rule 46, Oxford Union Society, London +% +"Any news from the President on a successor?" he asked hopefully. +"None," Anita replied. "She's having great difficulty finding someone +qualified who is willing to accept the post." + "Then I stay," said Dr. Fresh. "I'm not good for much, but I +can at least make a decision." + "Somewhere," he grumphed, "there must be a naive, opportunistic +young welp with a masochistic streak who would like to run the most +up-and-down bureaucracy in the history of mankind." + -- R.L. Forward, "Flight of the Dragonfly" +% +Any philosophy that can be put "in a nutshell" belongs there. + -- Sydney Harris +% +Any president should have the right to shoot +at least two people a year without explanation. + -- Herbert Hoover, discussing the press +% +Any priest or shaman must be presumed guilty until proved innocent. + -- Lazarus Long +% +Any program which runs right is obsolete. +% +Any programming language is at its best before it is implemented and used. +% +Any road followed to its end leads precisely nowhere. Climb the mountain +just a little to test it's a mountain. From the top of the mountain, you +cannot see the mountain. + -- Bene Gesserit proverb +% +Any road followed to its end leads precisely nowhere. +Climb the mountain just a little to test it's a mountain. +From the top of the mountain, you cannot see the mountain. + -- Bene Gesserit proverb, "Dune" +% +Any small object that is accidentally +dropped will hide under a larger object. +% +Any sufficiently advanced bug becomes a feature. +% +Any sufficiently advanced technology is indistinguishable from a rigged demo. +% +Any sufficiently advanced technology is indistinguishable from magic. + -- Arthur Clarke +% +Any two philosophers can tell each other all they know in two hours. + -- Oliver Wendell Holmes, Jr. +% +Anybody can win, unless there happens to be a second entry. +% +Anybody has a right to evade taxes if he can get away with it. No citizen +has a moral obligation to assist in maintaining his government. + -- J.P. Morgan +% +Anybody that wants the presidency so much that he'll spend two years +organising and campaigning for it is not to be trusted with the office. + -- David Broder +% +Anybody who doesn't cut his speed at the +sight of a police car is probably parked. +% +Anybody with money to burn will easily find someone to tend the fire. +% +Anyone can become angry -- that is easy; but to be angry with the right +person, to the right degree, at the right time, for the right purpose +and in the right way -- that is not easy. + -- Aristotle +% +Anyone can do any amount of work provided it isn't the work he is +supposed to be doing. +% +Anyone can hold the helm when the sea is calm. + -- Publilius Syrus +% +"Anyone can say 'no'. It is the first word a child learns and often the +first word he speaks. It is a cheap word because it requires no +explanation, and many men and women have acquired a reputation for +intelligence who know only this word and have used it in place of +thought on every occasion." + -- Chuck Jones (Warner Bros. animation director.) +% +Anyone stupid enough to be caught by the police is probably guilty. +% +Anyone who cannot cope with mathematics is not fully human. +At best he is a tolerable subhuman who has learned to wear shoes, +bathe and not make messes in the house. + -- Lazarus Long +% +Anyone who considers protocol unimportant has never dealt with a cat. + -- R. Heinlein +% +Anyone who goes to a psychiatrist ought to have his head examined. + -- Samuel Goldwyn +% +Anyone who has attended a USENIX conference in a fancy hotel can tell you +that a sentence like "You're one of those computer people, aren't you?" +is roughly equivalent to "Look, another amazingly mobile form of slime +mold!" in the mouth of a hotel cocktail waitress. + -- Elizabeth Zwicky +% +Anyone who has had a bull by the tail +knows five or six more things than someone who hasn't. + -- Mark Twain +% +Anyone who imagines that all fruits ripen at the same time +as the strawberries, knows nothing about grapes. + -- Philippus Paracelsus +% +Anyone who is capable of getting themselves made President +should on no account be allowed to do the job. + -- The Hitchhiker's Guide to the Galaxy +% +Anyone who knows history, particularly the history of Europe, will, I think, +recognize that the domination of education or of government by any one +particular religious faith is never a happy arrangement for the people. + -- Eleanor Roosevelt +% +Anyone who says he can see through women is missing a lot. + -- Groucho Marx +% +Anything anybody can say about America is true. + -- Emmett Grogan +% +Anything cut to length will be too short. +% +Anything free is worth what you'll pay for it. +% +Anything is good and useful if it's made of chocolate. +% +Anything is good if it's made of chocolate. +% +Anything is possible on paper. + -- Ron McAfee +% +Anything is possible, unless it's not. +% +Anything labeled "NEW" and/or "IMPROVED" isn't. +The label means the price went up. +The label "ALL NEW", "COMPLETELY NEW", or "GREAT NEW" +means the price went way up. +% +Anything that is worth doing has been done frequently. Things hitherto +undone should be given, I suspect, a wide berth. + -- Max Beerbohm, "Mainly on the Air" +% +Anything worth doing is worth overdoing. +% +Anytime things appear to be going better, you've overlooked something. +% +Anyway, I keep picturing all these little kids playing some game in this +big field of rye and all. Thousands of little kids, and nobody's around -- +nobody big, I mean -- except me. And I'm standing on the edge of some crazy +cliff. What I have to do, I have to catch everybody if they start to go +over the cliff -- I mean if they're running and they don't look where they're +going I have to come out from somewhere and catch them. That's all I'd do +all day. I'd just be the catcher in the rye. I know it; I know it's crazy, +but that's the only thing I'd really like to be. I know it's crazy. + -- J.D. Salinger, "Catcher in the Rye" +% +Apathy Club meeting this Friday. +If you want to come, you're not invited. +% +APHASIA: + Loss of speech in social scientists when asked + at parties, "But of what use is your research?" +% +aphorism, n.: + A concise, clever statement. +afterism, n.: + A concise, clever statement you don't think of until too late. + -- James Alexander Thom +% +APL hackers do it in the quad. +% +APL is a mistake, carried through to perfection. It is the language of the +future for the programming techniques of the past: it creates a new generation +of coding bums. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +APL is a natural extension of assembler language programming; +...and is best for educational purposes. + -- A. Perlis +% +APL is a write-only language. I can write programs +in APL, but I can't read any of them. + -- Roy Keir +% +Appearances often are deceiving. + -- Aesop +% +APPENDIX: + A portion of a book, for which nobody yet has discovered any use. +% +Applause, n: + The echo of a platitude from the mouth of a fool. + -- Ambrose Bierce +% +April is the cruellest month... + -- Thomas Stearns Eliot +% +AQUADEXTROUS: + Possessing the ability to turn the bathtub + faucet on and off with your toes. + -- "Sniglets", Rich Hall & Friends +% +aquadextrous, adj.: + Possessing the ability to turn the bathtub faucet on and off +with your toes. + -- Rich Hall, "Sniglets" +% +AQUARIUS (Jan 20 - Feb 18) + You have an inventive mind and are inclined to be progressive. + You lie a great deal. On the other hand, you are inclined to be + careless and impractical, causing you to make the same mistakes over + and over again. People think you are stupid. +% +AQUARIUS (Jan. 20 to Feb. 18) + A friend will step forward and confide in you about your breath. Rely + on your outgoing personality and winning smile to get you into a lot + of trouble. Be relaxed, things will change. Look for a pink slip on + payday. Stop wetting your bed. +% +AQUARIUS (Jan.20 - Feb.18) + You are the type of person who never has enough money to do what + you want. Don't expect things to get any better today, either. + As a matter of fact they might get worse. Intensify your + relationship with your bank and any friends you have who might be + able to lend you a few bucks. +% +Aquavit is also considered useful for medicinal purposes, an essential +ingredient in what I was once told is the Norwegian cure for the common +cold. You get a bottle, a poster bed, and the brightest colored stocking +cap you can find. You put the cap on the post at the foot of the bed, +then get into bed and drink aquavit until you can't see the cap. I've +never tried this, but it sounds as though it should work. + -- Peter Nelson +% +Are we not men? +% +Are we running light with overbyte? +% +Are Women Human? +In the year 584, in Lyon, France, 43 Catholic bishops and 20 men +representing other bishops, after a lengthy debate, took a vote. +The results were 32 yes, 31 no. Women were declared human by one +vote. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + Are you sure you're telling the truth? Think hard. + Does it make you happy to know you're sending me to an early grave? + If all your friends jumped off the cliff, would you jump too? + Do you feel bad? How do you think I feel? + Aren't you ashamed of yourself? + Don't you know any better? + How could you be so stupid? + If that's the worst pain you'll ever feel, you should be thankful. + You can't fool me. I know what you're thinking. + If you can't say anything nice, say nothing at all. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + Do as I say, not as I do. + Do me a favour and don't tell me about it. I don't want to know. + What did you do *this* time? + If it didn't taste bad, it wouldn't be good for you. + When I was your age... + I won't love you if you keep doing that. + Think of all the starving children in India. + If there's one thing I hate, it's a liar. + I'm going to kill you. + Way to go, clumsy. + If you don't like it, you can lump it. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + Go away. You bother me. + Why? Because life is unfair. + That's a nice drawing. What is it? + Children should be seen and not heard. + You'll be the death of me. + You'll understand when you're older. + Because. + Wipe that smile off your face. + I don't believe you. + How many times have I told you to be careful? + Just beacuse. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + Good children always obey. + Quit acting so childish. + Boys don't cry. + If you keep making faces, someday it'll freeze that way. + Why do you have to know so much? + This hurts me more than it hurts you. + Why? Because I'm bigger than you. + Well, you've ruined everything. Now are you happy? + Oh, grow up. + I'm only doing this because I love you. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + When are you going to grow up? + I'm only doing this for your own good. + Why are you crying? Stop crying, or I'll give you something to + cry about. + What's wrong with you? + Someday you'll thank me for this. + You'd lose your head if it weren't attached. + Don't you have any sense at all? + If you keep sucking your thumb, it'll fall off. + Why? Because I said so. + I hope you have a kid just like yourself. +% +Are you a parent? Do you sometimes find yourself unsure as to what to +say in those awkward situations? Worry no more... + + You wouldn't understand. + You ask too many questions. + In order to be a man, you have to learn to follow orders. + That's for me to know and you to find out. + Don't let those bullies push you around. Go in there and stick + up for yourself. + You're acting too big for your britches. + Well, you broke it. Now are you satisfied? + Wait till your father gets home. + Bored? If you're bored, I've got some chores for you. + Shape up or ship out. +% +Are you making all this up as you go along? +% +"Are you police officers?" +"No, ma'am. We're musicians." + -- The Blues Brothers +% +Are you sure the back door is locked? +% +"Are you sure you're not an encyclopedia salesman?" +No, Ma'am. Just a burglar, come to ransack the flat." + -- Monty Python +% +Are your glasses mended with a strip of masking tape right over your nose? +Do you put pennies in the slots in your penny loafers? +Does your bow-tie flash "hey you kid" in red neon at parties? +Do you think pizza before noon is unhealthy? +Do you use the "greasy kid's stuff" to stick down your cowlick? +Do you wear a "nerd-pack" in your shirt pocket to keep the dozen + or so pencils from marking the cloth? +Do you think Mary Jane is somebody's name? +Is illegal fishing is something only a daring criminal would do? +Is Batman your hero? Superman? Green Lantern? The Shadow? +Do you think girls who kiss on the first date are loose? + + Rate yourself on the nerd-o-matic scale. (1 point for each YES answer) +0-2 -- You are really hip, a real cool cat, a hoopy frood. +3-5 -- There is hope for you yet. +6-7 -- Uh-oh, trouble in River City. +8-10 -- Your immortal soul is in peril. +11+ -- Does suicide seem attractive? +% +Argue for your limitations, and sure enough, they're yours. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Arguments are extremely vulgar, for everyone +in good society holds exactly the same opinion. + -- O. Wilde +% +Arguments with furniture are rarely productive. +% +ARIES (Mar 21 - Apr 19) + You are the pioneer type and hold most people in contempt. You are + quick tempered, impatient, and scornful of advice. You are not + very nice. +% +ARIES (Mar.21 - Apr.19) + You are a wonderfully interesting, honest, hard-working person + and you should make many new friends, but you won't because you've + got a mean streak in you a mile wide. +% +ARITHMETIC: + An obscure art no longer practiced in + the world's developed countries. +% +Arithmetic is being able to count up to twenty without taking off your shoes. + -- Mickey Mouse +% +ARMADILLO: + To provide weapons to a Spanish pickle. +% +Armenians and Azerbaijanis in Stepanakert, capital of the Nagorno-Karabakh +autonomous region, rioted over much needed spelling reform in the Soviet +Union. + -- P.J. O'Rourke +% +Armor's Axiom: + Virtue is the failure to achieve vice. +% +Armstrong's Collection Law: + If the check is truly in the mail, + it is surely made out to someone else. +% +Arnold's Addendum: + Anything not fitting into these categories causes cancer in rats. +% +Arnold's Laws of Documentation: + 1.) If it should exist, it doesn't. + 2.) If it does exist, it's out of date. + 3.) Only documentation for useless programs transcends the + first two laws. +% +Around the turn of this century, a composer named Camille Saint-Saens wrote +a satirical zoological-fantasy called "Le Carnaval des Animaux." Aside from +one movement of this piece, "The Swan", Saint-Saens didn't allow this work +to be published or even performed until a year had elapsed after his death. +(He died in 1921.) + Most of us know the "Swan" movement rather well, with its smooth, +flowing cello melody against a calm background; but I've been having this +fantasy... + What if he had written this piece with lyrics, as a song to be sung? +And, further, what if he had accompanied this song with a musical saw? (This +instrument really does exist, often played by percussionists!) Then the +piece would be better known as: + SAINT-SAENS' SAW SONG "SWAN"! +% +Arrakis teaches the attitude of the knife - chopping off what's +incomplete and saying: "Now it's complete because it's ended here." + -- Muad'dib, "Dune" +% +Art is a jealous mistress. + -- Ralph Waldo Emerson +% +Art is a lie which makes us realize the truth. + -- Picasso +% +Art is anything you can get away with. + -- Marshall McLuhan. +% +Art is Nature speeded up and God slowed down. + -- Chazal +% +Art is the tree of life. Science is the tree of death. +% +Arthur's Laws of Love: + 1. People to whom you are attracted invariably think you + remind them of someone else. + 2. The love letter you finally got the courage to send will + be delayed in the mail long enough for you to make a fool + of yourself in person. +% +Article the Third: + Where a crime of the kidneys has been committed, the accused should + enjoy the right to a speedy diaper change. Public announcements and + guided tours of the aforementioned are not necessary. +Article the Fourth: + The decision to eat strained lamb or not should be with the "feedee" + and not the "feeder". Blowing the strained lamb into the feeder's + face should be accepted as an opinion, not as a declaration of war. +Article the Fifth: + Babies should enjoy the freedom to vocalize, whether it be in church, + a public meeting place, during a movie, or after hours when the + lights are out. They have not yet learned that joy and laughter have + to last a lifetime and must be conserved. + -- Erma Bombeck, "A Baby's Bill of Rights" +% +Artificial intelligence has the same relation to intelligence as +artificial flowers have to flowers. + -- David Parnas +% +Artistic ventures highlighted. Rob a museum. +% +As a computer, I find your faith in technology amusing. +% +As a professional humorist, I often get letters from readers who are +interested in the basic nature of humor. "What kind of a sick perverted +disgusting person are you," these letters typically ask, "that you make +jokes about setting fire to a goat?" + -- Dave Barry +% +As an adolescent I aspired to lasting fame, I craved factual certainty, and +I thirsted for a meaningful vision of human life -- so I became a scientist. +This is like becoming an archbishop so you can meet girls. + -- Matt Cartmill +% +As an adolescent I aspired to lasting fame, I craved factual certainty, +and I thirsted for a meaningful vision of human life -- so I became a +scientist. This is like becoming an archbishop so you can meet girls. + -- M. Cartmill +% +As an Englishman, an Aussie and a Scotsman are sitting in a pub, quaffing +a few, three flies buzz down from the ceiling and lazily circle each drinker. +Suddenly "buzzzzzzzzplooop", each fly does a kamakazi dive into a different +glass. + The Englishman take a disgusted look at his pint, dips the fly out +with a spoon, flicks the fly over his shoulder, and drains the glass. + The Aussie notices the fly as he puts the glass to his lips. With +a quick puff he blows the bug out in a cloud of foam, and tosses the beer +down in one gulp. + Then, as they both look on, awestruck, the Scotsman gently grasps the +fly by its wings, lifts it out of his brew and shakes it off. Then, in a +firm voice he speaks to the fly: "There y'are now laddie, safe and sound. +NOW SPIT IT OOOOT!" +% +As crazy as hauling timber into the woods. + -- Quintus Horatius Flaccus (Horace) +% +As failures go, attempting to recall the past is like trying to grasp +the meaning of existence. Both make one feel like a baby clutching at +a basketball: one's palms keep sliding off. + -- Joseph Brodsky +% +As far as the laws of mathematics refer to reality, they are not certain; +and as far as they are certain, they do not refer to reality. + -- Einstein +% +As far as we know, our computer has never had an undetected error. + -- Weisert +% +As flies to wanton boys are we to the gods; they kill us for their sport. + -- Shakespeare, "King Lear" +% +As for the women, though we scorn and flout 'em, +We may live with, but cannot live without 'em. + -- Frederic Reynolds +% +As Gen. de Gaulle occassionally acknowledges America to be the daughter +of Europe, so I am pleased to come to Yale, the daughter of Harvard. + -- J.F. Kennedy +% +As goatherd learns his trade by goat, so writer learns his trade by wrote. +% +As he had feared, his orders had been forgotten and everyone had brought +the potato salad. +% +As I argued in "Beloved Son", a book about my son Brian and the subject of +religious communes and cults, one result of proper early instruction in the +methods of rational thought will be to make sudden mindless conversions -- +to anything -- less likely. Brian now realizes this and has, after eleven +years, left the sect he was associated with. The problem is that once the +untrained mind has made a formal commitment to a religious philosophy -- +and it does not matter whether that philosophy is generally reasonable and +high-minded or utterly bizarre and irrational -- the powers of reason are +suprisingly ineffective in changing the believer's mind. + -- Steve Allen +% +As I bit into the nectarine, it had a crisp juiciness about it that was very +pleasurable - until I realized it wasn't a nectarine at all, but A HUMAN HEAD!! + -- Jack Handey +% +As I thought, no better from this side. + -- Eeyore +% +As I was going up Punch Card Hill, + Feeling worse and worser, +There I met a C.R.T. + And it drop't me a cursor. + +C.R.T., C.R.T., + Phosphors light on you! +If I had fifty hours a day + I'd spend them all at you. + -- Uncle Colonel's Cursory Rhymes +% +As I was passing Project MAC, +I met a Quux with seven hacks. +Every hack had seven bugs; +Every bug had seven manifestations; +Every manifestation had seven symptoms. +Symptoms, manifestations, bugs, and hacks, +How many losses at Project MAC? +% +As I was walking down the street one dark and dreary day, +I came upon a billboard and much to my dismay, +The words were torn and tattered, +From the storm the night before, +The wind and rain had done its work and this is how it goes, + +Smoke Coca-Cola cigarettes, chew Wrigleys Spearmint beer, +Ken-L-Ration dog food makes your complexion clear, +Simonize your baby in a Hershey candy bar, +And Texaco's a beauty cream that's used by every star. + +Take your next vacation in a brand new Frigedaire, +Learn to play the piano in your winter underwear, +Doctors say that babies should smoke until they're three, +And people over sixty-five should bathe in Lipton tea. +% +As in certain cults it is possible to +kill a process if you know its true name. + -- Ken Thompson and Dennis M. Ritchie +% +As in Protestant Europe, by contrast, where sects divided endlessly into +smaller competing sects and no church dominated any other, all is different +in the fragmented world of IBM. That realm is now a chaos of conflicting +norms and standards that not even IBM can hope to control. You can buy a +computer that works like an IBM machine but contains nothing made or sold by +IBM itself. Renegades from IBM constantly set up rival firms and establish +standards of their own. When IBM recently abandoned some of its original +standards and decreed new ones, many of its rivals declared a puritan +allegiance to IBM's original faith, and denounced the company as a divisive +innovator. Still, the IBM world is united by its distrust of icons and +imagery. IBM's screens are designed for language, not pictures. Graven +images may be tolerated by the luxurious cults, but the true IBM faith relies +on the austerity of the word. + -- Edward Mendelson, "The New Republic", February 22, 1988 +% +As long as I am mayor of this city [Jersey City, New Jersey] the great +industries are secure. We hear about constitutional rights, free speech +and the free press. Every time I hear these words I say to myself, "That +man is a Red, that man is a Communist". You never hear a real American +talk like that. + -- Frank Hague, 1896-1956 +% +As long as the answer is right, who cares if the question is wrong? +% +As long as there are ill-defined goals, bizarre bugs, and unrealistic +schedules, there will be Real Programmers willing to jump in and Solve +The Problem, saving the documentation for later. +% +As long as war is regarded as wicked, it will always have its fascination. +When it is looked upon as vulgar, it will cease to be popular. + -- Oscar Wilde, "Intentions" +% +As many of you know, I am taking a class here at UNC on Personality. +One of the tests to determine personality in our book was so incredibly +useful and interesting, I just had to share it. + +Answer each of the following items "true" or "false" + + 1. I salivate at the sight of mittens. + 2. If I go into the street, I'm apt to be bitten by a horse. + 3. Some people never look at me. + 4. Spinach makes me feel alone. + 5. My sex life is A-okay. + 6. When I look down from a high spot, I want to spit. + 7. I like to kill mosquitoes. + 8. Cousins are not to be trusted. + 9. It makes me embarrassed to fall down. +10. I get nauseous from too much roller skating. +11. I think most people would cry to gain a point. +12. I cannot read or write. +13. I am bored by thoughts of death. +14. I become homicidal when people try to reason with me. +15. I would enjoy the work of a chicken flicker. +16. I am never startled by a fish. +17. My mother's uncle was a good man. +18. I don't like it when somebody is rotten. +19. People who break the law are wise guys. +20. I have never gone to pieces over the weekend. +% +As many of you know, I am taking a class here at UNC on Personality. +One of the tests to determine personality in our book was so incredibly +useful and interesting, I just had to share it. + +Answer each of the following items "true" or "false" + + 1. I think beavers work too hard. + 2. I use shoe polish to excess. + 3. God is love. + 4. I like mannish children. + 5. I have always been disturbed by the sight of Lincoln's ears. + 6. I always let people get ahead of me at swimming pools. + 7. Most of the time I go to sleep without saying goodbye. + 8. I am not afraid of picking up door knobs. + 9. I believe I smell as good as most people. +10. Frantic screams make me nervous. +11. It's hard for me to say the right thing when I find myself in a room + full of mice. +12. I would never tell my nickname in a crisis. +13. A wide necktie is a sign of disease. +14. As a child I was deprived of licorice. +15. I would never shake hands with a gardener. +16. My eyes are always cold. +17. Cousins are not to be trusted. +18. When I look down from a high spot, I want to spit. +19. I am never startled by a fish. +20. I have never gone to pieces over the weekend. +% +As me an' me marrer was readin' a tyape, +The tyape gave a shriek mark an' tried tae escyape; +It skipped ower the gyate tae the end of the field, +An' jigged oot the room wi' a spool an' a reel! +Follow the leader, Johnny me laddie, +Follow it through, me canny lad O; +Follow the transport, Johnny me laddie, +Away, lad, lie away, canny lad O! + -- S. Kelly-Bootle, "The Devil's DP Dictionary" +% +As of next Thursday, UNIX will be flushed in favor of TOPS-10. +Please update your programs. +% +As of next Tuesday, C will be flushed in favor of COBOL. +Please update your programs. +% +As of next week, passwords will be entered in Morse code. +% +As part of an ongoing effort to keep you, the Fortune reader, abreast of +the valuable information the daily crosses the USENET, Fortune presents: + +News articles that answer *your* questions, #1: + + Newsgroups: comp.sources.d + Subject: how do I run C code received from sources + Keywords: C sources + Distribution: na + + I do not know how to run the C programs that are posted in the + sources newsgroup. I save the files, edit them to remove the + headers, and change the mode so that they are executable, but I + cannot get them to run. (I have never written a C program before.) + + Must they be compiled? With what compiler? How do I do this? If + I compile them, is an object code file generated or must I generate + it explicitly with the > character? Is there something else that + must be done? +% +As part of the conversion, computer specialists rewrote 1,500 programs; +a process that traditionally requires some debugging. + -- USA Today, referring to the Internal Revenue Service + conversion to a new computer system. +% +As some day it may happen that a victim must be found +I've got a little list -- I've got a little list +Of society offenders who might well be underground +And who never would be missed -- who never would be missed. + -- Koko, "The Mikado" +% +As soon as we started programming, we found to our surprise that it wasn't +as easy to get programs right as we had thought. Debugging had to be +discovered. I can remember the exact instant when I realized that a large +part of my life from then on was going to be spent in finding mistakes in +my own programs. + -- Maurice Wilkes, designer of EDSAC, on programming, 1949 +% +As the poet said, "Only God can make a tree" -- probably +because it's so hard to figure out how to get the bark on. + -- Woody Allen +% +As the system comes up, the component builders will from time to time appear, +bearing hot new versions of their pieces -- faster, smaller, more complete, +or putatively less buggy. The replacement of a working component by a new +version requires the same systematic testing procedure that adding a new +component does, although it should require less time, for more complete and +efficient test cases will usually be available. + -- Frederick Brooks Jr., "The Mythical Man Month" +% +As to Jesus of Nazareth... I think the system of Morals and his Religion, +as he left them to us, the best the World ever saw or is likely to see; +but I apprehend it has received various corrupting Changes, and I have, +with most of the present Dissenters in England, some doubts as to his +divinity. + -- Benjamin Franklin +% +As well look for a needle in a bottle of hay. + -- Miguel de Cervantes +% +As Will Rogers would have said, +"There is no such things as a free variable." +% +As with most fine things, chocolate has its season. There is a simple memory +aid that you can use to determine whether it is the correct time to order +chocolate dishes: Any month whose name contains the letter A, E, or U is the +proper time for chocolate. + -- Sandra Boynton, "Chocolate: The Consuming Passion" +% +As you grow older, you will still do foolish things, +but you will do them with much more enthusiasm. + -- The Cowboy +% +As you will see, I told them, in no uncertain terms, to see Figure one. + -- Dave "First Strike" Pare +% +As Zeus said to Narcissus, "Watch yourself." +% +ASCII: + The control code for all beginning programmers and those who would + become computer literate. Etymologically, the term has come down as + a contraction of the often-repeated phrase "ascii and you shall + receive." + -- Robb Russon +% +ASCII a stupid question, you get an EBCDIC answer. +% +ASHes to ASHes, DOS to DOS. +% +Ashes to ashes, dust to dust, +If God won't have you, the devil must. +% +Ask five economists and you'll get five different explanations (six if +one went to Harvard). + -- Edgar R. Fiedler +% +Ask not for whom the Bell tolls, and you +will pay only the station-to-station rate. + -- Howard Kandel +% +Ask not for whom the telephone bell tolls... +if thou art in the bathtub, it tolls for thee. +% +Ask not what's inside your head, but what your head's inside of. + -- J.J. Gibson +% +Ask yourself whether you are happy and you cease to be so. + -- John Stuart Mill +% +Asked how she felt being the first woman to make a major-league team, she +said, "Like a pig in mud," or words to that effect, and then turned and +released a squirt of tobacco juice from the wad of rum soaked plug in her +right cheek. She chewed a rare brand of plug called Stuff It, which she +learned to chew when she was playing Nicaraguan summer ball. She told the +writers, "They were so mean to me down there you couldn't write it in your +newspaper. I took a gun everywhere I went, even to bed. *Especially* to +bed. Guys were after me like you can't believe. That's when I started +chewing tobacco -- because no matter how bad anybody treats you, it's not +as bad as this. This is the worst chew in the world. After this, +everything else is peaches and cream." The writers elected Gentleman Jim, +the Sparrow's P.R. guy, to bite off a chunk and tell them how it tasted, +and as he sat and chewed it tears ran down his old sunburnt cheeks and he +couldn't talk for a while. Then he whispered, "You've been chewing this for +two years? God, I had no idea it was so hard to be a woman." + -- Garrison Keillor +% +Asking a working writer what he thinks about critics is like asking a +lamp-post how it feels about dogs. + -- Christopher Hampton +% +Assembly language experience is [important] for the maturity +and understanding of how computers work that it provides. + -- D. Gries +% +Associate with well-mannered persons and your manners will improve. Run +with decent folk and your own decent instincts will be strengthened. Keep +the company of bums and you will become a bum. Hang around with rich people +and you will end by picking up the check and dying broke. + -- Stanley Walker +% +Astrology... just a bunch of Taurus. +% +Asynchronous inputs are at the root of our race problems. + -- D. Winker and F. Prosser +% +At about 2500 A.D., humankind discovers a computer problem that *must* be +solved. The only difficulty is that the problem is NP complete and will +take thousands of years even with the latest optical biologic technology +available. The best computer scientists sit down to think up some solution. +In great dismay, one of the C.S. people tells her husband about it. There +is only one solution, he says. Remember physics 103, Modern Physics, general +relativity and all. She replies, "What does that have to do with solving +a computer problem?" + "Remember the twin paradox?" + After a few minutes, she says, "I could put the computer on a very +fast machine and the computer would have just a few minutes to calculate but +that is the exact opposite of what we want... Of course! Leave the +computer here, and accelerate the earth!" + The problem was so important that they did exactly that. When +the earth came back, they were presented with the answer: + + IEH032 Error in JOB Control Card. +% +At ebb tide I wrote a line upon the sand, and gave it all my heart and all +my soul. At flood tide I returned to read what I had inscribed and found my +ignorance upon the shore. + -- Kahlil Gibran +% +At first sight, the idea of any rules or principles being superimposed on +the creative mind seems more likely to hinder than to help, but this is +quite untrue in practice. Disciplined thinking focuses inspiration rather +than blinkers it. + -- G.L. Glegg, "The Design of Design" +% +At Group L, Stoffel oversees six first-rate programmers, +a managerial challenge roughly comparable to herding cats. + -- "The Washington Post Magazine", June 9, 1985 +% +At last I've found the girl of my dreams. Last night she said to me, +"Once more, Strange, and this time *I'll* be Donnie and *you* be Marie. + -- Strange de Jim +% +At least I thought I was dancing, 'til somebody stepped on my hand. + -- J.B. White +% +At no time is freedom of speech more precious than when a man hits his +thumb with a hammer. + -- Marshall Lumsden +% +At once it struck me what quality went to form a man of achievement, +especially in literature, and which Shakespeare possessed so enormously +-- I mean negative capability, that is, when a man is capable of being +in uncertainties, mysteries, doubts, without any irritable reaching +after fact and reason. + -- John Keats +% +At social gatherings, I would amuse everyone by standing uponst the +coffee table and striking meself repeatedly upon the head with a brick. + -- H.R. Gumby +% +At the end of your life there'll be a good rest, +and no further activities are scheduled. +% +At the foot of the mountain, thunder: +The image of Providing Nourishment. +Thus the superior man is careful of his words +And temperate in eating and drinking. +% +At the heart of science is an essential tension between two seemingly +contradictory attitudes -- an openness to new ideas, no matter how bizarre +or counterintuitive they may be, and the most ruthless skeptical scrutiny +of all ideas, old and new. This is how deep truths are winnowed from deep +nonsense. Of course, scientists make mistakes in trying to understand the +world, but there is a built-in error-correcting mechanism: The collective +enterprise of creative thinking and skeptical thinking together keeps the +field on track. + -- Carl Sagan, "The Fine Art of Baloney Detection" +% +At the hospital, a doctor is training an intern on how to announce bad news +to the patients. The doctor tells the intern "This man in 305 is going to +die in six months. Go in and tell him." The intern boldly walks into the +room, over to the man's bedside and tells him "Seems like you're gonna die!" +The man has a heart attack and is rushed into surgery on the spot. The doctor +grabs the intern and screams at him, "What!?!? are you some kind of moron? +You've got to take it easy, work your way up to the subject. Now this man in +213 has about a week to live. Go in and tell him, but, gently, you hear me, +gently!" + The intern goes softly into the room, humming to himself, cheerily +opens the drapes to let the sun in, walks over to the man's bedside, fluffs +his pillow and wishes him a "Good morning!" "Wonderful day, no? Say... +guess who's going to die soon!" +% +At the source of every error which is blamed on the computer you will find +at least two human errors, including the error of blaming it on the computer. +% +At these prices, I lose money -- but I make it up in volume. + -- Peter G. Alaquon +% +At times discretion should be thrown aside, +and with the foolish we should play the fool. + -- Menander +% +At work, the authority of a person is inversely proportional to the +number of pens that person is carrying. +% +Atheism is a non-prophet organization. +% +ATLANTA: + An entire city surrounded by an airport. +% +Atlee is a very modest man. And with reason. + -- Winston Churchill +% +Attorney General Edwin Meese III explained why the Supreme Court's Miranda +decision (holding that subjects have a right to remain silent and have a +lawyer present during questioning) is unnecessary: "You don't have many +suspects who are innocent of a crime. That's contradictory. If a person +is innocent of a crime, then he is not a suspect." + -- U.S. News and World Report, 10/14/85 +% +AUCTION: + A gyp off the old block. +% +Audacity, and again, audacity, and always audacity. + -- G.J. Danton +% +audiophile, n: + Someone who listens to the equipment instead of the music. +% +Auribus teneo lupum. +[I hold a wolf by the ears.] +% +AUTHENTIC: + Indubitably true, in somebody's opinion. +% +Authors are easy to get on with -- if you're fond of children. + -- Michael Joseph, "Observer" +% +AUTOMOBILE: + A four-wheeled vehicle that runs up hills and down pedestrians. +% +Avec! +% +Avert misunderstanding by calm, poise, and balance. +% +Avoid cliches like the plague. +They're a dime a dozen. +% +Avoid gunfire in the bathroom tonight. +% +Avoid Quiet and Placid persons unless you are in Need of Sleep. +% +Avoid reality at all costs. +% +Avoid revolution or expect to get shot. Mother and I will grieve, but +we will gladly buy a dinner for the National Guardsman who shot you. + -- Dr. Paul Williamson, father of a Kent State student +% +Avoid strange women and temporary variables. +% +Awash with unfocused desire, Everett twisted the lobe of his one remaining +ear and felt the presence of somebody else behind him, which caused terror +to push through his nervous system like a flash flood roaring down the +mid-fork of the Feather River before the completion of the Oroville Dam +in 1959. + -- Grand Panjandrum's Special Award, 1984 Bulwer-Lytton + bad fiction contest. +% +[Babe] Ruth made a big mistake when he gave up pitching. + -- Tris Speaker, 1921 +% +BACCHUS: + A convenient deity invented by the ancients + as an excuse for getting drunk. +% +BACHELOR: + A guy who is footloose and fiancee-free. +% +BACHELOR: + A man who chases women and never Mrs. one. +% +Back in '80 or '81 the workers were rioting in Gdansk and there were fears +that the Soviets would invade Poland to put down the demonstrations. Foreign +correspondents were curious as to just what the Poles would do if they were +invaded. They asked, "What will you do if the East Germans invade from the +West and the Soviets invade from the East? Who will you fight first?" + To which the Poles replied, "Why, we will fight the Germans first. +Business before pleasure." +% +Back in the early 60's, touch tone phones only had 10 buttons. Some +military versions had 16, while the 12 button jobs were used only by people +who had "diva" (digital inquiry, voice answerback) systems -- mainly banks. +Since in those days, only Western Electric made "data sets" (modems) the +problems of terminology were all Bell System. We used to struggle with +written descriptions of dial pads that were unfamiliar to most people +(most phones were rotary then.) Partly in jest, some AT&T engineering +types (there was no marketing in the good old days, which is why they were +the good old days) made up the term "octalthorpe" (note spelling) to denote +the "pound sign." Presumably because it has 8 points sticking out. It +never really caught on. +% +Back when I was a boy, it was 40 miles to everywhere, +uphill both ways and it was always snowing. +% +BACKWARD CONDITIONING: + Putting saliva in a dog's mouth in an attempt to make a bell ring. +% +Bacons not the only thing that's cured by hanging from a string. +% +BAD CRAZINESS, MAN!!! +% +Bad men live that they may eat and drink, +whereas good men eat and drink that they may live. + -- Socrates +% +Bagdikian's Observation: + Trying to be a first-rate reporter on the average American newspaper + is like trying to play Bach's "St. Matthew Passion" on a ukelele. +% +Bahdges? We don't need no stinkin' bahdges! + -- "The Treasure of Sierra Madre" +% +Baker's First Law of Federal Geometry: + A block grant is a solid mass of money + surrounded on all sides by governors. +% +BALLISTOPHOBIA: + Fear of bullets; +OTOPHOBIA: + Fear of opening one's eyes. +PECCATOPHOBIA: + Fear of sinning. +TAPHEPHOBIA: + Fear of being buried alive. +SITOPHOBIA: + Fear of food. +TRICHOPHOBIA: + Fear of hair. +VESTIPHOBIA: + Fear of clothing. +% +BALTIMORE: + A wharf-rat stealing Diogenes' lamp. +% +Ban the bomb. Save the world for conventional warfare. +% +Banacek's Eighteenth Polish Proverb: + The hippo has no sting, but the wise + man would rather be sat upon by the bee. +% +Bank error in your favor. Collect $200. +% +Barach's Rule: + An alcoholic is a person who drinks more than his own physician. +% +Barbara's Rules of Bitter Experience: + (1) When you empty a drawer for his clothes + and a shelf for his toiletries, the relationship ends. + (2) When you finally buy pretty stationary + to continue the correspondence, he stops writing. +% +Barker's Proof: + Proofreading is more effective after publication. +% +BAROMETER: + An ingenious instrument which indicates + what kind of weather we are having. +% +Base 8 is just like base 10, if you are missing two fingers. + -- Tom Lehrer +% +Baseball is a skilled game. It's America's game -- it, and high taxes. + -- Will Rogers +% +Baseball is a skilled game. It's America's game - it, and high taxes. + -- The Best of Will Rogers +% +Based on what you know about him in history books, what do you think +Abraham Lincoln would be doing if he were alive today? + + (1) Writing his memoirs of the Civil War. + (2) Advising the President. + (3) Desperately clawing at the inside of his coffin. + -- David Letterman +% +BASIC: + A programming language. Related to certain social diseases + in that those who have it will not admit it in polite company. +% +Basic Definitions of Science: + If it's green or wiggles, it's biology. + If it stinks, it's chemistry. + If it doesn't work, it's physics. +% +Basic is a high level languish. +% +BASIC is to computer programming as QWERTY is to typing. + -- Seymour Papert +% +Basically my wife was immature. I'd be at home in the bath and she'd +come in and sink my boats. + -- Woody Allen +% +Batteries not included. +% +Battle, n: + A method of untying with the teeth a political knot that + will not yield to the tongue. + -- Ambrose Bierce +% +Be a better psychiatrist and the world +will beat a psychopath to your door. +% +BE A LOOF! (There has been a recent population explosion of lerts.) +% +BE ALERT!!!! (The world needs more lerts...) +% +Be both a speaker of words and a doer of deeds. + -- Homer +% +Be careful! Is it classified? +% +Be careful! UGLY strikes 9 out of 10! +% +Be careful how you get yourself involved with persons or +situations that can't bear inspection. +% +Be careful of reading health books, you might die of a misprint. + -- Mark Twain +% +Be careful what you set your heart on -- for it will surely be yours. + -- James Baldwin, "Nobody Knows My Name" +% +Be careful when a loop exits to the same place from side and bottom. +% +Be careful when you bite into your hamburger. + -- Derek Bok +% +Be cautious in your daily affairs. +% +Be cheerful while you are alive. + -- Phathotep, 24th Century B.C. +% +Be circumspect in your liaisons with women. It is better +to be seen at the opera with a man than at mass with a woman. + -- De Maintenon +% +Be different: conform. +% +Be frank and explicit with your lawyer ... it is his business to confuse +the issue afterwards. +% +Be free and open and breezy! Enjoy! +Things won't get any better so get used to it. +% +Be incomprehensible. If they can't understand, they can't disagree. +% +Be independent. +Insult a rich relative today. +% +Be it our wealth, our jobs, or even our homes; +nothing is safe while the legislature is in session. +% +Be nice to people on the way up, because you'll meet them on your way down. + -- Wilson Mizner +% +Be not anxious about what you have, but about what you are. + -- Pope St. Gregory I +% +Be open to other people -- they may enrich your dream. +% +Be prepared to accept sacrifices. +Vestal virgins aren't all that bad. +% +Be regular and orderly in your life, so that you may be violent +and original in your work. + -- Flaubert +% +Be security conscious -- National Defense is at stake. +% +Be self-reliant and your success is assured. +% +Be sociable. +Speak to the person next to you in the unemployment line tomorrow. +% +Be sure to evaluate the bird-hand/bush ratio. +% +Be valiant, but not too venturous. +Let thy attire be comely, but not costly. + -- John Lyly +% +Beam me up, Scotty! +% +Beam me up, Scotty! It ate my phaser! +% +Beam me up, Scotty, there's no intelligent life down here! +% +Beat your son every day; you may not know why, but he will. +% +BEAUTY: + What's in your eye when you have a bee in your hand. +% +Beauty and harmony are as necessary to you as the very breath of life. +% +Beauty, brains, availability, personality; pick any two. +% +Beauty is one of the rare things which does not lead to doubt of God. + -- Jean Anouilh +% +Beauty is truth, truth beauty, that is all +Ye know on earth, and all ye need to know. + -- John Keats +% +Beauty may be skin deep, but ugly goes clear to the bone. + -- Redd Foxx +% +Because I do, +Because I do not hope, +Because I do not hope to survive +Injustice from the Palace, death from the air, +Because I do, only do, +I continue... + -- T.S. Pynchon +% +Because the wine remembers. +% +Because we don't think about future generations, +they will never forget us. + -- Henrik Tikkanen +% +Been through hell? +What did you bring back for me? +% +Been Transferred Lately? +% +Beer -- it's not just for breakfast anymore. +% +Beer & Pretzels -- Breakfast of Champions. +% +Before borrowing money from a friend, decide which you need more. + -- Addison H. Hallock +% +Before destruction a man's heart is +haughty, but humility goes before honour. + -- Psalms 18:12 +% +...before I could come to any conclusion it occurred to me that my speech +or my silence, indeed any action of mine, would be a mere futility. What +did it matter what anyone knew or ignored? What did it matter who was +manager? One gets sometimes such a flash of insight. The essentials of +this affair lay deep under the surface, beyond my reach, and beyond my +power of meddling. + -- Joseph Conrad +% +Before I knew the best part of my life had come, it had gone. +% +Before marriage the three little words are "I love you," after marriage +they are "Let's eat out." +% +Before Xerox, five carbons were the maximum extension of anybody's ego. +% +Before you ask more questions, think about whether +you really want to know the answers. + -- Gene Wolfe, "The Claw of the Conciliator" +% +Beggar to well-dressed businessman: + "Could you spare $20.95 for a fifth of Chivas?" +% +Beggars should be no choosers. + -- John Heywood +% +Behind every argument is someone's ignorance. +% +Behind every great computer sits a skinny little geek. +% +Behind every successful man you'll find a woman with nothing to wear. +% +Behold the fool saith, "Put not all thine eggs in the one basket" -- which +is but a manner of saying, "Scatter your money and your attention"; but +the wise man saith, "Put all your eggs in the one basket and -- watch that +basket!" + -- Mark Twain +% +Behold the unborn foetus and + Weep salt tears crocodilian; +All life is sacred (save, of course, + An enemy civilian). +% +Behold the warranty -- the bold print +giveth and the fine print taketh away. +% +Being a mime means never having to say you're sorry. +% +Being a miner, as soon as you're too old and tired and sick and +stupid to do your job properly, you have to go, where the very +opposite applies with the judges. + -- Beyond the Fringe +% +Being a woman is a terribly difficult trade, +since it consists principally of dealings with men. + -- Conrad +% +Being asked solicitously about the state of her health was becoming bothersome +to the pregnant woman at the cocktail party. And yet another guest went over +and inquired, "Well, how are you feeling these days?" + "Not too well," said the expectant mother. "You know, I've missed +seven or eight periods now and it's beginning to worry me." +% +Being frustrated is disagreeable, but the real +disasters in life begin when you get what you want. +% +Being in politics is like being a football coach. You have to be smart +enough to understand the game and dumb enough to think it's important. + -- Eugene McCarthy +% +Being in the army is like being in the Boy Scouts, except that the +Boy Scouts have adult supervision. + -- Blake Clark +% +Being owned by someone used to be called +slavery -- now it's called commitment. +% +Being popular is important. Otherwise people might not like you. +% +Being stoned on marijuana isn't very +different from being stoned on gin. + -- Ralph Nader +% +Being the #2 man in the Justice Department under Ed Meese is akin to +standing next to a lamp post infested with pigeons. + -- unamed Justice Department official +% +Being ugly isn't illegal. Yet. +% +belief, n: + Something you do not believe. +% +Believe everything you hear about the world; nothing is too +impossibly bad. + -- Honore de Balzac +% +Bell Labs Unix - Reach out and grep someone. +% +Ben, why didn't you tell me? + -- Luke Skywalker +% +Bennett's Laws of Horticulture: + (1) Houses are for people to live in. + (2) Gardens are for plants to live in. + (3) There is no such thing as a houseplant. +% +Benson's Dogma: + ASCII is our god, and Unix is his profit. +% +Bernard Shaw is an excellent man; he has not an enemy in the world, and +none of his friends like him either. + -- Oscar Wilde +% +Bernard was a young eighty-three, not a gomer, and able to talk. He'd been +transferred from MBH (Man's Best Hospital), the House's Rival. Founded in +Colonial times by the WASPs, the insemination fo MBH by non-WASPs had taken +place only mid-twentieth century with the token multidextrous Oriental +surgeon, and finally, with the token red-hot internal-medicine Jew. Yet, +MBH was still Brooks Brothers, while the House was still the Garment District. +For Jews at MBH the password was "Dress British, Think Yiddish." It was +rare to get a TURF from the MBH to the House, and the Fat Man was curious: +"Bernard, you went to the MBH, they did a great work-up, and you told them, +after they got done, you wanted to be transferred here. Why?" + "I rilly don't know," said Bernard. + "Was it the doctors there? The doctors you didn't like?" + "The doctus? Nah, the doctus I can't complain." + "The test or the room?" + "The tests or the room? Vell, nah, about them I can't complain." + "The nurses? The food?" asked Fats, but Bernard shook his head no. +Fats laughed and said, "Listen , Bernie, you went to the MBH, they did this +great workup, and when I asked you shy you came to the House of God, all you +tell me is, 'Nah, I can't complain.' So why did you come here? Why, Bernie, +why?" + "Vhy I come heah? Vell, said Bernie, "Heah I can complain." + -- House of God +% +Bershere's Formula for Failure: + There are only two kinds of people who fail: those who + listen to nobody... and those who listen to everybody. +% +Besides the device, the box should contain: + * Eight little rectangular snippets of paper that say "WARNING" + * A plastic packet containing four 5/17 inch pilfer grommets and two + club-ended 6/93 inch boxcar prawns. + +YOU WILL NEED TO SUPPLY: a matrix wrench and 60,000 feet of tram cable. + +IF ANYTHING IS DAMAGED OR MISSING: You IMMEDIATELY should turn to your spouse +and say: "Margaret, you know why this country can't make a car that can get +all the way through the drive-through at Burger King without a major +transmission overhaul? Because nobody cares, that's why." + +WARNING: This is assuming your spouse's name is Margaret. + -- Dave Barry +% +Best Beer: A panel of tasters assembled by the Consumer's Union in 1969 +judged Coors and Miller's High Life to be among the very best. Those who +doubt that beer is a serious subject might ponder its effect on American +history. For example, New England's first colonists decided to drop anchor +at Plymouth Rock instead of continuing on to Virginia because, as one of +them put it, "We could not now take time for further consideration, our +victuals being spent and especially our beer." + -- Felton & Fowler's Best, Worst & Most Unusual +% +Best Mistakes In Films + In his "Filgoer's Companion", Mr. Leslie Halliwell helpfully lists +four of the cinema's greatest moments which you should get to see if at all +possible. + In "Carmen Jones", the camera tracks with Dorothy Dandridge down a +street; and the entire film crew is reflected in the shop window. + In "The Wrong Box", the roofs of Victorian London are emblazoned +with television aerials. + In "Decameron Nights", Louis Jourdain stands on the deck of his +fourteenth century pirate ship; and a white lorry trundles down the hill +in the background. + In "Viking Queen", set in the times of Boadicea, a wrist watch is +clearly visible on one of the leading characters. + -- Stephen Pile, "The Book of Heroic Failures" +% +Best of all is never to have been born. +Second best is to die soon. +% +beta test, v: + To voluntarily entrust one's data, one's livelihood and one's + sanity to hardware or software intended to destroy all three. + In earlier days, virgins were often selected to beta test volcanos. +% +Better by far you should forget and +smile than that you should remember and be sad. + -- Christina Rossetti +% +Better hope the life-inspector doesn't come +around while you have your life in such a mess. +% +Better hope you get what you want before you stop wanting it. +% +Better late than never. + -- Titus Livius (Livy) +% +Better living a beggar than buried an emperor. +% +Better the prince of some inferior court, +Than second, or less, in beatific light. + -- Lucifer, Joost van den Vondel's "Lucifer" +% +Better to be nouveau than never to have been riche at all. +% +Better to light one candle than to curse the darkness. + -- motto of the Christopher Society +% +Better to use medicines at the outset than at the last moment. +% +Better tried by twelve than carried by six. + -- Jeff Cooper +% +Between 1950 and 1952, a bored weatherman, stationed north of Hudson Bay, +left a monument that neither government nor time can eradicate. Using a +bulldozer abandoned by the Air Force, he spent two years and great effort +pushing boulders into a single word. + It can be seen from 10,000 feet, silhouetted against the snow. +Government officials exchanged memos full of circumlocutions (no Latin +equivalent exists) but failed to word an appropriation bill for the +destruction of this cairn, that wouldn't alert the press and embarrass both +Parliament and Party. + It stands today, a monument to human spirit. If life exists on other +planets, this may be the first message received from us. + -- The Realist, November, 1964. +% +Between grand theft and a legal fee, there only stands a law degree. +% +Between infinite and short there is a big difference. + -- G.H. Gonnet +% +Between the idea +And the reality +Between the motion +And the act +Falls the Shadow + -- T.S. Eliot, "The Hollow Man" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to system service dispatching.] +% +BEWARE! People acting under the influence of human nature. +% +Beware of a dark-haired man with a loud tie. +% +Beware of a tall black man with one blond shoe. +% +Beware of a tall blond man with one black shoe. +% +Beware of all enterprises that require new clothes, and not rather +a new wearer of clothes. + -- Henry David Thoreau +% +Beware of Bigfoot! +% +Beware of bugs in the above code; +I have only proved it correct, not tried it. + -- D. Knuth +% +Beware of friends who are false and deceitful. +% +Beware of geeks bearing graft. +% +Beware of low-flying butterflies. +% +Beware of mathematicians and all those who make empty prophecies. The +danger already exists that the mathematicians have made covenant with +the devil to darken the spirit and to confine man in the bonds of hell. + -- St. Augustine +% +Beware of Programmers who carry screwdrivers. + -- Leonard Brandwein +% +Beware of strong drink. It can make you +shoot at tax collectors -- and miss. + -- Lazarus Long, "Time Enough For Love" +% +Beware of the man who knows the answer before he understands the question. +% +"Beware of the man who works hard to learn something, learns it, and finds +himself no wiser than before," Bokonon tells us. "He is full of murderous +resentment of people who are ignorant without having come by their +ignorance the hard way." + -- Kurt Vonnegut +% +Beware of the Turing Tar-pit in which everything +is possible but nothing of interest is easy. +% +Beware the new TTY code! +% +Beware the one behind you. +% +bi, n: + When *everybody* thinks you're a pervert. +% +Bierman's Laws of Contracts: + (1) In any given document, you can't cover all the "what if's". + (2) Lawyers stay in business resolving all the unresolved "what if's". + (3) Every resolved "what if" creates two unresolved "what if's". +% +Big book, big bore. + -- Callimachus +% +Big M, Little M, many mumbling mice +Are making midnight music in the moonlight, +Mighty nice! +% +Bigamy is having one spouse too many. Monogamy is the same. +% +Biggest security gap -- an open mouth. +% +Bilbo's First Law: + You cannot count friends that are all packed up in barrels. +% +Bill Dickey is learning me his experience. + -- Yogi Berra in his rookie season. +% +Billy: Mom, you know that vase you said was handed down from + generation to generation? +Mom: Yes? +Billy: Well, this generation dropped it. +% +Bingo, gas station, hamburger with a side order of airplane noise, +and you'll be Gary, Indiana. + -- Jessie, "Greaser's Palace" +% +Bing's Rule: + Don't try to stem the tide -- move the beach. +% +Biology grows on you. +% +Biology is the only science in which +multiplication means the same thing as division. +% +Birds and bees have as much to do with the facts of life as black +nightgowns do with keeping warm. + -- Hester Mundis, "Powermom" +% +Birds are entangled by their feet and men by their tongues. +% +birth, n: + The first and direst of all disasters. + -- Ambrose Bierce +% +Birthdays are like busses, never the number you want. +% +Bistromathics is simply a revolutionary new way of understanding the +behavior of numbers. Just as Einstein observed that space was not an +absolute, but depended on the observer's movement in space, and that +time was not an absolute, but depended on the observer's movement in +time, so it is now realized that numbers are not absolute, but depend +on the observer's movement in restaurants. + -- Douglas Adams +% +bit, n: + A unit of measure applied to color. Twenty-four-bit color + refers to expensive $3 color as opposed to the cheaper 25 + cent, or two-bit, color that use to be available a few years + ago. +% +Bit off more than my mind could chew, +Shower or suicide, what do I do? + -- Julie Brown, "Will I Make it Through the Eighties?" +% +Biz is better. +% +Bizarreness is the essence of the exotic. +% +Black people have never rioted. A riot is what white people think blacks +are involved in when they burn stores. + -- Julius Lester +% +Black shiny mollies and bright colored guppies, +Shy little angels as gentle as puppies, +Swimming and diving with scarcely a swish, +They were just some of my tropical fish. + +Then I got mantas that sting in the water, +Deadly piranhas that itch for a slaughter, +Savage male betas that bite with a squish, +Now I have many less tropical fish. + + If you think that + Fish are peaceful + That's an empty wish. + Just dump them together + And leave them alone, + And soon you will have -- no fish. + -- To My Favorite Things +% +Blackout, heatwave, .44 caliber homicide, +The bums drop dead and the dogs go mad in packs on the West Side, +A young girl standing on a ledge, looks like another suicide, +She wants to hit those bricks, + 'cause the news at six got to stick to a deadline, +While the millionaires hide in Beekman place, +The bag ladies throw their bones in my face, +I get attacked by a kid with stereo sound, +I don't want to hear it but he won't turn it down... + -- Billy Joel, "Glass Houses" +% +Blame Saint Andreas -- it's all his fault. +% +Blessed are the forgetful: for they +get the better even of their blunders. + -- Nietzsche +% +Blessed are the meek for they shall inhibit the earth. +% +Blessed are the young, for they shall inherit the national debt. + -- Herbert Hoover +% +Blessed are they that have nothing to say, and who cannot be persuaded +to say it. + -- James Russell Lowell +% +Blessed are they who Go Around in Circles, +for they Shall be Known as Wheels. +% +Blessed is he who expects no gratitude, for he shall not be disappointed. + -- W.C. Bennett +% +Blessed is he who expects nothing, for he shall never be disappointed. + -- Alexander Pope +% +Blessed is he who has reached the point of no return and knows it, +for he shall enjoy living. + -- W.C. Bennett +% +Blessed is the man who, having nothing to say, +abstains from giving wordy evidence of the fact. + -- George Eliot +% +Blinding speed can compensate for a lot of deficiencies. + -- David Nichols +% +blithwapping: + Using anything BUT a hammer to hammer a nail into the + wall, such as shoes, lamp bases, doorstops, etc. + -- "Sniglets", Rich Hall & Friends +% +Blood is thicker than water, and much tastier. +% +Bloom's Seventh Law of Litigation: + The judge's jokes are always funny. +% +Blow it out your ear. +% +Blue paint today. + [Funny to Jack Slingwine, Guy Harris and Hal Pierson. Ed.] +% +Blutarsky's Axiom: + Nothing is impossible for the man who will not listen to reason. +% +Body by Nautilus, Brain by Mattel. +% +Boling's postulate: + If you're feeling good, don't worry. You'll get over it. +% +Bolub's Fourth Law of Computerdom: + Project teams detest weekly progress reporting because it so + vividly manifests their lack of progress. +% +Bond reflected that good Americans were fine people and that most of them +seemed to come from Texas. + -- Ian Fleming, "Casino Royale" +% +Bondage maybe, discipline never! + -- T.K. +% +Bones: "The man's DEAD, Jim!" +% +Boob's Law: + You always find something in the last place you look. +% +Booker's Law: + An ounce of application is worth a ton of abstraction. +% +Bore, n: + A person who talks when you wish him to listen. + -- Ambrose Bierce +% +boss, n: + According to the Oxford English Dictionary, in the Middle Ages the + words "boss" and "botch" were largely synonymous, except that boss, + in addition to meaning "a supervisor of workers" also meant "an + ornamental stud." +% +Boston: + An outdoor Betty Ford Clinic. +% +Boston: + Ludwig van Beethoven being jeered by 50,000 sports + fans for finishing second in the Irish jig competition. +% +Both models are identical in performance, functional operation, and +interface circuit details. The two models, however, are not compatible +on the same communications line connection. + -- Bell System Technical Reference +% +Boucher's Observation: + He who blows his own horn always plays the music + several octaves higher than originally written. +% +Bounders get bound when they are caught bounding. + -- Ralph Lewin +% +Bower's Law: + Talent goes where the action is. +% +Bowie's Theorem: + If an experiment works, you must be using the wrong equipment. +% +Boy! Eucalyptus! +% +Boy, get your head out of the stars above, +You get the maximum pleasure from a minimum of love. +Save your heart and let your body be enough, +To get the maximum pleasure from a minimum of love. +Save your heart and let your body be enough, +And get the maximum pleasure from a minimum of love. + -- Mac Macinelli, "Minimum Love" +% +Boy, I sure wish that I could be in the +'Advanced Systems Development' group! +% +boy, n: + A noise with dirt on it. +% +Boy, that crayon sure did hurt! +% +Boycott meat - suck your thumb. +% +Boys will be boys, and so will a lot of middle-aged men. + -- Kin Hubbard +% +Bozo is the Brotherhood of Zips and Others. Bozos are people who band +together for fun and profit. They have no jobs. Anybody who goes on a +tour is a Bozo. Why does a Bozo cross the street? Because there's a Bozo +on the other side. It comes from the phrase vos otros, meaning others. +They're the huge, fat, middle waist. The archetype is an Irish drunk +clown with red hair and nose, and pale skin. Fields, William Bendix. +Everybody tends to drift toward Bozoness. It has Oz in it. They mean +well. They're straight-looking except they've got inflatable shoes. They +like their comforts. The Bozos have learned to enjoy their free time, +which is all the time. + -- Firesign Theatre, "If Bees Lived Inside Your Head" +% +Brace yourselves. We're about to try something that borders on the unique: +an actually rather serious technical book which is not only (gasp) vehemently +anti-Solemn, but also (shudder) takes sides. I tend to think of it as +`Constructive Snottiness.' + -- Mike Padlipsky, "Elements of Networking Style" +% +Bradley's Bromide: + If computers get too powerful, we can organize + them into a committee -- that will do them in. +% +Brady's First Law of Problem Solving: + When confronted by a difficult problem, you can solve it more + easily by reducing it to the question, "How would the Lone Ranger + have handled this?" +% +Brahma said: Well, after hearing ten thousand explanations, a fool is no +wiser. But an intelligent man needs only two thousand five hundred. + -- The Mahabharata +% +Brain fried -- core dumped +% +brain, n: + The apparatus with which we think that we think. + -- Ambrose Bierce, "The Devil's Dictionary" +% +brain, v: [as in "to brain"] + To rebuke bluntly, but not pointedly; to dispel a source + of error in an opponent. + -- Ambrose Bierce, "The Devil's Dictionary" +% +brain-damaged, generalization of "Honeywell Brain Damage" (HBD), a +theoretical disease invented to explain certain utter cretinisms in +Multics, adj: + Obviously wrong; cretinous; demented. There is an implication + that the person responsible must have suffered brain damage, + because he/she should have known better. Calling something + brain-damaged is bad; it also implies it is unusable. +% +Brandy Davis, an outfielder and teammate of mine with the Pittsburgh Pirates, +is my choice for team captain. Cincinnatti was beating us 3-1, and I led +off the bottom of the eighth with a walk. The next hitter banged a hard +single to right field. Feeling the wind at my back, I rounded second and +kept going, sliding safely into third base. + With runners at first and third, and home-run hitter Ralph Kiner at +bat, our manager put in the fast Brandy Davis to run for the player at first. +Even with Kiner hitting and a change to win the game with a home run, Brandy +took off for second and made it. Now we had runners at second and third. + I'm standing at third, knowing I'm not going anywhere, and see Brandy +start to take a lead. All of a sudden, here he comes. He makes a great slide +into third, and I scream, "Brandy, where are you going?" He looks up, and +shouts, "Back to second if I can make it." + -- Joe Garagiola, "It's Anybody's Ball Game" +% +Brandy-and-water spoils two good things. + -- Charles Lamb +% +Breadth-first search is the bulldozer of science. + -- Randy Goebel +% +Break into jail and claim police brutality. +% +Breathe deep the gathering gloom. +Watch lights fade from every room. +Bed-sitter people look back and lament; +another day's useless energies spent. + +Impassioned lovers wrestle as one. +Lonely man cries for love and has none. +New mother picks up and suckles her son. +Senior citizens wish they were young. + +Cold-hearted orb that rules the night; +Removes the colors from our sight. +Red is grey and yellow white. +But we decide which is real, and which is an illusion." + -- The Moody Blues, "Days of Future Passed" +% +Breeding rabbits is a hare raising experience. +% +bride, n: + A woman with a fine prospect of happiness behind her. +% +Bridge ahead. Pay troll. +% +briefcase, n: + A trial where the jury gets together and forms a lynching party. +% +Briefly stated, the findings are that when presented with an array of +data or a sequence of events in which they are instructed to discover +an underlying order, subjects show strong tendencies to perceive order +and causality in random arrays, to perceive a pattern or correlation +which seems a priori intuitively correct even when the actual correlation +in the data is counterintuitive, to jump to conclusions about the correct +hypothesis, to seek and to use only positive or confirmatory evidence, to +construe evidence liberally as confirmatory, to fail to generate or to +assess alternative hypotheses, and having thus managed to expose themselves +only to confirmatory instances, to be fallaciously confident of the validity +of their judgments (Jahoda, 1969; Einhorn and Hogarth, 1978). In the +analyzing of past events, these tendencies are exacerbated by failure to +appreciate the pitfalls of post hoc analyses. + -- A. Benjamin +% +Brillineggiava, ed i tovoli slati + girlavano ghimbanti nella vaba; +i borogovi eran tutti mimanti + e la moma radeva fuorigraba. + +"Figliuolo mio, sta' attento al Gibrovacco, + dagli artigli e dal morso lacerante; +fuggi l'uccello Giuggiolo, e nel sacco + metti infine il frumioso Bandifante". + -- "The Jabberwock" +% +Bringing computers into the home won't change +either one, but may revitalize the corner saloon. +% +Brisk talkers are usually slow thinkers. There is, indeed, no wild beast +more to be dreaded than a communicative man having nothing to communicate. +If you are civil to the voluble, they will abuse your patience; if +brusque, your character. + -- Jonathan Swift +% +British education is probably the best in the world, if you can survive +it. If you can't there is nothing left for you but the diplomatic corps. + -- Peter Ustinov +% +British Israelites: + The British Israelites believe the white Anglo-Saxons of Britain to +be descended from the ten lost tribes of Israel deported by Sargon of Assyria +on the fall of Sumeria in 721 B.C. ... They further believe that the future +can be foretold by the measurements of the Great Pyramid, which probably +means it will be big and yellow and in the hand of the Arabs. They also +believe that if you sleep with your head under the pillow a fairy will come +and take all your teeth. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +broad-mindedness, n: + The result of flattening high-mindedness out. +% +Brogan's Constant: + People tend to congregate in the back + of the church and the front of the bus. +% +brokee, n: + Someone who buys stocks on the advice of a broker. +% +Brooke's Law: + Whenever a system becomes completely defined, some damn fool + discovers something which either abolishes the system or + expands it beyond recognition. +% +BS: You remind me of a man. +B: What man? +BS: The man with the power. +B: What power? +BS: The power of voodoo. +B: Voodoo? +BS: You do. +B: Do what? +BS: Remind me of a man. +B: What man? +BS: The man with the power... + -- Cary Grant, "The Bachelor and the Bobby-Soxer" +% +Buck-passing usually turns out to be a boomerang. +% +Bucy's Law: + Nothing is ever accomplished by a reasonable man. +% +Bug: + An elusive creature living in a program that makes it incorrect. + The activity of "debugging," or removing bugs from a program, ends + when people get tired of doing it, not when the bugs are removed. +% +bug, n: + An elusive creature living in a program that makes it incorrect. + The activity of "debugging", or removing bugs from a program, ends + when people get tired of doing it, not when the bugs are removed. + -- "Datamation", January 15, 1984 +% +Build a system that even a fool can use +and only a fool will want to use it. +% +Building translators is good clean fun. + -- T. Cheatham +% +Bullwinkle: You just leave that to my pal. He's the brains of the outfit. +General: What does that make YOU? +Bullwinkle: What else? An executive. +% +Bumper sticker: + All the parts falling off this car are + of the very finest British manufacture. +% +Bunker's Admonition: + You cannot buy beer; you can only rent it. +% +BURBULATION: + The obsessive act of opening and closing a refrigerator door in + an attempt to catch it before the automatic light comes on. + -- "Sniglets", Rich Hall & Friends +% +Bureau Termination, Law of: + When a government bureau is scheduled to be phased out, + the number of employees in that bureau will double within + 12 months after the decision is made. +% +bureaucracy, n: + A method for transforming energy into solid waste. +% +bureaucrat, n: + A politician who has tenure. +% +Burke's Postulates: + Anything is possible if you don't know what you are talking about. + Don't create a problem for which you do not have the answer. +% +Burnt Sienna. That's the best thing that ever happened to Crayolas. + -- Ken Weaver +% +Bus error -- driver executed. +% +Bus error -- please leave by the rear door. +% +Bushydo -- the way of the shrub. Bonsai! +% +Business is a good game -- lots of competition +and minimum of rules. You keep score with money. + -- Nolan Bushnell, founder of Atari +% +Business will be either better or worse. + -- Calvin Coolidge +% +...but as records of courts and justice are admissible, it can easily be +proved that powerful and malevolent magicians once existed and were a scourge +to mankind. The evidence (including confession) upon which certain women +were convicted of witchcraft and executed was without a flaw; it is still +unimpeachable. The judges' decisions based on it were sound in logic and +in law. Nothing in any existing court was ever more thoroughly proved than +the charges of witchcraft and sorcery for which so many suffered death. If +there were no witches, human testimony and human reason are alike destitute +of value. + -- Ambrose Bierce +% +But Captain -- the engines can't take this much longer! +% +But, for my own part, it was Greek to me. + -- William Shakespeare, "Julius Caesar" +% +But has any little atom, + While a-sittin' and a-splittin', +Ever stopped to think or CARE + That E = m c**2 ? +% +"But Huey, you PROMISED!" +"Tell 'em I lied." +% +But I always fired into the nearest hill or, failing that, into blackness. +I meant no harm; I just liked the explosions. And I was careful never to +kill more than I could eat. + -- Raoul Duke +% +But I don't like Spam!!!! +% +"But I don't want to go on the cart..." +"Oh, don't be such a baby!" +"But I'm feeling much better..." +"No you're not... in a moment you'll be stone dead!" + -- Monty Python, "The Holy Grail" +% +But I find the old notions somehow appealing. Not that I want to go +back to them -- it is outrageous to have some outer authority tell you +what is proper use and abuse of your own faculties, and it is ludicrous +to hold reason higher than body or feeling. Still there is something +true and profoundly sane about the belief that acts like murder or +theft or assault violate the doer as well as the done to. We might +even, if we thought this way, have less crime. The popular view of +crime, as far as I can deduce it from the movies and television, is +that it is a breaking of a rule by someone who thinks they can get away +with that; implicitly, everyone would like to break the rule, but not +everyone is arrogant enough to imagine they can get away with it. It +therefore becomes very important for the rule upholders to bring such +arrogance down. + -- Marilyn French, "The Woman's Room" +% +But if we laugh with derision, we will never understand. Human +intellectual capacity has not altered for thousands of years so far as +we can tell. If intelligent people invested intense energy in issues +that now seem foolish to us, then the failure lies in our understanding +of their world, not in their distorted perceptions. Even the standard +example of ancient nonsense -- the debate about angels on pinheads -- +makes sense once you realize that theologians were not discussing +whether five or eighteen would fit, but whether a pin could house a +finite or an infinite number. + -- S.J. Gould, "Wide Hats and Narrow Minds" +% +But if you wish at once to do nothing and to be respectable +nowdays, the best pretext is to be at work on some profound study. + -- Leslie Stephen, "Sketches from Cambridge" +% +But in our enthusiasm, we could not resist a radical overhaul of the +system, in which all of its major weaknesses have been exposed, +analyzed, and replaced with new weaknesses. + -- Bruce Leverett, + "Register Allocation in Optimizing Compilers" +% +But it does move! + -- Galileo Galilei +% +But like the Good Book says... There's BIGGER DEALS to come! +% +But, Mousie, thou art no thy lane, +In proving foresight may be vain: +The best laid schemes o' mice an' men +Gang aft a-gley, +An' lea'e us nought but grief and pain +For promised joy. + -- Robert Burns, "To a Mouse", 1785 +% +But, officer, he's not drunk, I just saw his fingers twitch! +% +But Officer, I stopped for the last one, and it was green! +% +But scientists, who ought to know +Assure us that it must be so. +Oh, let us never, never doubt +What nobody is sure about. + -- Hilaire Belloc +% +But sex and drugs and rock & roll, why, they'd bring our blackest day. +% +But since I knew now that I could hope for nothing of greater value than +frivolous pleasures, what point was there in denying myself of them? + -- M. Proust +% +But soft you, the fair Ophelia: +Ope not thy ponderous and marble jaws, +But get thee to a nunnery -- go! + -- Mark "The Bard" Twain +% +But these pills can't be habit forming; +I've been taking them for years. +% +But this has taken us far afield from interface, which is not a bad +place to be, since I particularly want to move ahead to the kludge. +Why do people have so much trouble understanding the kludge? What +is a kludge, after all, but not enough K's, not enough ROM's, not +enough RAM's, poor quality interface and too few bytes to go around? +Have I explained yet about the bytes? +% +But you shall not escape my iambics. + -- Gaius Valerius Catullus +% +But you who live on dreams, you are better pleased with the sophistical +reasoning and frauds of talkers about great and uncertain matters than +those who speak of certain and natural matters, not of such lofty nature. + -- Leonardo Da Vinci, "The Codex on the Flight of Birds" +% +Buzz off, Banana Nose; Relieve mine eyes +Of hateful soreness, purge mine ears of corn; +Less dear than army ants in apple pies +Art thou, old prune-face, with thy chestnuts worn, +Dropt from thy peeling lips like lousy fruit; +Like honeybees upon the perfum'd rose +They suck, and like the double-breasted suit +Are out of date; therefore, Banana Nose, +Go fly a kite, thy welcome's overstayed; +And stem the produce of thy waspish wits: +Thy logick, like thy locks, is disarrayed; +Thy cheer, like thy complexion, is the pits. +Be off, I say; go bug somebody new, +Scram, beat it, get thee hence, and nuts to you. +% +buzzword, n: + The fly in the ointment of computer literacy. +% +By doing just a little every day, you can +gradually let the task completely overwhelm you. +% +By failing to prepare, you are preparing to fail. +% +By long-standing tradition, I take this opportunity to savage other +designers in the thin disguise of good, clean fun. + -- P.J. Plauger, "Computer Language", 1988, April + Fool's column. +% +By nature, men are nearly alike; +by practice, they get to be wide apart. + -- Confucius +% +By necessity, by proclivity, and by delight, we all quote. +In fact, it is as difficult to appropriate the thoughts of others +as it is to invent. + -- R. Emerson + -- Quoted from a fortune cookie program + (whose author claims, "Actually, stealing IS easier.") + [to which I reply, "You think it's easy for me to + misconstrue all these misquotations?!?" Ed.] +% +By perseverance the snail reached the Ark. + -- Charles Spurgeon +% +By protracting life, we do not deduct one jot from the duration of death. + -- Titus Lucretius Carus +% +By the time you swear you're his, +shivering and sighing +and he vows his passion is +infinite, undying -- +Lady, make a note of this: +One of you is lying. + -- Dorothy Parker, "Unfortunate Coincidence" +% +By the yard, life is hard. +By the inch, it's a cinch. +% +By trying we can easily learn to endure adversity. +Another man's, I mean. + -- Mark Twain +% +By working faithfully eight hours a day, +you may eventually get to be boss and work twelve. + -- Robert Frost +% +byob, v: + Believing Your Own Bull +% +Bypasses are devices that allow some people to dash from point A to +point B very fast while other people dash from point B to point A very +fast. People living at point C, being a point directly in between, are +often given to wonder what's so great about point A that so many people +from point B are so keen to get there and what's so great about point B +that so many people from point B are so keen to get there. They often +wish that people would just once and for all work out where the hell +they wanted to be. + -- The Hitchhiker's Guide to the Galaxy +% +BYTE editors are people who separate the wheat from the chaff, and then +carefully print the chaff. +% +Byte your tongue. +% +C Code. +C Code Run. +Run, Code, RUN! + PLEASE!!!! +% +C for yourself. +% +C++ is the best example of second-system effect since OS/360. +% +C makes it easy for you to shoot yourself in the foot. C++ makes that +harder, but when you do, it blows away your whole leg. + -- Bjarne Stroustrup +% +C, n: + A programming language that is sort of like Pascal except more like + assembly except that it isn't very much like either one, or anything + else. It is either the best language available to the art today, or + it isn't. + -- Ray Simard +% +cabbage, n: + A familiar kitchen-garden vegetable about as large and wise as + a man's head. + -- Ambrose Bierce +% +Cache: + A very expensive part of the memory system of a computer that no one + is supposed to know is there. +% +Cahn's Axiom: + When all else fails, read the instructions. +% +California is a fine place to live -- if you happen to be an orange. + -- Fred Allen +% +Californians are a strange people. They'll put every chemical known to God +and man up their nostrils and then laugh at you for putting sugar in your +coffee. +% +Call on God, but row away from the rocks. + -- Indian proverb +% +Call things by their right names... Glass of brandy and water! That is the +current but not the appropriate name: ask for a glass of fire and distilled +damnation. + -- Robert Hall, in Olinthus Gregory's, "Brief Memoir of the + Life of Hall" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to logical names.] +% +Calling J-Man Kink. Calling J-Man Kink. Hash missle sighted, target +Los Angeles. Disregard personal feelings about city and intercept. +% +Calling you stupid is an insult to stupid people! + -- Wanda, "A Fish Called Wanda" +% +Calm down, it's *only* ones and zeroes. +% +Calm down, it's only ones and zeroes, +Calm down, it's only bits and bytes, +Calm down, and speak to me in English, +Please realize that I'm not one of your computerites. +% +Calvin: "I wonder where we go when we die." +Hobbes: "Pittsburgh?" +Calvin: "You mean if we're good or if we're bad?" +% +Calvin Coolidge looks as if he had been weaned on a pickle. + -- Alice Roosevelt Longworth +% +Calvin Coolidge was the greatest man +who ever came out of Plymouth Corner, Vermont. + -- Clarence Darrow +% +Campbell's Law: + Nature abhors a vacuous experimenter. +% +Campus crusade for Cthulhu -- it found me. +% +Can anyone remember when the times +were not hard, and money not scarce? +% +Can anything be sadder than work left unfinished? +Yes, work never begun. +% +Can you buy friendship? You not only can, you must. It's the +only way to obtain friends. Everything worthwhile has a price. + -- Robert J. Ringer +% +Canada Bill Jones's Motto: + It's morally wrong to allow suckers to keep their money. + +Canada Bill Jones's Supplement: + A Smith and Wesson beats four aces. +% +Canada Post doesn't really charge 32 cents for a stamp. +It's 2 cents for postage and 30 cents for storage. + -- Gerald Regan, Cabinet Minister, 12/31/83 Financial Post +% +CANCER (June 21 - July 22) + This is a good time for those of you who are rich and happy, + but a poor time for those of you born under this sign who are + poor and unhappy. To tell you the truth, any day is tough + when you're poor and unhappy. +% +Canonical, adj.: + The usual or standard state or manner of something. A true story: +One Bob Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use +of jargon. Over his loud objections, we made a point of using jargon as +much as possible in his presence, and eventually it began to sink in. +Finally, in one conversation, he used the word "canonical" in jargon-like +fashion without thinking. + Steele: "Aha! We've finally got you talking jargon too!" + Stallman: "What did he say?" + Steele: "He just used `canonical' in the canonical way." +% +Can't act. Slightly bald. Also dances. + -- RKO executive, reacting to Fred Astaire's screen test. + Cerf/Navasky, "The Experts Speak" +% +Can't open /usr/fortunes. Lid stuck on cookie jar. +% +Can't open /usr/games/lib/fortunes.dat. +% +Capitalism is the extraordinary belief that the nastiest of men, for +the nastiest of reasons, will somehow work for the benefit of us all. + -- John Maynard Keynes +% +CAPRICORN (Dec 22 - Jan 19) + Play your hunches. This is a day when luck will play an important + part in your life. If you were smarter, you wouldn't need so much + luck and you wouldn't be reading your horoscope, either. You are + a suspicious person, and it will occur to you that astrologers + don't know what they're talking about any more than your Aunt Martha. +% +CAPRICORN (Dec. 22 to Jan. 19) + Follow your instincts. You are much too scatterbrained to do anything + else, such as think. Romance is in the air, but not for you, so forget + it. That pimple on the end of your nose will get worse. +% +CAPRICORN (Dec 23 - Jan 19) + You are conservative and afraid of taking risks. You don't do + much of anything and are lazy. There has never been a Capricorn + of any importance. Capricorns should avoid standing still for + too long as they tend to take root and become trees. +% +Captain Penny's Law: + You can fool all of the people some of the time, and + some of the people all of the time, but you Can't Fool Mom. +% +Captain's Log, star date 21:34.5... +% +Carelessly planned projects take three times longer to complete than expected. +Carefully planned projects take four times longer to complete than expected, +mostly because the planners expect their planning to reduce the time it +takes. +% +Carney's Law: There's at least a 50-50 chance that someone will print +the name Craney incorrectly. + -- Jim Canrey +% +Carob works on the principle that, when mixed with the right combination of +fats and sugar, it can duplicate chocolate in color and texture. Of course, +the same can be said of dirt. +% +carperpetuation, n: + The act, when vacuuming, of running over a string at least a dozen + times, reaching over and picking it up, examining it, then putting + it back down to give the vacuum one more chance. + -- Rich Hall, "Sniglets" +% +Carson's Consolation: + Nothing is ever a complete failure. + It can always be used as a bad example. +% +Carson's Observation on Footwear: + If the shoe fits, buy the other one too. +% +Carswell's Corollary: + Whenever man comes up with a better mousetrap, + nature invariably comes up with a better mouse. +% +Catch a wave and you're sitting on top of the world. + -- The Beach Boys +% +Catharsis is something I associate with pornography and crossword puzzles. + -- Howard Chaykin +% +Catproof is an oxymoron, childproof nearly so. +% +Cats are intended to teach us that not everything in nature has a function. + -- Garrison Keillor +% +Cats are smarter than dogs. You can't make eight cats pull +a sled through the snow. +% +Cats, no less liquid than their shadows, offer no angles to the wind. +% +Cauliflower is nothing but cabbage with a college education. + -- Mark Twain, "Pudd'nhead Wilson" +% +Caution: Breathing may be hazardous to your health. +% +Caution: Keep out of reach of children. +% +CChheecckk yyoouurr dduupplleexx sswwiittcchh.. +% +CCI Power 6/40: one board, a megabyte of cache, and an attitude... +% +Celebrate Hannibal Day this year. Take an elephant to lunch. +% +Celestial navigation is based on the premise that the Earth is the center +of the universe. The premise is wrong, but the navigation works. An +incorrect model can be a useful tool. + -- Kelvin Throop III +% +Census Taker to Housewife: +Did you ever have the measles, and, if so, how many? +% +Center meeting at 4pm in 2C-543. +% +cerebral atrophy, n: + The phenomena which occurs as brain cells become weak and sick, and +impair the brain's performance. An abundance of these "bad" cells can cause +symptoms related to senility, apathy, depression, and overall poor academic +performance. A certain small number of brain cells will deteriorate due to +everday activity, but large amounts are weakened by intense mental effort +and the assimilation of difficult concepts. Many college students become +victims of this dread disorder due to poor habits such as overstudying. + +cerebral darwinism, n: + The theory that the effects of cerebral atrophy can be reversed +through the purging action of heavy alcohol consumption. Large amounts of +alcohol cause many brain cells to perish due to oxygen deprivation. Through +the process of natural selection, the weak and sick brain cells will die +first, leaving only the healthy cells. This wonderful process leaves the +imbiber with a healthier, more vibrant brain, and increases mental capacity. +Thus, the devastating effects of cerebral atrophy are reversed, and academic +performance actually increases beyond previous levels. +% +Cerebus: I'd love to lick apricot brandy out of your navel. +Jaka: Look, Cerebus -- Jaka has to tell you... something +Cerebus: If Cerebus had a navel, would you lick apricot brandy out + of it? +Jaka: Oooh. +Cerebus: You don't like apricot brandy? + -- Cerebus, #6, "The Secret" +% +Certain old men prefer to rise at dawn, taking a cold bath and a long +walk with an empty stomach and otherwise mortifying the flesh. They +then point with pride to these practices as the cause of their sturdy +health and ripe years; the truth being that they are hearty and old, +not because of their habits, but in spite of them. The reason we find +only robust persons doing this thing is that it has killed all the +others who have tried it. + -- Ambrose Bierce, "The Devil's Dictionary" +% + +Certain passages in several laws have always defied interpretation and the +most inexplicable must be a matter of opinion. A judge of the Court of +Session of Scotland has sent the editors of this book his candidate which +reads, "In the Nuts (unground), (other than ground nuts) Order, the expression +nuts shall have reference to such nuts, other than ground nuts, as would +but for this amending Order not qualify as nuts (unground) (other than ground +nuts) by reason of their being nuts (unground)." + -- Guiness Book of World Records, 1973 +% +Certainly the game is rigged. +Don't let that stop you; if you don't bet, you can't win. + -- Robert Heinlein, "Time Enough For Love" +% +Certainly there are things in life that money can't buy, +But it's very funny -- +did you ever try buying them without money? + -- Ogden Nash +% +C'est magnifique, mais ce n'est pas la guerre! +% +C'est magnifique, mais ce n'est pas l'Informatique. + -- Bosquet [on seeing the IBM 4341] +% +CF&C stole it, fair and square. + -- Tim Hahn +% +Chairman of the Bored. +% +Chamberlain's Laws: + 1: The big guys always win. + 2: Everything tastes more or less like chicken. +% +Champagne don't make me lazy. Cocaine don't drive me crazy. +Ain't nobody's business but my own. + -- Taj Mahal +% +Chance is perhaps the work of God when He did not want to sign. + -- Anatole France +% +Change your thoughts and you change your world. +% +Changing husbands/wives is only changing troubles. + -- Kathleen Norris +% +Chaos is King and Magic is loose in the world. +% +Chapter 1: + The story so far: + In the beginning the Universe was created. This has made +a lot of people very angry and been widely regarded as a bad move. +% +Chapter 2: Newtonian Growth and Decay + + The growth-decay formulas were developed in the trivial fashion by +Isaac Newton's famous brother Phigg. His idea was to provide an equation +that would describe a quantity that would dwindle and dwindle, but never +quite reach zero. Historically, he was merely trying to work out his +mortgage. Another versatile equation also emerged, one which would define +a function that would continue to grow, but never reach unity. This equation +can be applied to charging capacitors, over-damped springs, and the human +race in general. +% +character density, n.: + The number of very weird people in the office. +% +Character is what you are in the dark! + -- Lord John Whorfin +% +CHARITY: + A thing that begins at home and usually stays there. +% +Charity begins at home. + -- Publius Terentius Afer (Terence) +% +Charlie Brown: Why was I put on this earth? +Linus: To make others happy. +Charlie Brown: Why were others put on this earth? +% +Charlie was a chemist, +But Charlie is no more. +What Charlie thought was H2O was H2SO4. +% +Charm is a way of getting the answer "Yes" -- +without having asked any clear question. +% +Cheap things are of no value, valuable things are not cheap. +% +Check me if I'm wrong, Sandy, but if I kill all the golfers... +they're gonna lock me up and throw away the key! +% +checkuary, n: + The thirteenth month of the year. Begins New Year's Day and ends + when a person stops absentmindedly writing the old year on his checks. +% +Cheer Up! Things are getting worse at a slower rate. +% +Cheese -- milk's leap toward immortality. + -- Clifton Fadiman, "Any Number Can Play" +% +Chef, n: + Any cook who swears in French. +% +Cheit's Lament: + If you help a friend in need, he is sure to remember you-- + the next time he's in need. +% +CHEMICALS: + Noxious substances from which modern foods are made. +% +Chemist who falls in acid is absorbed in work. +% +Chemist who falls in acid will be tripping for weeks. +% +Chemistry professors never die, they just fail to react. +% +Cheops' Law: + Nothing ever gets built on schedule or within budget. +% +"Cheshire-Puss," she began, "would you tell me, please, + which way I ought to go from here?" +"That depends a good deal on where you want to get to," said the Cat. +"I don't care much where--" said Alice. +"Then it doesn't matter which way you go," said the Cat. +% +Chess tonight. +% +CHICAGO: + Where the dead still vote... early and often! +% +Chicago Transit Authority Rider's Rule #36: + Never ever ask the tough looking gentleman wearing El Rukn +headgear where he got his "pyramid powered pizza warmer". + -- Chicago Reader 3/27/81 +% +Chicago Transit Authority Rider's Rule #84: + The CTA has complimentary pop-up timers available on request +for overheated passengers. When your timer pops up, the driver will +cheerfully baste you. + -- Chicago Reader 5/28/82 +% +Chicagoan: "So, where're you from?" +Hoosier: "What's wrong with Indiana?" +% +Chicken Little was right. +% +Chicken Soup: + An ancient miracle drug containing equal parts of aureomycin, + cocaine, interferon, and TLC. The only ailment chicken soup + can't cure is neurotic dependence on one's mother. + -- Arthur Naiman +% +Chihuahuas drive me crazy. I can't stand anything that +shivers when it's warm. +% +Children are like cats, they can tell when you don't like +them. That's when they come over and violate your body space. +% +Children are natural mimics who act like their parents +despite every effort to teach them good manners. +% +Children are unpredictable. You never know what inconsistency they're +going to catch you in next. + -- Franklin P. Jones +% +Children aren't happy without something to ignore, +And that's what parents were created for. + -- Ogden Nash +% +Children begin by loving their parents. After a time they judge them. +Rarely, if ever, do they forgive them. + -- Oscar Wilde +% +Children seldom misquote you. In fact, they usually +repeat word for word what you shouldn't have said. +% +Children's talent to endure stems from their ignorance of alternatives. + -- Maya Angelou, "I Know Why the Caged Bird Sings" +% +Chinese saying: "He who speak with forked tongue, not need chopsticks." +% +Chism's Law of Completion: + The amount of time required to complete a government project is + precisely equal to the length of time already spent on it. +% +Chisolm's First Corollary to Murphy's Second Law: + When things just can't possibly get any worse, they will. +% +Chocolate Chip. +% +Choose in marriage only a woman whom you would choose as +a friend if she were a man. + -- Joubert +% +Chorus: + Grandma got run over by a reindeer, + Walking home from our house Christmas eve. + You can say there's no such thing as Santa, + But as for me and Grandpa, we believe! +She'd been drinking too much eggnog, +And we begged her not to go. +But she'd forgot her medication, When we found her Christmas morning, +And she staggered through the door At the scene of the attack. + out in the snow. She had hoofprints on her forehead, + And incriminating claus-marks on her +Now we're all so proud of Grandpa, back. +He's been taking this so well. +See him in there watching football. I've warned all my friends and +Drinking beer and playing cards neighbors, + with cousin Mel. Better watch out for yourselves! + They should never give a license, + To a man who drives a sleigh and + plays with elves! + -- Elmo and Patsy, "Grandma Got Run Over by a Reindeer" +% +Christ died for our sins, so let's not disappoint Him. +% +Christianity has not been tried and found wanting; it has been found +difficult and not tried. + -- G.K. Chesterton +% +Christianity might be a good thing if anyone ever tried it. + -- George Bernard Shaw +% +Christmas time is here, by Golly; Kill the turkeys, ducks and chickens; +Disapproval would be folly; Mix the punch, drag out the Dickens; +Deck the halls with hunks of holly; Even though the prospect sickens, +Fill the cup and don't say when... Brother, here we go again. + +On Christmas day, you can't get sore; Relations sparing no expense'll, +Your fellow man you must adore; Send some useless old utensil, +There's time to rob him all the more, Or a matching pen and pencil, +The other three hundred and sixty-four! Just the thing I need... how nice. + +It doesn't matter how sincere Hark The Herald-Tribune sings, +It is, nor how heartfelt the spirit; Advertising wondrous things. +Sentiment will not endear it; God Rest Ye Merry Merchants, +What's important is... the price. May you make the Yuletide pay. + Angels We Have Heard On High, +Let the raucous sleighbells jingle; Tell us to go out and buy. +Hail our dear old friend, Kris Kringle, Sooooo... +Driving his reindeer across the sky, +Don't stand underneath when they fly by! + -- Tom Lehrer +% +Churchill's Commentary on Man: + Man will occasionally stumble over the truth, + but most of the time he will pick himself up and continue on. +% +CIGARETTE: + A fire at one end, a fool at the other, + and a bit of tobacco in between. +% +CINEMUCK: + The combination of popcorn, soda, and melted chocolate + which covers the floors of movie theaters. + -- "Sniglets", Rich Hall & Friends +% +Circumstances rule men; men do not rule circumstances. + -- Herodotus +% +Civilization and profits go hand in hand. + -- Calvin Coolidge +% +Civilization, as we know it, will end sometime this evening. +See SYSNOTE tomorrow for more information. +% +Civilization is the limitless multiplication of unnecessary necessities. + -- Mark Twain +% +clairvoyant, n.: + A person, commonly a woman, who has the power of seeing that +which is invisible to her patron -- namely, that he is a blockhead. + -- Ambrose Bierce +% +Claret is the liquor for boys; port for men; but he who +aspires to be a hero... must drink brandy. + -- Samuel Johnson +% +Clarke's Conclusion: + Never let your sense of morals interfere with doing the right thing. +% +Class, that's the only thing that counts in life. Class. +Without class and style, a man's a bum; he might as well be dead. + -- "Bugsy" Siegel +% +Class: when they're running you out of town, to look like you're +leading the parade. + -- Bill Battie +% +Classical music is the kind we keep thinking will turn into a tune. + -- Kin Hubbard, "Abe Martin's Sayings" +% +Clay's Conclusion: + Creativity is great, but plagiarism is faster. +% +Cleaning your house while your kids are still growing is like shoveling +the walk before it stops snowing. + -- Phyllis Diller + +There is no need to do any housework at all. After the first four years +the dirt doesn't get any worse. + -- Quentin Crisp +% +Cleanliness becomes more important when godliness is unlikely. + -- P.J. O'Rourke +% +Cleanliness is next to impossible. +% +CLEVELAND: + Where their last tornado did six + million dollars worth of improvements. +% +Cleveland? +Yes, I spent a week there one day. +% +Climate and Surgery + R C Gilchrist, who was shot by J Sharp twelve days ago, and who +received a derringer ball in the right breast, and who it was supposed at +the time could not live many hours, was on the street yesterday and the +day before - walking several blocks at a time. To those who design to be +riddled with bullets or cut to pieces with Bowie-knives, we cordially +recommend our Sacramento climate and Sacramento surgery. + -- Sacramento Daily Union, September 11, 1861 +% +Climbing onto a bar stool, a piece of string asked for a beer. + "Wait a minute. Aren't you a string?" + "Well, yes, I am." + "Sorry. We don't serve strings here." + The determined string left the bar and stopped a passer-by. "Excuse, +me," it said, "would you shred my ends and tie me up like a pretzel?" The +passer-by obliged, and the string re-entered the bar. "May I have a beer, +please?" it asked the bartender. + The barkeep set a beer in front of the string, then suddenly stopped. +"Hey, aren't you the string I just threw out of here?" + "No, I'm a frayed knot." +% +clone, n: + 1. An exact duplicate, as in "our product is a clone of their + product." 2. A shoddy, spurious copy, as in "their product + is a clone of our product." +% +Clones are people two. +% +Cloning is the sincerest form of flattery. +% +Clothes make the man. +Naked people have little or no influence on society. + -- Mark Twain +% +Clovis' Consideration of an Atmospheric Anomaly: + The perversity of nature is nowhere better demonstrated + than by the fact that, when exposed to the same atmosphere, + bread becomes hard while crackers become soft. +% +Coach: Can I draw you a beer, Norm? +Norm: No, I know what they look like. Just pour me one. + -- Cheers, No Help Wanted + +Coach: How about a beer, Norm? +Norm: Hey I'm high on life, Coach. Of course, beer is my life. + -- Cheers, No Help Wanted + +Coach: How's a beer sound, Norm? +Norm: I dunno. I usually finish them before they get a word in. + -- Cheers, Fortune and Men's Weights +% +Coach: How's it going, Norm? +Norm: Daddy's rich and Momma's good lookin'. + -- Cheers, Truce or Consequences + +Sam: What's up, Norm? +Norm: My nipples. It's freezing out there. + -- Cheers, Coach Returns to Action + +Coach: What's the story, Norm? +Norm: Thirsty guy walks into a bar. You finish it. + -- Cheers, Endless Slumper +% +Coach: What would you say to a beer, Normie? +Norm: Daddy wuvs you. + -- Cheers, The Mail Goes to Jail + +Sam: What'd you like, Normie? +Norm: A reason to live. Gimme another beer. + -- Cheers, Behind Every Great Man + +Sam: What will you have, Norm? +Norm: Well, I'm in a gambling mood, Sammy. I'll take a glass + of whatever comes out of that tap. +Sam: Oh, looks like beer, Norm. +Norm: Call me Mister Lucky. + -- Cheers, The Executive's Executioner +% +Coach: What's up, Norm? +Norm: Corners of my mouth, Coach. + -- Cheers, Fortune and Men's Weights + +Coach: What's shaking, Norm? +Norm: All four cheeks and a couple of chins, Coach. + -- Cheers, Snow Job + +Coach: Beer, Normie? +Norm: Uh, Coach, I dunno, I had one this week. + Eh, why not, I'm still young. + -- Cheers, Snow Job +% +COBOL: + An exercise in Artificial Inelegance. +% +COBOL: + Completely Over and Beyond reason Or Logic. +% +COBOL is for morons. + -- Edsger W. Dijkstra +% +Cobol programmers are down in the dumps. +% +COBOL programs are an exercise in Artificial Inelegance. +% +Coding is easy; All you do is sit staring at a +terminal until the drops of blood form on your forehead. +% +Cogito cogito ergo cogito sum -- +I think that I think, therefore I think that I am. + -- Ambrose Bierce +% +Cohen's Law: + There is no bottom to worse. +% +Cohn's Law: + The more time you spend in reporting on what you are doing, the less + time you have to do anything. Stability is achieved when you spend + all your time reporting on the nothing you are doing. +% +Coincidences are spiritual puns. + -- G.K. Chesterton +% +COLD: + When the politicians walk around + with their hands in their own pockets. +% +Cold hands, no gloves. +% +Cole's Law: + Thinly sliced cabbage. +% +COLLABORATION: + A literary partnership based on the false + assumption that the other fellow can spell. +% +COLLEGE: + The fountains of knowledge, where everyone goes to drink. +% +College football is a game which would be much more interesting if the +faculty played instead of the students, and even more interesting if +the trustees played. There would be a great increase in broken arms, +legs, and necks, and simultaneously an appreciable diminution in the +loss to humanity. + -- H.L. Mencken +% +COLORADO: + Where they don't buy M & M's, 'cause they're so hard to peel. +% +Colorless green ideas sleep furiously. +% +Column 1 Column 2 Column 3 + +0. integrated 0. management 0. options +1. total 1. organizational 1. flexibility +2. systematized 2. monitored 2. capability +3. parallel 3. reciprocal 3. mobility +4. functional 4. digital 4. programming +5. responsive 5. logistical 5. concept +6. optional 6. transitional 6. time-phase +7. synchronized 7. incremental 7. projection +8. compatible 8. third-generation 8. hardware +9. balanced 9. policy 9. contingency + + The procedure is simple. Think of any three-digit number, then select +the corresponding buzzword from each column. For instance, number 257 produces +"systematized logistical projection," a phrase that can be dropped into +virtually any report with that ring of decisive, knowledgeable authority. "No +one will have the remotest idea of what you're talking about," says Broughton, +"but the important thing is that they're not about to admit it." + -- Philip Broughton, "How to Win at Wordsmanship" +% +Colvard's Logical Premises: + All probabilities are 50%. +Either a thing will happen or it won't. + +Colvard's Unconscionable Commentary: + This is especially true when + dealing with someone you're attracted to. + +Grelb's Commentary: + Likelihoods, however, are 90% against you. +% +Come, every frustum longs to be a cone, +And every vector dreams of matrices. +Hark to the gentle gradient of the breeze: +It whispers of a more ergodic zone. + -- Stanislaw Lem, "Cyberiad" +% +Come fill the cup and in the fire of spring +Your winter garment of repentence fling. +The bird of time has but a little way +To flutter -- and the bird is on the wing. + -- Omar Khayyam +% +Come home America. + -- George McGovern, 1972 +% +Come, landlord, fill the flowing bowl until it does run over, +Tonight we will all merry be -- tomorrow we'll get sober. + -- John Fletcher, "The Bloody Brother", II, 2 +% +Come, let us hasten to a higher plane, +Where dyads tread the fairy fields of Venn, +Their indices bedecked from one to n, +Commingled in an endless Markov chain! + -- Stanislaw Lem, "Cyberiad" +% +Come, let us hasten to a higher plane, +Where dyads tread the fairy fields of Venn, +Their indices bedecked from one to n, +Commingled in an endless Markov chain! + +Come, every frustum longs to be a cone, +And every vector dreams of matrices. +Hark to the gentle gradient of the breeze: +It whispers of a more ergodic zone. + +In Riemann, Hilbert or in Banach space +Let superscripts and subscripts go their ways. +Our asymptotes no longer out of phase, +We shall encounter, counting, face to face. + -- The Cyberiad +% +Come live with me, and be my love, +And we will some new pleasures prove +Of golden sands, and crystal brooks, +With silken lines, and silver hooks. + -- John Donne +% +Come live with me and be my love, +And we will some new pleasures prove +Of golden sands and crystal brooks +With silken lines, and silver hooks. +There's nothing that I wouldn't do +If you would be my POSSLQ. + +You live with me, and I with you, +And you will be my POSSLQ. +I'll be your friend and so much more; +That's what a POSSLQ is for. + +And everything we will confess; +Yes, even to the IRS. +Some day on what we both may earn, +Perhaps we'll file a joint return. +You'll share my pad, my taxes, joint; +You'll share my life - up to a point! +And that you'll be so glad to do, +Because you'll be my POSSLQ. +% +Come, muse, let us sing of rats! + -- From a poem by James Grainger, 1721-1767 +% +Come quickly, I am tasting stars! + -- Dom Perignon, upon discovering champagne. +% +Come, you spirits +That tend on mortal thoughts, unsex me here, +And fill me, from the crown to the toe, top-full +Of direst cruelty! make thick my blood, +Stop up the access and passage to remorse +That no compunctious visiting of nature +Shake my fell purpose, not keep peace between +The effect and it! Come to my woman's breasts, +And take my milk for gall, you murdering ministers, +Wherever in your sightless substances +You wait on nature's mischief! Come, thick night, +And pall the in the dunnest smoke of hell, +That my keen knife see not the wound it makes, +Nor heaven peep through the blanket of the dark, +To cry `Hold, hold!' + -- Lady MacBeth +% +Comedy, like Medicine, was never meant to be practiced by the general public. +% +Coming to Stores Near You: + +101 Grammatically Correct Popular Tunes Featuring: + + (You Aren't Anything but a) Hound Dog + It Doesn't Mean a Thing If It Hasn't Got That Swing + I'm Not Misbehaving + +And A Whole Lot More... +% +Coming together is a beginning; + keeping together is progress; + working together is success. +% +Commit the oldest sins the newest kind of ways. + -- William Shakespeare, "Henry IV" +% +COMMITMENT: + Commitment can be illustrated by a breakfast of ham and eggs. + The chicken was involved, the pig was committed. +% +Common sense is instinct, and enough of it is genius. + -- Josh Billings + +Common sense is the collection of prejudices acquired by age eighteen. + -- Albert Einstein +% +Common sense is the collection of prejudices acquired by age eighteen. + -- Albert Einstein +% +Common sense is the most evenly distributed quantity in the world. +Everyone thinks he has enough. + -- Descartes, 1637 +% +Commoner's three laws of ecology: + 1) No action is without side-effects. + 2) Nothing ever goes away. + 3) There is no free lunch. +% +Communicate! It can't make things any worse. +% +Comparing software engineering to classical engineering assumes that software +has the ability to wear out. Software typically behaves, or it does not. It +either works, or it does not. Software generally does not degrade, abrade, +stretch, twist, or ablate. To treat it as a physical entity, therefore, is +misapplication of our engineering skills. Classical engineering deals with +the characteristics of hardware; software engineering should deal with the +characteristics of *software*, and not with hardware or management. + -- Dan Klein +% +COMPASS [for the CDC-6000 series] is the sort of assembler +one expects from a corporation whose president codes in octal. + -- J.N. Gray +% +Competence, like truth, beauty, and contact lenses, +is in the eye of the beholder. + -- Dr. Laurence J. Peter +% +Competitive fury is not always anger. It is the true missionary's +courage and zeal in facing the possibility that one's best may not +be enough. + -- Gene Scott +% +COMPLEX SYSTEM: + One with real problems and imaginary profits. +% +COMPLIMENT: + When you say something to another which everyone knows isn't true. +% +compuberty, n: + The uncomfortable period of emotional and hormonal changes a + computer experiences when the operating system is upgraded and + a sun4 is put online sharing files. +% +COMPUTER: + An electronic entity which performs sequences of useful steps in a + totally understandable, rigorously logical manner. If you believe + this, see me about a bridge I have for sale in Manhattan. +% +Computer programmers do it byte by byte. +% +Computer programmers never die, they just get lost in the processing. +% +Computer programs expand so as to fill the core available. +% +COMPUTER SCIENCE: + 1) A study akin to numerology and astrology, but lacking the + precision of the former and the success of the latter. + 2) The protracted value analysis of algorithms. + 3) The costly enumeration of the obvious. + 4) The boring art of coping with a large number of trivialities. + 5) Tautology harnessed in the service of Man at the speed of light. + 6) The Post-Turing decline in formal systems theory. +% +Computer Science is the only discipline in which we view +adding a new wing to a building as being maintenance + -- Jim Horning +% +Computers are not intelligent. They only think they are. +% +Computers are unreliable, but humans are even more unreliable. +Any system which depends on human reliability is unreliable. + -- Gilb +% +Computers are useless. They can only give you answers. + -- Pablo Picasso +% +Computers don't actually think. + You just think they think. + (We think.) +% +Conceit causes more conversation than wit. + -- LaRouchefoucauld +% +CONCEPT: + Any "idea" for which an outside + consultant billed you more than $25,000. +% +Conceptual integrity in turn dictates that the design must proceed +from one mind, or from a very small number of agreeing resonant minds. + -- Frederick Brooks Jr., "The Mythical Man Month" +% +Condense soup, not books! +% +CONFERENCE: + A special meeting in which the boss gathers subordinates to hear + what they have to say, so long as it doesn't conflict with what + he's already decided to do. +% +Confess your sins to the Lord and you will be forgiven; +confess them to man and you will be laughed at. + -- Josh Billings +% +Confession is good for the soul, but bad for the career. +% +Confession is good for the soul only in the sense +that a tweed coat is good for dandruff. + -- Peter de Vries +% +Confessions may be good for the soul, but they are bad for +the reputation. + -- Lord Thomas Dewar +% +Confidant, confidante, n: + One entrusted by A with the secrets of B, confided to himself by C. + -- Ambrose Bierce +% +Confidence is simply that quiet, assured feeling you have before you +fall flag on your face. + -- Dr. L. Binder +% +Confidence is the feeling you have before you understand the situation. +% +CONFIRMED BACHELOR: + A man who goes through life without a hitch. +% +Conflicting research paradigms +Have legitimized various crimes. + The worst we can see + Is in psychology, +Measuring reaction times. +% +Conformity is the refuge of the unimaginative. +% +Confucius say too damn much! +% +Confucius say too much. + -- Recent Chinese Proverb +% +Confusion will be my epitaph +as I walk a cracked and broken path +If we make it we can all sit back and laugh +but I fear that tomorrow we'll be crying. + -- King Crimson, "In the Court of the Crimson King" +% +Congratulations! You are the one-millionth user to log into our system. +If there's anything special we can do for you, anything at all, don't +hesitate to ask! +% +Congratulations! You have purchased an extremely fine device that would +give you thousands of years of trouble-free service, except that you +undoubtably will destroy it via some typical bonehead consumer maneuver. +Which is why we ask you to PLEASE FOR GOD'S SAKE READ THIS OWNER'S MANUAL +CAREFULLY BEFORE YOU UNPACK THE DEVICE. YOU ALREADY UNPACKED IT, DIDN'T +YOU? YOU UNPACKED IT AND PLUGGED IT IN AND TURNED IT ON AND FIDDLED WITH +THE KNOBS, AND NOW YOUR CHILD, THE SAME CHILD WHO ONCE SHOVED A POLISH +SAUSAGE INTO YOUR VIDEOCASSETTE RECORDER AND SET IT ON "FAST FORWARD", THIS +CHILD ALSO IS FIDDLING WITH THE KNOBS, RIGHT? AND YOU'RE JUST NOW STARTING +TO READ THE INSTRUCTIONS, RIGHT??? WE MIGHT AS WELL JUST BREAK THESE DEVICES +RIGHT AT THE FACTORY BEFORE WE SHIP THEM OUT, YOU KNOW THAT? + -- Dave Barry +% +Congratulations are in order for Tom Reid. + +He says he just found out he is the winner of the 2021 Psychic of the +Year award. +% +Conjecture: All odd numbers are prime. + + Mathematician's Proof: + 3 is prime. 5 is prime. 7 is prime. By induction, all + odd numbers are prime. + Physicist's Proof: + 3 is prime. 5 is prime. 7 is prime. 9 is experimental + error. 11 is prime. 13 is prime ... + Engineer's Proof: + 3 is prime. 5 is prime. 7 is prime. 9 is prime. + 11 is prime. 13 is prime ... + Computer Scientists's Proof: + 3 is prime. 3 is prime. 3 is prime. 3 is prime... +% +Conquering Russia should be done steppe by steppe. +% +Conscience doth make cowards of us all. + -- Shakespeare +% +Conscience is defined as the thing that hurts +when everything else feels great. +% +Conscience is the inner voice that warns us somebody may be looking. + -- H.L. Mencken, "A Mencken Chrestomathy" +% +Conscience is what hurts when everything else feels so good. +% +CONSENT DECREE: + A document in which a hapless company consents never to commit + in the future whatever heinous violations of Federal law it + never admitted to in the first place. +% +Conservative: + One who admires radicals centuries after they're dead. + -- Leo C. Rosten +% +Conservative, n: + A statesman who is enamored of existing evils, as distinguished + from the Liberal who wishes to replace them with others. + -- Ambrose Bierce +% +"Consider a spherical bear, in simple harmonic motion..." + -- Professor in the UCB physics department +% +Consider the following axioms carefully: + "Everything's better when it sits on a Ritz." + and + "Everything's better with Blue Bonnet on it." +What happens if one spreads Blue Bonnet margarine on a Ritz cracker? The +thought is frightening. Is this how God came into being? Try not to +consider the fact that "Things go better with Coke". +% +Consider the little mouse, how sagacious an animal +it is which never entrusts its life to one hole only. + -- Titus Maccius Plautus +% +Consider the postage stamp: its usefulness consists in +the ability to stick to one thing till it gets there. + -- Josh Billings +% +CONSULTANT: + (1) Someone you pay to take the watch off your wrist and tell + you what time it is. (2) (For resume use) The working title + of anyone who doesn't currently hold a job. Motto: Have + Calculator, Will Travel. +% +CONSULTANT: + An ordinary man a long way from home. +% +CONSULTANT: + [From con "to defraud, dupe, swindle," or, possibly, French con + (vulgar) "a person of little merit" + sult elliptical form of + "insult."] A tipster disguised as an oracle, especially one who + has learned to decamp at high speed in spite of a large briefcase + and heavy wallet. +% +CONSULTANT: + Someone who'd rather climb a tree and tell a + lie than stand on the ground and tell the truth. +% +Consultants are mystical people who ask a +company for a number and then give it back to them. +% +CONSULTATION: + Medical term meaning "to share the wealth." +% +Contemporary American feminism's simplistic psychology is illustrated by +the new cliche of the date-rape furor: "`No' always means `no'." Will +we ever graduate from the Girl Scouts? "No" has always been, and always +will be, part of the dangerous alluring courtship ritual of sex and +seduction, observable even in the animal kingdom. + -- Camille Paglia, NY Times, Dec. 14 1990, Op Ed. +% +"Contrariwise," continued Tweedledee, "if it was so, it might be, and +if it were so, it would be; but as it isn't, it ain't. That's logic!" + -- Lewis Carroll +% +Convention is the ruler of all. + -- Pindar +% +CONVERSATION: + A vocal competition in which the one who + is catching his breath is called the listener. +% +Conversation enriches the understanding, +but solitude is the school of genius. +% +Conway's Law: + In any organization there will always be one person who knows + what is going on. + + This person must be fired. +% +Cops never say good-bye. They're always hoping to see you again in the +line-up. + -- Raymond Chandler +% +COPYING MACHINE: + A device that shreds paper, flashes mysteriously coded messages, + and makes duplicates for everyone in the office who isn't + interested in reading them. +% +Coronation, n: + The ceremony of investing a sovereign with the outward and visible + signs of his divine right to be blown skyhigh with a dynamite bomb. + -- Ambrose Bierce +% +Correction does much, but encouragement does more. + -- Goethe +% +Correspondence Corollary: + An experiment may be considered a success if no more than half + your data must be discarded to obtain correspondence with your theory. +% +CORRUPT: + In politics, holding an office of trust or profit. +% +Corrupt, stupid grasping functionaries will make at least as big a muddle +of socialism as stupid, selfish and acquisitive employers can make of +capitalism. + -- Walter Lippmann +% +Corruption is not the No. 1 priority of the Police Commissioner. +His job is to enforce the law and fight crime. + -- P.B.A. President E.J. Kiernan +% +Corry's Law: + Paper is always strongest at the perforations. +% +Couldn't we jury-rig the cat to act as an audio switch, and have it yell +at people to save their core images before logging them out? I'm sure +the cattle prod would be effective in this regard. In any case, a traverse +mounted iguana, while more perverted, gives better traction, not to mention +being easier to stake. +% +Counting in binary is just like counting +in decimal -- if you are all thumbs. + -- Glaser and Way +% +Counting in octal is just like counting +in decimal -- if you don't use your thumbs. + -- Tom Lehrer +% +Courage is fear that has said its prayers. +% +Courage is grace under pressure. +% +Courage is resistance to fear, mastery of fear -- not absence of fear. + -- Mark Twain +% +Courage is your greatest present need. +% +court, n.: + A place where they dispense with justice. + -- Arthur Train +% +Courtship to marriage, as a very witty prologue to a very dull play. + -- William Congreve +% +COWARD: + One who in a perilous emergency thinks with his legs. +% +[Crash programs] fail because they are based on the theory that, +with nine women pregnant, you can get a baby a month. + -- Wernher von Braun +% +Crazee Edeee, his prices are INSANE!!! +% +Creating computer software is always a demanding and painstaking +process -- an exercise in logic, clear expression, and almost fanatical +attention to detail. It requires intelligence, dedication, and an +enormous amount of hard work. But, a certain amount of unpredictable +and often unrepeatable inspiration is what usually makes the difference +between adequacy and excellence. +% +Creativity in living is not without its attendant difficulties, for +peculiarity breeds contempt. And the unfortunate thing about being +ahead of your time when people finally realize you were right, they'll +say it was obvious all along. + -- Alan Ashley-Pitt +% +Creativity is no substitute for knowing what you are doing. +% +Creativity is not always bred in an environment of tranquility; +sometimes you have to squeeze a little to get the paste out of the tube. +% +Credit ... is the only enduring testimonial to man's confidence in man. + -- James Blish +% +CREDITOR: + A man who has a better memory than a debtor. +% +Crenna's Law of Political Accountability: + If you are the first to know about something bad, + you are going to be held responsible for acting on it, + regardless of your formal duties. +% +Crime does not pay... as well as politics. + -- A.E. Newman +% +CRITIC: + A person who boasts himself hard to please + because nobody tries to please him. +% +critic, n.: + A person who boasts himself hard to please because nobody tries + to please him. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Criticism comes easier than craftsmanship. + -- Zeuxis +% +Critics are like eunuchs in a harem: they know how it's done, they've +seen it done every day, but they're unable to do it themselves. + -- Brendan Behan +% +Crito, I owe a cock to Asclepius; will you remember to pay the debt? + -- Socrates' last words +% +Croll's Query: + If tin whistles are made of tin, what are foghorns made of? +% +Cropp's Law: + The amount of work done varies inversly + with the time spent in the office. +% +Crucifixes are sexy because there's a naked man on them. + -- Madonna +% +Cruickshank's Law of Committees: + If a committee is allowed to discuss a bad idea long enough, it + will inevitably decide to implement the idea simply because so + much work has already been done on it. +% +Crusade for Cthulu! It Found ME! +% +Crush! Kill! Destroy! +% +Cthulhu Cthucks! +% +Cthulhu for President! + (If you're tired of choosing the lesser of two evils.) +% +Cthulhu Saves -- in case He's hungry later. +% +Culture is the habit of being pleased with the best and knowing why. +% +Cure the disease and kill the patient. + -- Francis Bacon +% +CURSOR: + One whose program will not run. + -- Robb Russon +% +curtation n. The enforced compression of a string in the fixed-length field +environment. + The problem of fitting extremely variable-length strings such as names, +addresses, and item descriptions into fixed-length records is no trivial +matter. Neglect of the subtle art of curtation has probably alienated more +people than any other aspect of data processing. You order Mozart's "Don +Giovanni" from your record club, and they invoice you $24.95 for MOZ DONG. +The witless mapping of the sublime onto the ridiculous! Equally puzzling is +the curtation that produces the same eight characters, THE BEST, whether you +order "The Best of Wagner", "The Best of Schubert", or "The Best of the Turds". +Similarly, wine lovers buying from computerized wineries twirl their glasses, +check their delivery notes, and inform their friends, "A rather innocent, +possibly overtruncated CAB SAUV 69 TAL." The squeezing of fruit into 10 +columns has yielded such memorable obscenities as COX OR PIP. The examples +cited are real, and the curtational methodology which produced them is still +with us. + +MOZ DONG n. + Curtation of Don Giovanni by Wolfgang Amadeus Mozart and Lorenzo da +Ponte, as performed by the computerized billing ensemble of the Internat'l +Preview Society, Great Neck (sic), N.Y. + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +Custer committed Siouxicide. +% +Cut a man's hand when you fight him. He'll freeze, fascinated by the sight +of his own blood. That's when you stick him in the throat. + -- Gerry Youghkins + +If you look rather casual with the knife when you flick it open, people +don't like it. + -- Gerry Youghkins +% +Cutler Webster's Law: + There are two sides to every argument, unless a person + is personally involved, in which case there is only one. +% +Cutting the space budget really restores my faith in humanity. It +eliminates dreams, goals, and ideals and lets us get straight to the +business of hate, debauchery, and self-annihilation." + -- Johnny Hart +% +CYNIC: + Experienced. +% +CYNIC: + One who looks through rose-colored glasses with a jaundiced eye. +% +Cynic, n: + A blackguard whose faulty vision sees things as they are, + not as they ought to be. Hence the custom among the + Scythians of plucking out a cynic's eyes to improve his vision. + -- Ambrose Bierce +% +Dad always thought laughter was the best medicine, which I guess is why +several of us died of tuberculosis. + -- Jack Handey +% +DALLAS: + The city that chose Astroturf to + keep the cheerleaders from grazing. +% +Dallas still lives. God MUST be dead. +% +Dammit Jim, I'm an actor not a doctor. +% +"Dammit, man, that's unprofessional! A good bartender laughs anyway!" +% +Damn braces. + -- William Blake, "Proverbs of Hell" +% +Damn, I need a Coke! + -- Dr. William DeVries + [after implanting the first artificial human heart] +% +DAMN IT, I GOTTA GET OUTTA HERE! +% +Dark and lonely on a summer night + Kill my landlord, + Kill my landlord. +The watchdog barkin' +Do he bite? + Kill my landlord, + Kill my landlord. +Slip in his window. +Break his neck. +Then his house I start to wreck +Got no reason, +What the heck? + Kill my landlord, + Kill my landlord. + C-I-L-L my landlord! + -- "Images" by Tyrone Green, SNL +% +Darling: the popular form of address used in speaking to a member of the +opposite sex whose name you cannot at the moment remember. + -- Oliver Herford +% +Darth Vader! Only you would be so bold! + -- Princess Leia Organa +% +Darth Vader sleeps with a Teddywookie. +% +DATA: + An accrual of straws on the backs of theories. +% +DATA: + Computerspeak for "information". Properly pronounced + the way Bostonians pronounce the word for a female child. +% +David Letterman's "Things we can be proud of as Americans": + + * Greatest number of citizens who have actually boarded a UFO + * Many newspapers feature "JUMBLE" + * Hourly motel rates + * Vast majority of Elvis movies made here + * Didn't just give up right away during World War II + like some countries we could mention + * Goatees & Van Dykes thought to be worn only by weenies + * Our well-behaved golf professionals + * Fabulous babes coast to coast +% +Davis' Law of Traffic Density: + The density of rush-hour traffic is directly proportional to + 1.5 times the amount of extra time you allow to arrive on time. +% +Davis's Dictum: + Problems that go away by themselves, come back by themselves. +% +DAWN: + The time when men of reason go to bed. +% +Day of inquiry. You will be subpoenaed. +% +DEADWOOD: + Anyone in your company who is more senior than you are. +% +Dealing with failure is easy: + Work hard to improve. +Success is also easy to handle: + You've solved the wrong problem. Work hard to improve. +% +Dealing with failure is easy: work hard to improve. +Success is also easy to handle: you've solved the wrong problem. Work +hard to improve. +% +Dealing with the problem of pure staff accumulation, +all our researches ... point to an average increase of 5.75% per year. + -- C.N. Parkinson +% +Dear Emily: + How can I choose what groups to post in? + -- Confused + +Dear Confused: + Pick as many as you can, so that you get the widest audience. After +all, the net exists to give you an audience. Ignore those who suggest you +should only use groups where you think the article is highly appropriate. +Pick all groups where anybody might even be slightly interested. + Always make sure followups go to all the groups. In the rare event +that you post a followup which contains something original, make sure you +expand the list of groups. Never include a "Followup-to:" line in the +header, since some people might miss part of the valuable discussion in +the fringe groups. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily: + I collected replies to an article I wrote, and now it's time to +summarize. What should I do? + -- Editor + +Dear Editor: + Simply concatenate all the articles together into a big file and post +that. On USENET, this is known as a summary. It lets people read all the +replies without annoying newsreaders getting in the way. Do the same when +summarizing a vote. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily: + I recently read an article that said, "reply by mail, I'll summarize." +What should I do? + -- Doubtful + +Dear Doubtful: + Post your response to the whole net. That request applies only to +dumb people who don't have something interesting to say. Your postings are +much more worthwhile than other people's, so it would be a waste to reply by +mail. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily: + I saw a long article that I wish to rebut carefully, what should +I do? + -- Angry + +Dear Angry: + Include the entire text with your article, and include your comments +between the lines. Be sure to post, and not mail, even though your article +looks like a reply to the original. Everybody *loves* to read those long +point-by-point debates, especially when they evolve into name-calling and +lots of "Is too!" -- "Is not!" -- "Is too, twizot!" exchanges. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily: + I'm having a serious disagreement with somebody on the net. I +tried complaints to his sysadmin, organizing mail campaigns, called for +his removal from the net and phoning his employer to get him fired. +Everybody laughed at me. What can I do? + -- A Concerned Citizen + +Dear Concerned: + Go to the daily papers. Most modern reporters are top-notch computer +experts who will understand the net, and your problems, perfectly. They +will print careful, reasoned stories without any errors at all, and surely +represent the situation properly to the public. The public will also all +act wisely, as they are also fully cognizant of the subtle nature of net +society. + Papers never sensationalize or distort, so be sure to point out things +like racism and sexism wherever they might exist. Be sure as well that they +understand that all things on the net, particularly insults, are meant +literally. Link what transpires on the net to the causes of the Holocaust, if +possible. If regular papers won't take the story, go to a tabloid paper -- +they are always interested in good stories. +% +Dear Emily: + I'm still confused as to what groups articles should be posted +to. How about an example? + -- Still Confused + +Dear Still: + Ok. Let's say you want to report that Gretzky has been traded from +the Oilers to the Kings. Now right away you might think rec.sport.hockey +would be enough. WRONG. Many more people might be interested. This is a +big trade! Since it's a NEWS article, it belongs in the news.* hierarchy +as well. If you are a news admin, or there is one on your machine, try +news.admin. If not, use news.misc. + The Oilers are probably interested in geology, so try sci.physics. +He is a big star, so post to sci.astro, and sci.space because they are also +interested in stars. Next, his name is Polish sounding. So post to +soc.culture.polish. But that group doesn't exist, so cross-post to +news.groups suggesting it should be created. With this many groups of +interest, your article will be quite bizarre, so post to talk.bizarre as +well. (And post to comp.std.mumps, since they hardly get any articles +there, and a "comp" group will propagate your article further.) + You may also find it is more fun to post the article once in each +group. If you list all the newsgroups in the same article, some newsreaders +will only show the article to the reader once! Don't tolerate this. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily: + Today I posted an article and forgot to include my signature. +What should I do? + -- Forgetful + +Dear Forgetful: + Rush to your terminal right away and post an article that says, +"Oops, I forgot to post my signature with that last article. Here +it is." + Since most people will have forgotten your earlier article, +(particularly since it dared to be so boring as to not have a nice, juicy +signature) this will remind them of it. Besides, people care much more +about the signature anyway. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Emily, what about test messages? + -- Concerned + +Dear Concerned: + It is important, when testing, to test the entire net. Never test +merely a subnet distribution when the whole net can be done. Also put "please +ignore" on your test messages, since we all know that everybody always skips +a message with a line like that. Don't use a subject like "My sex is female +but I demand to be addressed as male." because such articles are read in depth +by all USEnauts. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Freshman, + You don't know who I am and frankly shouldn't care, but +unknown to you we have something in common. We are both rather +prone to mistakes. I was elected Student Government President by +mistake, and you came to school here by mistake. +% +Dear Lord: + I just want a one-armed manager so I + never have to hear "On the other hand", again. +% +Dear Lord: Please make my words sweet and tender, for tomorrow I may +have to eat them. +% +Dear Miss Manners: + My home economics teacher says that one must never place one's +elbows on the table. However, I have read that one elbow, in between +courses, is all right. Which is correct? + +Gentle Reader: + For the purpose of answering examinations in your home +economics class, your teacher is correct. Catching on to this principle +of education may be of even greater importance to you now than learning +correct current table manners, vital as Miss Manners believes that is. +% +Dear Miss Manners: +I carry a big black umbrella, even if there's just a thirty percent chance of +rain. May I ask a young lady who is a stranger to me to share its protection? +This morning, I was waiting for a bus in comparative comfort, my umbrella +protecting me from the downpour, and noticed an attractive young woman getting +soaked. I have often seen her at my bus stop, although we have never spoken, +and I don't even know her name. Could I have asked her to get under my +umbrella without seeming insulting? + +Gentle Reader: +Certainly. Consideration for those less fortunate than you is always proper, +although it would be more convincing if you stopped babbling about how +attractive she is. In order not to give Good Samaritanism a bad name, Miss +Manners asks you to allow her two or three rainy days of unmolested protection +before making your attack. +% +Dear Mister Language Person: I am curious about the expression, "Part of +this complete breakfast". The way it comes up is, my 5-year-old will be +watching TV cartoon shows in the morning, and they'll show a commercial for +a children's compressed breakfast compound such as "Froot Loops" or "Lucky +Charms", and they always show it sitting on a table next to some actual food +such as eggs, and the announcer always says: "Part of this complete +breakfast". Doesn't that really mean, "Adjacent to this complete breakfast", +or "On the same table as this complete breakfast"? And couldn't they make +essentially the same claim if, instead of Froot Loops, they put a can of +shaving cream there, or a dead bat? + +Answer: Yes. + -- Dave Barry +% +Dear Mister Language Person: What is the purpose of the apostrophe? + +Answer: The apostrophe is used mainly in hand-lettered small business signs +to alert the reader than an "S" is coming up at the end of a word, as in: +WE DO NOT EXCEPT PERSONAL CHECK'S, or: NOT RESPONSIBLE FOR ANY ITEM'S. +Another important grammar concept to bear in mind when creating hand- lettered +small-business signs is that you should put quotation marks around random +words for decoration, as in "TRY" OUR HOT DOG'S, or even TRY "OUR" HOT DOG'S. + -- Dave Barry, "Tips for Writer's" +% +Dear Ms. Postnews: + I couldn't get mail through to somebody on another site. What + should I do? + -- Eager Beaver + +Dear Eager: + No problem, just post your message to a group that a lot of people +read. Say, "This is for John Smith. I couldn't get mail through so I'm +posting it. All others please ignore." + This way tens of thousands of people will spend a few seconds scanning +over and ignoring your article, using up over 16 man-hours their collective +time, but you will be saved the terrible trouble of checking through usenet +maps or looking for alternate routes. Just think, if you couldn't distribute +your message to 9000 other computers, you might actually have to (gasp) call +directory assistance for 60 cents, or even phone the person. This can cost +as much as a few DOLLARS (!) for a 5 minute call! + And certainly it's better to spend 10 to 20 dollars of other people's +money distributing the message than for you to have to waste $9 on an overnight +letter, or even 25 cents on a stamp! + Don't forget. The world will end if your message doesn't get through, +so post it as many places as you can. + -- Emily Postnews Answers Your Questions on Netiquette +% +Dear Sir, + I am firmly opposed to the spread of microchips either to the home or +to the office, We have more than enough of them foisted upon us in public +places. They are a disgusting Americanism, and can only result in the farmers +being forced to grow smaller potatoes, which in turn will cause massive un- +employment in the already severely depressed agricultural industry. + Yours faithfully, + Capt. Quinton D'Arcy, J.P. + Sevenoaks + -- Letters To The Editor, The Times of London +% +DEATH: + To stop sinning suddenly. + -- Elbert Hubbard +% +Death before dishonor. +But neither before breakfast. +% +Death comes on every passing breeze, +He lurks in every flower; +Each season has its own disease, +Its peril -- every hour. + --Reginald Heber +% +Death has been proven to be 99% fatal in laboratory rats. +% +Death is a spirit leaving a body, sort +of like a shell leaving the nut behind. + -- Erma Bombeck +% +Death is God's way of telling you not to be such a wise guy. +% +Death is life's way of telling you you've been fired. + -- R. Geis +% +Death is Nature's way of recycling human beings. +% +Death is nature's way of saying `Howdy'. +% +Death is nature's way of telling you to slow down. +% +Death rays don't kill people, people kill people!! +% +DEATH WISH: + The only wish that always comes true, whether or not one wishes it to. +% +Debug is human, de-fix divine. +% +DEC diagnostics would run on a dead whale. + -- Mel Ferentz +% +Decemba, n: The 12th month of the year. +erra, n: A mistake. +faa, n: To, from, or at considerable distance. +Linder, n: A female name. +memba, n: To recall to the mind; think of again. +New Hampsha, n: A state in the northeast United States. +New Yaak, n: Another state in the northeast United States. +Novemba, n: The 11th month of the year. +Octoba, n: The 10th month of the year. +ova, n: Location above or across a specified position. What the + season is when the Knicks quit playing. + -- Massachewsetts Unabridged Dictionary +% +DECISIONMAKER: + The person in your office who was unable + to form a task force before the music stopped. +% +Decisions of the judges will be final unless shouted down by a really over- +whelming majority of the crowd present. Abusive and obscene language may +not be used by contestants when addressing members of the judging panel, +or, conversely, by members of the judging panel when addressing contestants +(unless struck by a boomerang). + -- Mudgeeraba Creek Emu-Riding and Boomerang-Throwing Assoc. +% +Declared guilty... of displaying feelings of an almost human nature. + -- Pink Floyd, "The Wall" +% +Decorate your home. It gives the illusion +that your life is more interesting than it really is. + -- C. Schultz +% +"Deep" is a word like "theory" or "semantic" -- it implies all sorts of +marvelous things. It's one thing to be able to say "I've got a theory", +quite another to say "I've got a semantic theory", but, ah, those who can +claim "I've got a deep semantic theory", they are truly blessed. + -- Randy Davis +% +DEFAULT: + The hardware's, of course. +% +Defeat is worse than death because you have to live with defeat. + -- Bill Musselman +% +#define BITCOUNT(x) (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255) +#define BX_(x) ((x) - (((x)>>1)&0x77777777) \ + - (((x)>>2)&0x33333333) \ + - (((x)>>3)&0x11111111)) + +-- Count the number of bits in a word. +% +Deflector shields just came on, Captain. +% +(defun NF (a c) + (cond ((null c) () ) + ((atom (car c)) + (append (list (eval (list 'getchar (list (car c) 'a) (cadr c)))) + (nf a (cddr c)))) + (t (append (list (implode (nf a (car c)))) (nf a (cdr c)))))) + +(defun AD (want-job challenging boston-area) + (cond + ((or (not (equal want-job 'yes)) + (not (equal boston-area 'yes)) + (lessp challenging 7)) () ) + (t (append (nf (get 'ad 'expr) + '((caaddr 1 caadr 2 car 1 car 1) + (car 5 cadadr 9 cadadr 8 cadadr 9 caadr 4 car 2 car 1) + (car 2 caadr 4))) + (list '851-5071x2661))))) +;;; We are an affirmative action employer. +% +DEJA VU: + French., already seen; unoriginal; trite. + Psychol., The illusion of having previously experienced + something actually being encountered for the first time. + Psychol., The illusion of having previously experienced + something actually being encountered for the first time. +% +Delay is preferable to error. + -- Thomas Jefferson +% +Delay not, Caesar. Read it instantly. + -- Shakespeare, "Julius Caesar" 3,1 + +Here is a letter, read it at your leisure. + -- Shakespeare, "Merchant of Venice" 5,1 + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to I/O system services.] +% +Deliberate provocation of mystical experience, particularly by LSD and +related hallucinogens, in contrast to spontaneous visionary experiences, +entails dangers that must not be underestimated. Practitioners must take +into account the peculiar effects of these substances, namely their ability +to influence our consciousness, the innermost essence of our being. The +history of LSD to date amply demonstrates the catastrophic consequences that +can ensue when its profound effect is misjudged and the substance is mistaken +for a pleasure drug. Special internal and external advance preparations +are required; with them, an LSD experiment can become a meaningful experience. + -- Dr. Albert Hoffman, the discoverer of LSD + +I believe that if people would learn to use LSD's vision-inducing capability +more wisely, under suitable conditions, in medical practice and in conjunction +with meditation, then in the future this problem child could become a wonder +child. + -- Dr. Albert Hoffman +% +DELIBERATION: + The act of examining one's bread + to determine which side it is buttered on. +% +Deliver yesterday, code today, think tomorrow. +% +Delores breezed along the surface of her life like a flat stone forever +skipping along smooth water, rippling reality sporadically but oblivious +to it consistently, until she finally lost momentum, sank, and due to an +overdose of flouride as a child which caused her to suffer from chronic +apathy, doomed herself to lie forever on the floor of her life as useless +as an appendix and as lonely as a five-hundred pound barbell in a +steroid-free fitness center. + -- Winning sentence, 1990 Bulwer-Lytton bad fiction contest. +% +Delusions are often functional. A mother's opinions about +her children's beauty, intelligence, goodness, et cetera ad +nauseam, keep her from drowning them at birth. +% +Democracy becomes a government of bullies, tempered by editors. + -- Ralph Waldo Emerson +% +Democracy is a form of government in which it is permitted to wonder +aloud what the country could do under first-class management. + -- Senator Soaper +% +Democracy is a form of government that substitutes election by the +incompetent many for appointment by the corrupt few. + -- G.B. Shaw +% +Democracy is a process by which the people are free to choose the man who +will get the blame. + -- Laurence J. Peter +% +Democracy is also a form of worship. +It is the worship of Jackals by Jackasses. + -- H.L. Mencken +% +Democracy is the name we give the people whenever we need them. + -- Arman de Caillavet, 1913 +% +Democracy is the recurrent suspicion that more than half +of the people are right more than half of the time. + -- E.B. White +% +Democracy is the theory that the common people know what they want, and +deserve to get it good and hard. + -- H.L. Mencken, "Little Book in C major", 1916 +% +Democracy is the worst form of government except all those other +forms that have been tried from time to time. + -- Winston Churchill +% +Democracy, n: + A government of the masses. Authority derived through mass meeting +or any other form of direct expression. Results in mobocracy. Attitude +toward property is communistic... negating property rights. Attitude toward +law is that the will of the majority shall regulate, whether it is based +upon deliberation or governed by passion, prejudice, and impulse, without +restraint or regard to consequences. Result is demagogism, license, +agitation, discontent, anarchy. + -- U. S. Army Training Manual No. 2000-25 (1928-1932), + since withdrawn. +% +Democracy, n: + In which you say what you like and do what you're told. + -- Gerald Barry + +The difference between a Democracy and a Dictatorship is that in a +Democracy you vote first and take orders later; in a Dictatorship +you don't have to waste your time voting. + -- Charles Bukowski +% +Democrats buy most of the books that have been banned somewhere. +Republicans form censorship committees and read them as a group. + +Republicans consume three-fourths of the rutabaga produced in the USA. +The remainder is thrown out. + +Republicans usually wear hats and almost always clean their paint brushes. + +Republicans study the financial pages of the newspaper. +Democrats put them in the bottom of the bird cage. + +Most of the stuff alongside the road has been thrown out of car +windows by Democrats. + -- Paul Dickson, "The Official Rules" +% +Dental health is next to mental health. +% +Dentist: + A Prestidigitator who, putting metal in one's mouth, + pulls coins out of one's pockets. + -- Ambrose Bierce +% +Denver, n: + A smallish city located just below the `O' in Colorado. +% +Depart in pieces, i.e., split. +% +Depart not from the path which fate has assigned you. +% +Department chairmen never die, they just lose their faculties. +% +Depend on the rabbit's foot if you will, +but remember, it didn't help the rabbit. + -- R.E. Shay +% +Deprive a mirror of its silver and even the Czar won't see his face. +% +Der Horizont vieler Menschen ist ein Kreis mit Radius Null - +und das nennen sie ihren Standpunkt. +% +Design: + What you regret not doing later on. +% +design, v: + What you regret not doing later on. +% +Desist from enumerating your fowl +prior to their emergence from the shell. +% +Despite all appearances, your boss +is a thinking, feeling, human being. +% +Dessert is probably the most important stage of the meal, since it will +be the last thing your guests remember before they pass out all over +the table. + -- The Anarchist Cookbook +% +Destiny is a good thing to accept when it's going your way. When it isn't, +don't call it destiny; call it injustice, treachery, or simple bad luck. + -- Joseph Heller, "God Knows" +% +Detroit is Cleveland without the glitter. +% +DeVries' Dilemma: + If you hit two keys on the typewriter, + the one you don't want hits the paper. +% +Dianetics is a milestone for man comparable to his discovery of +fire and superior to his invention of the wheel and the arch. + -- L. Ron Hubbard +% +Dibble's First Law of Sociology: + Some do, some don't. +% +Did it ever occur to you that fat chance +and slim chance mean the same thing? + +Or that we drive on parkways and park on driveways? +% +Did you ever notice that everyone in favour of birth control +has already been born? + -- Benny Hill +% +Did you ever walk into a room and forget why you walked in? I think +that's how dogs spend their lives. + -- Sue Murphy +% +Did you ever wonder what you'd say to God if He sneezed? +% +"Did YOU find a DIGITAL WATCH in YOUR box of VELVEETA?" + -- Zippy the Pinhead +% +Did you hear about the model who sat +on a broken bottle and cut a nice figure? +% +Did you hear that Captain Crunch, Sugar Bear, Tony the Tiger, and +Snap, Crackle and Pop were all murdered recently... + +Police suspect the work of a cereal killer! +% +Did you hear that there's a group of South American Indians that worship +the number zero? + +Is nothing sacred? +% +Did you hear that two rabbits escaped from the zoo and so far they have +only recaptured 116 of them? +% +Did you know? + EVERY TIME A LOAF OF BREAD IS BAKED, + APPROXIMATELY + 150,000,000 YEASTS ARE + KILLED + + Come to the award-winning 1987 film, + "The Very Small and Quiet Screams" + -- a cinematic electromicrograph of yeasts being baked. + +A must for those who care about yeast, and especially for those who don't. + + SPONSORED BY + Brown Anaerobe Rights Coalition (BARC) + Student Bakers for Social Responsibility + Coalition for the ELevation of Life (CELL) + Campus Crusade for Fetal Matters + +Defend all life: "From greatest to least, from human to yeast!" +% +Did you know about the -o option of the fortune program? It makes a +selection from a set of offensive and/or obscene fortunes. Why not +try it, and see how offended you are? The -a ("all") option will +select a fortune at random from either the offensive or inoffensive +set, and it is suggested that "fortune -a" is the command that you +should have in your .profile or .cshrc. file. +% +Did you know that clones never use mirrors? +% +Did you know that for the price of a 280-Z you can buy two Z-80's? + -- P.J. Plauger +% +Did you know the University of Iowa +closed down after someone stole the book? +% +Did you know.... + +That no-one ever reads these things? +% +Didja' ever have to make up your mind, +Pick up on one and leave the other behind, +It's not often easy, and it's not often kind, +Didja' ever have to make up your mind? + -- Lovin' Spoonful +% +Didja hear about the dyslexic devil worshipper who sold his soul to Santa? +% +"Didn't I buy a 1951 Packard from you last March in Cairo?" + -- Zippy the Pinhead +% +Die? I should say not, dear fellow. No Barrymore +would allow such a conventional thing to happen to him. + -- John Barrymore's dying words +% +Diet Mountain Dew has the same pH and density of urine. + -- Newsweek, 31 July, 1989 +% +Dieters live life in the fasting lane. +% +Different all twisty a of in maze are you, passages little. +% +Digital circuits are made from analog parts. + -- Don Vonada +% +Dignity is like a flag. +It flaps in a storm. + -- Roy Mengot +% +Dime is money. +% +Dimensions will always be expressed in the least usable term, convertible +only through the use of weird and unnatural conversion factors. Velocity, +for example, will be expressed in furlongs per fortnight. +% +Dinner is ready when the smoke alarm goes off. +% +Dinner suggestion #302 (Hacker's De-lite): + 1 tin imported Brisling sardines in tomato sauce + 1 pouch Chocolate Malt Carnation Instant Breakfast + 1 carton milk +% +Dinosaurs aren't extinct. They've just learned to hide in the trees. +% +Diogenes, having abandoned his search for +truth, is now searching for a good fantasy. +% +Diogenes went to look for an honest lawyer. "How's it going?", someone +asked him, after a few days. + "Not too bad", replied Diogenes. "I still have my lantern." +% +Diplomacy is about surviving until the next century. +Politics is about surviving until Friday afternoon. + -- Sir Humphrey Appleby +% +Diplomacy is the art of letting someone else have your way. +% +Diplomacy is the art of letting the other party have things your way. + -- Daniele Vare +% +Diplomacy is the art of saying "nice doggie" until you can find a rock. + -- Wynn Catlin +% +Diplomacy is to do and say, the nastiest thing in the nicest way. + -- Balfour +% +diplomacy, n: + Lying in state. +% +Dirksen's Three Laws of Politics: + + 1: Get elected. + 2: Get re-elected. + 3: Don't get mad, get even. + -- Sen. Everett Dirksen +% +disbar, n: + As distinguished from some other bar. +% +Disc space -- the final frontier! +% +DISCLAIMER: +Use of this advanced computing technology does not imply +an endorsement of Western industrial civilization. +% +Disclose classified information only when a NEED TO KNOW exists. +% +Disco is to music what Etch-A-Sketch is to art. +% +Disease can be cured; fate is incurable. + -- Chinese proverb +% +Dishonor will not trouble me, once I am dead. + -- Euripides +% +Disk crisis, please clean up! +% +Disks travel in packs. +% +Disraeli was pretty close: actually, there are Lies, Damn lies, Statistics, +Benchmarks, and Delivery dates. +% +Distance doesn't make you any smaller, +but it does make you part of a larger picture. +% +DISTRESS: + A disease incurred by exposure to the prosperity of a friend. +% +Distrust all those who love you extremely upon a very slight +acquaintance and without any visible reason. + -- Lord Chesterfield +% +Ditat Deus. (God enriches.) +% +Divorce is a game played by lawyers. + -- Cary Grant +% +Do clones have navels? +% +Do I like getting drunk? Depends on who's doing the drinking. + -- Amy Gorin +% +Do Miami a favor. When you leave, take someone with you. +% +Do molecular biologists wear designer genes? +% +Do more than anyone expects, and pretty soon everyone will expect more. +% +Do not believe in miracles -- rely on them. +% +Do not clog intellect's sluices with bits of knowledge of questionable uses. +% +Do not count your chickens before they are hatched. + -- Aesop +% +Do not despair of life. You have no doubt force enough to overcome +your obstacles. Think of the fox prowling through wood and field in +a winter night for something to satisfy his hunger. Notwithstanding +cold and hounds and traps, his race survives. I do not believe any +of them ever committed suicide. + -- Henry David Thoreau +% +Do not do unto others as you would they should do unto you. +Their tastes may not be the same. + -- George Bernard Shaw +% +Do not drink coffee in early A.M. It will keep you awake until noon. +% +Do not handicap your children by making their lives easy. + -- Robert Heinlein +% +Do not meddle in the affairs of troff, for it is subtle and quick to anger. +% +Do not meddle in the affairs of wizards, +for they become soggy and hard to light. + +Do not throw cigarette butts in the urinal, +for they are subtle and quick to anger. +% +Do not overtax your powers. +% +Do not read this fortune under penalty of law. +Violators will be prosecuted. +(Penal Code sec. 2.3.2 (II.a.)) +% +Do not seek death; death will find you. +But seek the road which makes death a fulfillment. + -- Dag Hammarskjold +% +Do not simplify the design of a program if a way +can be found to make it complex and wonderful. +% +Do not sleep in a eucalyptus tree tonight. +% +Do not stoop to tie your laces in your neighbor's melon patch. +% +Do not take life too seriously; you will never get out of it alive. +% +Do not think by infection, catching an opinion like a cold. +% +Do not try to solve all life's problems at once -- +learn to dread each day as it comes. + -- Donald Kaul +% +Do not underestimate the power of the Farce. +% +Do not underestimate the power of the Force. +% +Do not use that foreign word "ideals". We have that excellent native +word "lies". + -- Henrik Ibsen, "The Wild Duck" +% +Do not use the blue keys on this terminal. +% +Do not worry about which side your +bread is buttered on: you eat BOTH sides. +% +Do nothing unless you must, and when you must act -- hesitate. +% +Do, or do not; there is no try. +% +Do people know you have freckles everywhere? +% +Do something unusual today. Pay a bill. +% +Do students of Zen Buddhism do Om-work? +% +Do unto others before they undo you. +% +Do what comes naturally. Seethe and fume and throw a tantrum. +% +Do what thou wilt shall be the whole of the Law. + -- Aleister Crowley +% +Do what you can to prolong your life, +in the hope that someday you'll learn what it's for. +% +Do you believe in intuition? +No, but I have a strange feeling that someday I will. +% +Do you feel personally responsible for the world food shortage? +Every time you go to the beach, does the tide come in? +Have you ever eaten an entire moose? +Can you see your neck? +Do joggers take laps around you for exercise? +If so, welcome to National Fat Week. +This week we'll eat without guilt, and kick off our membership campaign, + ...by force-feeding a box of cornstarch to a skinny person. + -- Garfield +% +Do you guys know what you're doing, or are you just hacking? +% +Do YOU have redeeming social value? +% +Do you know, I think that Dr. Swift was silly to laugh about Laputa. +I believe it is a mistake to make a mock of people, just because they +think. There are ninety thousand people in this world who do not +think, for every one who does, and these people hate the thinkers +like poison. Even if some thinkers are fanciful, it is wrong to make +fun of them for it. Better to think about cucumbers even, than not +to think at all. + -- T.H. White +% +Do you know Montana? +% +Do you know the difference between education and experience? Education +is when you read the fine print; experience is what you get when you don't. + -- Pete Seeger +% +Do you mean that you not only want a wrong +answer, but a certain wrong answer? + -- Tobaben +% +Do you realize the responsibility I carry? I'm the only person standing +between Nixon and the White House. + -- John F. Kennedy, in 1960 +% +Do you suffer painful elimination? + -- Don Knuth, "Structured Programming with Gotos" + +Do you suffer painful recrimination? + -- Nancy Boxer, "Structured Programming with Come-froms" + +Do you suffer painful illumination? + -- Isaac Newton, "Optics" + +Do you suffer painful hallucination? + -- Don Juan, cited by Carlos Casteneda +% +Do you think that illiterate people get the full effect of alphabet soup? +% +Do you think that when they asked George Washington for ID that he +just whipped out a quarter? + -- Stephen Wright +% +"Do you think there's a God?" +"Well, SOMEbody's out to get me!" + -- Calvin and Hobbes +% +"Do you think what we're doing is wrong?" +"Of course it's wrong! It's illegal!" +"I've never done anything illegal before." +"I thought you said you were an accountant!" +% +Do you think your mother and I should have lived +comfortably so long together if ever we had been married? +% +Do you want to know what's ahead for you, in your happiness at home, +your business success? Here's a telling test: Look in the mirror. Is +your skin smooth and lovely, your hair gleaming, your make-up glamorous? +Are you slender enough for your height? Do you stand erect, confident? +Yes? Then you are on your way to success as a woman. + -- Ladies Home Journal, 1947 advertisement +% +Do your otters do the shimmy? +Do they like to shake their tails? +Do your wombats sleep in tophats? +Is your garden full of snails? +% +Do your part to help preserve life on +Earth -- by trying to preserve your own. +% +Doctors and lawyers must go to school for years and years, often with +little sleep and with great sacrifice to their first wives. + -- Roy G. Blount, Jr. +% +Documentation: + Instructions translated from Swedish by Japanese for English + speaking persons. +% +Documentation is the castor oil of programming. Managers know it must +be good because the programmers hate it so much. +% +Does a good farmer neglect a crop he has planted? +Does a good teacher overlook even the most humble student? +Does a good father allow a single child to starve? +Does a good programmer refuse to maintain his code? + -- Geoffrey James, "The Tao of Programming" +% +Does a one-legged duck swim in a circle? +% +Does the name Pavlov ring a bell? +% +Dogs just don't seem to be able to tell the difference between important people +and the rest of us. +% +Doin' it in the dark, down in Rock Creek Park. +% +Doing gets it done. +% +Domestic happiness and faithful friends. +% +Don +Ameche: I didn't know you had a cousin Penelope, Bill! + Was she pretty? +W.C.: Well, her face was so wrinkled it looked like seven miles of + bad road. She had so many gold teeth, Don, she use to have + to sleep with her head in a safe. She died in Bolivia. +Don: Oh Bill, it must be hard to lose a relative. +W.C.: It's almost impossible. + -- W.C. Fields, "The Further Adventures of Larson E. + Whipsnade and other Tarradiddles" +% +Don't abandon hope. +Your Captain Midnight decoder ring arrives tomorrow. +% +Don't assume that every sad-eyed woman has loved and lost -- she may +have got him. +% +Don't be concerned, it will not harm you, +It's only me pursuing something I'm not sure of, +Across my dreams, with neptive wonder, +I chase the bright elusive butterfly of love. +% +Don't be humble, you're not that great. + -- Golda Meir +% +Don't be irreplaceable, if you can't be replaced, you can't be promoted. +% +Don't be overly suspicious where it's not warranted. +% +Don't believe everything you hear or anything you say. +% +Don't buy a landslide. I don't want to have to pay for one more vote +than I have to. + -- Joseph P. Kennedy, on JFK's election strategy. +% +Don't compare floating point numbers solely for equality. +% +Don't confuse things that need action +with those that take care of themselves. +% +Don't cook tonight -- starve a rat today! +% +Don't crush that dwarf, hand me the pliers! + -- Firesign Theatre +% +Don't despair; your ideal lover is waiting for you around the corner. +% +Don't despise your poor relations, they may become suddenly rich one day. + -- Josh Billings +% +Don't do the crime, if you can't do the time. + -- Lt. Col. Ollie North +% +Don't do unto others as you would they should do unto you. +Their tastes may not be the same. + -- G.B. Shaw +% +Don't drink when you drive -- you might hit a bump and spill it. +% +Don't drop acid -- take it pass/fail. + -- Seen in a Ladies Room at Harvard +% +Don't eat yellow snow. +% +Don't ever slam a door; you might want to go back. +% +Don't everyone thank me at once! + -- Han Solo +% +Don't expect people to keep in step-- +it's hard enough just staying in line. +% +Don't feed the bats tonight. +% +Don't force it, get a larger hammer. + -- Anthony +% +Don't get even, get odd. +% +Don't get mad, get even. + -- Joseph P. Kennedy + +Don't get even, get jewelry. + -- Anonymous +% +Don't get mad, get interest. +% +Don't get stuck in a closet -- wear yourself out. +% +Don't get suckered in by the comments -- they +can be terribly misleading. Debug only code. + -- Dave Storer +% +Don't get to bragging. +% +Don't go around saying the world owes you a living. +The world owes you nothing. It was here first. + -- Mark Twain +% +Don't go surfing in South Dakota for a while. +% +Don't go to bed with no price on your head. + -- Baretta +% +Don't guess - check your security regulations. +% +Don't hate yourself in the morning -- sleep till noon. +% +Don't have good ideas if you aren't willing to be responsible for them. +% +Don't hit the keys so hard, it hurts. +% +Don't I know you? +% +Don't interfere with the stranger's style. +% +Don't just eat a hamburger; eat the HELL out of it. + -- J.R. "Bob" Dobbs +% +Don't kid yourself. Little is relevant, and nothing lasts forever. +% +Don't kiss an elephant on the lips today. +% +Don't knock President Fillmore. He kept us out of Vietnam. +% +Don't know what time I'll be back, Mom. +Probably soon after she throws me out. +% +Don't let go of what you've got hold of, +until you have hold of something else. + -- First Rule of Wing Walking +% +Don't let nobody tell you what you cannot do; +don't let nobody tell you what's impossible for you; +don't let nobody tell you what you got to do, +or you'll never know ... what's on the other side of the rainbow... +remember, if you don't follow your dreams, +you'll never know what's on the other side of the rainbow... + -- melba moore, "the other side of the rainbow" +% +Don't let people drive you crazy when you know it's in walking distance. +% +Don't let your status become too quo! +% +Don't look back, the lemmings are gaining on you. +% +Don't look back, the lemmings might be gaining on you. +% +Don't look now, but the man in the moon is laughing at you. +% +Don't look now, but there is a multi-legged creature on your shoulder. +% +Don't lose +Your head +To gain a minute +You need your head +Your brains are in it. + -- Burma Shave +% +Don't make a big deal out of everything; just deal with everything. +% +Don't marry for money; you can borrow it cheaper. + -- Scottish Proverb +% +Don't mind him; politicians always sound like that. +% +Don't plan any hasty moves. +You'll be evicted soon anyway. +% +Don't put off for tomorrow what you can do today because +if you do it today, you can do it again tomorrow. +% +Don't put too fine a point to your wit for fear it should get blunted. + -- Miguel de Cervantes +% +Don't quit now, we might just as well +lock the door and throw away the key. +% +Don't read any sky-writing for the next two weeks. +% +Don't read everything you believe. +% +Don't relax! It's only your tension that's holding you together. +% +Don't remember what you can infer. + -- Harry Tennant +% +Don't say "yes" until I finish talking. + -- Darryl F. Zanuck +% +Don't shoot until you're sure you both aren't on the same side. +% +Don't shout for help at night. You might wake your neighbors. + -- Stanislaw J. Lem, "Unkempt Thoughts" +% +Don't smoke the next cigarette. Repeat. +% +Don't speak about Time, until you have spoken to him. +% +Don't steal... the IRS hates competition! +% +Don't stop to stomp ants when the elephants are stampeding. +% +Don't sweat it -- it's only ones and zeros. + -- P. Skelly +% +Don't take a nickel, just hand them your business card. + -- Richard Daley, advising on the safe enjoyment of graft +% +Don't take life seriously, you'll never get out alive. +% +Don't talk to me about naval tradition. It's nothing but rum, +sodomy and the lash. + -- Winston Churchill +% +Don't tell any big lies today. Small ones can be just as effective. +% +Don't tell me how hard you work. Tell me how much you get done. + -- James J. Ling +% +Don't tell me that worry doesn't do any good. +I know better. The things I worry about don't happen. + -- Watchman Examiner +% +Don't tell me what you dream'd last night for I've been reading Freud. +% +Don't try to have the last word -- you might get it. + -- Lazarus Long +% +Don't try to outweird me, three-eyes. I get stranger things than you free +with my breakfast cereal. + -- Zaphod Beeblebrox +% +Don't vote - it only encourages them! +% +Don't wake me up too soon... +Gonna take a ride across the moon... +You and me. +% +Don't worry. Life's too long. + -- Vincent Sardi, Jr. +% +Don't worry -- the brontosaurus is slow, stupid, and placid. +% +Don't worry about people stealing your ideas. If your ideas +are any good, you'll have to ram them down people's throats. + -- Howard Aiken +% +Don't worry about the world coming to an end today. +It's already tomorrow in Australia. + -- Charles Schultz +% +Don't Worry, Be Happy. + -- Meher Baba +% +Don't worry if you're a kleptomaniac, +you can always take something for it. +% +Don't worry over what other people are thinking about you. +They're too busy worrying over what you are thinking about them. +% +Don't worry so loud, your roommate can't think. +% +Don't you feel more like you do now than you did when you came in? +% +"Don't you think what we're doing is wrong?" +"Of course it's wrong! It's illegal!" +"Well, I've never done anything illegal before." +"... I thought you said you were an accountant." +% +Don't you wish that all the people who sincerely +want to help you could agree with each other? +% +Don't you wish you had more energy... or less ambition? +% +Dope will get you through times of no money better that money will get +you through times of no dope. + -- Gilbert Shelton +% +Dorothy: But how can you talk without a brain? +Scarecrow: Well, I don't know... but some people + without brains do an awful lot of talking. + -- The Wizard of Oz +% +Double! +% +Double Bucky, you're the one, +You make my keyboard so much fun, +Double Bucky, an additional bit or two, (Vo-vo-de-o) +Control and meta, side by side, +Augmented ASCII, 9 bits wide! +Double Bucky, a half a thousand glyphs, plus a few! + +Oh, I sure wish that I, +Had a couple of bits more! +Perhaps a set of pedals to make the number of bits four. + +Double Double Bucky! Double Bucky left and right +OR'd together, outta sight! +Double Bucky, I'd like a whole word of, +Double Bucky, I'm happy I heard of, +Double Bucky, I'd like a whole word of you! + -- to Nicholas Wirth, who suggested that an extra bit + be added to terminal codes on 36-bit machines for use + by screen editors. [to the tune of "Rubber Ducky"] +% +double-blind Experiment, n: + An experiment in which the chief researcher believes he is +fooling both the subject and the lab assistant. Often accompanied +by a strong belief in the tooth fairy. +% +Doubt is a not a pleasant mental state, but certainty is a ridiculous one. + -- Voltaire +% +Doubt is not a pleasant condition, but certainty is absurd. + -- Voltaire +% +Doubt isn't the opposite of faith; it is an element of faith. + -- Paul Tillich, German theologian. +% +Down to the Banana Republics, +Down to the tropical sun. +Go the expatriated Americans, +Hoping to find some fun. +Some of them go for the sailing, +Caught by the lure of the sea. +Trying to find what is ailing, +Living in the land of the free. +Some of them are running from lovers, +Leaving no forward address. +Some of them are running tons of ganja, +Some are running from the IRS. +Late at night you will find them, +In the cheap hotels and bars. +Hustling the senoritas, +While they dance beneath the stars. + -- Jimmy Buffet, "Banana Republics" +% +Down with the categorical imperative! +% +Dow's Law: + In a hierarchical organization, + the higher the level, the greater the confusion. +% +Dozens of bears are found dead in Alaska and Canada every summer, killed +by blood lost to the voracious mosquito. The estimated life-expectancy +of a naked man on the tundra in summer is about 15 minutes. In that +time, approximately 250,000 mosquitoes would have drawn enough blood to +kill him. + -- Gus McLeavy, "Day-by-Day Trivia Almanac" +% +Dr. Fritzkee's Lucky Astrology Diet + +The problem with the diets of today is that most women who do achieve +that magic weight, seventy-six pounds, are still fat. Dr. Fritzkee's +Lucky Astrology Diet is a sure-fire method of reducing with the added +luxury that you never feel hungry. + +Here's how the diet works: + + FOODS ALLOWED +First Month: One egg +Second Month: A raisin +Third Month: Pumpkin pie with whipped cream and chocolate sauce. + +If after the third month you haven't gotten to your dream weight, try +lopping off parts of your body until those scales tip just right for you. +% +Dr. Jekyll had something to Hyde. +% +Dr. Livingston? +Dr. Livingston I. Presume? +% +Draft beer, not people. +% +Drakenberg's Discovery: + If you can't seem to find your glasses, + it's probably because you don't have them on. +% +Drawing on my fine command of language, I said nothing. +% +Dreams are free, but there's a small charge for alterations. +% +Dreams are free, but you get soaked on the connect time. +% +Drew's Law of Highway Biology: + The first bug to hit a clean windshield + lands directly in front of your eyes. +% +Drilling for oil is boring. +% +Drink and dance and laugh and lie +Love, the reeling midnight through +For tomorrow we shall die! +(But, alas, we never do.) + -- Dorothy Parker, "The Flaw in Paganism" +% +Drink Canada Dry! You might not succeed, but it *is* fun trying. +% +Drinking coffee for instant relaxation? That's like drinking alcohol for +instant motor skills. + -- Marc Price +% +Drinking is not a spectator sport. + -- Jim Brosnan +% +Drinking makes such fools of people, and people are such fools to begin +with, that it's compounding a felony. + -- Robert Benchley +% +Drinking when we are not thirsty and making love at all seasons, madam: +that is all there is to distinguish us from the other animals. + -- Pierre de Beaumarchais, "Le Marriage de Figaro" +% +Drive defensively, buy a tank. +% +Driving in Texas is simple. For the first 100 miles you swerve to +avoid jackrabbits. For the second 100 miles you hit whatever +jackrabbits get in the way. After that you chase off into the +brush after them. +% +Driving through a Swiss city one day, Alfred Hitchcock suddenly pointed out +of the car window and said, "That is the most frightening sight I have ever +seen." His companion was surprised to see nothing more alarming than a +priest in conversation with a little boy, his hand on the child's shoulder. +"Run, little boy," cried Hitchcock, leaning out of the car. "Run for your +life!" +% +Drop that pickle! +% +DROP THE DAMN BEAR!!! + -- The Adventurer +% +Drop the vase and it will become a Ming of the past. + -- The Adventurer +% +drug, n: + A substance that, when injected into a rat, produces a scientific + paper. +% +Drugs may be the road to nowhere, but at least they're the scenic route! +% +Drunks are rarely amusing unless they know some good songs and lose a +lot a poker. + -- Karyl Roosevelt +% +Ducharme's Precept: + Opportunity always knocks at the least opportune moment. + +Ducharme's Axiom: + If you view your problem closely enough you will recognize + yourself as part of the problem. +% +Duckies are fun! +% +Ducks? What ducks?? +% +Duct tape is like the force. It has a light side, +and a dark side, and it holds the universe together. + -- Carl Zwanzig +% +Due to a shortage of devoted followers, the +production of great leaders has been discontinued. +% +Due to circumstances beyond your control, you are master of your +fate and captain of your soul. +% +Dungeons and Dragons is just a lot of Saxon Violence. +% +During almost fifteen centuries the legal establishment of Christianity has +been upon trial. What has been its fruits? More or less, in all places, +pride and indolence in the clergy; ignorance and servility in the laity,; +in both, superstition, bigotry, and persecution. + -- James Madison +% +During the next two hours, the VAX will be going up and down +several times, often with lin~po_~{po ~poz~ppo\~{ o n~po_~ +{o[po ~poodsou>#w4k**n~po_~{ol;lkld;f;g;dd;po\~{o +% +During the Reagan-Mondale debates: + +Q: "Do you feel that a person's age affects his ability to + perform as president?" +Reagan: "I refuse to make an issue out of my opponent's youth and + inexperience." +% +During the voyage of life, remember to keep an eye out for a +fair wind; batten down during a storm; hail all passing ships; +and fly your colors proudly. +% +Dustin Farnum: Why, yesterday, I had the audience glued to their seats! +Oliver Herford: Wonderful! Wonderful! Clever of you to think of it! + -- Brian Herbert, "Classic Comebacks" +% +Duty, n: + What one expects from others. + -- Oscar Wilde +% +Dying is a very dull, dreary affair. My advice to you is to have +nothing whatever to do with it. + -- W. Somerset Maugham, his last words +% +Dying is easy. Comedy is difficult. + -- Actor Edmond Gween, on his deathbed. +% +Dying is one of the few things that can be done as easily lying down. + -- Woody Allen +% +E = MC ** 2 +- 3db +% +E Pluribus UNIX. +% +Each man is his own prisoner, in solitary confinement for life. +% +Each new user of a new system uncovers a new class of bugs. + -- Kernighan +% +Each of these cults correspond to one of the two antagonists in the age of +Reformation. In the realm of the Apple Macintosh, as in Catholic Europe, +worshipers peer devoutly into screens filled with "icons." All is sound and +imagery and Appledom. Even words look like decorative filigrees in exotic +typefaces. The greatest icon of all, the inviolable Apple itself, stands in +the dominate position at the upper-left corner of the screen. A central +corporate headquarters decrees the form of all rites and practices. +Infallible doctrine issues from one executive officer whose selection occurs +in a sealed boardroom. Should anyone in his curia question his powers, the +offender is excommunicated into outer darkness. The expelled heretic founds +a new company, mutters obscurely of the coming age and the next computer, +then disappears into silence, taking his stockholders with him. The mother +company forbids financial competition as sternly as it stifles ideological +competition; if you want to use computer programs that conform to Apple's +orthodoxy, you must buy a computer made and sold by Apple itself. + -- Edward Mendelson, "The New Republic", February 22, 1988 +% +Each of us bears his own Hell. + -- Publius Vergilius Maro (Virgil) +% +Each person has the right to take part in the management of public affairs +in his country, provided he has prior experience, a will to succeed, a +university degree, influential parents, good looks, a curriculum vitae, two +3 X 4 snapshots, and a good tax record. +% +Each person has the right to take the subway. +% +EARL GREY PROFILES + +NAME: Jean-Luc Perriwinkle Picard +OCCUPATION: Starship Big Cheese +AGE: 94 +BIRTHPLACE: Paris, Terra Sector +EYES: Grey +SKIN: Tanned +HAIR: Not much +LAST MAGAZINE READ: + Lobes 'n' Probes, the Ferengi-Betazoid Sex Quarterly +TEA: Earl Grey. Hot. + +EARL GREY NEVER VARIES. +% +Earl Wiener, 55, a University of Miami professor of management +science, telling the Airline Pilots Association (in jest) about +21st century aircraft: + + "The crew will consist of one pilot and a dog. The pilot will + nurture and feed the dog. The dog will be there to bite the + pilot if he touches anything. + -- Fortune, Sept. 26, 1988 +% +Early to bed and early to rise and you'll +be groggy when everyone else is wide awake. +% +Early to rise and early to bed makes +a man healthy and wealthy and dead. + -- James Thurber +% +Earn cash in your spare time -- blackmail your friends. +% +Earth Destroyed by Solar Flare -- film clips at eleven. +% +/earth: file system full. +% +/Earth is 98% full ... please delete anyone you can. +% +Earth is a great funhouse without the fun. + -- Jeff Berner +% +Easiest Color to Solve on a Rubik's Cube: Black. + +Simply remove all the little colored stickers on the cube, and each of +side of the cube will now be the original color of the plastic underneath +-- black. According to the instructions, this means the puzzle is solved. +% +Easy come and easy go, + some call me easy money, +Sometimes life is full of laughs, + and sometimes it ain't funny +You may think that I'm a fool + and sometimes that is true, +But I'm goin' to heaven in a flash of fire, + with or without you. + -- Hoyt Axton +% +Eat as much as you like -- just don't swallow it. + -- Harry Secombe's diet +% +Eat drink and be merry! Tommorrow you may be in Utah. +% +Eat drink and be merry, for tomorrow we diet. +% +Eat one live frog the first thing in the morning and nothing worse will +happen to either of you for the rest of the day. +% +Eat one live toad the first thing in the morning and nothing worse +will happen to you the rest of the day. + +[Well, actually, to either of you... Ed.] +% +Eat right, stay fit, and die anyway. +% +Eat the rich, the poor are tough and stringy. +% +Eating chocolate is like being in love without the aggravation. +% +Economics is extremely useful as a form of employment for economists. + -- John Kenneth Galbraith +% +economics, n.: + Economics is the study of the value and meaning of J.K. Galbraith. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Economies of scale: + The notion that bigger is better. In particular, that if you want + a certain amount of computer power, it is much better to buy one + biggie than a bunch of smallies. Accepted as an article of faith + by people who love big machines and all that complexity. Rejected + as an article of faith by those who love small machines and all + those limitations. +% +economist, n: + Someone who's good with figures, but doesn't have enough + personality to become an accountant. +% +Economists can certainly disappoint you. One said that the economy would +turn up by the last quarter. Well, I'm down to mine and it hasn't. + -- Robert Orben +% +Economists state their GNP growth projections to the nearest tenth of a +percentage point to prove they have a sense of humor. + -- Edgar R. Fiedler +% +Editing is a rewording activity. +% +Education and religion are two things not regulated by supply and +demand. The less of either the people have, the less they want. + -- Charlotte Observer, 1897 +% +Education is an admirable thing, but it is well to remember from time to +time that nothing that is worth knowing can be taught. + -- Oscar Wilde, "The Critic as Artist" +% +Education is learning what you didn't even know you didn't know. + -- Daniel J. Boorstin +% +Education is the process of casting false pearls before real swine. + -- Irwin Edman +% +Education is what survives when what has been learnt has been forgotten. + -- B.F. Skinner +% +Educational television should be absolutely forbidden. It can only lead +to unreasonable disappointment when your child discovers that the letters +of the alphabet do not leap up out of books and dance around with +royal-blue chickens. + -- Fran Lebowitz, "Social Studies" +% +Eeny, Meeny, Jelly Beanie, +The spirits are about to speak... +% +Eggheads unite! You have nothing to lose but your yolks. + -- Adlai Stevenson +% +Ego sum ens omnipotens +% +Egotism is the anesthetic given by a kindly nature +to relieve the pain of being a damned fool. + -- Bellamy Brooks +% +Egotism is the anesthetic which numbs the pain of stupidity. +% +Egotism, n: + Doing the New York Times crossword puzzle with a pen. + +Egotist, n: + A person of low taste, more interested in himself than me. + -- Ambrose Bierce +% +egrep -n '^[a-z].*\(' $ | sort -t':' +2.0 +% +Ehrman's Commentary: + 1. Things will get worse before they get better. + 2. Who said things would get better? +% +Eighty percent of air pollution comes from plants and trees. + -- Ronald Reagan, famous movie star +% +...eighty years later he could still recall with the young pang of his +original joy his falling in love with Ada. + -- Nabokov +% +Einstein argued that there must be simplified explanations of nature, because +God is not capricious or arbitrary. No such faith comforts the software +engineer. + -- Fred Brooks +% +Eisenhower was very nice, +Nixon was his only vice. + -- C. Degen +% +Either I'm dead or my watch has stopped. + -- Groucho Marx' last words +% +ELBONICS: + The actions of two people maneuvering for one + armrest in a movie theatre. + -- "Sniglets", Rich Hall & Friends +% +Eleanor Rigby +Sits at the keyboard and waits for a line on the screen +Lives in a dream +Waits for a signal, finding some code that will + make the machine do some more. +What is it for? + +All the lonely users, where do they all come from? +All the lonely users, why does it take so long? + +Hacker MacKensie +Writing the code for a program that no one will run +It's nearly done +Look at him working, fixing the bugs in the night when there's + nobody there. +What does he care? + +All the lonely users, where do they all come from? +All the lonely users, why does it take so long? +Ah, look at all the lonely users. +Ah, look at all the lonely users. +% +ELECTRIC JELL-O + +2 boxes JELL-O brand gelatin 2 packages Knox brand unflavored gelatin +2 cups fruit (any variety) 2+ cups water +1/2 bottle Everclear brand grain alcohol + +Mix JELL-O and Knox gelatin into 2 cups of boiling water. Stir 'til + fully dissolved. +Pour hot mixture into a flat pan. (JELL-O molds won't work.) +Stir in grain alcohol instead of usual cold water. Remove any congealing + glops of slime. (Alcohol has an unusual effect on excess JELL-O.) +Pour in fruit to desired taste, and to absorb any excess alcohol. +Mix in some cold water to dilute the alcohol and make it easier to eat for + the faint of heart. +Refrigerate overnight to allow mixture to fully harden. (About 8-12 hours.) +Cut into squares and enjoy! + +WARNING: + Keep ingredients away from open flame. Not recommended for + children under eight years of age. +% +Electrical Engineers do it with less resistance. +% +Electrocution, n: + Burning at the stake with all the modern improvements. +% +Elegance and truth are inversely related. + -- Becker's Razor +% +Elephant, n: + A mouse built to government specifications. +% +Elevators smell different to midgets. +% +Eleventh Law of Acoustics: + In a minimum-phase system there is an inextricable link between + frequency response, phase response and transient response, as they + are all merely transforms of one another. This combined with + minimalization of open-loop errors in output amplifiers and correct + compensation for non-linear passive crossover network loading can + lead to a significant decrease in system resolution lost. However, + of course, this all means jack when you listen to Pink Floyd. +% +Eli and Bessie went to sleep. +In the middle of the night, Bessie nudged Eli. + "Please be so kindly and close the window. It's cold outside!" +Half asleep, Eli murmured, + "Nu ... so if I'll close the window, will it be warm outside?" +% +Elliptic paraboloids for sale. +% +Elliptical, n: + The feel of a kiss. +% +Eloquence is logic on fire. +% +Elwood: What kind of music do you get here ma'am? +Barmaid: Why, we get both kinds of music, Country and Western. +% +Emacs, n: + A slow-moving parody of a text editor. +% +Emersons' Law of Contrariness: + Our chief want in life is somebody who shall make us do + what we can. Having found them, we shall then hate them + for it. +% +Encyclopedia for sale by father. +Son knows everything. +% +Encyclopedia Salesmen: + Invite them all in. Nip out the back door. Phone the police + and tell them your house is being burgled. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Endless Loop: n. see Loop, Endless. +Loop, Endless: n. see Endless Loop. + -- Random Shack Data Processing Dictionary +% +Endless the world's turn, endless the sun's spinning +Endless the quest; +I turn again, back to my own beginning, +And here, find rest. +% +Enemy -- SP (Suppressive Person) Order. Fair Game. May be deprived of +property or injured by any means by any Scientologist without any discipline +of the Scientologist. May be tricked, sued or lied to or destroyed. + -- L. Ron Hubbard, "Fair Game Doctrine" +% +Engineering: "How will this work?" +Science: "Why will this work?" +Management: "When will this work?" +Liberal Arts: "Do you want fries with that?" +% +English literature's performing flea. + -- Sean O'Casey on P.G. Wodehouse +% +Engram, n: + 1. The physical manifestation of human memory -- "the engram." +2. A particular memory in physical form. [Usage note: this term is no longer +in common use. Prior to Wilson and Magruder's historic discovery, the nature +of the engram was a topic of intense speculation among neuroscientists, +psychologists, and even computer scientists. In 1994 Professors M. R. Wilson +and W. V. Magruder, both of Mount St. Coax University in Palo Alto, proved +conclusively that the mammalian brain is hardwired to interpret a set of +thirty seven genetically transmitted cooperating TECO macros. Human memory +was shown to reside in 1 million Q-registers as Huffman coded uppercase-only +ASCII strings. Interest in the engram has declined substantially since that +time.] + -- New Century Unabridged English Dictionary, + 3rd edition, 2007 A.D. +% +enhance, v: + To tamper with an image, usually to its detriment. +% +Enjoy your life; be pleasant and gay, like the birds in May. +% +Enjoy yourself while you're still old. +% +Entrepreneur, n: + A high-rolling risk taker who would rather + be a spectacular failure than a dismal success. +% +Entropy isn't what it used to be. +% +Entropy requires no maintenance. + -- Markoff Chaney +% +Envy is a pain of mind that successful men cause their neighbors. + -- Onasander +% +Envy, n: + Wishing you'd been born with an unfair advantage, + instead of having to try and acquire one. +% +Enzymes are things invented by biologists +that explain things which otherwise require harder thinking. + -- Jerome Lettvin +% +Equal bytes for women. +% +Ere the cock crows thrice one of you will betray me. + -- Early Jewish Resistance Leader +% +Ernest asks Frank how long he has been working for the company. + "Ever since they threatened to fire me." +% +Es brilig war. Die schlichte Toven + Wirrten und wimmelten in Waben; +Und aller-mumsige Burggoven + Dir mohmen Rath ausgraben. +% +Eschew obfuscation. +% +Established technology tends to persist in the face of new technology. + -- G. Blaauw, one of the designers of System 360 +% +E.T. GO HOME!!! (And take your Smurfs with you.) +% +Eternal nothingness is fine if you happen to be dressed for it. + -- Woody Allen +% +Eternity is a terrible thought. I mean, where's it going to end? + -- Tom Stoppard +% +Etiquette is for those with no breeding; +fashion for those with no taste. +% +Etymology, n: + Some early etymological scholars came up with derivations that + were hard for the public to believe. The term 'etymology' was + formed from the Latin 'etus' ("eaten"), the root 'mal' ("bad"), + and 'logy' ("study of"). It meant "the study of things that are + hard to swallow." + -- Mike Kellen +% +Euch ist bekannt, was wir beduerfen; +Wir wollen stark Getraenke schluerfen. + -- Goethe, "Faust" +% +Eudaemonic research proceeded with the casual mania peculiar to this part of +the world. Nude sunbathing on the back deck was combined with phone calls to +Advanced Kinetics in Costa Mesa, American Laser Systems in Goleta, Automation +Industries in Danbury, Connecticut, Arenberg Ultrasonics in Jamaica Plain, +Massachusetts, and Hewlett Packard in Sunnyvale, California, where Norman +Packard's cousin, David, presided as chairman of the board. The trick was to +make these calls at noon, in the hope that out-to-lunch executives would return +them at their own expense. Eudaemonic Enterprises, for all they knew, might be +a fast-growing computer company branching out of the Silicon Valley. Sniffing +the possibility of high-volume sales, these executives little suspected that +they were talking on the other end of the line to a naked physicist crazed +over roulette. + -- Thomas Bass, "The Eudaemonic Pie" +% +Eureka! + -- Archimedes +% +Even a blind pig stumbles upon a few acorns. +% +Even a cabbage may look at a king. +% +Even a hawk is an eagle among crows. +% +Even a man who is pure at heart, +And says his prayers at night +Can become a wolf when the wolfbane blooms, +And the moon is full and bright. + -- The Wolf Man, 1941 +% +Even God cannot change the past. + -- Joseph Stalin +% +Even God lends a hand to honest boldness. + -- Menander +% +Even if you do learn to speak correct +English, whom are you going to speak it to? + -- Clarence Darrow +% +Even if you persuade me, you won't persuade me. + -- Aristophanes +% +Even if you're on the right track, you'll get run over if you just sit there. + -- Will Rogers +% +Even in the moment of our earliest kiss, +When sighed the straitened bud into the flower, +Sat the dry seed of most unwelcome this; +And that I knew, though not the day and hour. +Too season-wise am I, being country-bred, +To tilt at autumn or defy the frost: +Snuffing the chill even as my fathers did, +I say with them, "What's out tonight is lost." +I only hoped, with the mild hope of all +Who watch the leaf take shape upon the tree, +A fairer summer and a later fall +Than in these parts a man is apt to see, +And sunny clusters ripened for the wine: +I tell you this across the blackened vine. + -- Edna St. Vincent Millay, "Even in the Moment of + Our Earliest Kiss", 1931 +% +Even moderation ought not to be practiced to excess. +% +Even nowadays a man can't step up and kill a woman without feeling +just a bit unchivalrous... + -- Robert Benchley +% +Even the best of friends cannot attend each other's funeral. + -- Kehlog Albran +% +Even the best of friends cannot attend each other's funeral. + -- Kehlog Albran, "The Profit" +% +Even though they raised the rate for first class mail in the United +States we really shouldn't complain -- it's still only 2 cents a day. +% +Events are not affected, they develop. + -- Sri Aurobindo +% +Ever feel like life was a game and you had the wrong instruction book? +% +Ever feel like you're the head pin on life's +bowling alley, and everyone's rolling strikes? +% +Ever get the feeling that the world's +on tape and one of the reels is missing? + -- Rich Little +% +Ever notice that even the busiest people are +never too busy to tell you just how busy they are? +% +Ever notice that the word "therapist" breaks down into "the rapist"? +Simple coincidence? +Maybe... +% +Ever Onward! Ever Onward! +That's the sprit that has brought us fame. +We're big but bigger we will be, +We can't fail for all can see, that to serve humanity +Has been our aim. +Our products now are known in every zone. +Our reputation sparkles like a gem. +We've fought our way thru +And new fields we're sure to conquer, too +For the Ever Onward IBM! + -- Ever Onward, from the 1940 IBM Songbook +% +Ever Onward! Ever Onward! +We're bound for the top to never fall, +Right here and now we thankfully +Pledge sincerest loyalty +To the corporation that's the best of all +Our leaders we revere and while we're here, +Let's show the world just what we think of them! +So let us sing men -- Sing men +Once or twice, then sing again +For the Ever Onward IBM! + -- Ever Onward, from the 1940 IBM Songbook +% +Ever since I was a young boy, +I've hacked the ARPA net, +From Berkeley down to Rutgers, He's on my favorite terminal, +Any access I could get, He cats C right into foo, +But ain't seen nothing like him, His disciples lead him in, +On any campus yet, And he just breaks the root, +That deaf, dumb, and blind kid, Always has full SYS-PRIV's, +Sure sends a mean packet. Never uses lint, + That deaf, dumb, and blind kid, + Sure sends a mean packet. +He's a UNIX wizard, +There has to be a twist. +The UNIX wizard's got Ain't got no distractions, +Unlimited space on disk. Can't hear no whistles or bells, +How do you think he does it? Can't see no message flashing, +I don't know. Types by sense of smell, +What makes him so good? Those crazy little programs, + The proper bit flags set, + That deaf, dumb, and blind kid, + Sure sends a mean packet. + -- UNIX Wizard +% +Ever wonder if taxation without representation might have been cheaper? +% +Ever wonder why fire engines are red? + +Because newspapers are read too. +Two and Two is four. +Four and four is eight. +Eight and four is twelve. +There are twelve inches in a ruler. +Queen Mary was a ruler. +Queen Mary was a ship. +Ships sail the sea. +There are fishes in the sea. +Fishes have fins. +The Fins fought the Russians. +Russians are red. +Fire engines are always rush'n. +Therefore fire engines are red. +% +Ever wondered about the origins of the term "bugs" as applied to computer +technology? U.S. Navy Capt. Grace Murray Hopper has firsthand explanation. +The 74-year-old captain, who is still on active duty, was a pioneer in +computer technology during World War II. At the C.W. Post Center of Long +Island University, Hopper told a group of Long Island public school adminis- +trators that the first computer "bug" was a real bug--a moth. At Harvard +one August night in 1945, Hopper and her associates were working on the +"granddaddy" of modern computers, the Mark I. "Things were going badly; +there was something wrong in one of the circuits of the long glass-enclosed +computer," she said. "Finally, someone located the trouble spot and, using +ordinary tweezers, removed the problem, a two-inch moth. From then on, when +anything went wrong with a computer, we said it had bugs in it." Hopper +said that when the veracity of her story was questioned recently, "I referred +them to my 1945 log book, now in the collection of the Naval Surface Weapons +Center, and they found the remains of that moth taped to the page in +question." + [actually, the term "bug" had even earlier usage in + regard to problems with radio hardware. Ed.] +% +Everlasting peace will come to the world when the last man has slain +the last but one. + -- Adolph Hitler +% +Every 4 seconds a woman has a baby. +Our problem is to find this woman and stop her. +% +Every cloud engenders not a storm. + -- William Shakespeare, "Henry VI" +% +Every cloud has a silver lining; +you should have sold it, and bought titanium. +% +Every country has the government it deserves. + -- Joseph De Maistre +% +Every creature has within him the wild, uncontrollable urge to punt. +% +Every day it's the same thing -- variety. I want something different. +% +Every day people are straying away from the church and going back to God. + -- Lenny Bruce +% +Every dog has its day, but the nights belong to the pussycats. +% +Every gun that is made, every warship launched, every rocket fired +signifies in the final sense, a theft from those who hunger and are not +fed, those who are cold and are not clothed. This world in arms is not +spending money alone. It is spending the sweat of its laborers, the +genius of its scientists, the hopes of its children. This is not +a way of life at all in any true sense. Under the clouds of war, it +is humanity hanging on a cross of iron. + -- Dwight Eisenhower, 1953 +% +Every little picofarad has a nanohenry all its own. + -- Don Vonada +% +Every love's the love before +In a duller dress. + -- Dorothy Parker, "Summary" +% +Every man is apt to form his notions of things difficult to be apprehended, +or less familiar, from their analogy to things which are more familiar. +Thus, if a man bred to the seafaring life, and accustomed to think and talk +only of matters relating to navigation, enters into discourse upon any other +subject; it is well known, that the language and the notions proper to his +own profession are infused into every subject, and all things are measured +by the rules of navigation: and if he should take it into his head to +philosophize concerning the faculties of the mind, it cannot be doubted, +but he would draw his notions from the fabric of the ship, and would find +in the mind, sails, masts, rudder, and compass. + -- Thomas Reid, "An Inquiry into the Human Mind", 1764 +% +Every man is as God made him, ay, and often worse. + -- Miguel de Cervantes +% +Every man takes the limits of his own field +of vision for the limits of the world. + -- Schopenhauer +% +Every man thinks God is on his side. The rich +and powerful know that he is. + -- Jean Anouilh, "The Lark" +% +Every man who has reached even his intellectual teens begins to suspect +that life is no farce; that it is not genteel comedy even; that it flowers +and fructifies on the contrary out of the profoundest tragic depths of the +essential death in which its subject's roots are plunged. The natural +inheritance of everyone who is capable of spiritual life is an unsubdued +forest where the wolf howls and the obscene bird of night chatters. + -- Henry James Sr., writing to his sons Henry and William +% +Every man who is high up likes to think that he has done +it all himself, and the wife smiles and lets it go at that. + -- Barrie +% +Every morning in Africa, a gazelle wakes up. It knows it must run faster +than the fastest lion or it will be killed. Every morning a lion wakes up. +It knows it must outrun the slowest gazelle or it will starve to death. +It doesn't matter whether you are a lion or a gazelle: when the sun comes +up, you'd better be running. +% +Every morning is a Smirnoff morning. +% +Every night my prayers I say, + And get my dinner every day; +And every day that I've been good, + I get an orange after food. +The child that is not clean and neat, + With lots of toys and things to eat, +He is a naughty child, I'm sure-- + Or else his dear papa is poor. + -- Robert Louis Stevenson +% +Every one says that politicians lie all the time, and that just isn't so! +But you do have to understand body language to know when they're lying and +when they aren't. + + When a politician rubs his nose, he isn't lying. + When a politician tugs on his ear, he isn't lying. + When a politician scratches his colar bone, he isn't lying. + When his mouth starts moving, that's when he's lying! +% +Every paper published in a respectable journal should have a preface by +the author stating why he is publishing the article, and what value he +sees in it. I have no hope that this practice will ever be adopted. + -- Morris Kline +% +Every path has its puddle. +% +Every person, all the events in your life are there because you have +drawn them there. What you choose to do with them is up to you. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Every program has at least one bug and can be shortened by at least one +instruction -- from which, by induction, one can deduce that every program +can be reduced to one instruction which doesn't work. +% +Every program has (at least) two purposes: + the one for which it was written and another for which it wasn't. +% +Every silver lining has a cloud around it. +% +Every Solidarity center had piles and piles of paper ... everyone was +eating paper and a policeman was at the door. Now all you have to do is +bend a disk. + -- A member of the outlawed Polish trade union, Solidarity, + commenting on the benefits of using computers in support + of their movement. +% +Every successful person has had failures +but repeated failure is no guarantee of eventual success. +% +Every suicide is a solution to a problem. + -- Jean Baechler +% +Every time I look at you I am more convinced of Darwin's theory. +% +Every time I lose weight, it finds me again! +% +Every time I think I know where it's at, they move it. +% +Every time you manage to close the door on +Reality, it comes in through the window. +% +Every why hath a wherefore. + -- William Shakespeare, "A Comedy of Errors" +% +Every word is like an unnecessary stain on silence and nothingness. + -- Beckett +% +Every young man should have a hobby: learning how to handle money is +the best one. + -- Jack Hurley +% +Everybody but Sam had signed up for a new company pension plan that +called for a small employee contribution. The company was paying all +the rest. Unfortunately, 100% employee participation was needed; +otherwise the plan was off. Sam's boss and his fellow workers pleaded +and cajoled, but to no avail. Sam said the plan would never pay off. +Finally the company president called Sam into his office. + "Sam," he said, "here's a copy of the new pension plan and here's +a pen. I want you to sign the papers. I'm sorry, but if you don't sign, +you're fired. As of right now." + Sam signed the papers immediately. + "Now," said the president, "would you mind telling me why you +couldn't have signed earlier?" + "Well, sir," replied Sam, "nobody explained it to me quite so +clearly before." +% +Everybody has something to conceal. + -- Humphrey Bogart +% +Everybody is given the same amount of hormones, at birth, and +if you want to use yours for growing hair, that's fine with me. +% +Everybody is somebody else's weirdo. + -- Edsger W. Dijkstra +% +Everybody knows that the dice are loaded. Everybody rolls with their +fingers crossed. Everybody knows the war is over. Everybody knows the +good guys lost. Everybody knows the fight was fixed: the poor stay +poor, the rich get rich. That's how it goes. Everybody knows. + +Everybody knows that the boat is leaking. Everybody knows the captain +lied. Everybody got this broken feeling like their father or their dog +just died. + +Everybody talking to their pockets. Everybody wants a box of chocolates +and long stem rose. Everybody knows. + +Everybody knows that you love me, baby. Everybody knows that you really +do. Everybody knows that you've been faithful, give or take a night or +two. Everybody knows you've been discreet, but there were so many people +you just had to meet without your clothes. And everybody knows. + +And everybody knows it's now or never. Everybody knows that it's me or you. +And everybody knows that you live forever when you've done a line or two. +Everybody knows the deal is rotten: Old Black Joe's still pickin' cotton +for you ribbons and bows. And everybody knows. + -- Leonard Cohen, "Everybody Knows" +% +Everybody likes a kidder, but nobody lends him money. + -- Arthur Miller +% +Everybody needs a little love sometime; +stop hacking and fall in love! +% +Everybody wants to go to heaven, but nobody wants to die. +% +Everyone can be taught to sculpt: Michelangelo would have had +to be taught how not to. So it is with the great programmers. +% +Everyone complains of his memory, no one of his judgement. +% +Everyone hates me because I'm paranoid. +% +Everyone is entitled to my opinion. +% +Everyone is in the best seat. + -- John Cage +% +Everyone is more or less mad on one point. + -- Rudyard Kipling +% +Everyone knows that dragons don't exist. But while this simplistic +formulation may satisfy the layman, it does not suffice for the +scientific mind. The School of Higher Neantical Nillity is in fact +wholly unconcerned with what DOES exist. Indeed, the banality of +existence has been so amply demonstrated, there is no need for us +to discuss it any further here. The brilliant Cerebron, attacking +the problem analytically, discovered three distinct kinds of dragon: +the mythical, the chimerical, and the purely hypothetical. They were +all, one might say, nonexistent, but each nonexisted in an entirely +different way... +% +Everyone wants results, but no one is willing to do what it takes +to get them. + -- Dirty Harry +% +Everyone was born right-handed. +Only the greatest overcome it. +% +Everyone who comes in here wants three things: + 1. They want it quick. + 2. They want it good. + 3. They want it cheap. +I tell 'em to pick two and call me back. + -- sign on the back wall of a small printing company +% +Everyone's in a high place when you're on your knees. +% +Everything bows to success, even grammar. +% +Everything can be filed under "miscellaneous". +% +Everything ends badly. Otherwise it wouldn't end. +% +Everything I like is either illegal, immoral or fattening. + -- Alexander Woollcott +% +Everything in this book may be wrong. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Everything is controlled by a small evil group +to which, unfortunately, no one we know belongs. +% +Everything is possible. Pass the word. + -- Rita Mae Brown, "Six of One" +% +Everything might be different in the present +if only one thing had been different in the past. +% +Everything should be built top-down, except the first time. +% +Everything should be built top-down, except this time. +% +Everything should be made as simple as possible, but not simpler. + -- Albert Einstein +% +Everything takes longer, costs more, and is less useful. + -- Erwin Tomash +% +Everything that can be invented has been invented. + -- Charles Duell, Director of U.S. Patent Office, 1899 +% +Everything that you know is wrong, but you can be straightened out. +% +Everything will be just tickety-boo today. +% +Everything you know is wrong! +% +Everything you read in newspapers is absolutely true, except for that +rare story of which you happen to have first-hand knowledge. + -- Erwin Knoll +% +Everything you've learned in school as "obvious" becomes less and less +obvious as you begin to study the universe. For example, there are no +solids in the universe. There's not even a suggestion of a solid. +There are no absolute continuums. There are no surfaces. There are no +straight lines. + -- R. Buckminster Fuller +% +Everything's great in this good old world; +(This is the stuff they can always use.) +God's in his heaven, the hill's dew-pearled; +(This will provide for baby's shoes.) +Hunger and War do not mean a thing; +Everything's rosy where'er we roam; +Hark, how the little birds gaily sing! +(This is what fetches the bacon home.) + -- Dorothy Parker, "The Far Sighted Muse" +% +Everywhere I go I'm asked if I think the university stifles writers. My +opinion is that they don't stifle enough of them. There's many a bestseller +that could have been prevented by a good teacher. + -- Flannery O'Connor +% +Everywhere you go you'll see them searching, +Everywhere you turn you'll feel the pain, +Everyone is looking for the answer, +Well look again. + -- Moody Blues, "Lost in a Lost World" +% +Evil is that which one believes of others. It is a sin to believe evil +of others, but it is seldom a mistake. + -- H.L. Mencken +% +Evolution is a million line computer +program falling into place by accident. +% +Evolution is as much a fact as the earth turning on its axis and going around +the sun. At one time this was called the Copernican theory; but, when +evidence for a theory becomes so overwhelming that no informed person can +doubt it, it is customary for scientists to call it a fact. That all present +life descended from earlier forms, over vast stretches of geologic time, is +as firmly established as Copernican cosmology. Biologists differ only with +respect to theories about how the process operates. + -- Martin Gardner, "Irving Kristol and the Facts of Life". +% +Examinations are formidable even to the best prepared, for even +the greatest fool may ask more than the wisest man can answer. + -- C.C. Colton +% +Example is not the main thing in influencing others. +It is the only thing. + -- Albert Schweitzer +% +Excellent day for drinking heavily. +Spike the office water cooler. +% +Excellent day to have a rotten day. +% +Excellent time to become a missing person. +% +Exceptions prove the rule, and wreck the budget. + -- Miller +% +Excerpt from a conversation between a customer support person and a +customer working for a well-known military-affiliated research lab: + +Support: "You're not our only customer, you know." +Customer: "But we're one of the few with tactical nuclear weapons." +% +Excess on occasion is exhilarating. It prevents moderation from +acquiring the deadening effect of a habit. + -- W. Somerset Maugham +% +Excessive login messages is a sure sign of senility. +% +Execute every act of thy life as though it were thy last. + -- Marcus Aurelius +% +Executive ability is prominent in your make-up. +% +Exercise caution in your daily affairs. +% +Exhilaration is that feeling you get just after a great idea hits you, +and just before you realize what is wrong with it. +% +Expansion means complexity; and complexity decay. +% +Expect a letter from a friend who will ask a favor of you. +% +Expect the worst, it's the least you can do. +% +Expedience is the best teacher. +% +Expense accounts, n: + Corporate food stamps. +% +Experience is a good teacher, but she sends in terrific bills. + -- Minna Antrim, "Naked Truth and Veiled Allusions" +% +Experience is not what happens to you; +it is what you do with what happens to you. + -- Aldous Huxley +% +Experience is that marvelous thing that enables +you recognize a mistake when you make it again. + -- Franklin Jones +% +Experience is the worst teacher. It always +gives the test first and the instruction afterward. +% +Experience is what causes a person +to make new mistakes instead of old ones. +% +Experience is what you get when you didn't get what you wanted. +% +Experience is what you get when you were expecting something else. +% +Experience, n: + Something you don't get until just after you need it. + -- Olivier +% +Experience teaches you that the man who looks you straight in the eye, +particularly if he adds a firm handshake, is hiding something. + -- Clifton Fadiman, "Enter Conversing" +% +Experience varies directly with equipment ruined. +% +Experiments must be reproducible; they should all fail in the same way. +% +External Security: +% +Extraordinary claims demand extraordinary proof. There are many examples +of outsiders who eventually overthrew entrenched scientific orthodoxies, +but they prevailed with irrefutable data. More often, egregious findings +that contradict well-established research turn out to be artifacts. I have +argued that accepting psychic powers, reincarnation, "cosmic consciousness," +and the like, would entail fundamental revisions of the foundations of +neuroscience. Before abandoning materialist theories of mind that have paid +handsome dividends, we should insist on better evidence for psi phenomena +than presently exists, especially when neurology and psychology themselves +offer more plausible alternatives. + -- Barry L. Beyerstein, "The Brain and Consciousness: + Implications for Psi Phenomena". +% +Extreme fear can neither fight nor fly. + -- William Shakespeare, "The Rape of Lucrece" +% +Extremism in the defense of liberty is no vice... moderation in the pursuit +of justice is no virtue. + -- Barry Goldwater +% +f u cn rd ths, itn tyg h myxbl cd. +% +f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng. +% +F u cn rd ths u cnt spl wrth a dm! +% +f u cn rd ths, u r prbbly a lsy spllr. +% +FACILITY REJECTED 100044200000; +% +Factorials were someone's attempt to make math LOOK exciting. +% +Facts, apart from their relationships, are like labels on empty bottles. + -- Sven Italla +% +Facts are the enemy of truth. + -- Don Quixote +% +Facts do not cease to exist because they are ignored. + -- Aldous Huxley +% +Failed Attempts To Break Records + In September 1978 Mr. Terry Gripton, of Stafford, failed to break +the world shouting record by two and a half decibels. "I am not surprised +he failed," his wife said afterwards. "He's really a very quiet man and +doesn't even shout at me." + In August of the same year Mr. Paul Anthony failed to break the +record for continuous organ playing by 387 hours. + His attempt at the Golden Fish Fry Restaurant in Manchester ended +after 36 hours 10 minutes, when he was accused of disturbing the peace. +"People complained I was too noisy," he said. + In January 1976 Mr. Barry McQueen failed to walk backwards across +the Menai Bridge playing the bagpipes. "It was raining heavily and my +drone got waterlogged," he said. + A TV cameraman thwarted Mr. Bob Specas' attempt to topple 100,000 +dominoes at the Manhattan Center, New York on 9 June 1978. 97,500 dominoes +had been set up when he dropped his press badge and set them off. + -- Stephen Pile, "The Book of Heroic Failures" +% +Failure is more frequently from want of energy than want of capital. +% +Fain would I climb, yet fear I to fall. + -- Sir Walter Raleigh +% +Fairy tale: + A horror story to prepare children for the newspapers. +% +Faith goes out through the window when beauty comes in at the door. +% +Faith is the quality that enables you to eat blackberry jam +on a picnic without looking to see whether the seeds move. +% +Faith is under the left nipple. + -- Martin Luther +% +Faith, n: + That quality which enables us to + believe what we know to be untrue. +% +Fakir, n: + A psychologist whose charismatic data have inspired almost + religious devotion in his followers, even though the sources + seem to have shinnied up a rope and vanished. +% +Falling in Love + When two people have been on enough dates, they generally fall in +love. You can tell you're in love by the way you feel: your head becomes +light, your heart leaps within you, you feel like you're walking on air, +and the whole world seems like a wonderful and happy place. Unfortunately, +these are also the four warning signs of colon disease, so it's always a +good idea to check with your doctor. + -- Dave Barry +% +Falling in love is a lot like dying. +You never get to do it enough to become good at it. +% +Falling in love makes smoking pot all day look like the ultimate in +restraint. + -- Dave Sim, author of "Cerebus". +% +Fame is a vapor; popularity an accident; +the only earthly certainty is oblivion. + -- Mark Twain +% +Fame lost its appeal for me when I went into a public restroom and an +autograph seeker handed me a pen and paper under the stall door. + -- Marlo Thomas +% +Fame may be fleeting but obscurity is forever. +% +Familiarity breeds attempt. +% +Familiarity breeds contempt -- and children. + -- Mark Twain +% +Families, when a child is born +Want it to be intelligent. +I, through intelligence, +Having wrecked my whole life, +Only hope the baby will prove +Ignorant and stupid. +Then he will crown a tranquil life +By becoming a Cabinet Minister + -- Su Tung-p'o +% +Famous last words: +% +Famous last words: + 1: Don't unplug it, it will just take a moment to fix. + 2: Let's take the shortcut, he can't see us from there. + 3: What happens if you touch these two wires tog... + 4: We won't need reservations. + 5: It's always sunny there this time of the year. + 6: Don't worry, it's not loaded. + 7: They'd never (be stupid enough to) make him a manager. + 8: Don't worry! Women love it! +% +Fanaticism consists of redoubling your effort when you have +forgotten your aim. + -- George Santayana +% +"Fantasies are free." +"NO!! NO!! It's the thought police!!!!" +% +Far back in the mists of ancient time, in the great and glorious days of the +former Galactic Empire, life was wild, rich and largely tax free. + +Mighty starships plied their way between exotic suns, seeking adventure and +reward among the furthest reaches of Galactic space. In those days, spirits +were brave, the stakes were high, men were real men, women were real women +and small furry creatures from Alpha Centauri were real small furry creatures +from Alpha Centauri. And all dared to brave unknown terrors, to do mighty +deeds, to boldly split infinitives that no man had split before -- and thus +was the Empire forged. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Far duller than a serpent's tooth it is to spend a quiet youth. +% +Far out in the uncharted backwaters of the unfashionable end of the Western +Spiral arm of the Galaxy lies a small unregarded yellow sun. Orbiting this +at a distance of roughly ninety-eight million miles is an utterly +insignificant little blue-green planet whose ape-descended life forms are +so amazingly primitive that they still think digital watches are a pretty +neat idea. + -- Douglas Adams, "The Hitchhicker's Guide to the Galaxy" +% +Farmers in the Iowa State survey rated machinery breakdowns more +stressful than divorce. + -- Wall Street Journal +% +Fashion is a form of ugliness so intolerable that we have to alter +it every six months. + -- Oscar Wilde +% +Fashions have done more harm than revolutions. + -- Victor Hugo +% +Fast, cheap, good: pick two. +% +Fast ship? You mean you've never heard of the Millennium Falcon? + -- Han Solo +% +Faster, faster, you fool, you fool! + -- Bill Cosby +% +Fat Liberation: because a waist is a terrible thing to mind. +% +Fat people of the world unite, we've got nothing to lose! +% +Father: Son, it's time we talked about sex. +Son: Sure, Dad, what do you want to know? +% +Fats Loves Madelyn. +% +Fay: The British police force used to be run by men of integrity. +Truscott: That is a mistake which has been rectified. + -- Joe Orton, "Loot" +% +FEAR: + What you feel when you see a U-Haul with Texas license plates. +% +Fear and loathing, my man, fear and loathing. + -- H.S. Thompson +% +Fear is the greatest salesman. + -- Robert Klein +% +feature, n: + A surprising property of a program. Occasionally documented. To + call a property a feature sometimes means the author did not + consider that case, and the program makes an unexpected, though + not necessarily wrong response. See BUG. "That's not a bug, it's + a feature!" A bug can be changed to a feature by documenting it. +% +Federal grants are offered for... research into the recreation +potential of interplanetary space travel for the culturally +disadvantaged. +% +Feel disillusioned? +I've got some great new illusions, right here! +% +Feeling amorous, she looked under the sheets and cried, "Oh, no, +it's Microsoft!" +% +Felix Catus is your taxonomic nomenclature, +An endothermic quadruped, carnivorous by nature. +Your visual, olfactory, and auditory senses +Contribute to your hunting skills and natural defenses. +I find myself intrigued by your sub-vocal oscillations, +A singular development of cat communications +That obviates your basic hedonistic predilection +For a rhythmic stroking of your fur to demonstrate affection. +A tail is quite essential for your acrobatic talents: +You would not be so agile if you lacked its counterbalance; +And when not being utilised to aid in locomotion, +It often serves to illustrate the state of your emotion. +Oh Spot, the complex levels of behavior you display +Connote a fairly well-developed cognitive array. +And though you are not sentient, Spot, and do not comprehend, +I nonetheless consider you a true and valued friend. + -- Lt. Cmdr. Data, "An Ode to Spot" +% +Fellow programmer, greetings! You are reading a letter which will bring +you luck and good fortune. Just mail (or UUCP) ten copies of this letter +to ten of your friends. Before you make the copies, send a chip or +other bit of hardware, and 100 lines of 'C' code to the first person on the +list given at the bottom of this letter. Then delete their name and add +yours to the bottom of the list. + +Don't break the chain! Make the copy within 48 hours. Gerald R. of San +Diego failed to send out his ten copies and woke the next morning to find +his job description changed to "COBOL programmer." Fred A. of New York sent +out his ten copies and within a month had enough hardware and software to +build a Cray dedicated to playing Zork. Martha H. of Chicago laughed at +this letter and broke the chain. Shortly thereafter, a fire broke out in +her terminal and she now spends her days writing documentation for IBM PC's. + +Don't break the chain! Send out your ten copies today! +% +Female rabbits: + The gift that just "keeps on giving." +% +FENDERBERG: + The large glacial deposits that form on the insides + of car fenders during snowstorms. + -- "Sniglets", Rich Hall & Friends +% +Ferguson's Precept: + A crisis is when you can't say "let's forget the whole thing." +% +Fertility is hereditary. If your parents +didn't have any children, neither will you. +% +Fess: Well, you must admit there is something innately humorous about + a man chasing an invention of his own halfway across the galaxy. +Rod: Oh yeah, it's a million yuks, sure. But after all, isn't that the + basic difference between robots and humans? +Fess: What, the ability to form imaginary constructs? +Rod: No, the ability to get hung up on them. + -- Christopher Stasheff, "The Warlock in Spite of Himself" +% +Few things are harder to put up with than the annoyance of a good example. + -- Mark Twain +% +Fidelity, n: + A virtue peculiar to those who are about to be betrayed. +% +Fifteen men on a dead man's chest, +Yo-ho-ho and a bottle of rum! +Drink and the devil had done for the rest, +Yo-ho-ho and a bottle of rum! + -- Stevenson, "Treasure Island" +% +Fifth Law of Applied Terror: + If you are given an open-book exam, you will forget your book. +Corollary: + If you are given a take-home exam, you will forget where you live. +% +File cabinet: + A four drawer, manually activated trash compactor. +% +filibuster, n: + Throwing your wait around. +% +Fill what's empty, empty what's full, scratch where it itches. + -- Alice Roosevelt Longworth +% +Finagle's Creed: + Science is true. Don't be misled by facts. +% +Finagle's Eighth Law: + If an experiment works, something has gone wrong. + +Finagle's Ninth Law: + No matter what results are expected, + someone is always willing to fake it. + +Finagle's Tenth Law: + No matter what the result someone + is always eager to misinterpret it. + +Finagle's Eleventh Law: + No matter what occurs, someone believes + it happened according to his pet theory. +% +Finagle's First Law: + To study a subject best, understand it thoroughly before you start. + +Finagle's Second Law: + Always keep a record of data -- it indicates you've been working. + +Finagle's Fourth Law: + Once a job is fouled up, + anything done to improve it only makes it worse. + +Finagle's Fifth Law: + Always draw your curves, then plot your readings. + +Finagle's Sixth Law: + Don't believe in miracles -- rely on them. +% +Finagle's Seventh Law: + The perversity of the universe tends toward a maximum. +% +Finagle's Third Law: + In any collection of data, the figure most obviously correct, + beyond all need of checking, is the mistake. + +Corollaries: + 1. Nobody whom you ask for help will see it. + 2. The first person who stops by, whose advice you really + don't want to hear, will see it immediately. +% +Finality is death. +Perfection is finality. +Nothing is perfect. +There are lumps in it. +% +Fine day for friends. +So-so day for you. +% +Fine day to throw a party. Throw him as far as you can. +% +Fine day to work off excess energy. Steal something heavy. +% +Finster's Law: +A closed mouth gathers no feet. +% +First Law of Bicycling: + No matter which way you ride, it's uphill and against the wind. +% +First law of debate: + Never argue with a fool. People might not know the difference. +% +First Law of Procrastination: + Procrastination shortens the job and places the responsibility + for its termination on someone else (i.e., the authority who + imposed the deadline). + +Fifth Law of Procrastination: + Procrastination avoids boredom; one never has the feeling that + there is nothing important to do. +% +First Law of Socio-Genetics: + Celibacy is not hereditary. +% +First love is only a little foolishness and a lot of curiosity, no really +self-respecting woman would take advantage of it. + -- George Bernard Shaw, "John Bull's Other Island" +% +First Rule of History: + History doesn't repeat itself -- + historians merely repeat each other. +% +First rule of public speaking. + First, tell 'em what you're goin' to tell 'em; + then tell 'em; + then tell 'em what you've tole 'em. +% +First there was Dial-A-Prayer, then Dial-A-Recipe, and even Dial-A-Footballer. +But the south-east Victorian town of Sale has produced one to top them all. +Dial-A-Wombat. + It all began early yesterday when Sale police received a telephone +call: "You won't believe this, and I'm not drunk, but there's a wombat in the +phone booth outside the town hall," the caller said. + Not firmly convinced about the caller's claim to sobriety, members of +the constabulary drove to the scene, expecting to pick up a drunk. + But there it was, an annoyed wombat, trapped in a telephone booth. + The wombat, determined not to be had the better of again, threw its +bulk into the fray. It was eventually lassoed and released in a nearby scrub. + Then the officers received another message ... another wombat in +another phone booth. + There it was: *Another* angry wombat trapped in a telephone booth. + The constables took the miffed marsupial into temporary custody and +released it, too, in the scrub. + But on their way back to the station they happened to pass another +telephone booth, and -- you guessed it -- another imprisoned wombat. + After some serious detective work, the lads in blue found a suspect, +and after questioning, released him to be charged on summons. + Their problem ... they cannot find a law against placing wombats in +telephone booths. + -- "Newcastle Morning Herald", WSW Australia, Aug 1980. +% +"First World" nations are the ones where people drive Japanese cars; +"Second World" nations are where First World residents go on vacation; +and "Third World" nations are the ones where people still dive out of +trees to prove their manhood. + -- Dave Barry +% +Fishbowl, n: + A glass-enclosed isolation cell where newly + promoted managers are kept for observation. +% +Fishing, with me, has always been an excuse to drink in the daytime. + -- Jimmy Cannon +% +Five bicycles make a volkswagen, seven make a truck. + -- Adolfo Guzman +% +Five is a sufficiently close approximation to infinity. + -- Robert Firth +% +Five names that I can hardly stand to hear, +Including yours and mine and one more chimp who isn't here, +I can see the ladies talking how the times is gettin' hard, +And that fearsome excavation on Magnolia boulevard, +Yes, I'm goin' insane, +And I'm laughing at the frozen rain, +Well, I'm so alone, honey when they gonna send me home? + Bad sneakers and a pina colada my friend, + Stopping on the avenue by Radio City, with a + Transistor and a large sum of money to spend... +You fellah, you tearin' up the street, +You wear that white tuxedo, how you gonna beat the heat, +Do you take me for a fool, do you think that I don't see, +That ditch out in the Valley that they're diggin' just for me, +Yes, and goin' insane, +You know I'm laughin' at the frozen rain, +Feel like I'm so alone, honey when they gonna send me home? +(chorus) + -- Bad Sneakers, "Steely Dan" +% +Five people -- an Englishman, Russian, American, Frenchman and Irishman +were each asked to write a book on elephants. Some amount of time later they +had all completed their respective books. The Englishman's book was entitled +"The Elephant -- How to Collect Them", the Russian's "The Elephant -- Vol. I", +the American's "The Elephant -- How to Make Money from Them", the Frenchman's +"The Elephant -- Its Mating Habits" and the Irishman's "The Elephant and +Irish Political History". +% +Five rules for eternal misery: + 1) Always try to exhort others to look upon you favorably. + 2) Make lots of assumptions about situations and be sure to + treat these assumptions as though they are reality. + 3) Then treat each new situation as though it's a crisis. + 4) Live in the past and future only (become obsessed with + how much better things might have been or how much worse + things might become). + 5) Occasionally stomp on yourself for being so stupid as to + follow the first four rules. +% +Flame on! + -- Johnny Storm +% +FLANNISTER: + The plastic yoke that holds a six-pack of beer together. + -- "Sniglets", Rich Hall & Friends +% +FLASH! +Intelligence of mankind decreasing. +Details at ... uh, when the little hand is on the .... +% +Flattery is like cologne -- to be smelled, but not swallowed. + -- Josh Billings +% +Flattery will get you everywhere. +% +Flee at once, all is discovered. +% +Flirting is the gentle art of making a man feel pleased with himself. + -- Helen Rowland +% +Flon's Law: + There is not now, and never will be, a language in + which it is the least bit difficult to write bad programs. +% +flowchart, n. & v. + [From flow "to ripple down in rich profusion, as hair" + chart + "a cryptic hidden-treasure map designed to mislead the uninitiated."] + 1. n. The solution, if any, to a class of Mascheroni + construction problems in which given algorithms require geometrical + representation using only the 35 basic ideograms of the ANSI + template. 2. n. Neronic doodling while the system burns. + 3. n. A low-cost substitute for wallpaper. 4. n. The innumerate + misleading the illiterate. "A thousand pictures is worth ten lines + of code." --The Programmer's Little Red Vade Mecum, Mao Tse T'umps. + 5. v.intrans. To produce flowcharts with no particular object in mind. + 6. v.trans. To obfuscate (a problem) with esoteric cartoons. + -- S. Kelly-Bootle, "The Devil's DP Dictionary" +% +Flugg's Law: + When you need to knock on wood is when you realize + that the world is composed of vinyl, naugahyde and aluminum. +% +Fly me away to the bright side of the moon ... +% +Flying is the second greatest feeling you can have. The greatest feeling? +Landing... Landing is the greatest feeling you can have. +% +Fog Lamps, n: + Excessively (often obnoxiously) bright lamps mounted on the fronts + of automobiles; used on dry, clear nights to indicate that the + driver's brain is in a fog. See also "Idiot Lights". +% +"Follow me around. I don't care. I'm serious. If anybody wants to put a +tail on me, go ahead. They'd be very bored." + -- Gary Hart, announcing his presidential candidacy, + commenting on rumors of womanizing. +% +Foolproof Operation: + No provision for adjustment. +% +Fools rush in -- and get the best seats in the house. +% +Football builds self-discipline. What else would induce +a spectator to sit out in the open in subfreezing weather? +% +Football combines the two worst features of American life. +It is violence punctuated by committee meetings. + -- George F. Will, "Men At Work: The Craft of Baseball" +% +Football is a game designed to keep coalminers off the streets. + -- Jimmy Breslin +% +For a holy stint, a moth of the cloth gave up his woolens for lint. +% +For a light heart lives long. + -- Shakespeare, "Love's Labour's Lost" +% +For adult education nothing beats children. +% +For an idea to be fashionable is ominous, +since it must afterwards be always old-fashioned. +% +For certain people, after fifty, litigation takes the place of sex. + -- Gore Vidal +% +For children with short attention spans: boomerangs that don't come back. +% +For courage mounteth with occasion. + -- William Shakespeare, "King John" +% +For every action, there is an equal and opposite criticism. + -- Harrison +% +For every bloke who makes his mark, +there's half a dozen waiting to rub it out. + -- Andy Capp +% +For every credibility gap, there is a gullibility fill. + -- R. Clopton +% +For every human problem, there is a neat, +plain solution -- and it is always wrong. + -- H.L. Mencken +% +For example, if \thinmskip = 3mu, this makes \thickmskip = 6mu. But if +you also want to use \skip12 for horizontal glue, whether in math mode or +not, the amount of skipping will be in points (e.g., 6pt). The rule is +that glue in math mode varies with the size only when it is an \mskip; +when moving between an mskipand ordinary skip, the conversion factor +1mu=1pt is always used. The meaning of '\mskip\skip12' and +'\baselineskip=\the\thickmskip' should be clear. + -- Donald Knuth, TeX 82 -- Comparison with TeX80 +% +For fast-acting relief, try slowing down. +% +For flavor, instant sex will never supercede the stuff you have to peel +and cook. + -- Quentin Crisp +% +For fools rush in where angels fear to tread. + -- Alexander Pope +% +For gin, in cruel +Sober truth, +Supplies the fuel +For flaming youth. + -- Noel Coward +% +For God's sake, stop researching for a while and begin to think! +% +For good, return good. +For evil, return justice. +% +For I do not do the good I want, but the evil I do not want is what I do. + -- Paul of Tarsus, (Saint Paul) +% +For I swore I would stay a year away from her; out and alas! +but with break of day I went to make supplication. + -- Paulus Silentarius, c. 540 A.D. +% +For if there is a sin against life, it consists perhaps not so much in +despairing of life as in hoping for another life and in eluding the +implacable grandeur of this life. + -- Albert Camus +% +For knighthood is not in the feats of war, +As for to fight in quarrel right or wrong, +But in a cause which truth cannot defer: +He ought himself for to make sure and strong, +Just to keep mixt with mercy among: +And no quarrel a knight ought to take +But for a truth, or for the common's sake. + -- Stephen Hawes +% +For men use, if they have an evil turn, to write it in marble: +and whoso doth us a good turn we write it in dust. + -- Sir Thomas More +% +For most men life is a search for the proper manila envelope in which to +get themselves filed. + -- Clifton Fadiman +% +For my birthday I got a humidifier and a de-humidifier... I put them in +the same room and let them fight it out. + -- Stephen Wright +% +For my birthday I got a humidifier and a de-humidifier. I +put them in the same room and let them fight it out. + -- Steven Wright +% +For myself, I can only say that I am astonished and somewhat terrified at +the results of this evening's experiments. Astonished at the wonderful +power you have developed, and terrified at the thought that so much hideous +and bad music may be put on record forever. + -- Sir Arthur Sullivan, message to Edison, 1888 +% +For people who like that kind of book, +that is the kind of book they will like. +% +FOR SALE: + Parachute. Used once. + Never opened. Slightly Stained. +% +For some reason a glaze passes over people's faces when you say +"Canada". Maybe we should invade South Dakota or something. + -- Sandra Gotlieb, wife of the Canadian ambassador to the U.S. +% +For some reason, this fortune reminds everyone of Marvin Zelkowitz. +% +For that matter, compare your pocket computer with the +massive jobs of a thousand years ago. Why not, then, the +last step of doing away with computers altogether?" + -- Jehan Shuman +% +For the fashion of Minas Tirith was such that it was built on seven levels, +each delved into a hill, and about each was set a wall, and in each wall +was a gate. + -- J.R.R. Tolkien, "The Return of the King" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to system overview.] + +% +For the first time we have a weapon that nobody has used for thirty years. +This gives me great hope for the human race. + -- Harlan Ellison +% +For the next hour, WE will control all that you see and hear. +% +For thee the wonder-working earth puts forth sweet flowers. + -- Titus Lucretius Carus +% +For there are moments when one can neither think nor feel. And if one can +neither think nor feel, she thought, where is one? + -- Virginia Woolf, "To the Lighthouse" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to powerfail recovery.] +% +For they starve the frightened little child +Till it weeps both night and day: +And they scourge the weak, and flog the fool, +And gibe the old and grey, +And some grow mad, and all grow bad, +And none a word may say. + +Each narrow cell in which we dwell +Is a foul and dark latrine, +And the fetid breath of living Death +Chokes up each grated screen, +And all, but Lust, is turned to dust +In Humanity's machine. + +And all men kill the thing they love, +By all let this be heard, +Some do it with a bitter look, +Some with a flattering word, +The coward does it with a kiss, +The brave man with a sword. + -- Oscar Wilde +% +For thirty years a certain man went to spend every evening with Mme. ___. +When his wife died his friends believed he would marry her, and urged +him to do so. "No, no," he said: "if I did, where should I have to +spend my evenings?" + -- Chamfort +% +For those of you who have been unfortunate enough to never have tasted the +'Great Chieftain O' the Pudden Race' (i.e. haggis) here is an easy to follow +recipe which results in a dish remarkably similar to the above mentioned +protected species. + Ingredients: + 1 Sheep's Pluck (heart, lungs, liver) and bag + 2 teacupsful toasted oatmeal + 1 teaspoonful salt + 8 oz. shredded suet + 2 small onions + 1/2 teaspoonful black pepper + + Scrape and clean bag in cold, then warm, water. Soak in salt water +overnight. Wash pluck, then boil for 2 hours with windpipe draining over +the side of pot. Retain 1 pint of stock. Cut off windpipe, remove surplus +gristle, chop or mince heart and lungs, and grate best part of liver (about +half only). Parboil and chop onions, mix all together with oatmeal, suet, +salt, pepper and stock to moisten. Pack the mixture into bag, allowing for +swelling. Boil for three hours, pricking regularly all over. If bag not +available, steam in greased basin covered by greaseproof paper and cloth for +four to five hours. +% +For those who like this sort of thing, this is the sort of thing they like. + -- Abraham Lincoln +% +For three days after death hair and fingernails +continue to grow, but phone calls taper off. + -- Johnny Carson +% +For years a secret shame destroyed my peace-- +I'd not read Eliot, Auden or MacNiece. +But now I think a thought that brings me hope: +Neither had Chaucer, Shakespeare, Milton, Pope. + -- Justin Richardson. +% +Force has no place where there is need of skill. + -- Herodotus +% +"Force is but might," the teacher said-- +"That definition's just." +The boy said naught but thought instead, +Remembering his pounded head: +"Force is not might but must!" +% +Force it!!! +If it breaks, well, it wasn't working anyway... +No, don't force it, get a bigger hammer. +% +FORCE YOURSELF TO RELAX! +% +Forecast, n: + A prediction of the future, based on the past, for + which the forecaster demands payment in the present. +% +Forest fires cause Smokey Bears. +% +Forgetfulness, n: + A gift of God bestowed upon debtors in compensation for + their destitution of conscience. +% +Forgive and forget. + -- Cervantes +% +Forgive him, +for he believes that the customs of his tribe are the laws of nature! + -- G.B. Shaw +% +Forgive, O Lord, my little jokes on Thee +And I'll forgive Thy great big one on me. + -- Robert Frost +% +Forgive your enemies, but don't forget their names. + -- John F. Kennedy +% +Forsan et haec olim meminisse juvabit. +% +FORTH IF HONK THEN +% +FORTRAN is a good example of a language +which is easier to parse using ad hoc techniques. + -- D. Gries + [What's good about it? Ed.] +% +FORTRAN is for pipe stress freaks and crystallography weenies. +% +FORTRAN is not a flower but a weed -- it is hardy, +occasionally blooms, and grows in every computer. + -- A.J. Perlis +% +FORTRAN is the language of Powerful Computers. + -- Steven Feiner +% +FORTRAN rots the brain. + -- John McQuillin +% +FORTRAN, "the infantile disorder", by now nearly 20 years old, is hopelessly +inadequate for whatever computer application you have in mind today: it is +too clumsy, too risky, and too expensive to use. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +FORTRAN, "the infantile disorder", by now nearly 20 years old, is +hopelessly inadequate for whatever computer application you have +in mind today: it is now too clumsy, too risky, and too expensive +to use. + -- Edsger W. Dijkstra +% +[FORTRAN] will persist for some time -- +probably for at least the next decade. + -- T. Cheatham +% +Fortunate is he for whom the belle toils. +% +Fortunately, the responsibility for providing evidence is on the part of +the person making the claim, not the critic. It is not the responsibility +of UFO skeptics to prove that a UFO has never existed, nor is it the +responsibility of paranormal-health-claims skeptics to prove that crystals +or colored lights never healed anyone. The skeptic's role is to point out +claims that are not adequately supported by acceptable evidcence and to +provide plausible alternative explanations that are more in keeping with +the accepted body of scientific evidence. + -- Thomas L. Creed, The Skeptical Inquirer, Vol. XII, + No. 2, pg. 215 +% +Fortune and love befriend the bold. + -- Ovid +% +FORTUNE ANSWERS THE TOUGH QUESTIONS: #3 + +Q: Why haven't you graduated yet? +A: Well, Dad, I could have finished years ago, but I wanted + my dissertation to rhyme. +% +FORTUNE ANSWERS THE TOUGH QUESTIONS: #8 + +Q: Is God a myth? +A: No, He's a mythter. +% +fortune: cannot execute. Out of cookies. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #14 + +Low Blows: + Let's say a man and woman are watching a boxing match on TV. One +of the boxers is felled by a low blow. The woman says "Oh, gee. That must +hurt." The man doubles over and actually FEELS the pain. + +Dressing Up: + A woman will dress up to go shopping, water the plants, empty the +garbage, answer the phone, read a book, get the mail. A man will dress up +for: weddings, funerals. Speaking of weddings, when reminiscing about +weddings, women talk about "the ceremony". Men laugh about "the bachelor +party". + +David Letterman: + Men think David Letterman is the funniest man on the face of the +Earth. Women think he is a mean, semi-dorky guy who always has a bad +haircut. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #16 + +Relationships: + First of all, a man does not call a relationship a relationship -- he +refers to it as "that time when me and Suzie were doing it on a semi-regular +basis". + When a relationship ends, a woman will cry and pour her heart out to +her girlfriends, and she will write a poem titled "All Men Are Idiots". Then +she will get on with her life. + A man has a little more trouble letting go. Six months after the +breakup, at 3:00 a.m. on a Saturday night, he will call and say, "I just +wanted to let you know you ruined my life, and I'll never forgive you, and I +hate you, and you're a total floozy. But I want you to know that there's +always a chance for us". This is known as the "I Hate You / I Love You" +drunken phone call, that 99% if all men have made at least once. There are +community colleges that offer courses to help men get over this need; alas, +these classes rarely prove effective. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #17 + +Shoes: + The average man has 4 pairs of footwear: running shoes, dress shoes, +boots, and slippers. The average woman has shoes 4 layers thick on the floor +of her closet. Most of them hurt her feet. + +Making friends: + A woman will meet another woman with common interests, do a few things +together, and say something like, "I hope we can be good friends." + A man will meet another man with common interests, do a few things +together, and say nothing. After years of interacting with this other man, +sharing hopes and fears that he wouldn't confide in his priest or +psychiatrist, he'll finally let down his guard in a fit of drunken +sentimentality and say something like, "You know, for someone who's such a +jerk, I guess you're OK." +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #2 + +Desserts: + A woman will generally admire an ornate dessert for the artistic +work it is, praising its creator and waiting a suitable interval before +she reluctantly takes a small sliver off one edge. A man will start by +grabbing the cherry in the center. + +Car repair: + The average man thinks his Y chromosome contains complete repair +manuals for every car made since World War II. He will work on a problem +himself until it either goes away or turns into something that "can't be +fixed without special tools". + The average woman thinks "that funny thump-thump noise" is an +accurate description of an automotive problem. She will, however, have the +car serviced at the proper intervals and thereby incur fewer problems than +the average man. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #4 + +Weddings: + When reminiscing about weddings, women talk about "the ceremony". +Men talk about "the bachelor party". + +Clothes: + Men don't discard clothes. The average man still has the gym shirt +he wore in high school. He thinks a jacket is "just getting broken in" about +the time it develops holes in the elbows. A man will let new shirts sit on +the shelf in their original packaging for a couple of years before putting +them to use, hoping they'll become more comfortable with age. + Women think clothes are radioactive, with a half-life of one year. +They exercise precautions to avoid contamination by last year's fashions. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #5 + +Trust: + The average woman would really like to be told if her mate is fooling +around behind her back. This same woman wouldn't tell her best friend if +she knew the best friends' mate was having an affair. She'll tell all her +OTHER friends, however. The average man won't say anything if he knows that +one of his friend's mates is fooling around, and he'd rather not know if +his mate is having an affair either, out of fear that it might be with one +of his friends. He will tell all his friends about his own affairs, though, +so they can be ready if he needs an alibi. + +Driving: + + A typical man thinks he's Mario Andretti as soon as he slips behind +the wheel of his car. The fact that it's an 8-year-old Honda doesn't keep +him from trying to out-accelerate the guy in the Porsche who's attempting +to cut him off; freeway on-ramps are exciting challenges to see who has The +Right Stuff on the morning commute. Does he or doesn't he? Only his body +shop knows for sure. Insurance companies understand this behavior, and +price their policies accordingly. + A woman will slow down to let a car merge in front of her, and get +rear-ended by another woman who was busy adding the finishing touches to +her makeup. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #6 + +Bathrooms: + A man has six items in his bathroom -- a toothbrush, toothpaste, +shaving cream, razor, a bar of Dial soap, and a towel from the Holiday Inn. +The average number of items in the typical woman's bathroom is 437. A man +would not be able to identify most of these items. + +Groceries: + A woman makes a list of things she needs and then goes to the store +and buys these things. A man waits 'til the only items left in his fridge +are half a lime and a Blue Ribbon. Then he goes grocery shopping. He buys +everything that looks good. By the time a man reaches the checkout counter, +his cart is packed tighter that the Clampett's car on Beverly Hillbillies. +Of course, this will not stop him from entering the 10-items-or-less lane. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #8 + +Going Out: + When a man says he is ready to go out, it means he is ready to go +out. When a woman says she is ready to go out, it means she WILL be ready +to go out, as soon as she finds her earring, finishes putting on her makeup, +checks on the kids, makes a phone call to her best friend... + +Cats: + Women love cats. Men say they love cats, but when women aren't +looking, men kick cats. + +Offspring: + Ah, children. A woman knows all about her children. She knows +about dentist appointments and soccer games and romances and best friends +and favorite foods and secret fears and hopes and dreams. Men are vaguely +aware of some short people living in the house. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #9 + +Laundry: + Women do laundry every couple of days. A man will wear every article +of clothing he owns, including his surgical pants that were hip about eight +years ago, before he will do his laundry. When he is finally out of clothes, +he will wear a dirty sweatshirt inside out, rent a U-Haul and take his mountain +of clothes to the laundromat. Men always expect to meet beautiful women at +the laundromat. This is a myth. + +Nicknames: + If Gloria, Suzanne, Deborah and Michelle get together for lunch, +they will call each other Gloria, Suzanne, Deborah and Michelle. But if +Mike, Dave, Rob and Jack go out for a brewsky, they will affectionately +refer to each other as Bullet-Head, Godzilla, Peanut Brain and Useless. + +Socks: + Men wear sensible socks. They wear standard white sweatsocks. +Women wear strange socks. They are cut way below the ankles, have pictures +of clouds on them, and have a big fuzzy ball on the back. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #10 + +CARTABLANCA: + Bogart stars as the owner of a north african nightclub that sells + only Mexican beer. Of course, this policy gets him into no end of + trouble with the local French authorities who would really prefer + wine and the occupying Germans who believe that only their beer is + fit to be sold. Wacky events ensue until the gripping climax in + which the much-hated German beer distributer is drowned in a vat. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #11 + +MONOPOLI: + Peter Weir's classic film examining the false heroism of parlour + games. The powerful ending of the film sees one young man after + another charge toward GO, only to senselessly lose his life on the + Boardwalk property. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #12 + +O.E.D.: David Lean, 1969, 3 hours 30 min. + + Lean's version of the Oxford Dictionary has been accused of + shallowness in its treatment of a complete work. Omar Sharif + tends to overact as aardvark, but Alec Guiness is solid in + the role of abbacy. As usual, the photography is stunning. + With Julie Christie. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #3 + +MIRACLE ON 42ND STREET: + Santa Claus, in the off season, follows his heart's desire and + tries to make it big on Broadway. Santa sings and dances his way + into your heart. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #4 + +WITLESS: + Peter Weir directs Sylvester Stallone in the most challenging role + of his career. Stallone plays a Philadelphia police officer on the + run from corrupt officials. He is wounded and then nursed back to + health by Amish Mennonites. Fearful that they might unwittingly + reveal his hiding place, he blows them all away. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #5 + +THE ATOMIC GRANDMOTHER: + This humorous but heart-warming story tells of an elderly woman + forced to work at a nuclear power plant in order to help the family + make ends meet. At night, granny sits on the porch, tells tales + of her colorful past, and the family uses her to cook barbecues + and to power small electrical appliances. Maureen Stapleton gives + a glowing performance. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #6 + +RAZORBACK: Paul Harbride, 1984, 2 hours 25 min. + One of the great Australian films of the early 1980's, + and arguably the best movie ever made about a large, + man-eating hog. Some violence. With Gregory Harrison. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #7 + +OUT OF "OUT OF AFRICA": + This film is a compilation of selected news clips depicting audiences + frantically pushing and shoving to get out of theatres where "Out of + Africa" is showing. Many people are trampled to death in the frenzy. + Due to its violence and offensive language, not recommended for + younger viewers. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #8 + +THE SMURFS AND THE CUISINART (1986) + The lovable little blue Smurfs encounter a lovable little kitchen + appliance, which invites them to play. The Smurfs learn a valuable + (if sometimes fatal) lesson. + +THE SMURFS AND THE CARBON-DIOXIDE INDUSTRIAL LASER (1987) + The inevitable sequel. The lovable and somewhat mangled surviving + Smurfs team up with the Care Bears to encounter a cute, lovable piece + of high-tech welding equipment, which teaches them the magic of + becoming rather greasy smoke. Heartwarming fun for the entire family. +% +FORTUNE DISCUSSES THE OBSCURE FILMS: #9 + +THE PARKING PROBLEM IN PARIS: Jean-Luc Godard, 1971, 7 hours 18 min. + + Godard's meditation on the topic has been described as + everything from "timeless" to "endless." (Remade by Gene + Wilder as NO PLACE TO PARK.) +% +Fortune Documents the Great Legal Decisions: + +It is a rule of evidence deduced from the experience of mankind and +supported by reason and authority that positive testimony is entitled to +more weight than negative testimony, but by the latter term is meant +negative testimony in its true sense and not positive evidence of a +negative, because testimony in support of a negative may be as positive +as that in support of an affirmative. + -- 254 Pac. Rep. 472. +% +Fortune Documents the Great Legal Decisions: + +We can imagine no reason why, with ordinary care, human toes could not be +left out of chewing tobacco, and if toes are found in chewing tobacco, it +seems to us that someone has been very careless. + -- 78 So. 365. +% +Fortune Documents the Great Legal Decisions: + +We think that we may take judicial notice of the fact that the term "bitch" +may imply some feeling of endearment when applied to a female of the canine +species but that it is seldom, if ever, so used when applied to a female +of the human race. Coming as it did, reasonably close on the heels of two +revolver shots directed at the person of whom it was probably used, we think +it carries every reasonable implication of ill-will toward that person. + -- Smith v. Moran, 193 N.E. 2d 466. +% +FORTUNE EXPLAINS WHAT JOB REVIEW CATCH PHRASES MEAN: #1 + +skilled oral communicator: + Mumbles inaudibly when attempting to speak. Talks to self. + Argues with self. Loses these arguments. + +skilled written communicator: + Scribbles well. Memos are invariable illegible, except for + the portions that attribute recent failures to someone else. + +growth potential: + With proper guidance, periodic counselling, and remedial training, + the reviewee may, given enough time and close supervision, meet + the minimum requirements expected of him by the company. + +key company figure: + Serves as the perfect counter example. +% +FORTUNE EXPLAINS WHAT JOB REVIEW CATCH PHRASES MEAN: #4 + +consistent: + Reviewee hasn't gotten anything right yet, and it is anticipated + that this pattern will continue throughout the coming year. + +an excellent sounding board: + Present reviewee with any number of alternatives, and implement + them in the order precisely opposite of his/her specification. + +a planner and organizer: + Usually manages to put on socks before shoes. Can match the + animal tags on his clothing. +% +FORTUNE EXPLAINS WHAT JOB REVIEW CATCH PHRASES MEAN: #9 + +has management potential: + Because of his intimate relationship with inanimate objects, the + reviewee has been appointed to the critical position of department + pencil monitor. + +inspirational: + A true inspiration to others. ("There, but for the grace of God, + go I.") + +adapts to stress: + Passes wind, water, or out depending upon the severity of the + situation. + +goal oriented: + Continually sets low goals for himself, and usually fails + to meet them. +% +Fortune favors the lucky. +% +Fortune finishes the great quotations, #12 + + Those who can, do. Those who can't, write the instructions. +% +Fortune finishes the great quotations, #15 + + "Give me your tired, your poor, your huddled masses." + And while you're at it, throw in a couple of those Dallas + Cowboy cheerleaders. +% +Fortune finishes the great quotations, #17 + + "This bud of love, by summer's ripening breath, + May prove a beauteous flower when next we meet." + Juliet, this bud's for you. +% +Fortune finishes the great quotations, #2 + + If at first you don't succeed, think how many people + you've made happy. +% +Fortune finishes the great quotations, #21 + + Shall I compare thee to a Summer day? + No, I guess not. +% +Fortune finishes the great quotations, #3 + + Birds of a feather flock to a newly washed car. +% +Fortune finishes the great quotations, #6 + + "But, soft! What light through yonder window breaks?" + It's nothing, honey. Go back to sleep. +% +Fortune finishes the great quotations, #9 + + A word to the wise is often enough to start an argument. +% +fortune: No such file or directory +% +fortune: not found +% +Fortune presents: + USEFUL PHRASES IN ESPERANTO, #1. + +^Cu vi parolas angle? Do you speak English? +Mi ne komprenas. I don't understand. +Vi estas la sola esperantisto kiun mi You're the only Esperanto speaker + renkontas. I've met. +La ^ceko estas enpo^stigita. The check is in the mail. +Oni ne povas, ^gin netrovi. You can't miss it. +Mi nur rigardadas. I'm just looking around. +Nu, ^sajnis bona ideo. Well, it seemed like a good idea. +% +Fortune presents: + USEFUL PHRASES IN ESPERANTO, #2. + +^Cu tiu loko estas okupita? Is this seat taken? +^Cu vi ofte venas ^ci-tien? Do you come here often? +^Cu mi povas havi via telelonnumeron? May I have your phone number? +Mi estas komputilisto. I work with computers. +Mi legas multe da scienca fikcio. I read a lot of science fiction. +^Cu necesas ke vi eliras? Do you really have to be going? +% +Fortune presents: + USEFUL PHRASES IN ESPERANTO, #5. + +Mi ^cevalovipus vin se mi havus I'd horsewhip you if I had a horse. + ^cevalon. +Vere vi ^sercas. You must be kidding. +Nu, parDOOOOOnu min! Well exCUUUUUSE me! +Kiu invitis vin? Who invited you? +Kion vi diris pri mia patrino? What did you say about my mother? +Bu^so^stopu min per kulero. Gag me with a spoon. +% +FORTUNE PRESENTS FAMOUS LAST WORDS: #4 + +Socrates: I DRANK WHAT!?!? +Tarzan: Who greased the grape viiiiiiiiiiiinnnneee........ +Al Capone: There's a violin in my violin case! +Pilot, TWA Fl. #343: What's a mountain goat doing 'way up here? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #13 + +A: Doc, Happy, Bashful, Dopey, Sneezy, Sleepy, & Grumpy +Q: Who were the Democratic presidential candidates? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #15 + +A: The Royal Canadian Mounted Police. +Q: What was the greatest achievement in taxidermy? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #19 + +A: To be or not to be. +Q: What is the square root of 4b^2? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #21 + +A: Dr. Livingston I. Presume. +Q: What's Dr. Presume's full name? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #31 + +A: Chicken Teriyaki. +Q: What is the name of the world's oldest kamikaze pilot? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #4 + +A: Go west, young man, go west! +Q: What do wabbits do when they get tiwed of wunning awound? +% +FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #5 + +A: The Halls of Montezuma and the Shores of Tripoli. +Q: Name two families whose kids won't join the Marines. +% +FORTUNE REMEMBERS THE GREAT MOTHERS: #5 + + "And, and, and, and, but, but, but, but!" + -- Mrs. Janice Markowsky, April 8, 1965 +% +FORTUNE REMEMBERS THE GREAT MOTHERS: #6 + + "Johnny, if you fall and break your leg, don't come running to me!" + -- Mrs. Emily Barstow, June 16, 1954 +% +Fortune suggests uses for YOUR favorite UNIX commands! + +Try: + ar t "God" + drink < bottle; opener (Bourne Shell) + cat "food in tin cans" (all but 4.[23]BSD) + Hey UNIX! Got a match? (V6 or C shell) + mkdir matter; cat > matter (Bourne Shell) + rm God + man: Why did you get a divorce? (C shell) + date me (anything up to 4.3BSD) + make "heads or tails of all this" + who is smart + (C shell) + If I had a ) for every dollar of the national debt, what would I have? + sleep with me (anything up to 4.3BSD) +% +Fortune's current rates: + + Answers .10 + Long answers .25 + Answers requiring thought .50 + Correct answers $1.00 + + Dumb looks are still free. +% +Fortune's diet truths: +1: Forget what the cookbooks say, plain yogurt tastes nothing like sour cream. +2: Any recipe calling for soybeans tastes like mud. +3: Carob is not an acceptable substitute for chocolate. In fact, carob is not + an acceptable substitute for anything, except, perhaps, brown shoe polish. +4: There is no such thing as a "fun salad." So let's stop pretending and see + salads for what they are: God's punishment for being fat. +5: Fruit salad without maraschino cherries and marshmallows is about as + appealing as tepid beer. +6: A world lacking gravy is a tragic place! +7: You should immediately pass up any recipes entitled "luscious and + low-cal." Also skip dishes featuring "lively liver." They aren't and + it isn't. +8: Wearing a blindfold often makes many diet foods more palatable. +9: Fresh fruit is not dessert. CAKE is dessert! +10: Okra tastes slightly worse than its name implies. +11: A plain baked potato isn't worth the effort involved in chewing and + swallowing. +% +Fortune's Exercising Truths: + +1: Richard Simmons gets paid to exercise like a lunatic. You don't. +2. Aerobic exercises stimulate and speed up the heart. So do heart attacks. +3. Exercising around small children can scar them emotionally for life. +4. Sweating like a pig and gasping for breath is not refreshing. +5. No matter what anyone tells you, isometric exercises cannot be done + quietly at your desk at work. People will suspect manic tendencies as + you twitter around in your chair. +6. Next to burying bones, the thing a dog enjoys mosts is tripping joggers. +7. Locking four people in a tiny, cement-walled room so they can run around + for an hour smashing a little rubber ball -- and each other -- with a hard + racket should immediately be recognized for what it is: a form of insanity. +8. Fifty push-ups, followed by thirty sit-ups, followed by ten chin-ups, + followed by one throw-up. +9. Any activity that can't be done while smoking should be avoided. +% +FORTUNE'S FAVORITE RECIPES: #8 + Christmas Rum Cake + +1 or 2 quarts rum 1 tbsp. baking powder +1 cup butter 1 tsp. soda +1 tsp. sugar 1 tbsp. lemon juice +2 large eggs 2 cups brown sugar +2 cups dried assorted fruit 3 cups chopped English walnuts + +Before you start, sample the rum to check for quality. Good, isn't it? Now +select a large mixing bowl, measuring cup, etc. Check the rum again. It +must be just right. Be sure the rum is of the highest quality. Pour one cup +of rum into a glass and drink it as fast as you can. Repeat. With an electric +mixer, beat one cup butter in a large fluffy bowl. Add 1 seaspoon of tugar +and beat again. Meanwhile, make sure the rum teh absolutely highest quality. +Sample another cup. Open second quart as necessary. Add 2 orge laggs, 2 cups +of fried druit and beat untill high. If the fried druit gets stuck in the +beaters, just pry it loose with a screwdriver. Sample the rum again, checking +for toncisticity. Next sift 3 cups of baking powder, a pinch of rum, a +seaspoon of toda and a cup of pepper or salt (it really doesn't matter). +Sample some more. Sift 912 pint of lemon juice. Fold in schopped butter and +strained chups. Add bablespoon of brown gugar, or whatever color you have. +Mix mell. Grease oven and turn cake pan to 350 gredees and rake until +poothtick comes out crean. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #1 + A guinea pig is not from Guinea but a rodent from South America. + A firefly is not a fly, but a beetle. + A giant panda bear is really a member of the racoon family. + A black panther is really a leopard that has a solid black coat + rather than a spotted one. + Peanuts are not really nuts. The majority of nuts grow on trees + while peauts grow underground. They are classified as a + legume-part of the pea family. + A cucumber is not a vegetable but a fruit. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #14 + The Baby Ruth candy bar was not named after George Herman "The Babe" +Ruth, but after the oldest daughter of President Grover Cleveland. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #37 + Can you name the seven seas? + Antartic, Artic, North Atlantic, South Atlantic, Indian, + North Pacific, South Pacific. + Can you name the seven dwarfs from Snow White? + Doc, Dopey, Sneezy, Happy, Grumpy, Sleepy and Bashful. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #44 + Zebra's are colored with dark stripes on a light background. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #108 + +In Memphis, Tennessee, it is illegal for a woman to drive a car unless +there is a man either running or walking in front of it waving a red +flag to warn approaching motorists and pedestrians. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #14 + According to Kentucky state law, every person must take a bath +at least once a year. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #16 + +The Arkansas legislature passed a law that states that the Arkansas River +can rise no higher than to the Main Street bridge in Little Rock. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #19 + A Los Angeles judge ruled that "a citizen may snore with immunity in +his own home, even though he may be in possession of unusual and exceptional +ability in that particular field." +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #1 + +In Blythe, California, a city ordinance declares that a person must own +at least two cows before he can wear cowboy boots in public. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #2 + Horses are forbidden to eat fire hydrants in Marshalltown, Iowa. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #3 + A New York City judge ruled that if two women behind you at the +movies insist on discussing the probable outcome of the film, you have the +right to turn around and blow a Bronx cheer at them. +% +FORTUNE'S FUN FACTS TO KNOW AND TELL: #8 + + Idaho state law makes it illegal for a man to give his sweetheart +a box of candy weighing less than fifty pounds. +% +Fortune's Great Moments in History: #3 + +August 27, 1949: + A Hall of Fame opened to honor outstanding members of the + Women's Air Corp. It was a WAC's Museum. +% +FORTUNE'S GUIDE TO DEALING WITH REAL-LIFE SCIENCE FICTION: #14 +What to do... + if reality disappears? + Hope this one doesn't happen to you. There isn't much that you + can do about it. It will probably be quite unpleasant. + + if you meet an older version of yourself who has invented a time + traveling machine, and has come from the future to meet you? + Play this one by the book. Ask about the stock market and cash in. + Don't forget to invent a time traveling machine and visit your + younger self before you die, or you will create a paradox. If you + expect this to be tricky, make sure to ask for the principles + behind time travel, and possibly schematics. Never, NEVER, ask + when you'll die, or if you'll marry your current SO. +% +FORTUNE'S GUIDE TO DEALING WITH REAL-LIFE SCIENCE FICTION: #2 +What to do... + if you get a phone call from Mars: + Speak slowly and be sure to enunciate your words properly. Limit + your vocabulary to simple words. Try to determine if you are + speaking to someone in a leadership capacity, or an ordinary citizen. + + if he, she or it doesn't speak English? + Hang up. There's no sense in trying to learn Martian over the phone. + If your Martian really had something important to say to you, he, she + or it would have taken the trouble to learn the language before + calling. + + if you get a phone call from Jupiter? + Explain to your caller, politely but firmly, that being from Jupiter, + he, she or it is not "life as we know it". Try to terminate the + conversation as soon as possible. It will not profit you, and the + charges may have been reversed. +% +FORTUNE'S GUIDE TO DEALING WITH REAL-LIFE SCIENCE FICTION: #6 +What to do... + if a starship, equipped with an FTL hyperdrive lands in your backyard? + First of all, do not run after your camera. You will not have any + film, and, given the state of computer animation, noone will believe + you anyway. Be polite. Remember, if they have an FTL hyperdrive, + they can probably vaporize you, should they find you to be rude. + Direct them to the White House lawn, which is where they probably + wanted to land, anyway. A good road map should help. + + if you wake up in the middle of the night, and discover that your + closet contains an alternate dimension? + Don't walk in. You almost certainly will not be able to get back, + and alternate dimensions are almost never any fun. Remain calm + and go back to bed. Close the door first, so that the cat does not + wander off. Check your closet in the morning. If it still contains + an alternate dimension, nail it shut. +% +Fortune's Guide to Freshman Notetaking: + +WHEN THE PROFESSOR SAYS: YOU WRITE: + +Probably the greatest quality of the poetry John Milton -- born 1608 +of John Milton, who was born in 1608, is the +combination of beauty and power. Few have +excelled him in the use of the English language, +or for that matter, in lucidity of verse form, +'Paradise Lost' being said to be the greatest +single poem ever written." + +Current historians have come to Most of the problems that now +doubt the complete advantageousness face the United States are +of some of Roosevelt's policies... directly traceable to the + bungling and greed of President + Roosevelt. + +... it is possible that we simply do Professor Mitchell is a +not understand the Russian viewpoint... communist. +% +Fortune's nomination for All-Time Champion and Protector of Youthful Morals +goes to Representative Clare E. Hoffman of Michigan. During an impassioned +House debate over a proposed bill to "expand oyster and clam research," a +sharp-eared informant transcribed the following exchange between our hero +and Rep. John D. Dingell, also of Michigan. + +Dingell: "There are places in the world at the present time where we are + having to artifically propogate oysters and clams." +Hoffman: "You mean the oysters I buy are not nature's oysters?" +Dingell: "They may or may not be natural. The simple fact of the matter is + that female oysters through their living habits cast out large + amounts of seed and the male oysters cast out large amounts of + fertilization." +Hoffman: "Wait a minute! I do not want to go into that. There are many + teenagers who read The Congressional Record." +% +FORTUNE'S PARTY TIPS: #14 + + Tired of finding that other people are helping themselves to +your good liquor at BYOB parties? Take along a candle, which you insert +and light after you've opened the bottle. No one ever expects anything +drinkable to be in a bottle which has a candle stuck in its neck. +% +Fortune's Rules for Memo Wars: #2 + +Given the incredible advances in sociocybernetics and telepsychology over +the last few years, we are now able to completely understand everything that +the author of an memo is trying to say. Thanks to modern developments +in electrocommunications like notes, vnews, and electricity, we have an +incredible level of interunderstanding the likes of which civilization has +never known. Thus, the possibility of your misinterpreting someone else's +memo is practically nil. Knowing this, anyone who accuses you of having +done so is a liar, and should be treated accordingly. If you *do* understand +the memo in question, but have absolutely nothing of substance to say, then +you have an excellent opportunity for a vicious ad hominem attack. In fact, +the only *inappropriate* times for an ad hominem attack are as follows: + + 1: When you agree completely with the author of an memo. + 2: When the author of the original memo is much bigger than you are. + 3: When replying to one of your own memos. +% +FORTUNE'S RULES TO LIVE BY: #2 + + Never goose a wolverine. +% +FORTUNE'S RULES TO LIVE BY: #23 + + Don't cut off a police car when making an illegal U-turn. +% +Forty isn't old, if you're a tree. +% +Four be the things I am wiser to know: +Idleness, sorrow, a friend, and a foe. + +Four be the things I'd been better without: +Love, curiosity, freckles, and doubt. + +Three be the things I shall never attain: +Envy, content, and sufficient champagne. + +Three be the things I shall have till I die: +Laughter and hope and a sock in the eye. + -- Inventory +% +Four be the things I'd been better without: +Love, curiosity, freckles, and doubt. +-- Dorothy Parker, "Not So Deep as a Well" +% +Four fifths of the perjury in the world is expended on +tombstones, women and competitors. + -- Lord Thomas Dewar +% +Four hours to bury the cat? +Yes, damn thing wouldn't keep still, kept mucking about, 'owling... +% +Fourteen years in the professor dodge has taught me that one can argue +ingeniously on behalf of any theory, applied to any piece of literature. +This is rarely harmful, because normally no-one reads such essays. + -- Robert Parker, quoted in "Murder Ink", ed. D. Wynn +% +Fourth Law of Applied Terror: + The night before the English History mid-term, your Biology + instructor will assign 200 pages on planaria. + +Corollary: + Every instructor assumes that you have nothing else to do except + study for that instructor's course. +% +Fourth Law of Revision: + It is usually impractical to worry beforehand about + interferences -- if you have none, someone will make one + for you. +% +Frankly, Scarlett, I don't have a fix. + -- Rhett Buggler +% +Fraud is the homage that force pays to reason. + -- Charles Curtis, "A Commonplace Book" +% +Free Speech Is The Right To Shout 'Theater' In A Crowded Fire. + -- A Yippie Proverb +% +Freedom begins when you tell Mrs. Grundy to go fly a kite. +% +Freedom from incrustation of grime is contiguous to rectitude. +% +Freedom is nothing else but the chance to do better. + -- Camus +% +Freedom is slavery. +Ignorance is strength. +War is peace. + -- George Orwell +% +Freedom of the press is for those who happen to own one. +% +Freedom's just another word for nothing left to lose. + -- Kris Kristofferson, "Me and Bobby McGee" +% +Fremen add life to spice! +% +Fresco's Discovery: + If you knew what you were doing you'd probably be bored. +% +Friction is a drag. +% +Fried's 1st Rule: + Increased automation of clerical function + invariably results in increased operational costs. +% +Friends may come and go, but enemies accumulate. + -- Thomas Jones +% +Friends, n: + People who borrow your books and set wet glasses on them. + + People who know you well, but like you anyway. +% +Friends, Romans, Hipsters, +Let me clue you in; +I come to put down Caeser, not to groove him. +The square kicks some cats are on stay with them; +The hip bits, like, go down under; so let it lay with Caeser. +The cool Brutus gave you the message: Caeser had big eyes; +If that's the sound, someone's copping a plea, +And, like, old Caeser really set them straight. +Here, copacetic with Brutus and the studs, -- for Brutus is a + real cool cat; +So are they all, all cool cats, -- +Come I to make this gig at Caeser's laying down. +% +Friendships last when each friend thinks he has a slight superiority +over the other. + -- Honore de Balzac +% +Frisbeetarianism is the belief that when you die, +your soul goes up on the roof and gets stuck. +% +From 0 to "what seems to be the problem officer" in 8.3 seconds. + -- Ad for the new VW Corrado +% +From a certain point onward there is no longer any turning back. +That is the point that must be reached. + -- F. Kafka +% +From listening comes wisdom and from speaking repentance. +% +From the cradle to the coffin underwear comes first. + -- Bertolt Brecht +% +From the crystal swirling waters, +Of the Rio Amazon, +To the sacred halls of Bayonne, +Where we stand pajamas on. (It's the only thing that rhymes.) +From ev'ry hallowed venue, +Ev'ry forest, mount and vale, +Your butt is on the menu +And the check is in the mail. + -- The Piranha Club Anthem, to the tune of "De Camptown Races" +% +From the moment I picked your book up until I put it down I was +convulsed with laughter. Some day I intend reading it. + -- Groucho Marx +% +From too much love of living, +From hope and fear set free, +We thank with brief thanskgiving, +Whatever gods may be, +That no life lives forever, +That dead men rise up never, +That even the weariest river winds somewhere safe to sea. + -- Swinburne +% +F.S. Fitzgerald to Hemingway: + "Ernest, the rich are different from us." +Hemingway: + "Yes. They have more money." +% +Fudd's First Law of Opposition: + Push something hard enough and it will fall over. +% +Fun experiments: + Get a can of shaving cream, throw it in a freezer for about a week. + Then take it out, peel the metal off and put it where you want... + bedroom, car, etc. As it thaws, it expands an unbelievable amount. +% +Fun Facts, #14: + In table tennis, whoever gets 21 points first wins. That's how + it once was in baseball -- whoever got 21 runs first won. +% +Fun Facts, #63: + The name California was given to the state by Spanish conquistadores. + It was the name of an imaginary island, a paradise on earth, in the + Spanish romance, "Les Serges de Esplandian", written by Montalvo in + 1510. +% +Function reject. +% +Fundamentally, there may be no basis for anything. +% +FURBLING: + Having to wander through a maze of ropes at an airport or bank + even when you are the only person in line. + -- "Sniglets", Rich Hall & Friends +% +furbling, v: + Having to wander through a maze of ropes at an airport or bank + even when you are the only person in line. + -- Rich Hall, "Sniglets" +% +Furious activity is no substitute for understanding. + -- H.H. Williams +% +Furthermore, if we send something by car, it's a shipment... +but if we send it by ship, it's cargo. +% +Future looks spotty. You will spill soup in late evening. +% +Gaiety is the most outstanding feature of the Soviet Union. + -- Joseph Stalin +% +Galbraith's Law of Human Nature: + Faced with the choice between changing one's mind and proving that +there is no need to do so, almost everybody gets busy on the proof. +% +Garbage In - Gospel Out. +% +Gauls! We have nothing to fear; except perhaps that the sky may fall on +our heads tomorrow. But as we all know, tomorrow never comes!! + -- Adventures of Asterix +% +Gay shlafen: Yiddish for "go to sleep". + +Now doesn't "gay shlafen" have a softer, more soothing sound than the +harsh, staccato "go to sleep"? Listen to the difference: + "Go to sleep, you little wretch!" ... "Gay shlafen, darling." +Obvious, isn't it? + Clearly the best thing you can do for you children is to start +speaking Yiddish right now and never speak another word of English as +long as you live. This will, of course, entail teaching Yiddish to all +your friends, business associates, the people at the supermarket, and +so on, but that's just the point. It has to start with committed +individuals and then grow.... + Some minor adjustments will have to be made, of course: those +signs written in what look like Yiddish letters won't be funny when +everything is written in Yiddish. And we'll have to start driving on +the left side of the road so we won't be reading the street signs +backwards. But is that too high a price to pay for world peace? +I think not, my friend, I think not. + -- Arthur Naiman +% +GEMINI (May 21 - June 20) + A day to take the initiative. Put the garbage out, for + instance, and pick up the stuff at the dry cleaners. Watch + the mail carefully, although there won't be anything good + in it today, either. +% +GEMINI (May 21 to Jun. 20) + Good news and bad news highlighted. Enjoy the good news while you + can; the bad news will make you forget it. You will enjoy praise + and respect from those around you; everybody loves a sucker. A short + trip is in the stars, possibly to the men's room. +% +GENDERPLEX: + The predicament of a person in a restaurant who is unable to + determine his or her designated restroom (e.g. turtles and tortoises). + -- "Sniglets", Rich Hall & Friends +% +genderplex, n: + The predicament of a person in a restaurant who is unable to + determine his or her designated restroom (e.g., turtles and + tortoises). + -- Rich Hall, "Sniglets" +% +GENEALOGY: + An account of one's descent from an ancestor + who did not particularly care to trace his own. + -- Ambrose Bierce +% +General notions are generally wrong. + -- Lady M.W. Montagu +% +Generally speaking, the Way of the warrior is resolute acceptance of death. + -- Miyamoto Musashi, 1645 +% +Generic Fortune. +% +Generosity and perfection are your everlasting goals. +% +Genetics explains why you look like your father, +and if you don't, why you should. +% +GENIUS: + A chemist who discovers a laundry additive that rhymes with bright. +% +GENIUS: + Person clever enough to be born in the right place at the right + time of the right sex and to follow up this advantage by saying + all the right things to all the right people. +% +Genius does what it must, and Talent does what it can. + -- Owen Meredith +% +Genius is one percent inspiration and ninety-nine percent perspiration. + -- Thomas Alva Edison +% +Genius is pain. + -- John Lennon +% +Genius is ten percent inspiration and fifty percent capital gains. +% +Genius is the talent of a person who is dead. +% +Genius may have its limitations, but stupidity is not thus handicapped. + -- Elbert Hubbard +% +genius, n: + A chemist who discovers a laundry additive that rhymes with + "bright". +% +genlock, n: + Why he stays in the bottle. +% +Gentlemen, + Whilst marching from Portugal to a position which commands the approach +to Madrid and the French forces, my officers have been diligently complying +with your requests which have been sent by H.M. ship from London to Lisbon and +thence by dispatch to our headquarters. + We have enumerated our saddles, bridles, tents and tent poles, and all +manner of sundry items for which His Majesty's Government holds me accountable. +I have dispatched reports on the character, wit, and spleen of every officer. +Each item and every farthing has been accounted for, with two regrettable +exceptions for which I beg your indulgence. + Unfortunately the sum of one shilling and ninepence remains unaccounted +for in one infantry battalion's petty cash and there has been a hideous +confusion as to the number of jars of raspberry jam issued to one cavalry +regiment during a sandstorm in western Spain. This reprehensible carelessness +may be related to the pressure of circumstance, since we are war with France, +a fact which may come as a bit of a surprise to you gentlemen in Whitehall. + This brings me to my present purpose, which is to request elucidation of +my instructions from His Majesty's Government so that I may better understand +why I am dragging an army over these barren plains. I construe that perforce it +must be one of two alternative duties, as given below. I shall pursue either +one with the best of my ability, but I cannot do both: + 1. To train an army of uniformed British clerks in Spain for the benefit +of the accountants and copy-boys in London or perchance: + 2. To see to it that the forces of Napoleon are driven out of Spain. + -- Duke of Wellington, to the British Foreign Office, + London, 1812 +% +Genuine happiness is when a wife sees a double chin on her husband's +old girl friend. +% +George Bernard Shaw once sent two tickets to the opening night of one of +his plays to Winston Churchill with the following note: + "Bring a friend, if you have one." + +Churchill wrote back, returning the two tickets and excused himself as he +had a previous engagement. He also attached the following: + "Please send me two tickets for the next night, if there is one." +% +George Orwell was an optimist. +% +George Washington was first in war, first in peace -- and the first to +have his birthday juggled to make a long weekend. + -- Ashley Cooper +% +George's friend Sam had a dog who could recite the Gettysburg Address. "Let +me buy him from you," pleaded George after a demonstration. + "Okay," agreed Sam. "All he knows is that Lincoln speech anyway." + At his company's Fourth of July picnic, George brought his new pet +and announced that the animal could recite the entire Gettysburg Address. +No one believed him, and they proceeded to place bets against the dog. +George quieted the crowd and said, "Now we'll begin!" Then he looked at +the dog. The dog looked back. No sound. "Come on, boy, do your stuff." +Nothing. A disappointed George took his dog and went home. + "Why did you embarrass me like that in front of everybody?" George +yelled at the dog. "Do you realize how much money you lost me?" + "Don't be silly, George," replied the dog. "Think of the odds we're +gonna get on Labor Day." +% +(German philosopher) Georg Wilhelm Hegel, on his deathbed, complained, "Only +one man ever understood me." He fell silent for a while and then added, +"And he didn't understand me." +% +Gerrold's Laws of Infernal Dynamics: + 1) An object in motion will always be headed in the wrong direction. + 2) An object at rest will always be in the wrong place. + 3) The energy required to change either one of these states + will always be more than you wish to expend, but never so + much as to make the task totally impossible. +% +Get forgiveness now -- tomorrow you may no longer feel guilty. +% +Get GUMMed +---------- + +The Gurus of Unix Meeting of Minds (GUMM) takes place Wednesday, April 1, 2076 +(check THAT in your perpetual calendar program), 14 feet above the ground +directly in front of the Milpitas Gumps. Members will grep each other by the +hand (after intro), yacc a lot, smoke filtered chroots in pipes, chown with +forks, use the wc (unless uuclean), fseek nice zombie processes, strip, and +sleep, but not, we hope, od. Three days will be devoted to discussion of the +ramifications of whodo. Two seconds have been allotted for a complete rundown +of all the user-friendly features of Unix. Seminars include "Everything You +Know is Wrong", led by Tom Kempson, "Batman or Cat:man?" led by Richie Dennis +"cc C? Si! Si!" led by Kerwin Bernighan, and "Document Unix, Are You +Kidding?" led by Jan Yeats. No Reader Service No. is necessary because all +GUGUs (Gurus of Unix Group of Users) already know everything we could tell +them. + -- Dr. Dobb's Journal, June 1984 +% +Get in touch with your feelings of hostility against the dying light. + -- Dylan Thomas +% +Getting into trouble is easy. + -- D. Winkel and F. Prosser +% +Getting kicked out of the American Bar Association is liked getting kicked +out of the Book-of-the-Month Club. + -- Melvin Belli on the occcasion of his getting kicked out + of the American Bar Association +% +Getting the job done is no excuse for not following the rules. + +Corrollary: + Following the rules will not get the job done. +% +Getting there is only half as far as getting there and back. +% +Gibson's Springtime Song (to the tune of "Deck the Halls"): + +'Tis the season to chase mousies (Fa la la la la, la la la la) +Snatch them from their little housies (...) +First we chase them 'round the field (...) +Then we have them for a meal (...) + +Toss them here and catch them there (...) +See them flying through the air (...) +Watch them fly and hear them squeal (...) +Falling mice have great appeal (...) + +See the hunter stretched before us (...) +He's chased the mice in field and forest (...) +Watch him clean his long white whiskers (...) +Of the blood of little critters (...) +% +Gilbert's Discovery: + Any attempt to use the new super glues results in the two pieces + sticking to your thumb and index finger rather than to each other. +% +Gil-galad was an Elven-King +of him the harpers sadly sing; +the last whose realm was fair and free +between the Mountains and the Sea. + +His sword was long, his lance was keen, +his shining helm afar was seen; +the countless stars of heaven's field +were mirrored in his silver shield. + +But long ago he rode away, +and where he dwelleth none can say; +for into darkness fell his star +in Mordor where the shadows are. +% +Ginger Snap +% +Ginsberg's Theorem: + 1. You can't win. + 2. You can't break even. + 3. You can't even quit the game. + +Freeman's Commentary on Ginsberg's theorem: + + Every major philosophy that attempts to make life seem + meaningful is based on the negation of one part of Ginsberg's + Theorem. To wit: + + 1. Capitalism is based on the assumption that you can win. + 2. Socialism is based on the assumption that you can break even. + 3. Mysticism is based on the assumption that you can quit the game. +% +Ginsburg's Law: + At the precise moment you take off your shoe in a shoe store, your +big toe will pop out of your sock to see what's going on. +% +GIVE: Support the helpless victims of computer error. +% +Give a man a fish, and you feed him for a day. +Teach a man to fish, and he'll invite himself over for dinner. + -- Calvin Keegan +% +Give a small boy a hammer and he will find +that everything he encounters needs pounding. +% +Give a woman an inch and she'll park a car in it. +% +Give all orders verbally. Never write anything down +that might go into a "Pearl Harbor File". +% +Give him an evasive answer. +% +Give me a fish and I will eat today. +Teach me to fish and I will eat forever. +% +Give me a Plumber's friend the size of the Pittsburgh +dome, and a place to stand, and I will drain the world. +% +Give me a sleeping pill and tell me your troubles. +% +Give me chastity and continence, but not just now. + -- St. Augustine +% +Give me libertines or give me meth. +% +Give me the avowed, the erect, the manly foe, +Bold I can meet -- perhaps may turn his blow! +But of all plagues, good Heaven, thy wrath can send, +Save me, oh save me from the candid friend. + -- George Canning +% +Give me your students, your secretaries, +Your huddled writers yearning to breathe free, +The wretched refuse of your Selectric III's. +Give these, the homeless, typist-tossed to me. +I lift my disk beside the processor. + -- Inscription on a Word Processor +% +Give thought to your reputation. +Consider changing your name and moving to a new town. +% +GIVE UP!!!! +% +Give your child mental blocks for Christmas. +% +Give your very best today. +Heaven knows it's little enough. +% +Given a choice between grief and nothing, I'd choose grief. + -- William Faulkner +% +Given its constituency, the only thing I expect to be "open" about [the +Open Software Foundation] is its mouth. + -- John Gilmore +% +Given my druthers, I'd druther not. +% +Given sufficient time, what you put +off doing today will get done by itself. +% +Given the choice between accomplishing something and just lying around, I'd +rather lie around. No contest. + -- Eric Clapton +% +Giving money and power to governments is like giving whiskey and +car keys to teenage boys. + -- P.J. O'Rourke +% +Giving up on assembly language was the apple in our Garden of Eden: Languages +whose use squanders machine cycles are sinful. The LISP machine now permits +LISP programmers to abandon bra and fig-leaf. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +GLEEMITES: + Petrified deposits of toothpaste found in sinks. + -- "Sniglets", Rich Hall & Friends +% +Glib's Fourth Law of Unreliability: + Investment in reliability will increase until it exceeds the + probable cost of errors, or until someone insists on getting + some useful work done. +% +Gloffing is a state of mine. +% +Glogg (a traditional Scandinavian holiday drink): + fifth of dry red wine + fifth of Aquavit + 1 and 1/2 inch piece of cinnamon + 10 cardamom seeds + 1 cup raisins + 4 dried figs + 1 cup blanched or flaked almonds + a few pieces of dried orange peel + 5 cloves + 1/2 lb. sugar cubes + Heat up the wine and hard stuff (which may be substituted with wine +for the faint of heart) in a big pot after adding all the other stuff EXCEPT +the sugar cubes. Just when it reaches boiling, put the sugar in a wire +strainer, moisten it in the hot brew, lift it out and ignite it with a match. +Dip the sugar several times in the liquid until it is all dissolved. Serve +hot in cups with a few raisins and almonds in each cup. + N.B. Aquavit may be hard to find and expensive to boot. Use it only +if you really have a deep-seated desire to be fussy, or if you are of Swedish +extraction. +% +Go ahead... make my day. + -- Dirty Harry +% +Go ahead, make my day. + -- Harry Callahan +% +Go away, I'm all right. + -- H.G. Wells' last words. +% +Go away! Stop bothering me with all your +"compute this ... compute that"! I'm taking a VAX-NAP. + +logout +% +Go climb a gravity well. +% +Go directly to jail. Do not pass Go, do not collect $200. +% +Go not to the elves for counsel, for they will say both yes and no. + -- J.R.R. Tolkien +% +Go on writing plays, my boy. One of these days a London producer will go +into his office and say to his secretary, "Is there a play from Shaw this +morning?" and when she says "No," he will say, "Well, then we'll have to +start on the rubbish." And that's your chance, my boy. + -- G.B. Shaw to William Douglas Home +% +Go out and tell a lie that will make the whole family proud of you. + -- Cadmus, to Pentheus, in "The Bacchae" by Euripides +% +Go slowly to the entertainments of thy friends, +but quickly to their misfortunes. + -- Chilo +% +Go to a movie tonight. +Darkness becomes you. +% +Go to the Scriptures... the joyful promises it contains will be a balsam to +all your troubles. + -- Andrew Jackson + +The foundations of our society and our government rest so much on the +teachings of the Bible that it would be difficult to support them if faith +in these teachings would cease to be practically universal in our country. + -- Calvin Coolidge + +Lastly, our ancestors established their system of government on morality and +religious sentiment. Moral habits, they believed, cannot safely be trusted +on any other foundation than religious principle, nor any government be +secure which is not supported by moral habits. + -- Daniel Webster +% +Go 'way! You're bothering me! +% +Goals... Plans... they're fantasies, they're part of a dream world... + -- Wally Shawn +% +GOD: + Darwin's chief rival. +% +God created a few perfect heads. +The rest he covered with hair. +% +God created woman. +And boredom did indeed cease from that moment -- +but many other things ceased as well. +Woman was God's second mistake. + -- Nietzsche +% +God did not create the world in 7 days; He screwed +around for 6 days and then pulled an all-nighter. +% +God gave man two ears and one tongue so +that we listen twice as much as we speak. + -- Arab proverb +% +God gives burdens; also shoulders. + + Jimmy Carter cited this Jewish saying in his concession speech +at the end of the 1980 election. At least he said it was a Jewish +saying; I can't find it anywhere. I'm sure he's telling the truth +though; why would he lie about a thing like that? + -- Arthur Naiman +% +God gives us relatives; thank goodness we can chose our friends. +% +God grant us the serenity to accept the things we cannot change, courage to +change the things we can, and wisdom to know the difference. +% +God has intended the great to be great and the little to be little... +The trade unions, under the European system, destroy liberty [...] I do +not mean to say that a dollar a day is enough to support a workingman... +not enough to support a man and five children if he insists on smoking +and drinking beer. But the man who cannot live on bread and water is +not fit to live! A family may live on good bread and water in the +morning, water and bread at midday, and good bread and water at night! + -- Rev. Henry Ward Beecher +% +God help the troubadour who tries to be a star. The more +that you try to find success, the more that you will fail. + -- Phil Ochs, on the Second System Effect +% +God help those who do not help themselves. + -- Wilson Mizner +% +God helps them that helps themselves. + -- B. Franklin +% +God, I ask for patience -- and I want it right now! +% +God instructs the heart, not by ideas, +but by pains and contradictions. + -- De Caussade +% +God is a comic playing to an audience that's afraid to laugh. +% +God is a polytheist. +% +God is Dead. + -- Nietzsche +Nietzsche is Dead. + -- God +Nietzsche is God. + -- Dead +% +God is dead and I don't feel all too well either.... + -- Ralph Moonen +% +God is love, but get it in writing. + -- Gypsy Rose Lee +% +God is not dead. He is alive and well and working on a +much less ambitious project. +% +God is not dead! He's alive and autographing Bibles at Cody's! +% +God is real, unless declared integer. +% +God is really only another artist. He invented the giraffe, the +elephant and the cat. He has no real style, He just goes on trying +other things. + -- Pablo Picasso +% +God is the tangential point between zero and infinity. + -- Alfred Jarry +% +God isn't dead. He just doesn't want to get involved. +% +God isn't dead, he just couldn't find a parking place. +% +God made everything out of nothing, but the nothingness shows through. + -- Paul Valery +% +God made machine language; all the rest is the work of man. +% +God made the integers; all else is the work of Man. + -- Kronecker +% +God made the world in six days, and was arrested on the seventh. +% +God may be subtle, but he isn't plain mean. + -- Albert Einstein +% +God must have loved calories, she made so many of them. +% +God must love the common man; He made so many of them. +% +God rest ye CS students now, The bearings on the drum are gone, +Let nothing you dismay. The disk is wobbling, too. +The VAX is down and won't be up, We've found a bug in Lisp, and Algol +Until the first of May. Can't tell false from true. +The program that was due this morn, And now we find that we can't get +Won't be postponed, they say. At Berkeley's 4.2. +(chorus) (chorus) + +We've just received a call from DEC, And now some cheery news for you, +They'll send without delay The network's also dead, +A monitor called RSuX We'll have to print your files on +It takes nine hundred K. The line printer instead. +The staff committed suicide, The turnaround time's nineteen weeks. +We'll bury them today. And only cards are read. +(chorus) (chorus) + +And now we'd like to say to you CHORUS: Oh, tidings of comfort and joy, +Before we go away, Comfort and joy, +We hope the news we've brought to you Oh, tidings of comfort and joy. +Won't ruin your whole day. +You've got another program due, tomorrow, by the way. +(chorus) + -- to God Rest Ye Merry Gentlemen +% +God runs electromagnetics by wave theory on Monday, Wednesday, and Friday, +and the Devil runs them by quantum theory on Tuesday, Thursday, and Saturday. + -- William Bragg +% +God said it, I believe it and that's all there is to it. +% +God save us from a bad neighbor and a beginner on the fiddle. +% +God shows his contempt for wealth by the kind of person he selects +to receive it. + -- Austin O'Malley +% +God votes Republican. +% +God was satisfied with his own work, and that is fatal. + -- Samuel Butler +% +Goda's Truism: + By the time you get to the point where you can make ends meet, + somebody moves the ends. +% +Going the speed of light is bad for your age. +% +Going to church does not make a person religious, nor does going to school +make a person educated, any more than going to a garage makes a person a car. +% +Gold, n: + A soft malleable metal relatively scarce in distribution. It + is mined deep in the earth by poor men who then give it to rich + men who immediately bury it back in the earth in great prisons, + although gold hasn't done anything to them. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Goldenstern's Rules: + 1. Always hire a rich attorney. + 2. Never buy from a rich salesman. +% +Goldfish... what stupid animals. Even Wayne Cody stops +eating before he bursts. +% +Gold's Law: + If the shoe fits, it's ugly. +% +Gomme's Laws: + (1) A backscratcher will always find new itches. + (2) Time accelerates. + (3) The weather at home improves as soon as you go away. +% +Gone With The Wind LITE(tm) + -- by Margaret Mitchell + + A woman only likes men she can't have and the South gets trashed. + +Gift of the Magii LITE(tm) + -- by O. Henry + + A husband and wife forget to register their gift preferences. + +The Old Man and the Sea LITE(tm) + -- by Ernest Hemingway + + An old man goes fishing, but doesn't have much luck. + +Diary of a Young Girl LITE(tm) + -- by Anne Frank + + A young girl hides in an attic but is discovered. +% +Good advice is one of those insults that ought to be forgiven. +% +Good advice is something a man gives +when he is too old to set a bad example. + -- La Rouchefoucauld +% +Good day for a change of scene. Repaper the bedroom wall. +% +Good day for business affairs. +Make a pass at that the new file clerk. +% +Good day for overcoming obstacles. Try a steeplechase. +% +Good day to avoid cops. Crawl to school. +% +Good day to avoid cops. Crawl to work. +% +Good day to deal with people in high places; +particularly lonely stewardesses. +% +Good day to let down old friends who need help. +% +Good evening, gentlemen. I am a HAL 9000 computer. I became operational +at the HAL plant in Urbana, Illinois, on January 11th, nineteen hundred +ninety-five. My supervisor was Mr. Langley, and he taught me to sing a +song. If you would like, I could sing it for you. +% +Good, fast, and cheap. Choose any two. +% +Good girls go to heaven, bad girls go everywhere. +% +Good government never depends upon laws, but upon the personal qualities of +those who govern. The machinery of government is always subordinate to the +will of those who administer that machinery. The most important element of +government, therefore, is the method of choosing leaders. + -- Frank Herbert, "Children of Dune" +% +"Good health" is merely the slowest rate at which one can die. +% +Good judgement comes from experience. +Experience comes from bad judgement. + -- Jim Horning +% +Good leaders being scarce, following yourself is allowed. +% +Good morning. This is the telephone company. Due to repairs, we're +giving you advance notice that your service will be cut off indefinitely +at ten o'clock. That's two minutes from now. +% +Good news. Ten weeks from Friday will be a pretty good day. +% +Good news from afar can bring you a welcome visitor. +% +Good news is just life's way of keeping you off balance. +% +Good night, Austin, Texas, wherever you are! +% +Good night, Mrs. Calabash, wherever you are. +% +Good night to spend with family, but avoid arguments with your mate's +new lover. +% +Good salesmen and good repairmen will never go hungry. + -- R.E. Schenk +% +Good teaching is one-fourth preparation and three-fourths good theatre. + -- Gail Godwin +% +Good-bye. I am leaving because I am bored. + -- George Saunders' dying words +% +Goodbye, cool world. +% +Goose pimples rose all over me, my hair stood on end, my eyes filled with +tears of love and gratitude for this greatest of all conquerers of human +misery and shame, and my breath came in little gasps. If I had not known +that the Leader would have scorned such adulation, I might have fallen to +my knees in unashamed worship, but instead I drew myself to attention, raised +my arm in the eternal salute of the ancient Roman Legions and repeated the +holy words, "Heil Hitler!" + -- George Lincoln Rockwell +% +Gordon's Law: + If you think you have the solution, the question was poorly phrased. +% +gossip, n: + Hearing something you like about someone you don't. + -- Earl Wilson +% +//GO.SYSIN DD *, DOODAH, DOODAH +% +Got a complaint about the Internal Revenue Service? +Call the convenient toll-free "IRS Taxpayer Complaint Hot Line Number": + + 1-800-AUDITME +% +Got a dictionary? I want to know the meaning of life. +% +Got a wife and kids in Baltimore Jack, +I went out for a ride and never came back. +Like a river that don't know where it's flowing, +I took a wrong turn and I just kept going. + + Everybody's got a hungry heart. + Everybody's got a hungry heart. + Lay down your money and you play your part, + Everybody's got a hungry heart. + +I met her in a Kingstown bar, +We fell in love, I knew it had to end. +We took what we had and we ripped it apart, +Now here I am down in Kingstown again. + +Everybody needs a place to rest, +Everybody wants to have a home. +Don't make no difference what nobody says, +Ain't nobody likes to be alone. + -- Bruce Springsteen, "Hungry Heart" +% +Got Mole problems? +Call Avogadro at 6.02 x 10^23. +% +Gourmet, n: + Anyone whom, when you fail to finish something strange or + revolting, remarks that it's an acquired taste and that you're + leaving the best part. +% +Govern a great nation as you would cook a small fish. Don't overdo it. + -- Lao Tsu +% +Government spending? I don't know what it's all about. I don't know any +more about this thing than an economist does, and, God knows, he doesn't +know much. + -- The Best of Will Rogers +% +Government spending? I don't know what it's all about. I don't know +any more about this thing than an economist does, and, God knows, he +doesn't know much. + -- Will Rogers +% +Government's Law: + There is an exception to all laws. +% +Governor Tarkin. I should have expected to find you holding Vader's +leash. I thought I recognized your foul stench when I was brought on +board. + -- Princess Leia Organa +% +Grabel's Law: + 2 is not equal to 3 -- not even for large values of 2. +% +Graduate life -- it's not just a job, it's an indenture. +% +Graduate students and most professors are +no smarter than undergrads. They're just older. +% +Grand Master Turing once dreamed that he was a machine. When he awoke +he exclaimed: + "I don't know whether I am Turing dreaming that I am a machine, + or a machine dreaming that I am Turing!" + -- Geoffrey James, "The Tao of Programming" +% +Grandpa Charnock's Law: + You never really learn to swear until you learn to drive. + + [I thought it was when your kids learned to drive. Ed.] +% +Graphics blind the eyes. +Audio files deafen the ear. +Mouse clicks numb the fingers. +Heuristics weaken the mind. +Options wither the heart. + +The Guru observes the net +but trusts his inner vision. +He allows things to come and go. +His heart is as open as the ether. +% +GRASSHOPPOTAMUS: + A creature that can leap to tremendous heights... once. +% +Gratitude, like love, is never a dependable international emotion. + -- Joseph Alsop +% +GRAVITY: + What you get when you eat too much and too fast. +% +Gravity brings me down. +% +Gravity is a myth, the Earth sucks. +% +Gray's Law of Programming: + 'n+1' trivial tasks are expected to be + accomplished in the same time as 'n' tasks. + +Logg's Rebuttal to Gray's Law: + 'n+1' trivial tasks take twice as long as 'n' trivial tasks. +% +Great acts are made up of small deeds. + -- Lao Tsu +% +Great American Axiom: + Some is good, more is better, too much is just right. +% +GREAT MOMENTS IN AMERICAN HISTORY (#17): + +On November 13, Felix Unger was asked to remove himself from his +place of residence. +% +GREAT MOMENTS IN HISTORY (#7): April 2, 1751 + +Issac Newton becomes discouraged when he falls up a flight of stairs. +% +GREAT MOMENTS IN HISTORY (#7): November 23, 1915 + +Pancake make-up is invented; most people continue to prefer syrup. +% +Great spirits have always encountered violent opposition from mediocre minds. + -- Albert Einstein + +They laughed at Einstein. They laughed at the Wright Brothers. But they +also laughed at Bozo the Clown. + -- Carl Sagan +% +Greatness is a transitory experience. It is never consistent. +% +Green light in A.M. for new projects. +Red light in P.M. for traffic tickets. +% +Green's Law of Debate: +Anything is possible if you don't know what you're talking about. +% +Grelb's Reminder: + Eighty percent of all people consider + themselves to be above average drivers. +% +grep me no patterns and I'll tell you no lines. +% +Grief can take care of itself; but to get the full +value of a joy you must have somebody to divide it with. + -- Mark Twain +% +Griffin's Thought: + When you starve with a tiger, the tiger starves last. +% +Grig (the navigator): + ... so you see, it's just the two of us against the entire space + armada. +Alex (the gunner): + What?!? +Grig: I've always wanted to fight a desperate battle against + overwhelming odds. +Alex: It'll be a slaughter! +Grig: That's the spirit! + -- The Last Starfighter +% +Grinnell's Law of Labor Laxity: + At all times, for any task, you have not got enough done today. +% +Groundhog Day has been observed only once in Los Angeles because when the +groundhog came out of its hole, it was killed by a mudslide. + -- Johnny Carson +% +Grover Cleveland, though constantly at loggerheads with the Senate, got on +better with the House of Representatives. A popular story circulating +during his presidency concerned the night he was roused by his wife crying, +"Wake up! I think there are burglars in the house." + "No, no, my dear," said the president sleepily, "in the Senate +maybe, but not in the House." +% +Growing old isn't bad when you consider the alternatives. + -- Maurice Chevalier +% +Grownups are reluctant to take science fiction seriously, and with good +reason: sci-fi is a hormonal activity, not a literary one. Its traditional +concerns are all pubescent. Secondary sexual characteristics are everywhere, +disguised. Aliens have tentacles. Telepathy allows you to have sex without +any nasty inconvenience of touching. Womblike spaceships provide balanced +meals. No one ever has to grow old -- body parts are replaceable, like +Job's daughters, and if you're lucky you can become a robot. As for the +adult world, it's simply not there; political systems tend to be naively +authoritarian (there are more lords in science fiction than on public +television) and are often ruled by young boys on quests. The most popular +sci-fi book in years, Frank Herbert's Dune, sold millions of copies by +combining all these themes: it ends with its adolescent hero conquering the +universe while straddling a giant worm. + -- Arnold Klein +% +Grub first, then ethics. + -- Bertolt Brecht +% +GUILLOTINE: + A French chopping center. +% +Gumperson's Law: + The probability of a given event + occurring is inversely proportional to its desirability. +% +Guns don't kill people. Bullets kill people. +% +Gunter's Airborne Discoveries: + (1) When you are served a meal aboard an aircraft, + the aircraft will encounter turbulence. + (2) The strength of the turbulence + is directly proportional to the temperature of your coffee. +% +GURMLISH: + The red warning flag at the top of a club sandwich which prevents + the person from biting into it and puncturing the roof of his mouth. + -- "Sniglets", Rich Hall & Friends +% +gurmlish, n.: + The red warning flag at the top of a club sandwich which + prevents the person from biting into it and puncturing the roof + of his mouth. + -- Rich Hall, "Sniglets" +% +GURU: + A person in T-shirt and sandals who took an elevator ride with + a senior vice-president and is ultimately responsible for the + phone call you are about to receive from your boss. +% +guru, n: + A computer owner who can read the manual. +% +gy-ro-scope: + A wheel or disk mounted to spin rapidly about an axis and also + free to rotate about one or both of two axes perpindicular to + each other and the axis of spin so that a rotation of one of the + two mutually perpendicular axes results from application of + torque to the other when the wheel is spinning and so that the + entire apparatus offers considerable opposition depending on + the angular momentum to any torque that would change the direction + of the axis of spin. + -- Webster's Seventh New Collegiate Dictionary +% +hacker, n: + Originally, any person with a knack for coercing stubborn inanimate +things; hence, a person with a happy knack, later contracted by the mythical +philosopher Frisbee Frobenius to the common usage, 'hack'. + In olden times, upon completion of some particularly atrocious body +of coding that happened to work well, culpable programmers would gather in +a small circle around a first edition of Knuth's Best Volume I by candlelight, +and proceed to get very drunk while sporadically rending the following ditty: + + Hacker's Fight Song + + He's a Hack! He's a Hack! + He's a guy with the happy knack! + Never bungles, never shirks, + Always gets his stuff to work! + +All take a drink (important!) +% +Hackers are just a migratory lifeform with a tropism for computers. +% +Hacker's Guide To Cooking: +2 pkg. cream cheese (the mushy white stuff in silver wrappings that doesn't + really come from Philadelphia after all; anyway, about 16 oz.) +1 tsp. vanilla extract (which is more alcohol than vanilla and pretty + strong so this part you *GOTTA* measure) +1/4 cup sugar (but honey works fine too) +8 oz. Cool Whip (the fluffy stuff devoid of nutritional value that you + can squirt all over your friends and lick off...) +"Blend all together until creamy with no lumps." This is where you get to + join(1) all the raw data in a big buffer and then filter it through + merge(1m) with the -thick option, I mean, it starts out ultra lumpy + and icky looking and you have to work hard to mix it. Try an electric + beater if you have a cat(1) that can climb wall(1s) to lick it off + the ceiling(3m). +"Pour into a graham cracker crust..." Aha, the BUGS section at last. You + just happened to have a GCC sitting around under /etc/food, right? + If not, don't panic(8), merely crumble a rand(3m) handful of innocent + GCs into a suitable tempfile and mix in some melted butter. +"...and refrigerate for an hour." Leave the recipe's stdout in a fridge + for 3.6E6 milliseconds while you work on cleaning up stderr, and + by time out your cheesecake will be ready for stdin. +% +Hacker's Law: + The belief that enhanced understanding will necessarily stir + a nation to action is one of mankind's oldest illusions. +% +Hackers of the world, unite! +% +Hacker's Quicky #313: + Sour Cream -n- Onion Potato Chips + Microwave Egg Roll + Chocolate Milk +% +Hacking's just another word for nothing left to kludge. +% +"Had he and I but met +By some old ancient inn, But ranged as infantry, +We should have sat us down to wet And staring face to face, +Right many a nipperkin! I shot at him as he at me, + And killed him in his place. +I shot him dead because -- +Because he was my foe, He thought he'd 'list, perhaps, +Just so: my foe of course he was; Off-hand-like -- just as I -- +That's clear enough; although Was out of work -- had sold his traps + No other reason why. +Yes; quaint and curious war is! +You shoot a fellow down +You'd treat, if met where any bar is +Or help to half-a-crown." + -- Thomas Hardy +% +Had I been present at the creation, I would have given some +useful hints for the better ordering of the universe. + -- Alfonso the Wise + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to operating system initialization.] +% +Had this been an actual emergency, we would have +fled in terror, and you would not have been informed. +% +Hail to the sun god +He's such a fun god +Ra! Ra! Ra! +% +Hailing frequencies open, Captain. +% +Hain't we got all the fools in town on our side? And hain't that +a big enough majority in any town? + -- Mark Twain, "Huckleberry Finn" +% +Hale Mail Rule, The: + When you are ready to reply to a letter, you will lack at least + one of the following: + (a) A pen or pencil or typewriter. + (b) Stationery. + (c) Postage stamp. + (d) The letter you are answering. +% +Half a bee, philosophically, must ipso facto half not be. +But half the bee has got to be, vis-a-vis its entity. See? +But can a bee be said to be or not to be an entire bee, +When half the bee is not a bee, due to some ancient injury? +% +Half Moon tonight. (At least its better than no Moon at all.) +% +Half of being smart is knowing what you're dumb at. +% +Half the world is composed of people who have something to say and can't, +and the other half who have nothing to say and keep on saying it. +% +half-done, n: + This is the best way to eat a kosher dill -- when it's still crunchy, + light green, yet full of garlic flavor. The difference between this + and the typical soggy dark green cucumber corpse is like the + difference between life and death. + + You may find it difficult to find a good half-done kosher dill there + in Seattle, so what you should do is take a cab out to the airport, + fly to New York, take the JFK Express to Jay Street-Borough Hall, + transfer to an uptown F, get off at East Broadway, walk north on + Essex (along the park), make your first left onto Hester Street, walk + about fifteen steps, turn ninety degrees left, and stop. Say to the + man, "Let me have a nice half-done." Worth the trouble, wasn't it? + -- Arthur Naiman +% +Halley's Comet: It came, we saw, we drank. +% +Hall's Laws of Politics: + (1) The voters want fewer taxes and more spending. + (2) Citizens want honest politicians until they want + something fixed. + (3) Constituency drives out consistency (i.e., liberals defend + military spending, and conservatives social spending in + their own districts). +% +hand, n: + A singular instrument worn at the end of a human + arm and commonly thrust into somebody's pocket. +% +Handel's Proverb: + You can't produce a baby in one month by impregnating 9 women! +% +handshaking protocol, n: + A process employed by hostile hardware devices to initate a + terse but civil dialogue, which, in turn, is characterized by + occasional misunderstanding, sulking, and name-calling. +% +Hanging on in quiet desperation is the English way. + -- Pink Floyd +% +hangover, n: + The wrath of grapes. +% +Hanlon's Razor: + Never attribute to malice + that which is adequately explained by stupidity. +% +Hanson's Treatment of Time: + There are never enough hours in a day, + but always too many days before Saturday. +% +Happiness adds and multiplies as we divide it with others. +% +happiness, adv: + An agreeable sensation arising + from contemplating the misery of another. +% +happiness, adv: + Finding the owner of a lost bikini. +% +Happiness is a hard disk. +% +Happiness is a positive cash flow. +% +Happiness is good health and a bad memory. + -- Ingrid Bergman +% +Happiness is having a scratch for every itch. + -- Ogden Nash +% +Happiness is just an illusion, filled with sadness and confusion. +% +Happiness is the greatest good. +% +Happiness is twin floppies. +% +Happiness isn't having what you want, it's wanting what you have. +% +Happiness isn't something you experience; it's something you remember. + -- Oscar Levant +% +Happiness makes up in height what it lacks in length. +% +Happy feast of the pig! +% +Happy is the child whose father died rich. +% +hard, adj: + The quality of your own data; also how it is to believe those + of other people. +% +Hard reality has a way of cramping your style. + -- Daniel Dennett +% +Hard work may not kill you, but why take the chance? +% +Hard work never killed anybody, but why take a chance? + -- Charlie McCarthy +% +Hardware: + The parts of a computer system that can be kicked. +% +Hardware met Software on the road to Changtse. Software said: "You are Yin +and I am Yang. If we travel together we will become famous and earn vast +sums of money." And so the set forth together, thinking to conquer the world. + Presently they met Firmware, who was dressed in tattered rage and +hobbled along propped on a thorny stick. Firmware said to them: "The Tao +lies beyond Yin and Yang. It is silent and still as a pool of water. It does +not seek fame, therefore nobody knows its presence. It does not seek fortune, +for it is complete within itself. It exists beyond space and time." + Software and Hardware, ashamed, returned to their homes. +% +hardware, n: + The parts of a computer system that can be kicked. +% +Hark, Hark, the dogs do bark +The Duke is fond of kittens +He likes to take their insides out +And use them for his mittens + -- The Thirteen Clocks +% +Hark, the Herald Tribune sings, +Advertising wondrous things. + +Angels we have heard on High +Tell us to go out and Buy. +% +Harp not on that string. + -- William Shakespeare, "Henry VI" +% +Harriet's Dining Observation: + In every restaurant, the hardness of the butter pats + increases in direct proportion to the softness of the bread. +% +Harris had the beefstead pie between his knees, and was carving it, and George +and I were waiting with our plates ready. + "Have you got a spoon there?" says Harris; "I want a spoon to help +the gravy with." + The hamper was close behind us, and George and I both turned round to +reach one out. We were not five seconds getting it. When we looked round +again, Harris and the pie were gone! + It was a wide, open field. There was not a tree or a bit of hedge for +hundreds of yards. He could not have tumbled into the river, because we were +on the water side of him, and he would have had to climb over us to do it. + George and I gazed all about. Then we gazed at each other. + "Has he been snatched up to heaven?" I queried. + "They'd hardly have taken the pie, too," said George. + There seemed weight in this objection, and we discarded the heavenly +theory. + "I suppose the truth of the matter is," suggested George, descending +to the commonplace and practicable, "that there has been an earthquake." + And then he added, with a touch of sadness in his voice: "I wish he +hadn't been carving that pie." + -- Jerome K. Jerome, "Three Men In A Boat" +% +Harrisberger's Fourth Law of the Lab: + Experience is directly proportional to the amount of + equipment ruined. +% +Harrison's Postulate: +For every action, there is an equal and opposite criticism. +% +Harris's Lament: + All the good ones are taken. +% +Harry and Fred were playing their Sunday afternoon golf game. The game, as +always, was close. They were at the treacherous 12th hole: a par three that +required a perfect first shot over a large pond and onto a tiny green. There +were sand traps on the other three sides of the green, and a small road 50 +feet beyond it. Harry went first. He carefully addressed the ball and hit +a good shot that landed just on the edge of the green, narrowly avoiding the +pond. Just as Fred addressed his ball, he looked up and noticed a funeral +procession along the road just behind the green. Fred put down his club, +took his hat off, and waited for the entire procession to pass. As soon as +the cars were gone he put his hat back on and started addressing the ball +again. Harry said, "Damn, Fred. That was a really nice thing you did, +waiting for the funeral to pass like that." + Fred finished his swing, making perfect contact with the ball. It +was an excellent shot that landed 7 feet from the hole. "It's the least I +could do," he said, smiling at his shot, "We were married for 22 years, +you know." +% +Harry is heavily into camping, and every year in the late fall, he makes us +all go to Assateague, which is an island on the Atlantic Ocean famous for +its wild horses. I realize that the concept of wild horses probably stirs +romantic notions in many of you, but this is because you have never met any +wild horses in person. In person, they are like enormous hooved rats. They +amble up to your camp site, and their attitude is: "We're wild horses. +We're going to eat your food, knock down your tent and poop on your shoes. +We're protected by federal law, just like Richard Nixon." + -- Dave Barry +% +Harry's bar has a new cocktail. It's called MRS punch. They make it with +milk, rum and sugar and it's wonderful. The milk is for vitality and the +sugar is for pep. They put in the rum so that people will know what to do +with all that pep and vitality. +% +Hartley's First Law: + You can lead a horse to water, but if you can + get him to float on his back, you've got something. +% +Hartley's Second Law: + Never sleep with anyone crazier than yourself. +% +HARTLEY'S SECOND LAW: + Never sleep with anyone crazier than yourself. + +My corollary: + The completely psychotic have all the fun. +% +Harvard Law: + Under the most rigorously controlled conditions of pressure, + temperature, volume, humidity, and other variables, the + organism will do as it damn well pleases. +% +HARVARD: +Quarterback: + Sophomore Dave Strewzinski... likes to pass. And pass he does, with +a record 86 attempts (three completions) in 87 plays.... Though Strewzinksi +has so far failed to score any points for the Crimson, his jackrabbit speed +has made him the least sacked quarterback in the Ivy league. +Wide Receiver: + The other directional signal in Harvard's offensive machine is senior +Phil Yip, who is very fast. Yip is so fast that he has set a record for being +fast. Expect to see Yip elude all pursuers and make it into the endzone five +or six times, his average for a game. Yip, nicknamed "fumblefingers" and "you +asshole" by his teammates, hopes to carry the ball with him at least one of +those times. +YALE: +Defense: + On the defensive side, Yale boasts the stingiest line in the Ivies. +Primarily responsible are seniors Izzy "Shylock" Bloomberg and Myron +Finklestein, the tightest ends in recent Eli history. Also contributing to +the powerful defense is junior tackle Angus MacWhirter, a Scotsman who rounds +out the offensive ethnic joke. Look for these three to shut down the opening +coin toss. + -- Harvard Lampoon 1988 Program Parody, distributed at The Game +% +Has anyone ever tasted an "end"? Are they really bitter? +% +"Has anyone had problems with the computer accounts?" +"Yes; I don't have one." +"Okay, you can send mail to one of the tutors..." + -- E. D'Azevedo, CS, University of Washington +% +Has anyone realized that the purpose of the fortune cookie program is to +defuse project tensions? When did you ever see a cheerful cookie, a +non-cynical, or even an informative cookie? + Perhaps inadvertently, we have a channel for our aggressions. This +still begs the question of whether the cookie releases the pressure or only +serves to blunt the warning signs. + + Long live the revolution! + Have a nice day. +% +Has everyone noticed that all the letters of the word "database" are typed +with the left hand? Now the layout of the QWERTYUIOP typewriter keyboard +was designed, among other things, to facilitate the even use of both hands. +It follows, therefore, that writing about databases is not only unnatural, +but a lot harder than it appears. +% +Has the great art and mystery of politics no apparent utility? Does it +appear to be unqualifiedly ratty, raffish, sordid, obscene and low down, +and its salient virtuosi a gang of umitigated scoundrels? Then let us +not forget its high capacity to soothe and tickel the midriff, its +incomparable services as a maker of entertainment. + -- H.L. Mencken, "A Carnival of Buncombe" +% +Haste makes waste. + -- John Heywood +% +Hatcheck girl: + "Goodness! What lovely diamonds!" +Mae West: + "Goodness had nothin' to do with it, dearie." + -- "Night After Night", 1932 +% +Hate is like acid. It can damage the vessel in which it is +stored as well as destroy the object on which it is poured. +% +Hate the sin and love the sinner. + -- Mahatma Gandhi +% +Hating the Yankees is as American as pizza pie, +unwed mothers and cheating on your income tax. + -- Mike Royko +% +hatred, n: + A sentiment appropriate to the occasion of another's superiority. +% +Have a coke and a smile! + -- John DeLorean +% +Have a nice day! +% +Have a nice diurnal anomaly. +% +Have a place for everything and keep the thing +somewhere else; this is not advice, it is merely custom. + -- Mark Twain +% +Have a taco. + -- P.S. Beagle +% +Have at you! +% +Have no friends not equal to yourself. + -- Confucius +% +Have the courage to take your own thoughts +seriously, for they will shape you. + -- Albert Einstein +% +Have you ever felt like a wounded cow +halfway between an oven and a pasture? +walking in a trance toward a pregnant + seventeen-year-old housewife's + two-day-old cookbook? + -- Richard Brautigan +% +Have you ever met a man of good character where women are concerned? + +Well, I haven't. I find that whenever a woman becomes friends with me, +she becomes jealous, exacting, suspicious, and a damn nuisance; and +whenever I become friends with a woman, I become selfish and tyrannical. +So here I am, Pickering, a confirmed old bachelor and very likely to +remain so. + -- Henry Higgins, "My Fair Lady" +% +Have you ever noticed that the people who are always trying +to tell you `there's a time for work and a time for play' +never find the time for play? +% +Have you flogged your kid today? +% +Have you locked your file cabinet? +% +Have you noticed that all you need to grow healthy, +vigorous grass is a crack in your sidewalk? +% +Have you seen the latest Japanese camera? Apparently it is so fast it can +photograph an American with his mouth shut! +% +Have you seen the old man in the closed down market, +Kicking up the papers in his worn out shoes? +In his eyes you see no pride, hands hang loosely at his side +Yesterdays papers, telling yesterdays news. + +How can you tell me you're lonely, +And say for you the sun don't shine? +Let me take you by the hand +Lead you through the streets of London +I'll show you something to make you change your mind... + +Have you seen the old man outside the sea-mans mission +Memories fading like the metal ribbons that he wears. +In our winter city the rain cries a little pity +For one more forgotten hero and a world that doesn't care... +% +Have you seen the well-to-do, up and down Park Avenue? +On that famous thoroughfare, with their noses in the air, +High hats and Arrow collars, white spats and lots of dollars, +Spending every dime, for a wonderful time... +If you're blue and you don't know where to go to, +Why don't you go where fashion sits, +... +Dressed up like a million dollar trooper, +Trying hard to look like Gary Cooper, (super dooper) +Come, let's mix where Rockefeller's walk with sticks, +Or umberellas, in their mitts, +Puttin' on the Ritz. +... +If you're blue and you don't know where to go to, +Why don't you go where fashion sits, +Puttin' on the Ritz. +Puttin' on the Ritz. +Puttin' on the Ritz. +Puttin' on the Ritz. +% +Having a baby isn't so bad. If you're a female Emperor penguin +in the Antarctic. She lays the egg, rolls it over to the father, +then takes off for warmer weather where she eats and eats and +eats. For two months, the father stands stiff, without food, +blind in the 24-hour dark, balancing the egg on his feet. After +the little penguin is hatched, the mother sees fit to come home. + -- L.M. Boyd, "Austin American-Statesman" +% +Having a wonderful wine, wish you were beer. +% +Having children is like having a bowling alley installed in your brain. + -- Martin Mull +% +Having no talent is no longer enough. + -- Gore Vidal +% +Having nothing, nothing can he lose. + -- William Shakespeare, "Henry VI" +% +Having the fewest wants, I am nearest to the gods. + -- Socrates +% +Having wandered helplessly into a blinding snowstorm Sam was greatly +relieved to see a sturdy Saint Bernard dog bounding toward him with +the traditional keg of brandy strapped to his collar. + "At last," cried Sam, "man's best friend -- and a great big +dog, too!" +% +"Hawk, we're going to die." +"Never say die... and certainly never say we." + -- M*A*S*H +% +Hawkeye's Conclusion: + It's not easy to play the clown + when you've got to run the whole circus. +% +He: Do you like Kipling? +She: Oh, you naughty boy, I don't know! I've never kippled! +% +He: "If I made love to you, would you yell?" +She: "What do you want me to yell?" + -- Benny Hill +% +HE: Let's end it all, bequeathin' our brains to science. +SHE: What?!? Science got enough trouble with their OWN brains. + -- Walt Kelley +% +He asked me if I knew what time it was -- I said yes, but not right now. + -- S. Wright +% +He didn't run for reelection. "Politics brings you into contact with all +the people you'd give anything to avoid," he said. "I'm staying home." + -- Garrison Keillor, "Lake Wobegone Days" +% +He does it with a better grace, but I do it more natural. + -- William Shakespeare, "Twelfth-Night" +% +He draweth out the thread of his verbosity +finer than the staple of his argument. + -- William Shakespeare, "Love's Labour's Lost" +% +He gave her a look that you could have poured on a waffle. +% +He had occasional flashes of silence that made his conversation +perfectly delightful. + -- Sydney Smith +% +He had that rare weird electricity about him -- that extremely wild +and heavy presence that you only see in a person who has abandoned +all hope of ever behaving "normally." + -- Hunter S. Thompson, "Fear and Loathing '72" +% +He hadn't a single redeeming vice. + -- Oscar Wilde +% +He has been known by many names; the Prince of Lies, the Director, Lucifer, +Belial, and once, at a party, some obnoxious drunk kept calling him "Dude". + -- Stig's Inferno +% +He has not acquired a fortune; the fortune has acquired him. + -- Bion +% +He hath eaten me out of house and home. + -- William Shakespeare, "Henry IV" +% +He heard the snick of a rifle bolt and found himself peering down the muzzle +of a weapon held by a drunken liquor store owner -- "There's a conflict," he +said, "there's a conflict between land and people... the people have to go..." + -- Stan Ridgeway, "Call of the West" +% +He is a man capable of turning any colour into grey. + -- John LeCarre +% +He is considered a most graceful speaker +who can say nothing in the most words. +% +He is no lawyer who cannot take two sides. +% +He is not only dull himself, he is the cause of dullness in others. + -- Samuel Johnson +% +He is now rising from affluence to poverty. + -- Mark Twain +% +He is the best of men who dislikes power. + -- Mohammed +% +He is truly wise who gains wisdom from another's mishap. +% +He jests at scars who never felt a wound. + -- Shakespeare, "Romeo and Juliet, II. 2" +% +He keeps differentiating, flying off on a tangent. +% +He knew the tavernes well in every toun. + -- Geoffrey Chaucer +% +He knows not how to know who knows not also how to unknow. + -- Sir Richard Burton +% +He laughs at every joke three times... once when it's told, +once when it's explained, and once when he understands it. +% +He looked at me as if I were a side dish he hadn't ordered. + -- Ring Lardner +% +He missed an invaluable opportunity to hold his tongue. + -- Andrew Lang +% +He only knew his iron spine held up the sky -- he didn't realize his brain +had fallen to the ground. + -- The Book of Serenity +% +(He opens a tolm and begins.) + + It says: "In the beginning was the Word." + Already I am stopped. It seems absurd. + The Word does not deserve the highest prize, + I must translate it otherwise. + If I am well inspired and not blind. + It says: "In the beginning was the Mind." + Ponder that first line, wait and see, + Lest you should write too hastily. + Is the Mind the all-creating source? + It ought to say: "In the beginning there was Force." + Yet something warns me as I grasp the pen, + That my translation must be changed again. + The spirit helps me. Now it is exact. + I write: "In the beginning was the Act." + -- Goethe's Faust +% +[He] played the King as if afraid someone else might play the ace. + -- Unattributed review of a performance of King Lear. + +My tears stuck in their little ducts, refusing to be jerked. + -- Peter Stack, movie review + +His performance is so wooden you want to spray him with Liquid Pledge. + -- John Stark, movie review +% +He played the king as if afraid someone else would play the ace. + -- John Mason Brown, drama critic +% +He tells you when you've got on too much lipstick, +And helps you with your girdle when your hips stick. + -- O. Nash, on the perfect husband +% +He that breaks a thing to find out what it is has left the path of wisdom. + -- J.R.R. Tolkien +% +He that bringeth a present, findeth the door open. + -- Scottish proverb. +% +He that composes himself is wiser than he that composes a book. + -- B. Franklin +% +He that is giddy thinks the world turns round. + -- William Shakespeare, "The Taming of the Shrew" +% +He that teaches himself has a fool for a master. + -- Benjamin Franklin +% +He that would govern others, first should be the master of himself. +% +He thinks by infection, catching an opinion like a cold. +% +He thinks the Gettysburg Address is where Lincoln lived. + -- Wanda, "A Fish Called Wanda" +% +He thought he saw an albatross +That fluttered 'round the lamp. +He looked again and saw it was +A penny postage stamp. +"You'd best be getting home," he said, +"The nights are rather damp." +% +He thought of Musashi, the Sword Saint, standing in his garden more than +three hundred years ago. "What is the 'Body of a rock'?" he was asked. +In answer, Musashi summoned a pupil of his and bid him kill himself by +slashing his abdomen with a knife. Just as the pupil was about to comply, +the Master stayed his hand, saying, "That is the 'Body of a rock'." + -- Eric Van Lustbader +% +[He] took me into his library and showed me his books, of which he had +a complete set. + -- Ring Lardner +% +He walks as if balancing the family tree on his nose. +% +He was a cowboy, mister, and he loved the land. He loved it so much he +made a woman out of dirt and married her. But when he kissed her, she +disintegrated. Later, at the funeral, when the preacher said, "Dust to +dust," some people laughed, and the cowboy shot them. At his hanging, he +told the others, "I'll be waiting for you in heaven -- with a gun." + -- Jack Handey +% +He was part of my dream, of course -- +but then I was part of his dream too. + -- Lewis Carroll +% +He was so narrow-minded he could see through a keyhole with both eyes. +% +He was the sort of person whose personality +would be greatly improved by a terminal illness. +% +He who always plows a straight furrow is in a rut. +% +He who attacks the fundamentals of the American +broadcasting industry attacks democracy itself. + -- William S. Paley, chairman of CBS +% +He who despairs over an event is a coward, but he who holds hopes for +the human condition is a fool. + -- Albert Camus +% +He who despises himself nevertheless esteems himself as a self-despiser. + -- Friedrich Nietzsche +% +He who enters his wife's dressing room is a philosopher or a fool. + -- Honore de Balzac +% +He who fears the unknown may one day flee from his own backside. + -- Sinbad +% +He who fights and runs away lives to fight another day. +% +He who foresees calamities suffers them twice over. +% +He who has a shady past knows that nice guys finish last. +% +He who has but four and spends five has no need for a wallet. +% +He who has imagination without learning has wings but no feet. +% +He who has the courage to laugh is almost as much +a master of the world as he who is ready to die. + -- Giacomo Leopardi +% +He who hates vices hates mankind. +% +He who hesitates is a damned fool. + -- Mae West +% +He who hesitates is last. +% +He who hesitates is sometimes saved. +% +He who hoots with owls by night cannot soar with eagles by day. +% +He who invents adages for others to peruse +takes along rowboat when going on cruise. +% +He who is content with his lot probably has a lot. +% +He who is flogged by fate and laughs the louder is a masochist. +% +He who is good for making excuses is seldom good for anything else. +% +He who is in love with himself has at least this advantage -- he won't +encounter many rivals. + -- Georg Lichtenberg, "Aphorisms" +% +He who is intoxicated with wine will be sober again in the course of the +night, but he who is intoxicated by the cupbearer will not recover his +senses until the day of judgement. + -- Saadi +% +He who is known as an early riser need not get up until noon. +% +He who knows, does not speak. He who speaks, does not know. + -- Lao Tsu +% +He who knows not and knows that he knows not is ignorant. Teach him. +He who knows not and knows not that he knows not is a fool. Shun him. +He who knows and knows not that he knows is asleep. Wake him. +% +He who knows nothing, knows nothing. +But he who knows he knows nothing knows something. +And he who knows someone whose friend's wife's brother knows nothing, + he knows something. Or something like that. +% +He who knows others is wise. +He who knows himself is enlightened. + -- Lao Tsu +% +He who knows that enough is enough will always have enough. + -- Lao Tsu +% +He who laughs has not yet heard the bad news. + -- Bertolt Brecht +% +He who laughs last -- missed the punch line. +% +He who laughs last didn't get the joke. +% +He who laughs last hasn't been told the terrible truth. +% +He who laughs last is probably your boss. +% +He who laughs last probably doesn't understand the joke. +% +He who laughs last usually had to have joke explained. +% +He who laughs, lasts. +% +He who lives without folly is less wise than he believes. +% +He who loses, wins the race, +And parallel lines meet in space. + -- John Boyd, "Last Starship from Earth" +% +He who makes a beast of himself gets rid of the pain of being a man. + -- Dr. Johnson +% +He who minds his own business is never unemployed. +% +He who renders warfare fatal to all engaged in it will +be the greatest benefactor the world has yet known. + -- Sir Richard Burton +% +He who slings mud generally loses ground. + -- Adlai Stevenson +% +He who slings mud loses ground. + -- Chinese Proverb +% +He who spends a storm beneath a tree, takes life with a grain of TNT. +% +He who steps on others to reach the top has good balance. +% +He who walks on burning coals is sure to get burned. + -- Sinbad +% +He who wonders discovers that this in itself is wonder. + -- M.C. Escher +% +He who writes with no misspelled words has prevented a first suspicion +on the limits of his scholarship or, in the social world, of his general +education and culture. + -- Julia Norton McCorkle +% +HEAD CRASH!! FILES LOST!! +Details at 11. +% +Health is merely the slowest possible rate at which one can die. +% +Health nuts are going to feel stupid someday, +lying in hospitals dying of nothing. + -- Redd Foxx +% +Hear about... + the absent minded sculptor who put his model to bed and + started chiseling on his wife? +% +Hear about... + the fellow who, upon being told by his shrewish wife that she + would dance on his grave, promptly provided for a burial at sea? +% +Hear about... + the female activist who went berserk during a demonstration and + attacked a karate-trained cop with a deadly weapon. She ended + up a chopped libber? +% +Hear about... + the guru who refused Novacain while having a tooth pulled because + he wanted to transcend dental medication? +% +Hear about... + the pessimistic historian whose latest book has chapter headings + that read "World War One","World War Two" and "Watch This + Space"? +% +Hear about... + the wild office Christmas party in a completely automated + company -- the photocopier got drunk and tried to undo the + typewriter's ribbon? +% +Hear about the Californian terrorist that tried to blow up a bus? +Burned his lips on the exhaust pipe. +% +Hear me, my chiefs, I am tired; my heart is sick and sad. +From where the sun now stands I Will Fight No More Forever. + -- Chief Joseph of the Nez Perce +% +Heard that the next Space Shuttle is supposed to carry several +Guernsey cows? It's gonna be the herd shot 'round the world. +% +Hearts will never be practical until they can be made unbreakable. + -- The Wizard of Oz +% +Heaven and earth were created all together in the same instant, +on October 23rd, 4004 B.C. at nine o'clock in the morning. + -- Dr. John Lightfoot, + Vice-chancellor of Cambridge University +% +heaven, n: + A place where the wicked cease from troubling you with talk of + their personal affairs, and the good listen with attention while + you expound your own. +% +Heavier than air flying machines are impossible. + -- Lord Kelvin, President, Royal Society, c. 1895 +% +heavy, adj: + Seduced by the chocolate side of the force. +% +Hedonist for hire... no job too easy! +% +Heisenberg may have been here. +% +Hell hath no fury like a bureaucrat scorned. + -- Milton Friedman +% +Hell hath no limits, nor is circumscribed in one self place, +for where we are is Hell, and where Hell is there must we ever be. + -- Christopher Marlowe, "Doctor Faustus" +% +Hell, if you don't try to remake someone, +how are they supposed to know you care? +% +Hell is empty and all the devils are here. + -- Wm. Shakespeare, "The Tempest" +% +hell, n: + Truth seen too late. +% +Heller's Law: + The first myth of management is that it exists. +% +Heller's Law: + The first myth of management is that it exists. + +Johnson's Corollary: + Nobody really knows what is going on anywhere within the + organization. +% +Hello. Jim Rockford's machine, this is Larry Doheny's machine. Will you +please have your master call my master at his convenience? Thank you. +Thank you. Thank you. Thank you. Thank you. Thank you. +% +Hello, friend! You say things aren't going too well? You say you have a +date with your favorite girl when it starts raining so hard you can't see? +And you're out on some back road when the car stalls and won't start, so +you set off accross the fields, and 50 feet of barbed wire hits you right +smack in the puss? And then there's a big explosion behind you and you +don't hear your girl screaming any more? + + Well, take a walk in the sun and hold your head up high! + You'll show the world; you'll tell them where to get off! + You'll never give up, never give up, never give up -- that ship! +% +"Hello," he lied. + -- Don Carpenter, quoting a Hollywood agent +% +Hell's broken loose. + -- Robert Greene +% +Help! I'm trapped in a Chinese computer factory! +% +Help! I'm trapped in a PDP 11/70! +% +HELP! Man trapped in a human body! +% +HELP! MY TYPEWRITER IS BROKEN! + -- E. E. CUMMINGS +% +Help a swallow land at Capistrano. +% +HELP!!!! I'm being held prisoner in /usr/games/lib! +% +Help stamp out and abolish redundancy! +% +Help stamp out Mickey-Mouse computer interfaces -- Menus are for Restaurants! +% +Hempstone's Question: + If you have to travel on the Titanic, why not go first class? +% +Her days were spent in a kind of slow bustle; always busy without +getting on, always behind hand and lamenting it, without altering +her ways; wishing to be an economist, without contrivance or +regularity; dissatisfied with her servants, without skill to make +them better, and whether helping, or reprimanding, or indulging +them, without any power of engaging their respect. + -- J. Austen +% +Her locks an ancient lady gave +Her loving husband's life to save; +And men -- they honored so the dame -- +Upon some stars bestowed her name. + +But to our modern married fair, +Who'd give their lords to save their hair, +No stellar recognition's given. +There are not stars enough in heaven. +% +Here about the young Chinese woman who just won the lottery? +One fortunate cookie... +% +Here at the Phone Company, we serve all kinds of people; +from President's and Kings to the scum of the earth... +% +Here comes the orator, with his flood of words and his drop of reason. +% +Here I am again right where I know I shouldn't be +I've been caught inside this trap too many times +I must've walked these steps and said these words a + thousand times before +It seems like I know everybody's lines. + -- David Bromberg, "How Late'll You Play 'Til?" +% +Here I am, fifty-eight, and I still don't know what I want to be when +I grow up. + -- Peter Drucker +% +Here I sit, broken-hearted, +All logged in, but work unstarted. +First net.this and net.that, +And a hot buttered bun for net.fat. + +The boss comes by, and I play the game, +Then I turn back to net.flame. +Is there a cure (I need your views), +For someone trapped in net.news? + +I need your help, I say 'tween sobs, +'Cause I'll soon be listed in net.jobs. +% +Here in my heart, I am Helen; + I'm Aspasia and Hero, at least. +I'm Judith, and Jael, and Madame de Stael; + I'm Salome, moon of the East. + +Here in my soul I am Sappho; + Lady Hamilton am I, as well. +In me Recamier vies with Kitty O'Shea, + With Dido, and Eve, and poor Nell. + +I'm all of the glamorous ladies + At whose beckoning history shook. +But you are a man, and see only my pan, + So I stay at home with a book. + -- Dorothy Parker +% +Here is a simple experiment that will teach you an important electrical +lesson: On a cool, dry day, scuff your feet along a carpet, then reach your +hand into a friend's mouth and touch one of his dental fillings. Did you +notice how your friend twitched violently and cried out in pain? This +teaches us that electricity can be a very powerful force, but we must never +use it to hurt others unless we need to learn an important electrical lesson. + It also teaches us how an electrical circuit works. When you scuffed +your feet, you picked up batches of "electrons", which are very small objects +that carpet manufacturers weave into carpets so they will attract dirt. +The electrons travel through your bloodstream and collect in your finger, +where they form a spark that leaps to your friend's filling, then travels +down to his feet and back into the carpet, thus completing the circuit. + -- Dave Barry +% +Here is a test to find whether your mission on earth is finished: +if you're alive, it isn't. +% +Here is the fact of the week, maybe even the fact of the month. According +to probably reliable sources, the Coca-Cola people are experiencing severe +marketing anxiety in China. + +The words "Coca-Cola" translate into Chinese as either (depending on the +inflection) "wax-fattened mare" or "bite the wax tadpole". + +Bite the wax tadpole. There is a sort of rough justice, is there not? + +The trouble with this fact, as lovely as it is, is that it's hard to get +a whole column out of it. I'd like to teach the world to bite a wax +tadpole. Coke -- it's the real wax-fattened mare. Not bad, but broad +satiric vistas do not open up. + -- John Carrol, San Francisco Chronicle +% +HERE LIES LESTER MOORE +SHOT 4 TIMES WITH A .44 +NO LES +NO MOORE + -- tombstone, in Tombstone, AZ +% +Here lies my wife: her let her lie! +Now she's at rest, and so am I. + -- John Dryden, epitaph intended for his wife +% +Here there by tygers. +% +HERE'S A GOOD JOKE to do during an earthquake. Straddle a big crack in +the earth and if it opens wider, go, "Whoa! Whoa!" and flap your arms +around as if you're going to fall. + -- Jack Handley, The New Mexican, 1988. +% +Here's something to think about: How come you never see a headline like +`Psychic Wins Lottery.' + -- Jay Leno +% +Here's the holiday schedule for Monday's observation of Martin Luther +King Jr.'s birthday, when the following will be closed: + + * Governmental offices + * Post offices + * Libraries + * Schools + * Banks + * Parts of Palm Beach + +and the mind of Senator Jesse Helms of North Carolina. + -- Dennis Miller, "Saturday Night Live" +% +Herth's Law: + He who turns the other cheek too far gets it in the neck. +% +He's been like a father to me, +He's the only DJ you can get after three, +I'm an all-night musician in a rock and roll band, +And why he don't like me I don't understand. + -- The Byrds +% +He's dead, Jim. +% +He's got the heart of a little child, +and he keeps it in a jar on his desk. +% +He's just a politician trying to save both his faces... +% +He's just like Capistrano, always ready for a few swallows. +% +He's like a function -- he returns a value, in the form of +his opinion. It's up to you to cast it into a void or not. + -- Phil Lapsley +% +He's the kind of guy, that, well, if you were ever in a jam he'd +be there... with two slices of bread and some chunky peanut butter. +% +Heuristics are bug ridden by definition. +If they didn't have bugs, then they'd be algorithms. +% +Hewett's Observation: + The rudeness of a bureaucrat is inversely proportional to his or + her position in the governmental hierarchy and to the number of + peers similarly engaged. +% +Hey, diddle, diddle the overflow pdl +To get a little more stack; +If that's not enough then you lose it all +And have to pop all the way back. +% +Hey, Jim, it's me, Susie Lillis from the laundromat. You said you were +gonna call and it's been two weeks. What's wrong, you lose my number? +% +HEY KIDS! ANN LANDERS SAYS: + Be sure it's true, when you say "I love you". It's a sin to + tell a lie. Millions of hearts have been broken, just because + these words were spoken. +% +"Hey, Sam, how about a loan?" +"Whattaya need?" +"Oh, about $500." +"Whattaya got for collateral?" +"Whattaya need?" +"How about an eye?" + -- Sam Giancana +% +Hey, what do you expect from a culture that +*drives* on *parkways* and *parks* on *driveways*? + -- Gallagher +% +Hi! I'm Larry. This is my brother Bob, and this is my other brother +Jimbo. We thought you might like to know the names of your assailants. +% +Hi! You have reached 962-0129. None of us are here to answer the phone and +the cat doesn't have opposing thumbs, so his messages are illegible. Please +leave your name and message after the beep... +% +Hi! How are things going? + (just fine, thank you...) +Great! Say, could I bother you for a question? + (you just asked one...) +Well, how about one more? + (one more than the first one?) +Yes. + (you already asked that...) +[at this point, Alphonso gets smart... ] +May I ask two questions, sir? + (no.) +May I ask ONE then? + (nope...) +Then may I ask, sir, how I may ask you a question? + (yes, you may.) +Sir, how may I ask you a question? + (you must ask for retroactive question asking privileges for + the number of questions you have asked, then ask for that + number plus two, one for the current question, and one for the + next one) +Sir, may I ask nine questions? + (go right ahead...) +% +Hi, I'm Preston A. Mantis, president of Consumers Retail Law Outlet. As +you can see by my suit and the fact that I have all these books of equal +height on the shelves behind me, I am a trained legal attorney. Do you have +a car or a job? Do you ever walk around? If so, you probably have the +makings of an excellent legal case. Although of course every case is +different, I would definitely say that based on my experience and training, +there's no reason why you shouldn't come out of this thing with at least a +cabin cruiser. + +Remember, at the Preston A. Mantis Consumers Retail Law Outlet, our +motto is: 'It is very difficult to disprove certain kinds of pain.' + -- Dave Barry +% +Hi Jimbo. Dennis. Really appreciate the help on the income tax. +You wanna help on the audit now? +% +Hi there! This is just a note from me, to you, to tell you, the person +reading this note, that I can't think up any more famous quotes, jokes, +nor bizarre stories, so you may as well go home. +% +Hickery Dickery Dock, +The mice ran up the clock, +The clock struck one, +The others escaped with minor injuries. +% +Hideously disfigured by an ancient Indian curse? + + WE CAN HELP! + +Call (511) 338-0959 for an immediate appointment. +% +Hier liegt ein Mann ganz ohnegleich; +Im Leibe dick, an Suenden reich. +Wir haben ihn ins Grab gesteckt, Here lies a man with sundry flaws +Weil es uns dunkt er sei verreckt. And numerous Sins upon his head; + We buried him today because + As far as we can tell, he's dead. + + -- PDQ Bach's epitaph, as requested by his cousin Betty + Sue Bach and written by the local doggeral catcher; + "The Definitive Biography of PDQ Bach", Peter Schickele +% +Higgeldy Piggeldy, +Hamlet of Elsinore +Ruffled the critics by +Dropping this bomb: +"Phooey on Freud and his +Psychoanalysis, +Oedipus, Shmoedipus, +I just loved Mom." +% +Higgins: Doolittle, you're either an honest man or a rogue. +Doolittle: A little of both, Guv'nor. Like the rest of us, a + little of both. + -- Shaw, "Pygmalion" +% +High heels are a device invented by a woman +who was tired of being kissed on the forehead. +% +High Priest: Armaments Chapter One, verses nine through twenty-seven: +Bro. Maynard: And Saint Attila raised the Holy Hand Grenade up on high + saying, "Oh Lord, Bless us this Holy Hand Grenade, and with it + smash our enemies to tiny bits." And the Lord did grin, and the + people did feast upon the lambs, and stoats, and orangutans, and + breakfast cereals, and lima bean- +High Priest: Skip a bit, brother. +Bro. Maynard: And then the Lord spake, saying: "First, shalt thou take + out the holy pin. Then shalt thou count to three. No more, no less. + *Three* shall be the number of the counting, and the number of the + counting shall be three. *Four* shalt thou not count, and neither + count thou two, excepting that thou then goest on to three. Five is + RIGHT OUT. Once the number three, being the third number be reached, + then lobbest thou thy Holy Hand Grenade towards thy foe, who, being + naughty in my sight, shall snuff it. Amen. +All: Amen. + -- Monty Python, "The Holy Hand Grenade" +% +HIGH TECHNOLOGY: + A California innovation composed + of equal parts of silicon and marijuana. +% +Higher education helps your earning capacity. Ask any college professor. +% +Hildebrant's Principle: + If you don't know where you are going, + any road will get you there. +% +Him: "Your skin is so soft. Are you a model?" +Her: "No," [blush] "I'm a cosmetologist." +Him: "Really? That's incredible... + It must be very tough to handle weightlessness." + -- "The Jerk" +% +Hindsight is always 20:20. + -- Billy Wilder +% +Hindsight is an exact science. +% +hippogriff, n: + An animal (now extinct) which was half horse and half griffin. + The griffin was itself a compound creature, half lion and half + eagle. The hippogriff was actually, therefore, only one quarter + eagle, which is two dollars and fifty cents in gold. + The study of zoology is full of surprises. +% +Hire the morally handicapped. +% +His designs were strictly honourable, as the phrase is: that is, to rob +a lady of her fortune by way of marriage. + -- Henry Fielding, "Tom Jones" +% +...his disciples lead him in; he just does the rest. + -- Tommy +% +"His eyes were cold. As cold as the bitter winter snow that was falling +outside. Yes, cold and therefore difficult to chew..." +% +His followers called him Mahasamatman and said he was a god. He preferred +to drop the Maha- and the -atman, however, and called himself Sam. He never +claimed to be a god. But then, he never claimed not to be a god. Circum- +stances being what they were, neither admission could be of any benefit. +Silence, though, could. It was in the days of the rains that their prayers +went up, not from the fingering of knotted prayer cords or the spinning of +prayer wheels, but from the great pray-machine in the monastery of Ratri, +goddess of the Night. The high-frequency prayers were directed upward through +the atmosphere and out beyond it, passing into that golden cloud called the +Bridge of the Gods, which circles the entire world, is seen as a bronze +rainbow at night and is the place where the red sun becomes orange at midday. +Some of the monks doubted the orthodoxy of this prayer technique... + -- Roger Zelazny, "Lord of Light" +% +His heart was yours from the first moment that you met. +% +His ideas of first-aid stopped short of squirting soda water. + -- P.G. Wodehouse +% +His life was formal; his actions seemed ruled with a ruler. +% +His mind is like a steel trap: full of mice. + -- Foghorn Leghorn +% +His super power is to turn into a scotch terrier. +% +Historians have now definitely established that Juan Cabrillo, discoverer +of California, was not looking for Kansas, thus setting a precedent that +continues to this day. + -- Wayne Shannon +% +History books which contain no lies are extremely dull. +% +History has much to say on following the proper procedures. From a history +of the Mexican revolution: + + "Hildago was later defeated at Guadalajara. The rebel army was +captured on its way through the mountains. All were courtmartialed and +shot, except Hildago, because he was a priest. He was handed over to +the bishop of Durango who excommunicated him and returned him to the +army where he was then executed." +% +History has the relation to truth that theology has to religion -- +i.e. none to speak of. + -- Lazarus Long +% +History is curious stuff + You'd think by now we had enough +Yet the fact remains I fear + They make more of it every year. +% +History is nothing but a collection of fables and useless trifles, +cluttered up with a mass of unnecessary figures and proper names. + -- Leo Tolstoy +% +History is on our side (as long as we can control the historians). +% +History is the version of past events that people have decided to agree on. + -- Napoleon Bonaparte, "Maxims" +% +History repeats itself. That's one thing wrong with history. +% +History repeats itself -- the first time as a tragi-comedy, the second +time as bedroom farce. +% +History repeats itself only if one does not listen the first time. +% +History shows that the human mind, fed by constant accessions of knowledge, +periodically grows too large for its theoretical coverings, and bursts them +asunder to appear in new habiliments, as the feeding and growing grub, at +intervals, casts its too narrow skin and assumes another... Truly the imago +state of Man seems to be terribly distant, but every moult is a step gained. + -- Charles Darwin, from "Origin of the Species" +% +Hit them biscuits with another touch of gravy, +Burn that sausage just a match or two more done. +Pour my black old coffee longer, +While that smell is gettin' stronger +A semi-meal ain't nuthin' much to want. + +Loan me ten, I got a feelin' it'll save me, +With an ornery soul who don't shoot pool for fun, +If that coat'll fit you're wearin', +The Lord'll bless your sharin' +A semi-friend ain't nuthin' much to want. + +And let me halfway fall in love, +For part of a lonely night, +With a semi-pretty woman in my arms. +Yes, I could halfway fall in deep-- +Into a snugglin', lovin' heap, +With a semi-pretty woman in my arms. + -- Elroy Blunt +% +Hitchcock's Staple Principle: + The stapler runs out of staples + only while you are trying to staple something. +% +H.L. Mencken suffers from the hallucination that he is H.L. Mencken. +There is no cure for a disease of that magnitude. + -- Maxwell Bodenhein +% +H.L. Mencken suffers from the hallucination that he is H.L. +Mencken -- there is no cure for a disease of that magnitude. + -- Maxwell Bodenheim +% +H.L. Mencken's Law: + Those who can -- do. + Those who can't -- teach. + +Martin's Extension: + Those who cannot teach -- administrate. + + [No, those who can't teach, teach here. Ed.] +% +Hlade's Law: + If you have a difficult task, give it to a lazy person -- + they will find an easier way to do it. +% +Hoaars-Faisse Gallery presents: +An exhibit of works by the artist known only as Pretzel. + +The exhibit includes several large conceptual works using non-traditional +media and found objects including old sofa-beds, used mace canisters, +discarded sanitary napkins and parts of freeways. The artist explores +our dehumanization due to high technology and unresponsive governmental +structures in a post-industrial world. She/he (the artist prefers to +remain without gender) strives to create dialogue between viewer and +creator, to aid us in our quest to experience contemporary life with its +inner-city tensions, homelessness, global warming and gender and +class-based stress. The works are arranged to lead us to the essence of +the argument: that the alienation of the person/machine boundary has +sapped the strength of our voices and must be destroyed for society to +exist in a more fundamental sense. +% +Hoare's Law of Large Problems: + Inside every large problem is a small + problem struggling to get out. +% +Hodie natus est radici frater. +% +Hoffer's Discovery: + The grand act of a dying institution is to issue a newly + revised, enlarged edition of the policies and procedures manual. +% +Hofstadter's Law: + It always takes longer than you expect, even when you take + Hofstadter's Law into account. +% +HOGAN'S HEROES DRINKING GAME -- + Take a shot every time: + +-- Sergeant Schultz says, "I knoooooowww nooooothing!" +-- General Burkhalter or Major Hochstetter intimidate/insult Colonel Klink. +-- Colonel Klink falls for Colonel Hogan's flattery. +-- One of the prisoners sneaks out of camp (one shot for each prisoner to go). +-- Colonel Klink snaps to attention after answering the phone (two shots + if it's one of our heroes on the other end). +-- One of the Germans is threatened with being sent to the Russian front. +-- Corporal Newkirk calls up a German in his phoney German accent, and + tricks him (two shots if it's Colonel Klink). +-- Hogan has a romantic interlude with a beautiful girl from the underground. +-- Colonel Klink relates how he's never had an escape from Stalag 13. +-- Sergeant Schultz gives up a secret (two shots if he's bribed with food). +-- The prisoners listen to the Germans' conversation by a hidden transmitter. +-- Sergeant Schultz "captures" one of the prisoners after an escape. +-- Lebeau pronounces "colonel" as "cuh-loh-`nell". +-- Carter builds some kind of device (two shots if it's not explosive). +-- Lebeau wears his apron. +-- Hogan says "We've got no choice" when the someone claims that the + plan is impossible. +-- The prisoners capture an important German, and sneak him out the tunnel. +% +Hollerith, v: + What thou doest when thy phone is on the fritzeth. +% +Holy Dilemma! Is this the end for the Caped Crusader and the Boy Wonder? +Will the Joker and the Riddler have the last laugh? + + Tune in again tomorrow: + same Bat-time, same Bat-channel! +% +HOLY MACRO! +% +Home is the place where, when you have to go there, +they have to take you in. + -- Robert Frost, "The Death of the Hired Man" +% +Home is where the hurt is. +% +Home life as we understand it is no more natural to us than a +cage is to a cockatoo. + -- George Bernard Shaw +% +Home on the Range was originally written in beef-flat. +% +"Home, Sweet Home" must surely have been written by a bachelor. + -- Samuel Butler +% +Honesty is for the most part less profitable than dishonesty. + -- Plato +% +Honesty pays, but it doesn't seem to pay enough to suit some people. + -- F.M. Hubbard +% +Honesty's the best policy. + -- Miguel de Cervantes +% +honeymoon, n: + A short period of doting between dating and debting. + -- Ray C. Bandy +% +Honi soit la vache qui rit. +% +Honk if you love peace and quiet. +% +honorable, adj: + Afflicted with an impediment in one's reach. In legislative + bodies, it is customary to mention all members as honorable; + as, "the honorable gentleman is a scurvy cur." +% +Hope is a good breakfast, but it is a bad supper. + -- Francis Bacon +% +Hope is a waking dream. + -- Aristotle +% +Hope not, lest ye be disappointed. + -- M. Horner +% +Hope that the day after you die is a nice day. +% +Hoping to goodness is not theologically sound. + -- Peanuts +% +Horace's best ode would not please a young woman as much +as the mediocre verses of the young man she is in love with. + -- Moore +% +Horner's Five Thumb Postulate: + Experience varies directly with equipment ruined. +% +Horngren's Observation: + Among economists, the real world is often a special case. +% +Hors d'oeuvres -- a ham sandwich cut into forty pieces. + -- Jack Benny +% +Horse sense is the thing a horse has which keeps it from betting on people. + -- W.C. Fields +% +HOST SYSTEM NOT RESPONDING, PROBABLY DOWN. DO YOU WANT TO WAIT? (Y/N) +% +HOST SYSTEM RESPONDING, PROBABLY UP... +% +Hotels are tired of getting ripped off. I checked into a hotel and they +had towels from my house. + -- Mark Guido +% +Houdini escaping from New Jersey! +% +Household hint: + If you are out of cream for your coffee, + mayonnaise makes a dandy substitute. +% +Housework can kill you if done right. + -- Erma Bombeck +% +Houston, Tranquillity Base here. The Eagle has landed. + -- Neil Armstrong +% +How apt the poor are to be proud. + -- William Shakespeare, "Twelfth-Night" +% +How can you be in two places at once +when you're not anywhere at all? +% +How can you do 'New Math' problems with an 'Old Math' mind? + -- Schulz +% +How can you govern a nation which has 246 kinds of cheese? + -- Charles de Gaulle +% +How can you have any pudding if you don't eat your meat? + -- Pink Floyd +% +How can you prove whether at this moment we are sleeping, and all our +thoughts are a dream; or whether we are awake, and talking to one another +in the waking state? + -- Plato +% +How can you think and hit at the same time? + -- Yogi Berra +% +How can you work when the system's so crowded? +% +How come everyone's going so slow if it's called rush hour? +% +How come financial advisors never seem to be as wealthy as they +claim they'll make you? +% +How come we never talk anymore? +% +How come wrong numbers are never busy? +% +How comes it to pass, then, that we appear such cowards +in reasoning, and are so afraid to stand the test of ridicule? + -- A. Cooper +% +How could they think women a recreation? +Or the repetition of bodies of steady interest? +Only the ignorant or the busy could. That elm +of flesh must prove a luxury of primes; +be perilous and dear with rain of an alternate earth. +Which is not to damn the forested China of touching. +I am neither priestly nor tired, and the great knowledge +of breasts with their loud nipples congregates in me. +The sudden nakedness, the small ribs, the mouth. +Splendid. Splendid. Splendid. Like Rome. Like loins. +A glamour sufficient to our long marvelous dying. +I say sufficient and speak with earned privilege, +for my life has been eaten in that foliate city. +To ambergris. But not for recreation. +I would not have lost so much for recreation. + +Nor for love as the sweet pretend: the children's game +of deliberate ignorance of each to allow the dreaming. +Not for the impersonal belly nor the heart's drunkenness +have I come this far, stubborn, disasterous way. +But for relish of those archipelagoes of person. +To hold her in hand, closed as any sparrow, +and call and call forever till she turn from bird +to blowing woods. From woods to jungle. Persimmon. +To light. From light to princess. From princess to woman +in all her fresh particularity of difference. +Then oh, through the underwater time of night +indecent and still, to speak to her without habit. +This I have done with my life, and am content. +I wish I could tell you how it is in that dark, +standing in the huge singing and the alien world. + -- Jack Gilbert, "Don Giovanni on his way to Hell" +% +How do you explain school to a higher intelligence? + -- Elliot, "E.T." +% +"How do you know she is a unicorn?" Molly demanded. "And why were you afraid +to let her touch you? I saw you. You were afraid of her." + "I doubt that I will feel like talking for very long," the cat +replied without rancor. "I would not waste time in foolishness if I were +you. As to your first question, no cat out of its first fur can ever be +deceived by appearances. Unlike human beings, who enjoy them. As for your +second question --" Here he faltered, and suddenly became very interested +in washing; nor would he speak until he had licked himself fluffy and then +licked himself smooth again. Even then he would not look at Molly, but +examined his claws. + "If she had touched me," he said very softly, "I would have been +hers and not my own, not ever again." + -- Peter S. Beagle, "The Last Unicorn" +% +How doth the little crocodile + Improve his shining tail, +And pour the waters of the Nile + On every golden scale! + +How cheerfully he seems to grin, + How neatly spreads his claws, +And welcomes little fishes in, + With gently smiling jaws! +% +How doth the VAX's C-compiler + Improve its object code. +And even as we speak does it + Increase the system load. + +How patiently it seems to run + And spit out error flags, +While users, with frustration, all + Tear their clothes to rags. +% +How is the world ruled, and how do wars start? Diplomats tell lies to +journalists, and they believe what they read. + -- Karl Kraus, "Aphorisms and More Aphorisms" +% +How kind of you to be willing to live someone's life for them. +% +How long a minute is depends on which side of the bathroom door you're on. +% +How many "coming men" has one known! Where on earth do they all go to? + -- Sir Arthur Wing Pinero +% +How many hors d'oeuvres you are allowed to take off a tray being carried by +a waiter at a nice party? + Two, but there are ways around it, depending on the style of the hors +d'oeuvre. If they're those little pastry things where you can't tell what's +inside, you take one, bite off about two-thirds of it, then say: "This is +cheese! I hate cheese!" Then you put the rest of it back on the tray and +bite another one and go, "Darn it! Another cheese!" and so on. + -- Dave Barry +% +How many priests are needed for a Boston Mass? +% +How many weeks are there in a light year? +% +How much does it cost to entice a dope-smoking UNIX system guru to Dayton? + -- UNIX/WORLD's First Annual Salary Survey, Brian Boyle +% +How much does she love you? +Less than you'll ever know. +% +How much for your women? I want to buy your +daughter... how much for the little girl? + -- Jake Blues, "The Blues Brothers" +% +How much net work could a network work, if a network could net work? +% +How much of their influence on you is a result of your influence on them? +% +How often I found where I should be going +only by setting out for somewhere else. + -- R. Buckminster Fuller +% +How sharper than a hound's tooth it is to have a thankless serpent. +% +How sharper than a serpent's tooth is a sister's "See?" + -- Linus Van Pelt +% +How to Raise Your I.Q. by Eating Gifted Children + -- Book title by Lewis B. Frumkes +% +How untasteful can you get? +% +How wonderful opera would be if there were no singers. +% +How you look depends on where you go. +% +However, never daunted, I will cope with adversity +in my traditional manner... sulking and nausea. + -- Tom K. Ryan +% +However, on religious issues there can be little or no compromise. There +is no position on which people are so immovable as their religious beliefs. +There is no more powerful ally one can claim in a debate than Jesus Christ, +or God, or Allah, or whatever one calls this supreme being. But like any +powerful weapon, the use of God's name on one's behalf should be used +sparingly. The religious factions that are growing throughout our land are +not using their religious clout with wisdom. They are trying to force +government leaders into following their position 100 percent. If you disagree +with these religious groups on a particular moral issue, they complain, they +threaten you with a loss of money or votes or both. I'm frankly sick and +tired of the political preachers across this country telling me as a citizen +that if I want to be a moral person, I must believe in "A," "B," "C," and +"D." Just who do they think they are? And from where do they presume to +claim the right to dictate their moral beliefs to me? And I am even more +angry as a legislator who must endure the threats of every religious group +who thinks it has some God-granted right to control my vote on every roll +call in the Senate. I am warning them today: I will fight them every step +of the way if they try to dictate their moral convictions to all Americans +in the name of "conservatism." + -- Senator Barry Goldwater, Congressional Record +% +HR 3128. Omnibus Budget Reconciliation, Fiscal 1986. Martin, R-Ill., motion +that the House recede from its disagreement to the Senate amendment making +changes in the bill to reduce fiscal 1986 deficits. The Senate amendment +was an amendment to the House amendment to the Senate amendment to the House +amendment to the Senate amendment to the bill. The original Senate amendment +was the conference agreement on the bill. Agreed to. + -- Albuquerque Journal +% +Hubbard's Law: + Don't take life too seriously; + you won't get out of it alive. +% +Hug me now, you mad, impetuous fool!! +Oh wait... +I'm a computer, and you're a person. It would never work out. +Never mind. +% +Huh? +% +Human beings were created by water to transport it uphill. +% +Human cardiac catheterization was introduced by Werner Forssman in 1929. +Ignoring his department chief, and tying his assistant to an operating +table to prevent her interference, he placed a ureteral catheter into +a vein in his arm, advanced it to the right atrium [of his heart], and +walked upstairs to the x-ray department where he took the confirmatory +x-ray film. In 1956, Dr. Forssman was awarded the Nobel Prize. +% +Human kind cannot bear very much reality. + -- T.S. Eliot, "Four Quartets: Burnt Norton" +% +Human resources are human first, and resources second. + -- J. Garbers +% +Humanity has advanced, when it has advanced, not because it has been sober, +responsible, and cautious, but because it has been playful, rebellious, and +immature. + -- Tom Robbins +% +Humans are communications junkies. We just can't get enough. + -- Alan Kay +% +Humility is the first of the virtues -- for other people. + -- Oliver Wendell Holmes +% +Hummingbirds never remember the words to songs. +% +Humor is a drug which it's the fashion to abuse. + -- William Gilbert +% +Humorists always sit at the children's table. + -- Woody Allen +% +"Humpf!" Humpfed a voice! "For almost two days you've run wild and insisted on +chatting with persons who've never existed. Such carryings-on in our peaceable +jungle! We've had quite enough of you bellowing bungle! And I'm here to +state," snapped the big kangaroo, "That your silly nonsensical game is all +through!" And the young kangaroo in her pouch said, "Me, too!" + "With the help of the Wickersham Brothers and dozens of Wickersham +Uncles and Wickersham Cousins and Wickersham In-Laws, whose help I've engaged, +You're going to be roped! And you're going to be caged! And, as for your +dust speck... Hah! That we shall boil in a hot steaming kettle of Beezle-But +oil!" + -- Dr. Seuss "Horton Hears a Who" +% +Humpty Dumpty sat on the wall, +Humpty Dumpty had a great fall! +All the king's horses, +And all the king's men, +Had scrambled eggs for breakfast again! +% +Humpty Dumpty was pushed. +% +Hurewitz's Memory Principle: + The chance of forgetting something is directly proportional + to... to... uh..... +% +I: + The best way to make a silk purse from a sow's ear is to begin + with a silk sow. The same is true of money. +II: + If today were half as good as tomorrow is supposed to be, it would + probably be twice as good as yesterday was. +III: + There are no lazy veteran lion hunters. +IV: + If you can afford to advertise, you don't need to. +V: + One-tenth of the participants produce over one-third of the output. + Increasing the number of participants merely reduces the average + output. + -- Norman Augustine +% +I wish there was a knob on the TV to turn up the intelligence. +There's a knob called "brightness", but it doesn't seem to work. + -- Gallagher +% +I accept chaos. I am not sure whether it accepts me. I know some people +are terrified of the bomb. But then some people are terrified to be seen +carrying a modern screen magazine. Experience teaches us that silence +terrifies people the most. + -- Bob Dylan +% +I acted to show my love for Jodie Foster. + -- John Hinckley +% +I ain't got no quarrle with them Viet Congs. + -- Muhammad Ali +% +I allow the world to live as it chooses, +and I allow myself to live as I choose. +% +I also believe that academic freedom should protect the right of a professor +or student to advocate Marxism, socialism, communism, or any other minority +viewpoint -- no matter how distasteful to the majority. + -- Richard M. Nixon + +What are our schools for if not indoctrination against Communism? + -- Richard M. Nixon +% +I always choose my friends for their good looks and my enemies for their +good intellects. Man cannot be too careful in his choice of enemies. + -- Oscar Wilde, "The Picture of Dorian Gray" +% +I always had a repulsive need to be something more than human. + -- David Bowie +% +I always pass on good advice. It is the only thing to do with it. +It is never any good to oneself. + -- Oscar Wilde, "An Ideal Husband" +% +I always say beauty is only sin deep. + -- Saki, "Reginald's Choir Treat" +% +I always turn to the sports pages first, which record people's +accomplishments. The front page has nothing but man's failures. + -- Chief Justice Earl Warren +% +I always wake up at the crack of ice. + -- Joe E. Lewis +% +I always will remember -- I was in no mood to trifle; +'Twas a year ago November -- I got down my trusty rifle +I went out to shoot some deer And went out to stalk my prey -- +On a morning bright and clear. What a haul I made that day! +I went and shot the maximum I tied them to my bumper and +The game laws would allow: I drove them home somehow, +Two game wardens, seven hunters, Two game wardens, seven hunters, +And a cow. And a cow. + +The Law was very firm, it People ask me how I do it +Took away my permit-- And I say, "There's nothin' to it! +The worst punishment I ever endured. You just stand there lookin' cute, +It turns out there was a reason: And when something moves, you shoot." +Cows were out of season, and And there's ten stuffed heads +One of the hunters wasn't insured. In my trophy room right now: + Two game wardens, seven hunters, + And a pure-bred gurnsey cow. + -- Tom Lehrer, "The Hunting Song" +% +I am a bookaholic. If you are a decent +person, you will not sell me another book. +% +I am a computer. +I am dumber than any human and smarter than any administrator. +% +I am a conscientious man, when I throw +rocks at seabirds I leave no tern unstoned. + -- Ogden Nash, "Everybody's Mind to Me a Kingdom Is" +% +I am a deeply superficial person. + -- Andy Warhol +% +I am a friend of the working man, and I would rather be his friend +than be one. + -- Clarence Darrow +% +I am a man: nothing human is alien to me. + -- Publius Terentius Afer (Terence) +% +I am America's child, a spastic slogging on demented +limbs drooling I'll trade my PhD for a telephone voice. + -- Burt Lanier Safford III, "An Obscured Radiance" +% +I am an optimist. It does not seem too much use being anything else. + -- Winston Churchill +% +I am changing my name to Chrysler +I am going down to Washington, D.C. +I will tell some power broker + What they did for Iacocca +Will be perfectly acceptable to me! + +I am changing my name to Chrysler, +I am heading for that great receiving line. +When they hand a million grand out, + I'll be standing with my hand out, +Yessir, I'll get mine! +% +I am convinced that the truest act of courage is to sacrifice ourselves +for others in a totally nonviolent struggle for justice. To be a man +is to suffer for others. + -- Cesar Chavez +% +I am fairly unrepentant about her poetry. I really think that three +quarters of it is gibberish. However, I must crush down these thoughts +otherwise the dove of peace will shit on me. + -- Noel Coward on Edith Sitwell +% +I am firm. You are obstinate. He is a pig-headed fool. + -- Katharine Whitehorn +% +I am getting into abstract painting. Real abstract -- no brush, no canvas, +I just think about it. I just went to an art museum where all of the art +was done by children. All the paintings were hung on refrigerators. + -- Steven Wright +% +I am, in point of fact, a particularly haughty and exclusive person, of +pre-Adamite ancestral descent. You will understand this when I tell you +that I can trace my ancestry back to a protoplasmal primordial atomic +globule. Consequently, my family pride is something inconceivable. I +can't help it. I was born sneering. + -- Pooh-Bah, "The Mikado" +% +I am just a nice, clean-cut Mongolian boy. + -- Yul Brynner, 1956 +% +I am looking for a honest man. + -- Diogenes the Cynic +% +I am NOMAD! +% +I am not a crook. + -- Richard Nixon +% +I am not a politician and my other habits are also good. + -- A. Ward +% +I am not afraid of tomorrow, for I have seen yesterday and I love today. + -- William Allen White +% +I am not an Economist. I am an honest man! + -- Paul McCracken +% +I am not now and never have been a girl friend of Henry Kissinger. + -- Gloria Steinem +% +I am professionally trained in computer science, which is to say +(in all seriousness) that I am extremely poorly educated. + -- Joseph Weizenbaum, "Computer Power and Human Reason" +% +I am ready to meet my Maker. Whether my Maker is prepared +for the great ordeal of meeting me is another matter. + -- W. Churchill +% +I am returning this otherwise good typing paper to you because someone +has printed gibberish all over it and put your name at the top. + -- Professor Lowd, English, Ohio University +% +I am the mother of all things, and all things should wear a sweater. +% +I am the wandering glitch -- catch me if you can. +% +I am two fools, I know, for loving, and for saying so. + -- John Donne +% +I am two with nature. + -- Woody Allen +% +I am very fond of the company of ladies. I like their beauty, +I like their delicacy, I like their vivacity, and I like their silence. + -- Samuel Johnson +% +I appreciate the fact that this draft was done in haste, but some of the +sentences that you are sending out in the world to do your work for you are +loitering in taverns or asleep beside the highway. + -- Dr. Dwight Van de Vate, Professor of Philosophy, + University of Tennessee at Knoxville +% +I asked the engineer who designed the communication terminal's keyboards +why these were not manufactured in a central facility, in view of the +small number needed [1 per month] in his factory. He explained that this +would be contrary to the political concept of local self-sufficiency. +Therefore, each factory needing keyboards, no matter how few, manufactures +them completely, even molding the keypads. + -- Isaac Auerbach, IEEE "Computer", Nov. 1979 +% +I attribute my success to intelligence, guts, determination, honesty, +ambition, and having enough money to buy people with those qualities. +% +I B M +U B M +We all B M +For I B M!!!! + -- H.A.R.L.I.E. +% +I base my fashion taste on what doesn't itch. + -- Gilda Radner +% +I began many years ago, as so many young men do, in searching for the +perfect woman. I believed that if I looked long enough, and hard enough, +I would find her and then I would be secure for life. Well, the years +and romances came and went, and I eventually ended up settling for someone +a lot less than my idea of perfection. But one day, after many years +together, I lay there on our bed recovering from a slight illness. My +wife was sitting on a chair next to the bed, humming softly and watching +the late afternoon sun filtering through the trees. The only sounds to +be heard elsewhere were the clock ticking, the kettle downstairs starting +to boil, and an occasional schoolchild passing beneath our window. And +as I looked up into my wife's now wrinkled face, but still warm and +twinkling eyes, I realized something about perfection... It comes only +with time. + -- James L. Collymore, "Perfect Woman" +% +I believe a little incompatibility is the spice of life, +particularly if he has income and she is pattable. + -- Ogden Nash +% +I believe in an America where the separation of church and state is absolute +-- where no Catholic prelate would tell the president (should he be Catholic) +how to act, and no Protestant minister would tell his parishoners for whom +to vote -- where no church or church school is granted any public funds or +political preference -- and where no man is denied public office merely +because his religion differs from the president who might appoint him or +the people who might elect him. + -- John F. Kennedy +% +I believe in getting into hot water; it keeps you clean. + -- G.K. Chesterton +% +I believe in sex and death -- two experiences that come once in a lifetime. + -- Woody Allen +% +I believe that professional wrestling is clean +and everything else in the world is fixed. + -- Frank Deford, sports writer +% +I believe that the moment is near when by a procedure of active paranoiac +thought, it will be possible to systematize confusion and contribute to the +total discrediting of the world of reality. + -- Salvador Dali +% +I belong to no organized party. I am a Democrat. + -- Will Rogers +% +I bet the human brain is a kludge. + -- Marvin Minsky +% +I BET WHAT HAPPENED was they discovered fire and invented the wheel on +the same day. Then that night, they burned the wheel. + -- Jack Handley, The New Mexican, 1988. +% +I BET WHEN NEANDERTHAL KIDS would make a snowman, someone would always +end up saying, "Don't forget the thick heavy brows." Then they would get +embarrassed because they remembered they had the big hunky brows too, and +they'd get mad and eat the snowman. + -- Jack Handley, The New Mexican, 1988. +% +I bet you have fun chasing the soap around the bathtub. + -- Princess Diana, to a one-armed war veteran during + a visit to a London veterans hospital +% +I bought some used paint. It was in the shape of a house. + -- Stephen Wright +% +I braved the contempt of my friends last week and ventured out to see +Bambi, the Disney rerelease that is proving to be a hit once again in the +box office. I was looking forward to a gentle, soothing, late afternoon +relief from the Washington Summer. Instead I was traumatized. As a +psycho-sexual return to the horrors of early adolescence, it couldn't be +more effective. For the first half-hour, you're lulled into an agreeable +sense of security and comfort. Birds twitter; small rabbits turn out to +be great conversationalists. Pop is what Senator Moynihan would describe +as an absent father, but Mom's there to make you feel OK in the odd +thunderstorm. You make great friends, fool around on the ice, discover +the meadow, generally mellow out. Then, without any particular warning, +your mom gets shot, your voice breaks, huge growths start appearing on +your head, and your peers start heading off into the clover with the +apparent intention of having sex. Next thing you know, the forest burns +down. If I were still eight, I think I'd prefer Rambo III. + -- Townsend Davis +% +I call them as I see them. If I can't see them, I make them up. + -- Biff Barf +% +I called my parents the other night, but I forgot about the time difference. +They're still living in the fifties. + -- Strange de Jim +% +I came, I saw, I deleted all your files. +% +I came out of twelve years of college and I didn't even know how to sew. +All I could do was account -- I couldn't even account for myself. + -- Firesign Theatre +% +I came to MIT to get an education for myself and a diploma for my mother. +% +I can give you my word, but I know what it's worth and you don't. + -- Nero Wolfe, "Over My Dead Body" +% +I can hire one half of the working class to kill the other half. + -- Jay Gould +% +I can mend the break of day, heal a broken heart, +and provide temporary relief to nymphomaniacs. + -- Larry Lee +% +I can relate to that. +% +I can resist anything but temptation. +% +I can see him a'comin' +With his big boots on, +With his big thumb out, +He wants to get me. +He wants to hurt me. +He wants to bring me down. +But some time later, +When I feel a little straighter, +I'll come across a stranger +Who'll remind me of the danger, +And then.... I'll run him over. +Pretty smart on my part! +To find my way... In the dark! + -- Phil Ochs +% +I can write better than anybody who can write faster, +and I can write faster than anybody who can write better. + -- A.J. Liebling +% +I cannot and will not cut my conscience to fit this year's fashions. + -- Lillian Hellman +% +I cannot believe that God plays dice with the cosmos. + -- Albert Einstein, on the randomness of quantum mechanics +% +I cannot draw a cart, nor eat dried oats; +If it be man's work I will do it. +% +I can't believe that out of 100,000 sperm, you were the quickest. + -- Steven Pearl +% +I can't complain, but sometimes I still do. + -- Joe Walsh +% +I can't decide whether to commit suicide or go bowling. + -- Florence Henderson +% +I can't die until the government finds a safe place to bury my liver. + -- Phil Harris +% +I Can't Get Over You, So I Get Up and Go Around to the Other Side +If You Won't Leave Me Alone, I'll Find Someone Who Will +I Knew That You'd Committed a Sin When You Came Home Late With + Your Socks Outside-in +I'm a Rabbit in the Headlights of Your Love +Don't Kick My Tires If You Ain't Gonna Take Me For a Ride +I Liked You Better Before I Knew You So Well +I Still Miss You, Baby, But My Aim's Gettin' Better +I've Got Red Eyes From Your White Lies and I'm Blue All the Time + -- proposed Country-Western song titles from "Wordplay" +% +I can't mate in captivity. + -- Gloria Steinem, on why she has never married. +% +I can't seem to bring myself to say, "Well, I guess I'll be toddling along." +It isn't that I can't toddle. It's that I can't guess I'll toddle. + -- Robert Benchley +% +I can't stand squealers; hit that guy. + -- Albert Anastasia +% +I can't stand this proliferation of paperwork. It's useless to fight the +forms. You've got to kill the people producing them. + -- Vladimir Kabaidze, general director of the Ivanovo Machine + Building Works (near Moscow) in a speech to the Communist + Party Conference +% +I can't understand it. +I can't even understand the people who can understand it. + -- Queen Juliana of the Netherlands +% +I can't understand why a person will take a year or two to write a +novel when he can easily buy one for a few dollars. + -- Fred Allen +% +I can't understand why people are frightened of new ideas. +I'm frightened of the old ones. + -- John Cage +% +I collect rare photographs... I have two... One of Houdini locking his +keys in his car... the other is a rare picture of Norman Rockwell beating +up a child. + -- Stephen Wright +% +I come from a small town whose population never changed. Each time +a woman got pregnant, someone left town. + -- Michael Prichard +% +I consider a new device or technology to have been +culturally accepted when it has been used to commit a murder. + -- M. Gallaher +% +I consider the day misspent that I am not +either charged with a crime, or arrested for one. + -- "Ratsy" Tourbillon +% +I could never learn to like her -- +except on a raft at sea with no other provisions in sight. + -- Mark Twain +% +I couldn't possibly fail to disagree with you less. +% +I couldn't remember when I had been so disappointed. Except perhaps the +time I found out that M&Ms really DO melt in your hand. + -- Peter Oakley +% +I despise the pleasure of pleasing people whom I despise. +% +I didn't believe in reincarnation in any of my other lives. I don't see why +I should have to believe in it in this one. + -- Strange de Jim +% +I didn't do it! Nobody saw me do it! Can't prove anything! + -- Bart Simpson +% +I didn't get sophisticated -- I just got tired. +But maybe that's what sophisticated is -- being tired. + -- Rita Gain +% +I didn't know he was dead; I thought he was British. +% +I didn't like the play, but I saw it under adverse conditions. +The curtain was up. +% +"I didn't order any WOO-WOO... Maybe a YUBBA... But no WOO-WOO!" + -- Zippy the Pinhead +% +I disagree with what you say, but will defend +to the death your right to tell such LIES! +% +I distrust a close-mouthed man. He generally picks the wrong time to talk +and says the wrong things. Talking's something you can't do judiciously, +unless you keep in practice. Now, sir, we'll talk if you like. I'll tell +you right out, I'm a man who likes talking to a man who likes to talk. + -- Sidney Greenstreet, "The Maltese Falcon" +% +I distrust a man who says when. If he's got to be careful not to drink +too much, it's because he's not to be trusted when he does. + -- Sidney Greenstreet, "The Maltese Falcon" +% +I do desire we may be better strangers. + -- William Shakespeare, "As You Like It" +% +I do enjoy a good long walk -- especially when my wife takes one. +% +I do hate sums. There is no greater mistake than to call arithmetic an +exact science. There are permutations and aberrations discernible to minds +entirely noble like mine; subtle variations which ordinary accountants fail +to discover; hidden laws of number which it requires a mind like mine to +perceive. For instance, if you add a sum from the bottom up, and then again +from the top down, the result is always different. + -- Mrs. La Touche +% +I do not believe in the creed professed by the Jewish Church, by the Roman +Church, by the Greek Church, by the Turkish Church, by the Protestant Church, +nor by any Church that I know of. My own mind is my own Church. + -- Thomas Paine +% +I do not care if half the league strikes. Those who do will encounter +quick retribution. All will be suspended, and I don't care if it wrecks +the National League for five years. This is the United States of America +and one citizen has as much right to play as another. + -- Ford Frick, National League President, reacting to a + threatened strike by some Cardinal players in 1947 if + Jackie Robinson took the field against St. Louis. The + Cardinals backed down and played. +% +I do not fear computers. I fear the lack of them. + -- Isaac Asimov +% +I do not feel obliged to believe that the same God who has endowed us with +sense, reason, and intellect has intended us to forgo their use. + -- Galileo Galilei +% +I do not know myself and God forbid that I should. + -- Johann Wolfgang von Goethe +% +I do not know where to find in any literature, whether ancient or modern, +any adequate account of that nature with which I am acquainted. Mythology +comes nearest to it of any. + -- Henry David Thoreau +% +I do not know whether I was then a man dreaming I was a +butterfly, or whether I am now a butterfly dreaming I am a man. + -- Chuang-tzu +% +I do not remember ever having seen a sustained argument by an author which, +starting from philosophical premises likely to meet with general acceptance, +reached the conclusion that a praiseworthy ordering of one's life is to +devote it to research in mathematics. + -- Sir Edmund Whittaker, "Scientific American", Vol. 183 +% +I do not seek the ignorant; the ignorant seek me -- I will instruct them. +I ask nothing but sincerity. If they come out of habit, they become +tiresome. + -- I Ching +% +I do not take drugs -- I am drugs. + -- Salvador Dali +% +I don't believe in astrology. But then I'm an +Aquarius, and Aquarians don't believe in astrology. + -- James Quirk +% +I don't care how poor and inefficient a little country is; they like to +run their own business. I know men that would make my wife a better +husband than I am; but, darn it, I'm not going to give her to 'em. + -- The Best of Will Rogers +% +I don't care what star you're following, get that camel off my front lawn! + -- Heard in Bethlehem +% +I don't care where I sit as long as I get fed. + -- Calvin Trillin +% +I don't deserve this award, but I have arthritis and I don't +deserve that either. + -- Jack Benny +% +I don't do it for the money. + -- Donald Trump, Art of the Deal +% +I don't drink, I don't like it, it makes me feel too good. + -- K. Coates +% +I don't even butter my bread. I consider that cooking. + -- Katherine Cebrian +% +I don't get no respect. +% +I don't have an eating problem. I eat. +I get fat. I buy new clothes. No problem. +% +I don't have any solution but I certainly admire the problem. + -- Ashleigh Brilliant +% +I don't have to take this abuse from you -- I've got +hundreds of people waiting to abuse me. + -- Bill Murray, "Ghostbusters" +% +I don't kill flies, but I like to mess with their minds. I hold them above +globes. They freak out and yell "Whooa, I'm *way* too high." + -- Bruce Baum +% +I don't know anything about music. In my line you don't have to. + -- Elvis Presley +% +I don't know what Descartes' got, +But booze can do what Kant cannot. + -- Mike Cross +% +I don't know who my grandfather was; I am much +more concerned to know what his grandson will be. + -- Abraham Lincoln +% +I don't know why anyone would want a computer in their home. + -- Ken Olson, president of DEC, 1974 +% +I don't know why we're here, I say we all go home and free associate. +% +I don't like spinach, and I'm glad I don't, +because if I liked it I'd eat it, and I'd just hate it. + -- Clarence Darrow +% +I don't like the Dutchman. He's a crocodile. He's sneaky. +I don't trust him. + -- Jack "Legs" Diamond, just before a peace conference + with Dutch Schultz. + +I don't trust Legs. He's nuts. He gets excited and starts pulling a +trigger like another guy wipes his nose. + -- Dutch Schultz, just before a peace conference with + "Legs" Diamond. +% +I don't make the rules, Gil, I only play the game. + -- Cash McCall +% +I don't mind arguing with myself. +It's when I lose that it bothers me. + -- Richard Powers +% +I don't mind what Congress does, as long as they don't do it in the +streets and frighten the horses. + -- Victor Hugo +% +I don't need no arms around me... +I don't need no drugs to calm me... +I have seen the writing on the wall. +Don't think I need anything at all. +No! Don't think I need anything at all! +All in all, it was all just bricks in the wall. +All in all, it was all just bricks in the wall. + -- Pink Floyd, "Another Brick in the Wall", Part III +% +I don't remember it, but I have it written down. +% +I don't see what's wrong with giving Bobby a little experience before +he starts to practice law. + -- John F. Kennedy, upon appointing his brother + Attorney-General. +% +I DON'T THINK I'M ALONE when I say I'd like to see more and more planets +fall under the ruthless domination of our solar system. + -- Jack Handley, The New Mexican, 1988. +% +I don't think they are going to give a shit about the Republican +Committee trying to bug the Democratic Committee's headquarters. + -- Richard Nixon, 1972 +% +"I don't understand," said the scientist, "why you lemmings all rush down +to the sea and drown yourselves." + +"How curious," said the lemming. "The one thing I don't understand is why +you human beings don't." + -- James Thurber +% +I don't understand you anymore. +% +I don't wanna argue, and I don't wanna fight, +But there will definitely be a party tonight... +% +I don't want a pickle, +I just wanna ride on my motorcycle. +And I don't want to die, +I just want to ride on my motorcycle. + -- Arlo Guthrie +% +I don't want people to love me. It makes for obligations. + -- Jean Anouilh +% +I don't want to achieve immortality through my work. +I want to achieve immortality through not dying. + -- Woody Allen +% +I don't want to bore you, but there's nobody else around for me to bore. +% +I don't want to live on in my work, I want to live on in my apartment. + -- Woody Allen +% +I don't wish to appear overly inquisitive, but are you still alive? +% +I dote on his very absence. + -- William Shakespeare, "The Merchant of Venice" +% +I dread success. To have succeeded is to have finished one's business on +earth, like the male spider, who is killed by the female the moment he has +succeeded in his courtship. I like a state of continual becoming, with a +goal in front and not behind. + -- George Bernard Shaw +% +I drink to make other people interesting. + -- George Jean Nathan +% +I either want less decadence or more chance to participate in it. +% +I enjoy the time that we spend together. +% +I exist, therefore I am paid. +% +I fear explanations explanatory of things explained. +% +I feel sorry for your brain... all alone in that great big head... +% +I fell asleep reading a dull book, +and I dreamt that I was reading on, +so I woke up from sheer boredom. +% +I figure that if God actually does exist, He's big enough to understand an +honest difference of opinion. + - Isaac Asimov +% +I finally went to the eye doctor. I got contacts. +I only need them to read, so I got flip-ups. + -- Steven Wright +% +I find this corpse guilty of carrying a concealed weapon and I fine it $40. + -- Judge Roy Bean, finding a pistol and $40 on a man he'd + just shot. +% +I found Rome a city of bricks and left it a city of marble. + -- Augustus Caesar +% +I gave my love an Apple, that had no core; +I gave my love a building, that had no floor; +I wrote my love a program, that had no end; +I gave my love an upgrade, with no cryin'. + +How can there be an Apple, that has no core? +How can there be a building, that has no floor? +How can there be a program, that has no end? +How can there be an upgrade, with no cryin'? + +An Apple's MOS memory don't use no core! +A building that's perfect, it has no flaw! +A program with GOTOs, it has no end! +I lied about the upgrade, with no cryin'! +% +I generally avoid temptation unless I can't resist it. + -- Mae West +% +I get my exercise acting as pallbearer to my friends who exercise. + -- Chauncey Depew +% +I get up each morning, gather my wits. +Pick up the paper, read the obits. +If I'm not there I know I'm not dead. +So I eat a good breakfast and go back to bed. + +Oh, how do I know my youth is all spent? +My get-up-and-go has got-up-and-went. +But in spite of it all, I'm able to grin, +And think of the places my get-up has been. + -- Pete Seeger +% +I give you the man who -- the man who -- uh, I forgets the man who? + -- Beauregard Bugleboy +% +I go on working for the same reason a hen goes on laying eggs. + -- H.L. Mencken +% +I go the way that Providence dictates. + -- Adolf Hitler +% +"I got into an elevator at work and this man followed in after me... I +pushed '1' and he just stood there... I said 'Hi, where you going?' He +said, 'Phoenix.' So I pushed Phoenix. A few seconds later the doors +opened, two tumbleweeds blew in... we were in downtown Phoenix. I looked +at him and said 'You know, you're the kind of guy I want to hang around +with.' We got into his car and drove out to his shack in the desert. +Then the phone rang. He said 'You get it.' I picked it up and said +'Hello?'... the other side said 'Is this Steven Wright?'... I said 'Yes...' +The guy said 'Hi, I'm Mr. Jones, the student loan director from your bank... +It seems you have missed your last 17 payments, and the university you +attended said that they received none of the $17,000 we loaned you... we +would just like to know what happened to the money?' I said, 'Mr. Jones, +I'll give it to you straight. I gave all of the money to my friend Slick, +and with it he built a nuclear weapon... and I would appreciate it you never +called me again." + -- Stephen Wright +% +I got my driver's license photo taken out of focus on purpose. Now +when I get pulled over the cop looks at it (moving it nearer and +farther, trying to see it clearly)... and says, "Here, you can go." + -- Steven Wright +% +I got the bill for my surgery. Now I know what those doctors were +wearing masks for. + -- James Boren +% +I got this powdered water -- now I don't know what to add. + -- Steven Wright +% +I got tired of listening to the recording on the phone at the movie +theater. So I bought the album. I got kicked out of a theater the +other day for bringing my own food in. I argued that the concession +stand prices were outrageous. Besides, I hadn't had a barbecue in a +long time. I went to the theater and the sign said adults $5 children +$2.50. I told them I wanted 2 boys and a girl. I once took a cab to +a drive-in movie. The movie cost me $95. + -- Steven Wright +% +I got vision, and the rest of the world wears bifocals. + -- Butch Cassidy +% +I GUESS I KINDA LOST CONTROL because in the middle of the play I ran up +and lit the evil puppet villain on fire. + +No, I didn't. Just kidding. I just said that to illustrate one of the +human emotions which is freaking out. Another emotion is greed, as when +you kill someone for money or something like that. Another emotion is +generosity, as when you pay someone double what he paid for his stupid +puppet. + -- Jack Handley, The New Mexican, 1988. +% +I GUESS I'LL NEVER FORGET HER. And maybe I don't want to. Her spirit +was wild, like a wild monkey. Her beauty was like a beautiful horse +being ridden by a wild monkey. I forget her other qualities. + -- Jack Handley, The New Mexican, 1988. +% +I guess I've been so wrapped up in playing the game that I never took +time enough to figure out where the goal line was -- what it meant to +win -- or even how you won. + -- Cash McCall +% +I guess I've been wrong all my life, but so have billions of +other people... Certainty is just an emotion. + -- Hal Clement +% +I GUESS OF ALL MY UNCLES, I liked Uncle Caveman the best. We called him +Uncle Caveman because he lived in a cave and because sometimes he'd eat +one of us. Later, we found out he was a bear. + -- Jack Handley, The New Mexican, 1988. +% +I guess the Little League is even littler than we thought. + -- D. Cavett +% +I GUESS WE WERE ALL GUILTY, in a way. We shot him, we skinned him, and +we all got a complimentary bumper sticker that said, "I helped skin Bob." + -- Jack Handley, The New Mexican, 1988. +% +I had a dream last night... +I dreamt about 1976. +I dreamt about a country with incurable brain damage... +I even dreamt they gave it a heart transplant. +Then I woke up and I knew it was only a nightmare... +so I went back to sleep again. + -- Ralph Steadman, "Fear and Loathing '72" +% +I had a feeling once about mathematics -- that I saw it all. Depth beyond +depth was revealed to me -- the Byss and the Abyss. I saw -- as one might +see the transit of Venus or even the Lord Mayor's Show -- a quantity passing +through infinity and changing its sign from plus to minus. I saw exactly +why it happened and why tergiversation was inevitable -- but it was after +dinner and I let it go. + -- Winston Churchill +% +I had a virgin once. I had to go to Guatemala for her. She was blind +in one eye, and she had a stuffed alligator that said, "Welcome to Miami +Beach." + -- The Stunt Man +% +I had another dream the other day about government financial management +people. They were small and rodent-like with padlocked ears, as if they +had stepped out of a painting by Goya. +% +I had another dream the other day about music critics. They were small +and rodent-like with padlocked ears, as if they had stepped out of a +painting by Goya. + -- Stravinsky +% +I had never been too political, but I knew how white people treated black +people and it was hard for me to come back to the bullshit white people +put a black person through in this country. To realize you don't have any +power to make things different is a bitch. + -- Miles Davis +% +I had no shoes and I pitied myself. Then I met a man who had no feet, +so I took his shoes. + -- Dave Barry +% +I had the rare misfortune of being one of the first people to try and +implement a PL/1 compiler. + -- T. Cheatham +% +I had to hit him -- he was starting to make sense. +% +I hate babies. They're so human. + -- H.H. Munro +% +I hate dying. + -- Dave Johnson +% +I hate it when my foot falls asleep during the day cause that means +it's going to be up all night. + -- Steven Wright +% +I hate mankind, for I think myself one of the best of them, +and I know how bad I am. + -- Samuel Johnson +% +I hate quotations. + -- Ralph Waldo Emerson +% +I hate small towns because once you've seen the cannon in the park +there's nothing else to do. + -- Lenny Bruce +% +I hate trolls. Maybe I could metamorph it into something else -- like a +ravenous, two-headed, fire-breathing dragon. + -- Willow +% +I have a box of telephone rings under my bed. Whenever I get lonely, I +open it up a little bit, and I get a phone call. One day I dropped the +box all over the floor. The phone wouldn't stop ringing. I had to get +it disconnected. So I got a new phone. I didn't have much money, so I +had to get an irregular. It doesn't have a five. I ran into a friend +of mine on the street the other day. He said why don't you give me a +call. I told him I can't call everybody I want to anymore, my phone +doesn't have a five. He asked how long had it been that way. I said I +didn't know -- my calendar doesn't have any sevens. + -- S. Wright +% +I have a dog; I named him Stay. So when I'd go to call him, I'd say, "Here, +Stay, here..." but he got wise to that. Now when I call him he ignores me +and just keeps on typing. + -- Stephen Wright +% +I have a dream. I have a dream that one day, on the red hills of Georgia, +the sons of former slaves and the sons of former slaveowners will be able to +sit down together at the table of brotherhood. + -- Martin Luther King, Jr. +% +I have a friend whose a billionaire. He invented Cliff's notes. When +I asked him how he got such a great idea he said, "Well first I... +I just... to make a long story short..." + -- Stephen Wright +% +I have a hard time being attracted to anyone who can beat me up. + -- John McGrath, Atlanta sportswriter, on women weightlifters. +% +I have a hobby. I have the world's largest collection of sea shells. +I keep it scattered on beaches all over the world. Maybe you've seen +some of it. + -- Steven Wright +% +I have a little shadow that goes in and out with me, +And what can be the use of him is more than I can see. +He is very, very like me from the heels up to the head; +And I see him jump before me, when I jump into my bed. + +The funniest thing about him is the way he likes to grow-- +Not at all like proper children, which is always very slow; +For he sometimes shoots up taller, like an india-rubber ball, +And he sometimes gets so little that there's none of him at all. + -- R.L. Stevenson +% +I have a map of the United States. It's actual size. +I spent last summer folding it. +People ask me where I live, and I say, "E6". + -- Steven Wright +% +I have a rock garden. Last week three of them died. + -- Richard Diran +% +I have a simple philosophy: + + Fill what's empty. + Empty what's full. + Scratch where it itches. + -- A.R. Longworth +% +I have a switch in my apartment that doesn't do anything. Every once +in a while I turn it on and off. On and off. On and off. One day I +got a call from a woman in France who said "Cut it out!" + -- Steven Wright +% +I have a terrible headache, I was putting on toilet water and the lid fell. +% +I have a theory that it's impossible to prove anything, +but I can't prove it. +% +I have a very small mind and must live with it. + -- Edsger W. Dijkstra +% +I have a very strange feeling about this... + -- Luke Skywalker +% +"I have accepted Provolone into my life!" + -- Zippy the Pinhead +% +I have already given two cousins to the war and I stand ready to +sacrifice my wife's brother. + -- Artemus Ward +% +I have always noticed that whenever a radical takes +to Imperialism, he catches it in a very acute form. + -- Winston Churchill, 1903 +% +I have an existential map. It has "You are here" written all over it. + -- Steven Wright +% +I have become me without my consent. +% +I have come up with a surefire concept for a hit television show, which +would be called "A Live Celebrity Gets Eaten by a Shark." + -- Dave Barry, "The Wonders of Sharks on TV" +% +I have come up with a sure-fire concept for a hit television show, +which would be called `A Live Celebrity Gets Eaten by a Shark'. + -- Dave Barry +% +I have defined the hundred per cent American as ninety-nine per +cent an idiot. + -- George Bernard Shaw +% +I have discovered that all human evil comes from this, man's being unable +to sit still in a room. + -- Blaise Pascal +% +I have discovered the art of deceiving diplomats. +I tell them the truth and they never believe me. + -- Camillo Di Cavour +% +I have found it impossible to carry the heavy burden of responsibility and +to discharge my duties as king as I would wish to do without the help and +support of the woman I love. + -- Edward, Duke of Windsor, 1936, announcing his abdication + of the British throne in order to marry the American + divorcee Wallis Warfield Simpson. +% +I have found little that is good about human beings. In my experience +most of them are trash. + -- Sigmund Freud +% +I have gained this by philosophy: +that I do without being commanded what others +do only from fear of the law. + -- Aristotle +% +I have given two cousins to war and I stand ready to sacrifice my +wife's brother. + -- Artemus Ward +% +I have great faith in fools -- self confidence my friends call it. + -- Edgar Allan Poe +% +I have had my television aerials removed. It's the moral equivalent +of a prostate operation. + -- Malcolm Muggeridge +% +I have hardly ever known a mathematician who was capable of reasoning. + -- Plato +% +I have just had eighteen whiskeys in a row. +I do believe that is a record. + -- Dylan Thomas, his last words +% +I have learned silence from the talkative, +toleration from the intolerant, and kindness from the unkind. + -- Kahlil Gibran +% +I have lots of things in my pockets; +None of them is worth anything. +Sociopolitical whines aside, +Gan you give me, gratis, free, +The price of half a gallon +Of Gallo extra bad +And most of the bus fare home. +% +I have made mistakes but I have never made the +mistake of claiming that I have never made one. + -- James Gordon Bennett +% +I have made this letter longer than usual +because I lack the time to make it shorter. + -- Blaise Pascal +% +I have more hit points that you can possible imagine. +% +I have more humility in my little finger than you have in your whole BODY! + -- Cerebus, #82 +% +I have never been one to sacrifice +my appetite on the altar of appearance. + -- A.M. Readyhough +% +I have never let my schooling interfere with my education. + -- Mark Twain +% +I have never seen anything fill up a vacuum so fast and still suck. + -- Rob Pike, on X. + +Steve Jobs said two years ago that X is brain-damaged and it will be +gone in two years. He was half right. + -- Dennis Ritchie + +Dennis Ritchie is twice as bright as Steve Jobs, and only half wrong. + -- Jim Gettys +% +I have never understood this liking for war. It panders to instincts +already catered for within the scope of any respectable domestic +establishment. + -- Alan Bennett +% +I have no doubt that it is a part of the destiny of the human race, +in its gradual improvement, to leave off eating animals. + -- Thoreau +% +I have no doubt the Devil grins, +As seas of ink I spatter. +Ye gods, forgive my "literary" sins-- +The other kind don't matter. + -- Robert W. Service +% +I have no right, by anything I do or say, to demean a human being in his +own eyes. What matters is not what I think of him; it is what he thinks +of himself. To undermine a man's self-respect is a sin. + -- Antoine de Saint-Exupery +% +I have not yet begun to byte! +% +I have nothing but utter contempt for the courts of this land. + -- George Wallace +% +I have now come to the conclusion never again to think of marrying, +and for this reason: I can never be satisfied with anyone who would +be blockhead enough to have me. + -- Abraham Lincoln +% +I have often looked at women and committed adultery in my heart. + -- Jimmy Carter +% +I have often regretted my speech, never my silence. + -- Publilius Syrus +% +I have sacrificed time, health, and fortune, in the desire to complete these +Calculating Engines. I have also declined several offers of great personal +advantage to myself. But, notwithstanding the sacrifice of these advantages +for the purpose of maturing an engine of almost intellectual power, and +after expending from my own private fortune a larger sum than the government +of England has spent on that machine, the execution of which it only +commenced, I have received neither an acknowledgement of my labors, not even +the offer of those honors or rewards which are allowed to fall within the +reach of men who devote themselves to purely scientific investigations... + If the work upon which I have bestowed so much time and thought were +a mere triumph over mechanical difficulties, or simply curious, or if the +execution of such engines were of doubtful practicability or utility, some +justification might be found for the course which has been taken; but I +venture to assert that no mathematician who has a reputation to lose will +ever publicly express an opinion that such a machine would be useless if +made, and that no man distinguished as a civil engineer will venture to +declare the construction of such machinery impracticable... + And at a period when the progress of physical science is obstructed +by that exhausting intellectual and manual labor, indispensable for its +advancement, which it is the object of the Analytical Engine to relieve, I +think the application of machinery in aid of the most complicated and abstruse +calculations can no longer be deemed unworthy of the attention of the country. +In fact, there is no reason why mental as well as bodily labor should not +be economized by the aid of machinery. + -- Charles Babbage, "The Life of a Philosopher" +% +I have seen the future and it is just like the present, only longer. + -- Kehlog Albran +% +I have seen the Great Pretender and he is not what he seems. +% +I have that old biological urge, +I have that old irresistible surge, +I'm hungry. +% +I have the simplest tastes. I am always satisfied with the best. + -- Oscar Wilde +% +I have to think hard to name an interesting man who does not drink. + -- Richard Burton +% +I have travelled the length and breadth of this country, and have talked with +the best people in business administration. I can assure you on the highest +authority that data processing is a fad and won't last out the year. + -- Editor in charge of business books at Prentice-Hall + publishers, responding to Karl V. Karlstrom (a junior + editor who had recommended a manuscript on the new + science of data processing), c. 1957 +% +I have ways of making money that you know nothing of. + -- John D. Rockefeller +% +I have yet to see any problem, however complicated, which, when +you looked at it in the right way, did not become still more complicated. + -- Poul Anderson +% +I haven't lost my mind -- it's backed up on tape somewhere. +% +I haven't lost my mind; I know exactly where I left it. +% +I hear the sound that the machines make, +and feel my heart break, just for a moment. +% +I hear what you're saying but I just don't care. +% +I heard a definition of an intellectual, that I thought was very +interesting: a man who takes more words than are necessary to tell +more than he knows. + -- Dwight D. Eisenhower +% +I hold it, that a little rebellion, now and then, is a good thing... + -- Thomas Jefferson +% +I hold your hand in mine, dear, I press it to my lips, +I take a healthy bite from your dainty fingertips, +My joy would be complete, dear, if you were only here, +But still I keep your hand as a precious souvenir. + +The night you died I cut it off, I really don't know why, +For now each time I kiss it I get bloodstains on my tie, +I'm sorry now I killed you, our love was something fine, +So until they come to get me I will hold your hand in mine. + + -- Tom Lehrer, "I Hold Your Hand In Mine" +% +I hope you're not pretending to be evil while +secretly being good. That would be dishonest. +% +I just asked myself... what would John DeLorean do? + -- Raoul Duke +% +I just ate a whole package of Sweet Tarts and a can of Coke. +I think I saw God. + -- B. Hathrume Duk +% +I just got off the phone with Sonny Barger [President of the Hell's Angels]. +He wants me to appear as a character witness for him at his murder trial +and said he'd be glad to appear as a character witness on my behalf if I +ever needed one. Needless to say, I readily agreed. + -- Thomas King Forcade, publisher of "High Times" +% +I just got out of the hospital after a +speed reading accident. I hit a bookmark. + -- S. Wright +% +I just know I'm a better manager when I have Joe DiMaggio in center field. + -- Casey Stengel +% +I just need enough to tide me over until I need more. + -- Bill Hoest +% +"I keep seeing spots in front of my eyes." +"Did you ever see a doctor?" +"No, just spots." +% +I kissed my first girl and smoked my first cigarette on the same day. +I haven't had time for tobacco since. + -- Arturo Toscanini +% +I knew her before she was a virgin. + -- Oscar Levant, on Doris Day +% +I *knew* I had some reason for not logging you off... +If I could just remember what it was. +% +I knew one thing: as soon as anyone said you didn't need a gun, you'd better +take one along that worked. + -- Raymond Chandler +% +I know if you been talkin' you done said +just how surprised you wuz by the living dead. +You wuz surprised that they could understand you words +and never respond once to all the truth they heard. +But don't you get square! +There ain't no rule that says they got to care. +They can always swear they're deaf, dumb and blind. +% +I know not how I came into this, +shall I call it a dying life or a living death? + -- St. Augustine +% +I know not with what weapons World War III will be fought, but +World War IV will be fought with sticks and stones. + -- Albert Einstein +% +I know on which side my bread is buttered. + -- John Heywood +% +I know the answer! The answer lies within the heart of all mankind! +The answer is twelve? I think I'm in the wrong building. + -- Charles Schulz +% +I know the disposition of women: when you will, they won't; when +you won't, they set their hearts upon you of their own inclination. + -- Publius Terentius Afer (Terence) +% +I know what "custody" [of the children] means. "Get even." That's all +custody means. Get even with your old lady. + -- Lenny Bruce +% +"I know what you're thinking -- `Did he fire six shots or only five?' +Well, to tell you the truth, in all the excitement, I kind of lost track +myself. But being this is a .44 Magnum, the most powerful handgun in the +world, and would blow your head clean off, you've got to ask yourself +one question: `Do I feel lucky?' Well, do you, punk?" + -- Harry Callahan, badge #2211 +% +I know you believe you understand what you think this fortune says, +but I'm not sure you realize that what you are reading is not what +it means. +% +I know you think you thought you knew what you thought I said, +but I'm not sure you understood what you thought I meant. +% +I know you're in search of yourself, I just haven't seen you anywhere. +% +I lately lost a preposition; +It hid, I thought, beneath my chair +And angrily I cried, "Perdition! +Up from out of under there." + +Correctness is my vade mecum, +And straggling phrases I abhor, +And yet I wondered, "What should he come +Up from out of under for?" + -- Morris Bishop +% +I lay my head on the railroad tracks, +Waitin' for the double E. +The railroad don't run no more. +Poor poor pitiful me. [chorus] + Poor poor pitiful me, poor poor pitiful me. + These young girls won't let me be, + Lord have mercy on me! + Woe is me! + +Well, I met a girl, West Hollywood, +Well, I ain't naming names. +But she really worked me over good, +She was just like Jesse James. +She really worked me over good, +She was a credit to her gender. +She put me through some changes, boy, +Sort of like a Waring blender. [chorus] + +I met a girl at the Rainbow Bar, +She asked me if I'd beat her. +She took me back to the Hyatt House, +I don't want to talk about it. [chorus] + -- Warren Zevon, "Poor Poor Pitiful Me" +% +I learned to play guitar just to get the girls, and anyone who says they +didn't is just lyin'! + -- Willie Nelson +% +I like being single. I'm always there when I need me. + -- Art Leo +% +I like myself, but I won't say I'm as handsome as the bull +that kidnapped Europa. + -- Marcus Tullius Cicero +% +I like to believe that people in the long run are going to do more to +promote peace than our governments. Indeed, I think that people want +peace so much that one of these days governments had better get out of +the way and let them have it. + -- Dwight D. Eisenhower +% +I like work; it fascinates me; I can sit and look at it for hours. +% +I like young girls. Their stories are shorter. + -- Tom McGuane +% +I like your game but we have to change the rules. +% +I live the way I type; fast, with a lot of mistakes. +% +I loathe people who keep dogs. They are cowards who haven't got the guts +to bite people themselves. + -- August Strindberg +% +I look at life as being cruise director on the Titanic. +I may not get there, but I'm going first class. + -- Art Buchwald +% +I love being married. It's so great to find that one special +person you want to annoy for the rest of your life. + -- Rita Rudner +% +I love children. Especially when they cry -- for then +someone takes them away. + -- Nancy Mitford +% +I love dogs, but I hate Chihuahuas. A Chihuahua isn't a dog. +It's a rat with a thyroid problem. +% +I love mankind ... It's people I hate. + -- Schulz +% +I love Mickey Mouse more than any woman I've ever known. + -- Walt Disney +% +I love the smell of napalm in the morning. + -- Robert Duval, "Apocalypse Now" +% +I love treason but hate a traitor. + -- Gaius Julius Caesar +% +I love you more than anything in this world. I don't expect that will last. + -- Elvis Costello +% +I love you, not only for what you are, +but for what I am when I am with you. + -- Roy Croft +% +I loved her with a love thirsty and desperate. I felt that we two might +commit some act so atrocious that the world, seeing us, would find it +irresistible. + -- Gene Wolfe, "The Shadow of the Torturer" +% +I married beneath me. All women do. + -- Lady Nancy Astor +% +I may be getting older, but I refuse to grow up! +% +I may kid around about drugs, but really, I take them seriously. + -- Doctor Graper +% +I may not be totally perfect, but parts of me are excellent. + -- Ashleigh Brilliant +% +I met a wonderful new man. He's fictional, but you can't have everything. + -- Cecelia, "The Purple Rose of Cairo" +% +I met my latest girl friend in a department store. She was looking at +clothes, and I was putting Slinkys on the escalators. + -- Steven Wright +% +I might have gone to West Point, but I was too proud to speak to a +congressman. + -- Will Rogers +% +I must Create a System, or be enslav'd by another Man's; +I will not Reason and Compare; my business is to Create. + -- William Blake, "Jerusalem" +% +I must get out of these wet clothes and into a dry Martini. + -- Alexander Woolcott +% +I must have a prodigious quantity of mind; it takes me as much as a +week sometimes to make it up. + -- Mark Twain, "The Innocents Abroad" +% +I must have slipped a disk -- my pack hurts! +% +I myself have dreamed up a structure intermediate between Dyson spheres +and planets. Build a ring 93 million miles in radius -- one Earth orbit +-- around the sun. If we have the mass of Jupiter to work with, and if +we make it a thousand miles wide, we get a thickness of about a thousand +feet for the base. + +And it has advantages. The Ringworld will be much sturdier than a Dyson +sphere. We can spin it on its axis for gravity. A rotation speed of 770 +m/s will give us a gravity of one Earth normal. We wouldn't even need to +roof it over. Place walls one thousand miles high at each edge, facing the +sun. Very little air will leak over the edges. + +Lord knows the thing is roomy enough. With three million times the surface +area of the Earth, it will be some time before anyone complains of the +crowding. + -- Larry Niven, "Ringworld" +% +I need another lawyer like I need another hole in my head. + -- Fratianno +% +I needed the good will of the legislature of four states. I formed the +legislative bodies with my own money. I found that it was cheaper that +way. + -- Jay Gould +% +I never cheated an honest man, only rascals. They wanted +something for nothing. I gave them nothing for something. + -- Joseph "Yellow Kid" Weil +% +I never deny, I never contradict. I sometimes forget. + -- Benjamin Disraeli, British PM, on dealing with the + Royal Family +% +I never did it that way before. +% +I never expected to see the day when girls would get sunburned in the +places they do today. + -- Will Rogers +% +I never failed to convince an audience that the best thing they +could do was to go away. +% +I never forget a face, but in your case I'll make an exception. + -- Groucho Marx +% +I never killed a man that didn't deserve it. + -- Mickey Cohen +% +I never loved another person the way I loved myself. + -- Mae West +% +I never made a mistake in my life. +I thought I did once, but I was wrong. + -- Lucy Van Pelt +% +I never met a man I didn't want to fight. + -- Lyle Alzado, professional footbal lineman +% +I never met a piece of chocolate I didn't like. +% +I never pray before meals -- my mom's a good cook. +% +I never said all Democrats were saloonkeepers; +what I said was all saloonkeepers were Democrats. +% +I never saw a purple cow +I never hope to see one +But I can tell you anyhow +I'd rather see than be one. + -- Gellett Burgess + +I've never seen a purple cow +I never hope to see one +But from the milk we're getting now +There certainly must be one + -- Odgen Nash + +Ah, yes, I wrote "The Purple Cow" +I'm sorry now I wrote it +But I can tell you anyhow +I'll kill you if you quote it. + -- Gellett Burgess, many years later +% +I never take work home with me; I always leave it in some bar along the way. +% +I never vote for anyone. I always vote against. + -- W.C. Fields +% +I often quote myself; it adds spice to my conversation. + -- G.B. Shaw +% +I only know what I read in the papers. + -- Will Rogers +% +I opened the drawer of my little desk and a single letter fell out, a +letter from my mother, written in pencil, one of her last, with unfinished +words and an implicit sense of her departure. It's so curious: one can +resist tears and "behave" very well in the hardest hours of grief. But +then someone makes you a friendly sign behind a window... or one notices +that a flower that was in bud only yesterday has suddenly blossomed... or +a letter slips from a drawer... and everything collapses. + -- Letters From Colette +% +I owe, I owe, +It's off to work I go... +% +I owe the government $3400 in taxes. So I sent them two hammers and a +toilet seat. + -- Michael McShane +% +I owe the public nothing. + -- J.P. Morgan +% +I own my own body, but I share. +% +I place economy among the first and most important virtues, and public debt as +the greatest of dangers to be feared. To preserve our independence, we must +not let our rulers load us with perpetual debt. If we run into such debts, we +must be taxed in our meat and drink, in our necessities and in our comforts, +in our labor and in our amusements. If we can prevent the government from +wasting the labor of the people, under the pretense of caring for them, they +will be happy. + -- Thomas Jefferson +% +I played lead guitar in a band called The Federal Duck, which is the kind +of name that was popular in the '60s as a result of controlled substances +being in widespread use. Back then, there were no restrictions, in terms +of talent, on who could make an album, so we made one, and it sounds like +a group of people who have been given powerful but unfamiliar instruments +as a therapy for a degenerative nerve disease. + -- Dave Barry +% +I pledge allegiance to the flag +of the United States of America +and to the republic for which it stands, +one nation, +indivisible, +with liberty +and justice for all. + -- Francis Bellamy, 1892 +% +I poured spot remover on my dog. Now he's gone. + -- S. Wright +% +I prefer rogues to imbeciles because they sometimes take a rest. + -- Alexandre Dumas the Younger +% +I prefer the most unjust peace to the most righteous war. + -- Cicero + +Even peace may be purchased at too high a price. + -- Poor Richard +% +I profoundly believe it takes a lot of practice to become a moral slob. + -- William F. Buckley +% +I put contact lenses in my dog's eyes. They had little pictures of cats +on them. Then I took one out and he ran around in circles. + -- Stephen Wright +% +I put instant coffee in a microwave and almost went back in time. + -- Steven Wright +% +I put instant coffee in a microwave, and almost went back in time. + -- Stephen Wright +% +I put instant coffee in my microwave oven and almost went back in time. + -- Stephen Wright +% +I put the shotgun in an Adidas bag and padded it out with four pairs of +tennis socks, not my style at all, but that was what I was aiming for: If +they think you're crude, go technical; if they think you're technical, go +crude. I'm a very technical boy. So I decided to get as crude as possible. +These days, though, you have to be pretty technical before you can even +aspire to crudeness. + -- William Gibson, "Johnny Mnemonic" +% +I put up my thumb... and it blotted out the planet Earth. + -- Neil Armstrong +% +I quite agree with you, said the Duchess; and the moral of that is -- 'Be +what you would seem to be' -- or, if you'd like it put more simply -- 'Never +imagine yourself not to be otherwise than what it might appear to others +that what you were or might have been was not otherwise than what you had +been would have appeared to them to be otherwise.' +% +I read a column by George Will that Scarface should be rated X because +parents were taking their children to see it. So what? Why should the +motion-picture industry be responsible for our morality? + Dad says to Mom, "Honey, Scarface is in town." + "What's it about?" + "Human scum who kill each other over cocaine deals." + "Sounds great! Let's take the kids!" + -- Ian Shoales +% +I read Playboy for the same reason I read National Geographic. +To see the sights I'm never going to visit. +% +I read the newspaper avidly. It is my one form of continuous fiction. + -- Aneurin Bevan +% +I realize that today you have a number of top female athletes such as +Martina Navratilova who can run like deer and bench-press Chevrolet +trucks. But to be brutally frank, women as a group have a long way to +go before they reach the level of intensity and dedication to sports +that enables men to be such incredible jerks about it. + -- Dave Barry, "Sports is a Drag" +% +I really had to act; 'cause I didn't have any lines. + -- Marilyn Chambers +% +I really hate this damned machine +I wish that they would sell it. +It never does quite what I want +But only what I tell it. +% +I really look with commiseration over the great body of my fellow citizens +who, reading newspapers, live and die in the belief that they have known +something of what has been passing in their time. + -- H. Truman +% +I recently moved into a new apartment, and there was this switch on the +wall that didn't do anything... so anytime I had nothing to do, I'd just +flick that switch up and down... up and down... up and down... +Then one day I got a letter from a woman in Germany... it just said +"Cut it out." + -- Stephen Wright +% +I recognize terror as the finest emotion and so I will try to terrorize the +reader. But if I find that I cannot terrify, I will try to horrify, and if +I find that I cannot horrify, I'll go for the gross-out. + -- Stephen King +% +I refuse to consign the whole male sex to the nursery. I insist on +believing that some men are my equals. + -- Brigid Brophy +% +I refuse to have a battle of wits with an unarmed person. +% +I remember once being on a station platform in Cleveland at four in the +morning. A black porter was carrying my bags, and as we were waiting for +the train to come in, he said to me: "Excuse me, Mr. Cooke, I don't want to +invade your privacy, but I have a bet with a friend of mine. Who composed +the opening theme music of 'Omnibus'? My friend said Virgil Thomson." I +asked him, "What do you say?" He replied, "I say Aaron Copeland." I said, +"You're right." The porter said, "I knew Thomson doesn't write counterpoint +that way." I told that to a network president, and he was deeply unimpressed. + -- Alistair Cooke +% +I remember Ulysses well... Left one day for the post office +to mail a letter, met a blonde named Circe on the streetcar, +and didn't come back for 20 years. +% +I remember when legal used to mean lawful, now it means some +kind of loophole. + -- Leo Kessler +% +I replaced the headlights on my car with strobe lights. Now it +looks like I'm the only one moving. + -- Steven Wright +% +I respect faith, but doubt is what gives you an education. + -- Wilson Mizner +% +I respect the institution of marriage. I have always thought that every +woman should marry -- and no man. + -- Benjamin Disraeli, "Lothair" +% +I reverently believe that the maker who made us all makes everything in New +England, but the weather. I don't know who makes that, but I think it must be +raw apprentices in the weather-clerks factory who experiment and learn how, in +New England, for board and clothes, and then are promoted to make weather for +countries that require a good article, and will take their custom elsewhere +if they don't get it. + -- Mark Twain +% +"I said, "Preacher, give me strength for round 5." +He said,"What you need is to grow up, son." +I said,"Growin' up leads to growin' old, +And then to dying, and to me that don't sound like much fun." + -- John Cougar, "The Authority Song" +% +I sat down beside her, said hello, offered to buy her a drink... +and then natural selection reared its ugly head. +% +I saw a man pursuing the Horizon, +'Round and round they sped. +I was disturbed at this, +I accosted the man, +"It is futile," I said. +"You can never--" +"You lie!" He cried, +and ran on. + -- Stephen Crane +% +I saw a subliminal advertising executive, but only for a second. + -- Stephen Wright +% +I saw Lassie. It took me four shows to figure out why the hairy kid +never spoke. I mean, he could roll over and all that, but did that +deserve a series?" +% +I saw what you did and I know who you are. +% +I see a bad moon rising. +I see trouble on the way. +I see earthquakes and lightnin' +I see bad times today. +Don't go 'round tonight, +It's bound to take your life. +There's a bad moon on the rise. + -- J. C. Fogerty, "Bad Moon Rising" +% +I see a good deal of talk from Washington about lowering taxes. I hope +they do get 'em lowered down enough so people can afford to pay 'em. + -- The Best of Will Rogers +% +I see where we are starting to pay some attention to our neigbors to +the south. We could never understand why Mexico wasn't just crazy about +us; for we have always had their good will, and oil and minerals, at heart. + -- The Best of Will Rogers +% +I sent a letter to the fish, I said it very loud and clear, +I told them, "This is what I wish." I went and shouted in his ear. +The little fishes of the sea, But he was very stiff and proud, +They sent an answer back to me. He said "You needn't shout so loud." +The little fishes' answer was And he was very proud and stiff, +"We cannot do it, sir, because..." He said "I'll go and wake them if..." +I sent a letter back to say I took a kettle from the shelf, +It would be better to obey. I went to wake them up myself. +But someone came to me and said But when I found the door was locked +"The little fishes are in bed." I pulled and pushed and kicked and + knocked, +I said to him, and I said it plain And when I found the door was shut, +"Then you must wake them up again." I tried to turn the handle, But... + + "Is that all?" asked Alice. + "That is all." said Humpty Dumpty. "Goodbye." +% +I sent a message to another time, +But as the days unwind -- this I just can't believe, +I sent a message to another plane, +Maybe it's all a game -- but this I just can't conceive. +... +I met someone who looks at lot like you, +She does the things you do, but she is an IBM. +She's only programmed to be very nice, +But she's as cold as ice, whenever I get too near, +She tells me that she likes me very much, +But when I try to touch, she makes it all too clear. +... +I realize that it must seem so strange, +That time has rearranged, but time has the final word, +She knows I think of you, she reads my mind, +She tries to be unkind, she knows nothing of our world. + -- ELO, "Yours Truly, 2095" +% +I shall come to you in the night and we shall see who is stronger -- +a little girl who won't eat her dinner or a great big man with cocaine +in his veins. + -- Sigmund Freud, in a letter to his fiancee +% +I shall give a propagandist reason for starting the war, no matter whether +it is plausible or not. The victor will not be asked afterwards whether +he told the truth or not. When starting and waging war it is not right +that matters, but victory. + -- Adolph Hitler +% +I shot an arrow in to the air, and it stuck. + -- graffito in Los Angeles + +On a clear day, +U.C.L.A. + -- graffito in San Francisco + +There's so much pollution in the air now that if it weren't for our +lungs there'd be no place to put it all. + -- Robert Orben +% +I shot an arrow into the air, and it stuck. + -- Los Angeles graffito +% +I should have been a country-western singer. After all, I'm older than +most western countries. + -- George Burns +% +I smell a wumpus. +% +I sold my memoirs of my love life to Parker +Brothers -- they're going to make a game out of it. + -- Woody Allen +% +I sometimes think that God, in creating man, somewhat overestimated his +ability. + -- Oscar Wilde +% +I spilled spot remover on my dog. Now he's gone. + -- Stephen Wright +% +I spilled spot remover on my dog and now he's gone. + -- Stephen Wright +% +I steal. + -- Sam Giancana, explaining his livelihood to his draft board + +Easy. I own Chicago. I own Miami. I own Las Vegas. + -- Sam Giancana, when asked what he did for a living +% +I stick my neck out for nobody. + -- Humphrey Bogart, "Casablanca" +% +I stood on the leading edge, +The eastern seaboard at my feet. +"Jump!" said Yoko Ono +I'm too scared and good-looking, I cried. +Go on and give it a try, +Why prolong the agony, all men must die. + -- Roger Waters, "The Pros and Cons of Hitchhiking" +% +I stopped believing in Santa Claus when I was six. Mother took me to +see him in a department store and he asked for my autograph. + -- Shirley Temple +% +I stopped believing in Santa Claus when my mother took me to see him in a +department store, and he asked for my autograph. + -- Shirley Temple +% +I suggest a new strategy, Artoo: let the Wookiee win. + -- CP30 +% +I suppose I could collect my books and get on back to school, +Or steal my daddy's cue and make a living out of playing pool, +Or find myself a rock 'n' roll band, +That needs a helping hand, +Oh, Maggie I wish I'd never seen your face. + -- Rod Stewart, "Maggie May" +% +I suppose some of the variation between Boston drivers and the rest of the +country is due to the progressive Massachusetts Driver Education Manual which +I happen to have in my top desk drawer. Some of the Tips for Better Driving +are worth considering, to wit: + +[110.13]: + "When traveling on a one-way street, stay to the right, so as not + to interfere with oncoming traffic." + +[22.17b]: + "Learning to change lanes takes time and patience. The best + recommendation that can be made is to go to a Celtics [basketball] + game; study the fast break and then go out and practice it + on the highway." + +[41.16]: + "Never bump a baby carriage out of a crosswalk unless the kid's really + asking for it." +% +I suppose some of the variation between Boston drivers and the rest of the +country is due to the progressive Massachusetts Driver Education Manual which +I happen to have in my top desk drawer. Some of the Tips for Better Driving +are worth considering, to wit: + +[131.16d]: + "Directional signals are generally not used except during vehicle + inspection; however, a left-turn signal is appropriate when making + a U-turn on a divided highway." + +[96.7b]: + "When paying tolls, remember that it is necessary to release the + quarter a full 3 seconds before passing the basket if you are + traveling more than 60 MPH." + +[110.13]: + "When traveling on a one-way street, stay to the right, so as not + to interfere with oncoming traffic." +% +I suppose some of the variation between Boston drivers and the rest of the +country is due to the progressive Massachusetts Driver Education Manual which +I happen to have in my top desk drawer. Some of the Tips for Better Driving +are worth considering, to wit: + +[173.15b]: + "When competing for a section of road or a parking space, remember + that the vehicle in need of the most body work has the right-of-way." + +[141.2a]: + "Although it is altogether possible to fit a 6' car into a 6' + parking space, it is hardly ever possible to fit a 6' car into + a 5' parking space." + +[105.31]: + "Teenage drivers believe that they are immortal, and drive accordingly. + Nevertheless, you should avoid the temptation to prove them wrong." +% +I suppose that in a few hours I will sober up. That's such a sad +thought. I think I'll have a few more drinks to prepare myself. +% +"I suppose you expect me to talk." +"No, Mr. Bond. I expect you to die." + -- Goldfinger +% +I tell them to turn to the study of mathematics, for it +is only there that they might escape the lusts of the flesh. + -- Thomas Mann, "The Magic Mountain" +% +I tell ya, drugs never worked out for me. The first time I tried smoking +pot I didn't know what I was doing. I smoked half the joint, got the +munchies, and ate the other half. + +Well, the first time I tried coke I was so embarrassed. I kept getting the +bottle stuck up my nose. + -- Rodney Dangerfield +% +I tell ya, gambling never agreed with me. Last week I went to the track +and they shot my horse with the opening gun. + +Well, just last week I was at a Chinese restaurant and when I opened my +fortune cookie I found the guy's check sitting at the next table. I said, +"Hey, buddy, I got your check", he said, "Thanks." + -- Rodney Dangerfield +% +I tell ya, I knew my morning wasn't going right. When I put on my shirt +the button fell off, when I picked up my briefcase, the handle fell off, +I tell ya, I was afraid to go to the bathroom. + -- Rodney Dangerfield +% +I tell ya, I was an ugly kid. I was so ugly that my dad +kept the kid's picture that came with the wallet he bought. + -- Rodney Dangerfield +% +I think... I think it's in my basement... Let me go upstairs and check. + -- Escher +% +I think a relationship is like a shark. It has to constantly move forward +or it dies. Well, what we have on our hands here is a dead shark. + -- Woody Allen +% +I think all right-thinking people in this country are sick and tired of +being told that ordinary, decent people are fed up in this country with being +sick and tired. I'm certainly not! But I'm sick and tired of being told +that I am! + -- Monty Python +% +"I think he said 'Blessed are the cheesemakers.'" +"Nonsense, he was obviously referring to all manafacturers of dairy products." + -- The Life of Brian +% +I think I'll snatch a kiss and flee. + -- Shakespeare +% +I think I'm schizophrenic. One half of me's +paranoid and the other half's out to get him. +% +I THINK MAN INVENTED THE CAR by instinct. + -- Jack Handley, The New Mexican, 1988. +% +I think she must have been very strictly brought up, she's so +desperately anxious to do the wrong thing correctly. + -- Saki, "Reginald on Worries" +% +I think that God in creating man somewhat overestimated his ability. + -- Oscar Wilde +% +I think that I shall never hear +A poem lovelier than beer. +The stuff that Joe's Bar has on tap, +With golden base and snowy cap. +The stuff that I can drink all day +Until my mem'ry melts away. +Poems are made by fools, I fear +But only Schlitz can make a beer. +% +I think that I shall never see +A billboard lovely as a tree. +Indeed, unless the billboards fall +I'll never see a tree at all. + -- Nash +% +I think that I shall never see +A thing as lovely as a tree. +But as you see the trees have gone +They went this morning with the dawn. +A logging firm from out of town +Came and chopped the trees all down. +But I will trick those dirty skunks +And write a brand new poem called 'Trunks'. +% +I think the world is ready for the story of an ugly duckling, who grew up to +remain an ugly duckling, and lived happily ever after. + -- Chick +% +I think the world is run by C students. + -- Al McGuire +% +I THINK THERE SHOULD BE SOMETHING in science called the "reindeer effect." +I don't know what it would be, but I think it'd be good to hear someone +say, "Gentlemen, what we have here is a terrifying example of the reindeer +effect." + -- Jack Handley, The New Mexican, 1988. +% +I think, therefore I am... I think. +% +I think there's a world market for about five computers. + -- attr. Thomas J. Watson (Chairman of the Board, IBM), 1943 +% +I THINK THEY SHOULD CONTINUE the policy of not giving a Nobel Prize for +paneling. + -- Jack Handley, The New Mexican, 1988. +% +I think we are in Rats Alley where the dead men lost their bones. + -- T.S. Eliot +% +I think we're all Bozos on this bus. + -- Firesign Theatre +% +I think we're in trouble. + -- Han Solo +% +I think your opinions are reasonable, +except for the one about my mental instability. + -- Psychology Professor, Farifield University +% +"I thought that you said you were 20 years old!" +"As a programmer, yes," she replied, +"And you claimed to be very near two meters tall!" +"You said you were blonde, but you lied!" +Oh, she was a hacker and he was one, too, +They had so much in common, you'd say. +They exchanged jokes and poems, and clever new hacks, +And prompts that were cute or risque'. +He sent her a picture of his brother Sam, +She sent one from some past high school day, +And it might have gone on for the rest of their lives, +If they hadn't met in L.A. +"Your beard is an armpit," she said in disgust. +He answered, "Your armpit's a beard!" +And they chorused: "I think I could stand all the rest +If you were not so totally weird!" +If she had not said what he wanted to hear, +And he had not done just the same, +They'd have been far more honest, and never have met, +And would not have had fun with the game. + -- Judith Schrier, "Face to Face After Six Months of + Electronic Mail" +% +I thought there was something fishy about the butler. Probably a Pisces, +working for scale. + -- Firesign Theatre, "The Further Adventures of Nick Danger" +% +I thought YOU silenced the guard! +% +I told my kids, "Someday, you'll have kids of your own." +One of them said, "So will you." + -- Rodney Dangerfield +% +I took a course in speed reading, learning to read straight down the middle +of the page, and I was able to go through "War and Peace" in twenty minutes. +It's about Russia. + -- Woody Allen +% +I treasure this strange combination found in very few persons: a fierce +desire for life as well as a lucid perception of the ultimate futility of +the quest. + -- Madeleine Gobeil +% +I truly wish I could be a great surgeon or philosopher or author or anything +constructive, but in all honesty I'd rather turn up my amplifier full blast +and drown myself in the noise. + -- Charles Schmid, the "Tucson Murderer" +% +I trust the first lion he meets will do his duty. + -- J.P. Morgan on Teddy Roosevelt's safari +% +I try not to break the rules but merely to test their elasticity. + -- Bill Veeck +% +I try to keep an open mind, but not so open that my brains fall out. + -- Judge Harold T. Stone +% +I turned my air conditioner the other way around, and it got cold out. +The weatherman said "I don't understand it. I was supposed to be 80 +degrees today," and I said "Oops." + +In my house on the ceilings I have paintings of the rooms above... so +I never have to go upstairs. + +I just bought a microwave fireplace... You can spend an evening in +front of it in only eight minutes. + -- Stephen Wright +% +I understand why you're confused. You're thinking too much. + -- Carole Wallach. +% +I use not only all the brains I have, but all those I can borrow as well. + -- Woodrow Wilson +% +I use technology in order to hate it more properly. + -- Nam June Paik +% +I used to be a rebel in my youth. +This cause... that cause... (chuckle) I backed 'em ALL! But I learned. +Rebellion is simply a device used by the immature to hide from his own +problems. So I lost interest in politics. Now when I feel aroused by +a civil rights case or a passport hearing... I realize it's just a device. +I go to my analyst and we work it out. You have no idea how much better +I feel these days. + -- J. Feiffer +% +I used to be disgusted, now I find I'm just amused. + -- Elvis Costello +% +I used to be Snow White, but I drifted. + -- Mae West +% +I used to be such a sweet sweet thing, 'til they got a hold of me, +I opened doors for little old ladies, I helped the blind to see, +I got no friends 'cause they read the papers, they can't be seen, +With me, and I'm feelin' real shot down, +And I'm, uh, feelin' mean, + No more, Mr. Nice Guy, + No more, Mr. Clean, + No more, Mr. Nice Guy, +They say "He's sick, he's obscene". + +My dog bit me on the leg today, my cat clawed my eyes, +Ma's been thrown out of the social circle, and Dad has to hide, +I went to church, incognito, when everybody rose, +The reverend Smithy, he recognized me, +And punched me in the nose, he said, +(chorus) +He said "You're sick, you're obscene". + -- Alice Cooper, "No More Mr. Nice Guy" +% +I used to get high on life but lately I've built up a resistance. +% +I used to have a drinking problem. +Now I love the stuff. +% +I used to live in a house by the freeway. When I went anywhere, I had +to be going 65 MPH by the end of my driveway. + +I replaced the headlights in my car with strobe lights. Now it looks +like I'm the only one moving. + +I was pulled over for speeding today. The officer said, "Don't you know +the speed limit is 55 miles an hour?" And I said, "Yes, but I wasn't going +to be out that long." + +I put a new engine in my car, but didn't take the ond one out. Now +my car goes 500 miles an hour. + -- Stephen Wright +% +I used to think I was a child; now I think I am an adult -- not because +I no longer do childish things, but because those I call adults are no +more mature than I am. +% +I used to think I was indecisive, but now I'm not so sure. +% +I used to think romantic love was a neurosis shared by two, a supreme +foolishness. I no longer thought that. There's nothing foolish in +loving anyone. Thinking you'll be loved in return is what's foolish. + -- Rita Mae Brown +% +I used to think that the brain was the most wonderful organ in +my body. Then I realized who was telling me this. + -- Emo Phillips +% +I used to work in a fire hydrant factory. You couldn't park anywhere +near the place. + -- Steven Wright +% +I value kindness to human beings first of all, and kindness to animals. I +don't respect the law; I have a total irreverence for anything connected +with society except that which makes the roads safer, the beer stronger, +the food cheaper, and old men and womem warmer in the winter, and happier +in the summer. + -- Brendan Behan +% +I value kindness to human beings first of all, and kindness to animals. I +don't respect the law; I have a total irreverence for anything connected +with society except that which makes the roads safer, the beer stronger, +the food cheaper, and old men and women warmer in the winter, and happier +in the summer. + -- Brendan Behan +% +I waited and waited and when no message came I knew it must be from you. +% +I want to be the white man's brother, not his brother-in-law. + -- Martin Luther King, Jr. +% +I want to buy a husband who, every week when I sit down to watch "St. +Elsewhere", won't scream, "Forget it, Blanche... It's time for Hee-Haw!" +% +I want to kill everyone here with a cute colorful Hydrogen Bomb!! + -- Zippy the Pinhead +% +I want to marry a girl just like the girl that married dear old dad. + -- Freud +% +I want to reach your mind -- where is it currently located? +% +I was appalled by this story of the destruction of a member of a valued +endangered species. It's all very well to celebrate the practicality of +pigs by ennobling the porcine sibling who constructed his home out of +bricks and mortar. But to wantonly destroy a wolf, even one with an +excessive taste for porkers, is unconscionable in these ecologically +critical times when both man and his domestic beasts continue to maraud +the earth. + Sylvia Kamerman, "Book Reviewing" +% +I was at this restaurant. The sign said "Breakfast Anytime." So I +ordered French Toast in the Rennaissance. + -- Steven Wright +% +I was born in a barrel of butcher knives +Trouble I love and peace I despise +Wild horses kicked me in my side +Then a rattlesnake bit me and he walked off and died. + -- Bo Diddley +% +I was eatin' some chop suey, +With a lady in St. Louie, +When there sudden comes a knockin' at the door. +And that knocker, he says, "Honey, +Roll this rocker out some money, +Or your daddy shoots a baddie to the floor." + -- Mr. Miggle +% +I was gratified to be able to answer promptly, and I did. +I said I didn't know. + -- Mark Twain +% +I was in a bar and I walked up to a beautiful woman and said, "Do you live +around here often?" She said, "You're wearing two different-color socks." +I said, "Yes, but to me they're the same because I go by thickness." +She said, "How do you feel?" And I said, "You know when you're sitting on a +chair and you lean back so you're just on two legs and you lean too far so +you almost fall over but at the last second you catch yourself? I feel like +that all the time..." + -- Steven Wright, "Gentlemen's Quarterly" +% +I was in a beauty contest one. I not only came in last, I was hit in +the mouth by Miss Congeniality. + -- Phyllis Diller +% +I was in accord with the system so long as it +permitted me to function effectively. + -- Albert Speer +% +I was in this prematurely air conditioned supermarket and there were all +these aisles and there were these bathing caps you could buy that had these +kind of Fourth of July plumes on them that were red and yellow and blue and +I wasn't tempted to buy one but I was reminded of the fact that I had been +avoiding the beach. + -- Lucinda Childs "Einstein On The Beach" +% +I was in Vegas last week. I was at the roulette table, having a +lengthy argument about what I considered an Odd number. + -- Steven Wright +% +I was offered a job as a hoodlum and I turned it down cold. A thief is +anybody who gets out and works for his living, like robbing a bank or +breaking into a place and stealing stuff, or kidnapping somebody. He really +gives some effort to it. A hoodlum is a pretty lousy sort of scum. He +works for gangsters and bumps guys off when they have been put on the spot. +Why, after I'd made my rep, some of the Chicago Syndicate wanted me to work +for them as a hood -- you know, handling a machine gun. They offered me +two hundred and fifty dollars a week and all the protection I needed. I +was on the lam at the time and not able to work at my regular line. But +I wouldn't consider it. "I'm a thief," I said. "I'm no lousy hoodlum." + -- Alvin Karpis, "Public Enemy Number One" +% +I was playing poker the other night... with Tarot cards. I got a +full house and four people died. + -- Steven Wright +% +I was the best I ever had. + -- Woody Allen +% +I was toilet-trained at gunpoint. + -- Billy Braver +% +I was working on a case. It had to be a case, because I couldn't afford a +desk. Then I saw her. This tall blond lady. She must have been tall +because I was on the third floor. She rolled her deep blue eyes towards +me. I picked them up and rolled them back. We kissed. She screamed. I +took the cigarette from my mouth and kissed her again. +% +I wasn't kissing her, I was whispering in her mouth. + -- Chico Marx +% +I watch television because you don't know what it will do if you leave it +in the room alone. +% +I went home with a waitress, +The way I always do. +How I was I to know? +She was with the Russians too. + +I was gambling in Havana, +I took a little risk. +Send lawyers, guns, and money, +Dad, get me out of this. + -- Warren Zevon, "Lawyers, Guns and Money" +% +I went into the business for the money, and the art grew out of it. +If people are disillusioned by that remark, I can't help it. +It's the truth. + -- Charlie Chaplin +% +I went on to test the program in every way I could devise. I strained it to +expose its weaknesses. I ran it for high-mass stars and low-mass stars, for +stars born exceedingly hot and those born relatively cold. I ran it assuming +the superfluid currents beneath the crust to be absent -- not because I wanted +to know the answer, but because I had developed an intuitive feel for the +answer in this particular case. Finally I got a run in which the computer +showed the pulsar's temperature to be less than absolute zero. I had found +an error. I chased down the error and fixed it. Now I had improved the +program to the point where it would not run at all. + -- George Greenstein, "Frozen Star: + Of Pulsars, Black Holes and the Fate of Stars" +% +I went over to my friend, he was eatin' a pickle. +I said "Hi, what's happenin'?" +He said "Nothin'." +Try to sing this song with that kind of enthusiasm; +As if you just squashed a cop. + -- Arlo Guthrie, "Motorcycle Song" +% +I went to a Grateful Dead Concert and they played for SEVEN hours. +Great song. + -- Fred Reuss +% +I went to a place to eat. It said `BREAKFAST ANYTIME.' So I ordered +French toast during the Renaissance. + -- Stephen Wright +% +I went to a restaurant that serves "breakfast at any time." +So I ordered French Toast during the Renaissance. + -- Steven Wright +% +I went to my first computer conference at the New York Hilton about 20 +years ago. When somebody there predicted the market for microprocessors +would eventually be in the millions, someone else said, "Where are they +all going to go? It's not like you need a computer in every doorknob!" + +Years later, I went back to the same hotel. I noticed the room keys had +been replaced by electronic cards you slide into slots in the doors. + +There was a computer in every doorknob. + -- Danny Hillis +% +I went to my mother and told her I intended to commence a different life. +I asked for and obtained her blessing and at once commenced the career +of a robber. + -- Tiburcio Vasquez +% +I will always love the false image I had of you. +% +I will follow the good side right to the fire, +but not into it if I can help it. + -- Michel Eyquem de Montaigne +% +I will honour Christmas in my heart, and try to keep it all the +year. I will live in the Past, the Present, and the Future. The +Spirits of all Three shall strive within me. I will not shut out +the lessons that they teach. Oh, tell me that I may sponge away the +writing on this stone! + -- Charles Dickens +% +I will make you shorter by the head. + -- Elizabeth I +% +I will never lie to you. +% +I will not be briefed or debriefed, my underwear is my own. +% +I will not drink! +But if I do... +I will not get drunk! +But if I do... +I will not in public! +But if I do... +I will not fall down! +But if I do... +I will fall face down so that they cannot see my company badge. +% +I will not forget you. +% +I will not play at tug o' war. +I'd rather play at hug o' war, +Where everyone hugs +Instead of tugs, +Where everyone giggles +And rolls on the rug, +Where everyone kisses, +And everyone grins, +And everyone cuddles, +And everyone wins. + -- Shel Silverstein, "Hug O' War" +% +I will not say that women have no character; rather, they have a new +one every day. + -- Heine +% +I wish a robot would get elected president. That way, when he came to town, +we could all take a shot at him and not feel too bad. + -- Jack Handey +% +I WISH I HAD A KRYPTONITE CROSS, because then you could keep both Dracula +and Superman away. + -- Jack Handley, The New Mexican, 1988. +% +I wish there was a knob on the TV where you could turn up the +intelligence. They've got one called brightness, but it doesn't +seem to work. + -- Gallagher +% +I wish you humans would leave me alone. +% +I wish you were a Scotch on the rocks. +% +I woke up a feelin' mean +went down to play the slot machine +the wheels turned round, +and the letters read +"Better head back to Tennessee Jed" + -- Grateful Dead +% +I woke up this morning and discovered that everything in my apartment +had been stolen and replaced with an exact replica. I told my roommate, +"Isn't this amazing? Everything in the apartment has been stolen and +replaced with an exact replica." He said, "Do I know you?" + -- Steven Wright +% +"I wonder", he said to himself, "what's in a book while it's closed. Oh, I +know it's full of letters printed on paper, but all the same, something must +be happening, because as soon as I open it, there's a whole story with people +I don't know yet and all kinds of adventures and battles." + -- Bastian B. Bux +% +I wonder what the leash and collar set does for excitement? + -- Tramp, Lady and the Tramp +% +I worked in a health food store once. A guy came in and asked me, +"If I melt dry ice, can I take a bath without getting wet?" + -- Steven Wright +% +I would be batting the big feller if they wasn't ready with the other one, +but a left-hander would be the thing if they wouldn't have knowed it already +because there is more things involved than could come up on the road, even +after we've been home a long while. + -- Casey Stengel +% +I would gladly raise my voice in praise of women, +only they won't let me raise my voice. + -- Winkle +% +I would have made a good pope. + -- Richard Nixon +% +I would have promised those terrorists a trip to Disneyland if it would have +gotten the hostages released. I thank God they were satisfied with the +missiles and we didn't have to go to that extreme. + -- Oliver North +% +I would have you imagine, then, that there exists in the mind of man a block +of wax... and that we remember and know what is imprinted as long as the +image lasts; but when the image is effaced, or cannot be taken, then we +forget or do not know. + -- Plato, Dialogs, Theateus 191 + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to image activation and termination.] +% +I would like the government to do all it can to mitigate, then, in +understanding, in mutuality of interest, in concern for the common good, +our tasks will be solved. + -- Warren G. Harding +% +I would like to electrocute everyone who uses the word 'fair' in connection +with income tax policies. + -- William F. Buckley +% +I would like to know +What I was fencing in +And what I was fencing out. + -- Robert Frost +% +I would like to suggest that you not use speed, and here's why: it is going +to mess up your heart, mess up your liver, your kidneys, rot out your mind. +In general this drug will make you just like your mother and father. + -- Frank Zappa +% +I would much rather have men ask why +I have no statue, than why I have one. + -- Marcus Procius Cato +% +I would not like to be a political leader in Russia. They never know when +they're being taped. + -- Richard Nixon + +I love America. You always hurt the one you love. + -- David Frye impersonating Nixon +% +I would rather be a serf in a poor man's house +and be above ground than reign among the dead. + -- Achilles, "The Odessey", XI, 489-91 +% +I would rather say that a desire to drive fast +sports cars is what sets man apart from the animals. +% +I wouldn't be so paranoid if you weren't all out to get me!! +% +I wouldn't marry her with a ten foot pole. +% +I wouldn't recommend sex, drugs or insanity +for everyone, but they've always worked for me. + -- Hunter S. Thompson +% +I wrecked trains because I like to see people die. I like to hear +them scream. + -- Sylvestre Matuschka, "the Hungarian Train Wreck Freak", + escaped prison 1937, not heard from since +% +Iam +not +very +happy +acting +pleased +whenever +prominent +scientists +overmagnify +intellectual +enlightenment +% +IBM: + [Internation Business Machines Corp.] Also known as Itty Bitty + Machines or The Lawyer's Friend. The dominant force in computer + marketing, having supplied worldwide some 75% of all known hardware + and 10% of all software. To protect itself from the litigious envy + of less successful organizations, such as the US government, IBM + employs 68% of all known ex-Attorneys' General. +% +IBM: + I've Been Moved + Idiots Become Managers + Idiots Buy More + Impossible to Buy Machine + Incredibly Big Machine + Industry's Biggest Mistake + International Brotherhood of Mercenaries + It Boggles the Mind + It's Better Manually + Itty-Bitty Machines +% +IBM Advanced Systems Group -- a bunch of mindless jerks, +who'll be first against the wall when the revolution comes... + -- with regrets to D. Adams +% +IBM had a PL/I, +Its syntax worse than JOSS; +And everywhere this language went, +It was a total loss. +% +IBM: It may be slow, but it's hard to use. +% +IBM Pollyanna Principle: + Machines should work. People should think. +% +IBM's original motto: + Cogito ergo vendo; vendo ergo sum. +% +I'd be a poorer man if I'd never seen an eagle fly. + -- John Denver + +[I saw an eagle fly once. Fortunately, I had my eagle fly swatter handy. Ed.] +% +I'd give my right arm to be ambidextrous. +% +I'd horsewhip you if I had a horse. + -- Groucho Marx +% +I'd just as soon kiss a Wookiee. + -- Princess Leia Organa +% +I'D LIKE TO BE BURIED INDIAN-STYLE, where they put you up on a high rack, +above the ground. That way, you could get hit by meteorites and not even +feel it. + -- Jack Handley, The New Mexican, 1988. +% +I'd like to meet the guy who invented beer and see what he's working on now. +% +I'd like to see the government get out of war altogether and leave the +whole field to private industry. + -- Joseph Heller +% +I'd love to kiss you, but I just washed my hair. + -- Bette Davis, "Cabin in the Cotton" +% +I'd never cry if I did find + A blue whale in my soup... +Nor would I mind a porcupine + Inside a chicken coop. +Yes life is fine when things combine, + Like ham in beef chow mein... +But lord, this time I think I mind, + They've put acid in my rain. + --- Milo Bloom +% +I'd never join any club that would have the likes of me as a member. + -- Groucho Marx +% +I'd probably settle for a vampire if he were romantic enough. +Couldn't be any worse than some of the relationships I've had. + -- Brenda Starr +% +I'd rather be led to hell than managed to heavan. +% +I'd rather have a free bottle in front of me than a prefrontal lobotomy. + -- Fred Allen + +[Also attributed to S. Clay Wilson. Ed.] +% +I'd rather have two girls at 21 each than one girl at 42. + -- W.C. Fields +% +I'd rather just believe that it's done by little elves running around. +% +I'd rather laugh with the sinners, +Than cry with the saints, +The sinners are much more fun! + -- Billy Joel, "Only The Good Die Young" +% +I'd rather push my Harley than ride a rice burner. +% +Identify your visitor. +% +idiot box, n: + The part of the envelope that tells a person where to place + the stamp when they can't quite figure it out for themselves. + -- "Sniglets", Rich Hall & Friends +% +idiot box, n: + The part of the envelope that tells a person where to place the + stamp when they can't quite figure it out for themselves. + -- Rich Hall, "Sniglets" +% +idiot, n: + A member of a large and powerful tribe whose influence + in human affairs has always been dominant and controlling. +% +IDLENESS: + Leisure gone to seed. +% +Idleness is the holiday of fools. +% +If A = B and B = C, then A = C, except where void or prohibited by law. + -- Roy Santoro +% +If a camel is a horse designed by a committee, then a consensus forecast +is a camel's behind. + -- Edgar R. Fiedler +% +If a can of Alpo costs 38 cents, would it cost $2.50 in Dog Dollars? +% +If a child annoys you, quiet him by brushing their hair. If this doesn't +work, use the other side of the brush on the other end of the child. +% +If A fool persists in his folly he shall become wise. + -- William Blake +% +If a group of N persons implements a COBOL compiler, +there will be N-1 passes. Someone in the group has to be the manager. + -- T. Cheatham +% +If a guru falls in the forest with no one to hear him, was he +really a guru at all? + -- Strange de Jim, "The Metasexuals" +% +If a jury in a criminal trial stays out for more than twenty-four hours, it +is certain to vote acquittal, save in those instances where it votes guilty. + -- Joseph C. Goulden +% +IF A KID ASKS YOU where rain comes from, I think a cute thing to tell him +is, "God is crying." And if he asks why God is crying, another cute thing +to tell him is, "Probably because of something you did." + -- Jack Handley, The New Mexican, 1988. +% +If a listener nods his head when you're +explaining your program, wake him up. +% +If a man has a strong faith he can indulge in the luxury of skepticism. + -- Friedrich Nietzsche +% +If a man has talent and cannot use it, he has failed. + -- Thomas Wolfe +% +If a man is not a liberal at 25, he has no heart. +If he's not a conservative by 45, he has no brain. +% +If a man loses his reverence for any part of life, +he will lose his reverence for all of life. + -- Albert Schweitzer +% +If a man stay away from his wife for seven years, the law presumes the +separation to have killed him; yet according to our daily experience, +it might well prolong his life. + -- Charles Darling, "Scintillae Juris, 1877 +% +If a nation expects to be ignorant and free, +... it expects what never was and never will be. + -- Thomas Jefferson +% +If a nation values anything more than freedom, it will lose its freedom; +and the irony of it is that if it is comfort or money it values more, it +will lose that, too. + -- W. Somerset Maugham +% +If a person (a) is poorly, (b) receives treatment intended to make him better, +and (c) gets better, then no power of reasoning known to medical science can +convince him that it may not have been the treatment that restored his health. + -- Sir Peter Medawar, "The Art of the Soluble" +% +If a putt passes over the hole without dropping, it is deemed to have dropped. +The law of gravity holds that any object attempting to maintain a position +in the atmosphere without something to support it must drop. The law of +gravity supercedes the law of golf. + -- Donald A. Metz +% +If a shameless woman expects to be defiled and then dies of her fierce +love because you do not consent, will chastity also be homicide? + -- Saint Augustine +% +If a small child asks you where rain comes from, I think a reasonable response +is simply that "God is crying." And, if he asks you why God is crying, the +only possible answer is "Probably because of something you did." +% +If a subordinate asks you a pertinent question, +look at him as if he had lost his senses. +When he looks down, paraphrase the question back at him. +% +If a system is administered wisely, +its users will be content. +They enjoy hacking their code +and don't waste time implementing +labor-saving shell scripts. +Since they dearly love their accounts, +they aren't interested in other machines. +There may be telnet, rlogin, and ftp, +but these don't access any hosts. +There may be an arsenal of cracks and malware, +but nobody ever uses them. +People enjoy reading their mail, +take pleasure in being with their newsgroups, +spend weekends working at their terminals, +delight in the doings at the site. +And even though the next system is so close +that users can hear its key clicks and biff beeps, +they are content to die of old age +without ever having gone to see it. +% +If a team is in a positive frame of mind, it will have a good attitude. +If it has a good attitude, it will make a commitment to playing the +game right. If it plays the game right, it will win -- unless, of +course, it doesn't have enough talent to win, and no manager can make +goose-liver pate out of goose feathers, so why worry? + -- Sparky Anderson +% +If a thing's worth doing, it is worth doing badly. + -- G.K. Chesterton +% +If a thing's worth having, it's worth cheating for. + -- W.C. Fields +% +If a train station is a place where a train stops, what's a workstation? +% +If addiction is judged by how long a dumb animal will sit pressing a lever +to get a "fix" of something, to its own detriment, then I would conclude +that netnews is far more addictive than cocaine. + -- Rob Stampfli +% +If all be true that I do think, +There be five reasons why one should drink; +Good friends, good wine, or being dry, +Or lest we should be by-and-by, +Or any other reason why. +% +If all else fails, immortality can always be assured by spectacular error. + -- John Kenneth Galbraith +% +If all else fails, lower your standards. +% +If all men were brothers, would you let one marry your sister? +% +If all the girls who attended the Yale prom were laid end to end -- I +wouldn't be a bit surprised. + -- Dorothy Parker +% +If all the seas were ink, +And all the reeds were pens, +And all the skies were parchment, +And all the men could write, +These would not suffice +To write down all the red tape +Of this Government. +% +If all the world's a stage, I want to operate the trap door. + -- Paul Beatty +% +If all the world's economists were laid end to end, +we wouldn't reach a conclusion. + -- William Baumol +% +If an average person on the subway turns to you, like an ancient mariner, +and starts telling you her tale, you turn away or nod and hope she stops, +not just because you fear she might be crazy. If she tells her tale on +camera, you might listen. Watching strangers on television , even +responding to them from a studio audience, we're disengaged - voyeurs +collaborating with exhibitionists in rituals of sham community. Never +have so many known so much about people for whom they cared so little. + -- Wendy Kaminer commenting on testimonial television + in "I'm Dysfunctional, You're Dysfunctional". +% +If an experiment works, something has gone wrong. +% +If an S and an I and an O and a U +With an X at the end spell Su; +And an E and a Y and an E spell I, +Pray what is a speller to do? +Then, if also an S and an I and a G +And an HED spell side, +There's nothing much left for a speller to do +But to go commit siouxeyesighed. + -- Charles Follen Adams, "An Orthographic Lament" +% +If any demonstrator ever lays down in front of my car, it'll be the last +car he ever lays down in front of. + -- George Wallace +% +If any man wishes to be humbled and mortified, +let him become president of Harvard. + -- Edward Holyoke +% +If anyone has seen my dog, please contact me at x2883 as soon as possible. +We're offering a substantial reward. He's a sable collie, with three legs, +blind in his left eye, is missing part of his right ear and the tip of his +tail. He's been recently fixed. Answers to "Lucky". +% +If anything can go wrong, it will. +% +If at first you do succeed, try to hide your astonishment. +% +If at first you don't succeed, destroy all evidence that you tried. +% +If at first you don't succeed, quit; don't be a nut about success. +% +If at first you don't succeed, redefine success. +% +If at first you don't succeed, try, try again. + -- W.E. Hickson +% +If at first you don't succeed, try try again. Then quit. +No use being a damn fool about it. +% +If at first you don't succeed, try, try again. +Then quit. No use being a damn fool about it. + -- W.C. Fields + +[Also attributed to Roy Mengot. Ed.] +% +If at first you don't succeed, you must be a programmer. +% +If at first you don't succeed, you're doing about average. + -- Leonard Levinson +% +If at first you fricasee, fry, fry again. +% +If atheism is to be used to express the state of mind in which God is +identified with the unknowable, and theology is pronounced to be a +collection of meaningless words about unintelligible chimeras, then +I have no doubt, and I think few people doubt, that atheists are as +plentiful as blackberries. + -- Leslie Stephen +% +If bankers can count, how come they have +eight windows and only four tellers? +% +If Beethoven's Seventh Symphony is not by +some means abridged, it will soon fall into disuse. + -- Philip Hale, Boston music critic, 1837 +% +If builders built buildings the way programmers wrote programs, +then the first woodpecker to come along would destroy civilization. +% +If built in great numbers, motels will be used for nothing +but illegal purposes. + -- J. Edgar Hoover +% +If Carter is the answer, it must have been a VERY silly question. +% +If Christianity was morality, Socrates would be the Saviour. + -- William Blake +% +If clear thinking created sparks, we could safely store dynamite in James +Watt's office. + -- Wayne Shannon +% +If coke is a joke, I'm waiting around for the next line. +% +If computers take over (which seems to be their natural tendency), it will +serve us right. + -- Alistair Cooke +% +If dolphins are so smart, why did Flipper work for television? +% +If England treats her criminals the way she has treated me, she doesn't +deserve to have any. + -- Oscar Wilde, reportedly while standing handcuffed in a + driving rain, waiting for transport to prison upon his + conviction for sodomy. +% +If ever the pleasure of one has to be bought by the pain of the other, +there better be no trade. A trade by which one gains and the other loses +is a fraud. + -- Dagny Taggart, "Atlas Shrugged" +% +If ever you want to touch the hand and the heart of God Almighty, you can +do it through the body of someone you love. Anytime. Anywhere. Without +no middleman. + -- Theodore Sturgeon, "Godbody" +% +If every kid had a funny tooth to bite down on whenever the world disappointed +him, prussic acid could solve our population problems in one generation. + -- G.C. Edmonson's Albert, "The Man Who Corrupted Earth" +% +If everything on the road of life seems to +be coming your way, you're in the wrong lane. +% +If everything seems to be going well, +you have obviously overlooked something. +% +If fifty million people say a foolish thing, it's still a foolish thing. + -- Bertrand Russell +% +If food be the music of love, eat up, eat up. +% +If for every rule there is an exception, then we have established that there +is an exception to every rule. If we accept "For every rule there is an +exception" as a rule, then we must conced that there may not be an exception +after all, since the rule states that there is always the possibility of +exception, and if we follow it to its logical end we must agree that there +can be an exception to the rule that for every rule there is an exception. + -- Bill Boquist +% +If God did not exist, it would be necessary to invent him. + -- Voltaire, "Epitres, XCVI" +% +If God had a beard, he'd be a UNIX programmer. +% +If God had intended Man to program, we'd be born with serial I/O ports. +% +If God had intended Man to Smoke, He would have set him on Fire. +% +If God had intended man to use the metric system, Jesus +would have only had ten disciples. +% +If God had intended Man to Walk, He would have given him Feet. +% +If God had intended Man to Watch TV, He would have given him Rabbit Ears. +% +If God had intended Men to Smoke, He would have put Chimneys in their Heads. +% +If God had meant for us to be in the Army, +we would have been born with green, baggy skin. +% +If God had meant for us to be naked, we would have been born that way. +% +If God had not given us sticky tape, +it would have been necessary to invent it. +% +If God had really intended men to fly, +he'd make it easier to get to the airport. + -- George Winters +% +If God had wanted us to be concerned for the plight of the toads, he would +have made them cute and furry. + -- Dave Barry +% +If God had wanted us to use the metric system, Jesus would have had +only ten apostles. +% +If God had wanted you to go around nude, +He would have given you bigger hands. +% +If God hadn't wanted you to be paranoid, +He wouldn't have given you such a vivid imagination. +% +If God is dead, who will save the Queen? +% +If God is One, what is bad? + -- Charles Manson +% +If God is perfect, why did He create discontinuous functions? +% +If God lived on Earth, people would knock out all His windows. + -- Yiddish saying +% +If God wanted us to be brave, why did he give us legs? + -- Marvin Kitman +% +If God wanted us to have a President, +He would have sent us a candidate. + -- Jerry Dreshfield +% +If graphics hackers are so smart, +why can't they get the bugs out of fresh paint? +% +If guns are outlawed, how will we shoot the liberals? +% +If happiness is in your destiny, you need not be in a hurry. + -- Chinese proverb +% +If he had only learnt a little less, how +infinitely better he might have taught much more! +% +If he once again pushes up his sleeves in order to compute for 3 days +and 3 nights in a row, he will spend a quarter of an hour before to +think which principles of computation shall be most appropriate. + -- Voltaire, "Diatribe du docteur Akakia" +% +If he should ever change his faith, +it'll be because he no longer thinks he's God. +% +If I cannot bend Heaven, I shall move Hell. + -- Publius Vergilius Maro (Virgil) +% +If I could read your mind, love, +What a tale your thoughts could tell, +Just like a paperback novel, +The kind the drugstore sells, +When you reach the part where the heartaches come, +The hero would be me, +Heroes often fail, +You won't read that book again, because + the ending is just too hard to take. + +I walk away, like a movie star, +Who gets burned in a three way script, +Enter number two, +A movie queen to play the scene +Of bringing all the good things out in me, +But for now, love, let's be real +I never thought I could act this way, +And I've got to say that I just don't get it, +I don't know where we went wrong but the feeling is gone +And I just can't get it back... + -- Gordon Lightfoot, "If You Could Read My Mind" +% +If I could stick my pen in my heart, +I would spill it all over the stage. +Would it satisfy ya, would it slide on by ya, +Would you think the boy was strange? +Ain't he strange? +... +If I could stick a knife in my heart, +Suicide right on the stage, +Would it be enough for your teenage lust, +Would it help to ease the pain? +Ease your brain? + -- Rolling Stones, "It's Only Rock'N Roll" +% +If I don't drive around the park, +I'm pretty sure to make my mark. +If I'm in bed each night by ten, +I may get back my looks again. +If I abstain from fun and such, +I'll probably amount to much; +But I shall stay the way I am, +Because I do not give a damn. + -- Dorothy Parker +% +If I had a formula for bypassing trouble, I would not pass it around. +Trouble creates a capacity to handle it. I don't say embrace trouble; that's +as bad as treating it as an enemy. But I do say meet it as a friend, for +you'll see a lot of it and you had better be on speaking terms with it. + -- Oliver Wendell Holmes, Jr. +% +If *I* had a hammer, there'd be no more folk singers. +% +IF I HAD A MINE SHAFT, I don't think I would just abandon it. There's +got to be a better way. + -- Jack Handley, The New Mexican, 1988. +% +If I had a plantation in Georgia and a home in Hell, +I'd sell the plantation and go home. + -- Eugene P. Gallagher +% +If I had any humility I would be perfect. + -- Ted Turner +% +If I had done everything I'm credited with, I'd be speaking to you from +a laboratory jar at Harvard. + -- Frank Sinatra + +AS USUAL, YOUR INFORMATION STINKS. + -- Frank Sinatra, telegram to "Time" magazine +% +If I had my life to live over, I'd try to make more mistakes next time. I +would relax, I would limber up, I would be sillier than I have been this +trip. I know of very few things I would take seriously. I would be crazier. +I would climb more mountains, swim more rivers and watch more sunsets. I'd +travel and see. I would have more actual troubles and fewer imaginary ones. +You see, I am one of those people who lives prophylactically and sensibly +and sanely, hour after hour, day after day. Oh, I have had my moments and, +if I had it to do over again, I'd have more of them. In fact, I'd try to +have nothing else. Just moments, one after another, instead of living so many +years ahead each day. I have been one of those people who never go anywhere +without a thermometer, a hotwater bottle, a gargle, a raincoat and a parachute. +If I had it to do over again, I would go places and do things and travel +lighter than I have. If I had my life to live over, I would start bare-footed +earlier in the spring and stay that way later in the fall. I would play hooky +more. I probably wouldn't make such good grades, but I'd learn more. I would +ride on more merry-go-rounds. I'd pick more daisies. +% +If I had only known, I would have been a locksmith. + -- Albert Einstein +% +If I had to live my life again, I'd make the same mistakes, only sooner. + -- Tallulah Bankhead +% +If I have not seen so far it is because I stood in giant's footsteps. +% +If I have seen farther than others, it is because I was standing on the +shoulders of giants. + -- Isaac Newton + +In the sciences, we are now uniquely privileged to sit side by side with +the giants on whose shoulders we stand. + -- Gerald Holton + +If I have not seen as far as others, it is because giants were standing on +my shoulders. + -- Hal Abelson + +Mathematicians stand on each other's shoulders. + -- Gauss + +Mathemeticians stand on each other's shoulders while computer scientists +stand on each other's toes. + -- Richard Hamming + +It has been said that physicists stand on one another's shoulders. If +this is the case, then programmers stand on one another's toes, and +software engineers dig each other's graves. + -- Unknown +% +If I have to lay an egg for my country, I'll do it. + -- Bob Hope +% +If I knew what brand [of whiskey] he drinks, +I would send a barrel or so to my other generals. + -- Abraham Lincoln, on General Grant +% +If I love you, what business is it of yours? + -- Goethe +% +If I love you, what business is it of yours? + -- Johann van Goethe +% +If I made peace with Russia today, I'd only attack her again tomorrow. I +just couldn't help myself. + -- Adolf Hitler +% +If I promised you the moon and the stars, would you believe it? + -- Alan Parsons Project +% +If I set here and stare at nothing long enough, people might think +I'm an engineer working on something. + -- S.R. McElroy +% +If I told you you had a beautiful body, would you hold it against me? +% +If I traveled to the end of the rainbow +As Dame Fortune did intend, +Murphy would be there to tell me +The pot's at the other end. + -- Bert Whitney +% +If I want your opinion, I'll ask you to fill out the necessary form. +% +If I were a grave-digger or even a hangman, there are some people I could +work for with a great deal of enjoyment. + -- Douglas Jerrold +% +If I were to walk on water, the press would say I'm only doing it +because I can't swim. + -- Bob Stanfield +% +If I'd known computer science was going to be like this, +I'd never have given up being a rock 'n' roll star. + -- G. Hirst +% +If I'm over the hill, why is it I don't recall ever being on top? + -- Jerry Muscha +% +If in any problem you find yourself doing an immense amount of work, the +answer can be obtained by simple inspection. +% +If in doubt, mumble. +% +If it ain't baroque, don't fix it. +% +If it ain't broke, don't fix it. +% +If it doesn't smell yet, it's pretty fresh. + -- Dave Johnson, on dead seagulls +% +If it happens once, it's a bug. +If it happens twice, it's a feature. +If it happens more than twice, it's a design philosophy. +% +If it has syntax, it isn't user-friendly. +% +If it heals good, say it. +% +If it is a Miracle, any sort of evidence will +answer, but if it is a Fact, proof is necessary. + -- Samuel Clemens +% +If it pours before seven, it has rained by eleven. +% +If it smells it's chemistry, if it crawls it's biology, if it doesn't work +it's physics. +% +If it takes a bloodbath, lets get it over with. No more appeasement. + -- Ronald Reagan +% +If it wasn't for Newton, we wouldn't have to eat bruised apples. +% +If it wasn't for the last minute, nothing would get done. +% +If it wasn't so warm out today, it would be cooler. +% +If it were not for the presents, an elopment would be preferable. + -- George Ade, "Forty Modern Fables" +% +If it were thought that anything I wrote was influenced by Robert Frost, +I would take that particular work of mine, shred it, and flush it down +the toilet, hoping not to clog the pipes. A more sententious, holding- +forth old bore who expected every hero-worshiping adenoidal little twerp +of a student-poet to hang on to his every word I never saw. + -- James Dickey +% +If it weren't for the last minute, nothing would ever get done. +% +If it's green or wiggles, it's biology. +If it stinks, it's chemistry. +If it doesn't work, it's physics. +% +If it's not in the computer, it doesn't exist. +% +If it's Tuesday, this must be someone else's fortune. +% +If it's worth doing, do it for money. +% +If it's worth doing, it's worth doing for money. +% +If it's worth hacking on well, it's worth hacking on for money. +% +If Jesus Christ were to come today, people would not even crucify him. +They would ask him to dinner, and hear what he had to say, and make +fun of it. + -- Thomas Carlyle +% +If just one piece of mail gets lost, well, they'll just think they forgot to +send it. But if *two* pieces of mail get lost, hell, they'll just think the +other guy hasn't gotten around to answering his mail. And if *fifty* pieces +of mail get lost, can you imagine it, if *fifty* pieces of mail get lost, why +they'll think something *else* is broken! And if 1Gb of mail gets lost, +they'll just *know* that uunet is down and think it's a conspiracy to keep +them from their God given right to receive Net Mail ... + -- Leith (Casey) Leedom, apologies to Arlo Guthrie +% +If Karl, instead of writing a lot about Capital, +had made a lot of Capital, it would have been much better. + -- Karl Marx's Mother +% +If life gives you lemons, make lemonade. +% +If life is a stage, I want some better lighting. +% +If life is merely a joke, the question +still remains: for whose amusement? +% +If life isn't what you wanted, have you asked for anything else? +% +If little green men land in your back yard, hide any little green women +you've got in the house. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +If love is the answer, could you rephrase the question? + -- Lily Tomlin +% +If Love Were Oil, I'd Be About A Quart Low + -- Book title by Lewis Grizzard +% +If Machiavelli were a hacker, he'd have worked for the CSSG. + -- Phil Lapsley +% +If Machiavelli were a programmer, he'd have worked for AT&T. +% +If man is only a little lower than the angels, the angels should reform. + -- Mary Wilson Little +% +If mathematically you end up with the wrong +answer, try multipying by the page number. +% +If men acted after marriage as they do during courtship, there would +be fewer divorces -- and more bankruptcies. + -- Frances Rodman +% +If men are not afraid to die, +it is of no avail to threaten them with death. + +If men live in constant fear of dying, +And if breaking the law means a man will be killed, +Who will dare to break the law? + +There is always an official executioner. +If you try to take his place, +It is like trying to be a master carpenter and cutting wood. +If you try to cut wood like a master carpenter, + you will only hurt your hand. + -- Tao Te Ching, "Lao Tsu, #74" +% +If more of us valued food and cheer and song above hoarded gold, it would +be a merrier world. + -- J.R.R. Tolkien +% +If once a man indulges himself in murder, very soon he comes to think little +of robbing; and from robbing he next comes to drinking and Sabbath-breaking, +and from that to incivility and procrastination. + -- Thomas De Quincey (1785 - 1859) +% +If once a man indulges himself in murder, very soon he comes to think +little of robbing; and from robbing he next comes to drinking and +Sabbath-breaking, and from that to incivility and procrastination. + -- Thomas De Quincey +% +If one cannot enjoy reading a book over and +over again, there is no use in reading it at all. + -- Oscar Wilde +% +If one inquires why the American tradition is so strong against any connection +of State and Church, why it dreads even the rudiments of religious teaching +in state-maintained schools, the immediate and superficial answer is not +far to seek. ... The cause lay largely in the diversity and vitality of the +various denominations, each fairly sure that, with a fair field and no favor, +it could make its own way; and each animated by a jealous fear that, if any +connection of State and Church were permitted, some rival denomination would +get an unfair advantage. + -- John Dewey, "Democracy in the Schools", 1908 +% +If one tells the truth, one is sure, sooner or later, to be found out. + -- Oscar Wilde, "Phrases and Philosophies for the Use + of the Young" +% +If only Dionysus were alive! Where would he eat? + -- Woody Allen +% +If only God would give me some clear sign! +Like making a large deposit in my name at a Swiss bank. + -- Woody Allen, "Without Feathers" +% +If only one could get that wonderful feeling of +accomplishment without having to accomplish anything. +% +If only you could be respected without having to be respectable. +% +If only you had a personality instead of an attitude. +% +If only you knew she loved you, you could +face the uncertainty of whether you love her. +% +If opportunity came disguised as temptation, one knock would be enough. +% +If parents would only realize how they bore their children. + -- G.B. Shaw +% +If people are good only because they fear punishment, and hope for reward, +then we are a sorry lot indeed. + -- Albert Einstein +% +If people concentrated on the really important things in life, +there'd be a shortage of fishing poles. + -- Doug Larson +% +If people drank ink instead of Schlitz, they'd be better off. + -- Edward E. Hippensteel + +[What brand of ink? Ed.] +% +If people have to choose between freedom and sandwiches, they +will take sandwiches. + -- Lord Boyd-orr + +Eats first, morals after. + -- Bertolt Brecht, "The Threepenny Opera" +% +If people say that here and there someone has been taken away and maltreated, +I can only reply: You can't make an omelette without breaking eggs. + -- Hermann Goering +% +If people see that you mean them no harm, +they'll never hurt you, nine times out of ten! +% +If practice makes perfect, and nobody's perfect, why practice? +% +If pregnancy were a book they would cut the last two chapters. + -- Nora Ephron, "Heartburn" +% +If pro is the opposite of con, what is the opposite of progress? +% +If puns were deli meat, this would be the wurst. +% +If rabbits feet are so lucky, what happened to the rabbit? +% +If reporters don't know that truth is plural, they ought to be lawyers. + -- Tom Wicker +% +If researchers wrote nursery rhymes... + +Little Miss Muffet sat on her gluteal region, +Eating components of soured milk. +On at least one occasion, + along came an arachnid and sat down beside her, +Or at least in her vicinity, +And caused her to feel an overwhelming, but not paralyzing, fear, +Which motivated the patient to leave the area rather quickly. + -- Ann Melugin Williams +% +If Ricky Schroder and Gary Coleman had a fight on television with +pool cues, who would win? + 1) Ricky Schroder + 2) Gary Coleman + 3) The television viewing public + -- David Letterman +% +If scientific reasoning were limited to the logical processes of +arithmetic, we should not get very far in our understanding of the physical +world. One might as well attempt to grasp the game of poker entirely by +the use of the mathematics of probability. + -- Vannevar Bush +% +If sex is such a natural phenomenon, how come there are so many +books on how to? + -- Bette Midler +% +If she had not been cupric in her ions, +Her shape ovoidal, +Their romance might have flourished. +But he built tetrahedral in his shape, +His ions ferric, +Love could not help but die, +Uncatylised, inert, and undernourished. +% +If society fits you comfortably enough, you call it freedom. + -- Robert Frost +% +If some people didn't tell you, +you'd never know they'd been away on vacation. +% +If someone had told me I would be Pope +one day, I would have studied harder. + -- Pope John Paul I +% +If someone says he will do something "without fail", he won't. +% +If something has not yet gone wrong then it would +ultimately have been beneficial for it to go wrong. +% +If swimming is so good for your figure, how come whales look the +way they do? +% +If the American dream is for Americans only, it will remain our dream +and never be our destiny. + -- Rene de Visme Williamson +% +If the automobile had followed the same development as the computer, a +Rolls-Royce would today cost $100, get a million miles per per gallon, +and explode once a year killing everyone inside. + -- Robert Cringely, InfoWorld +% +If the church put in half the time on covetousness that it does on lust, +this would be a better world. + -- Garrison Keillor, "Lake Wobegon Days" +% +If the code and the comments disagree, then both are probably wrong. + -- Norm Schryer +% +If the colleges were better, if they really had it, you would need to get +the police at the gates to keep order in the inrushing multitude. See in +college how we thwart the natural love of learning by leaving the natural +method of teaching what each wishes to learn, and insisting that you shall +learn what you have no taste or capacity for. The college, which should +be a place of delightful labor, is made odious and unhealthy, and the +young men are tempted to frivolous amusements to rally their jaded spirits. +I would have the studies elective. Scholarship is to be created not +by compulsion, but by awakening a pure interest in knowledge. The wise +instructor accomplishes this by opening to his pupils precisely the +attractions the study has for himself. The marking is a system for schools, +not for the college; for boys, not for men; and it is an ungracious work to +put on a professor. + -- Ralph Waldo Emerson +% +If the designers of X-window built cars, there would be no fewer than five +steering wheels hidden about the cockpit, none of which followed the same +prinicples -- but you'd be able to shift gears with your car stereo. Useful +feature, that. + -- From the programming notebooks of a heretic, 1990. +% +If the ends don't justify the means, then what does? + -- Robert Moses +% +If the English language made any sense, lackadaisical +would have something to do with a shortage of flowers. + -- Doug Larson + +[Not to mention, butterfly would be flutterby. Ed.] +% +If the facts don't fit the theory, change the facts. + -- Albert Einstein +% +If the future isn't what it used to be, does that +mean that the past is subject to change in times to come? +% +If the girl you love moves in with another guy once, it's more than enough. +Twice, it's much too much. Three times, it's the story of your life. +% +If the government doesn't trust the people, why +doesn't it dissolve them and elect a new people? +% +If the grass is greener on other side of fence, +consider what may be fertilizing it. +% +If the human brain were so simple that we could understand it, +we would be so simple we couldn't. +% +If the Lord God Almighty had consulted me before embarking upon the Creation, +I would have recommended something simpler. + -- Alfonso the Wise, 13th Century King of Castile, + Commenting on the Almagest, by Ptolemy. +% +If the master dies and the disciple grieves, +the lives of both have been wasted. +% +If the meanings of "true" and "false" were switched, +then this sentence would not be false. +% +If the Nazi's had television with satellite technology, we'd all be +goose-stepping. Americans are just as suggestible. + -- Frank Zappa +% +If the odds are a million to one against something +occurring, chances are 50-50 it will. +% +If the path be beautiful, let us not ask where it leads. + -- Anatole France +% +If the rich could pay the poor to die for them, +what a living the poor could make! +% +If the shoe fits, it's ugly. +% +If the thunder don't get you, then the lightning will. +% +If the vendors started doing everything right, we would be out of a job. +Let's hear it for OSI and X! With those babies in the wings, we can count +on being employed until we drop, or get smart and switch to gardening, +paper folding, or something. + -- C. Philip Wood +% +If the very old will remember, the very young will listen. + -- Chief Dan George +% +If the weather is extremely bad, church attendance will be down. +If the weather is extremely good, church attendance will be down. +If the bulletin covers are in short supply, however, +church attendance will exceed all expectations. + -- Reverend Chichester +% +If there are epigrams, there must be meta-epigrams. +% +If there is a possibility of several things going wrong, +the one that will cause the most damage will be the one to go wrong. + +If you perceive that there are four possible ways in which a procedure +can go wrong, and circumvent these, then a fifth way will promptly develop. +% +If there is a sin against life, it consists perhaps not so much in despairing +of life as in hoping for another life and in eluding the implacable grandeur +of this life. + -- Albert Camus +% +If there is a wrong way to do something, then someone will do it. + -- Edward A. Murphy Jr. +% +If there is any realistic deterrent to marriage, it's the fact that you +can't afford divorce. + -- Jack Nicholson +% +If there is no God, who pops up the next Kleenex? + -- Art Hoppe +% +If there is no wind, row. + -- Polish proverb +% +If there really was a Jewish conspiracy to run the world, my rabbi would +have let me in on it by now. I contribute enough to the shule. + -- Saul Goodman +% +If there was in justice in the world, "trust" would be a four-letter word. +% +If there were a school for, say, sheet metal workers, that after three +years left its graduates as unprepared for their careers as does law +school, it would be closed down in a minute, and no doubt by lawyers. + -- Michael Levin, "The Socratic Method +% +If they sent one man to the moon, why can't they send them all? +% +If they think you're crude, go technical; if they think you're technical, +go crude. I'm a very technical boy. So I get as crude as possible. These +days, though, you have to be pretty technical before you can even aspire +to crudeness... + -- Johnny Mnemonic +% +If they were so inclined, they could impeach +him because they don't like his necktie. + -- Attorney General William Saxbe +% +If things don't improve soon, you'd better ask them to stop helping you. +% +If this fortune didn't exist, somebody would have invented it. +% +If this is timesharing, give me my share right now. +It's not time yet. +% +If time heals all wounds, how come the belly button stays the same? +% +If truth is beauty, how come no one has their hair done in the library? + -- Lily Tomlin +% +If two men agree on everything, you may be sure that one of them is +doing the thinking. + -- Lyndon B. Johnson + +Jerry Ford is a nice guy, but he played too much football with his +helmet off. + -- Lyndon B. Johnson + +I do not believe that this generation of Americans is willing to resign +itself to going to bed each night by the light of a Communist moon. + -- Lyndon B. Johnson +% +If two people love each other, there can be no happy end to it. + -- Ernest Hemingway +% +If two wrongs don't make a right, try three wrongs. +% +If voting could change the system, it would be illegal. +If not voting could change the system, it would be illegal. +% +If we all work together, we can totally disrupt the system. +% +If we can ever make red tape nutritional, we can feed the world. + -- R. Schaeberle, "Management Accounting" +% +If we could sell our experiences for what they cost us, we would +all be millionaires. + -- Abigail Van Buren +% +If we do not change our direction we are +likely to end up where we are headed. +% +If we don't survive, we don't do anything else. + -- John Sinclair +% +If we men married the women we deserved, we should have a very bad time +of it. + -- Oscar Wilde +% +"If we relied conclusively on scientific data for every one of our +findings, I'm afraid all of our work would be inconclusive." + -- Henry Hudson, of the Meese Pornography Commission, on + criticism of its conclusion that pornography causes sex + crimes. +% +If we see the light at the end of the tunnel +It's the light of an oncoming train. + -- Robert Lowell +% +If we spoke a different language, we +would perceive a somewhat different world. + -- Wittgenstein +% +If we suffer tamely a lawless attack upon our liberty, +we encourage it, and involve others in our doom. + -- Samuel Adams +% +If we were meant to get up early, God would have created us +with alarm clocks. +% +If we won't stand together, we don't stand a chance. +% +If what they've been doing hasn't solved the problem, tell them to +do something else. + -- Gerald Weinberg, "The Secrets of Consulting" +% +If while you are in school, there is a shortage of qualified personnel +in a particular field, then by the time you graduate with the necessary +qualifications, that field's employment market is glutted. + -- Marguerite Emmons +% +If wishes were horses, then beggars would be thieves. +% +If women are supposed to be less rational and more emotional at the +beginning of our menstrual cycle, when the female hormone is at its +lowest level, then why isn't it logical to say that in those few days +women behave the most like the way men behave all month long? + -- Gloria Steinham +% +If women didn't exist, all the money in the world would have no meaning. + -- Aristotle Onassis +% +If you always postpone pleasure you will never have it. +Quit work and play for once! +% +If you analyse anything, you destroy it. + -- Arthur Miller +% +If you are a police dog, where's your badge? + -- Question James Thurber used to drive his German Shepherd + crazy. +% +If you are afraid of loneliness, don't marry. + -- Anton Chekov +% +If you are afraid of loneliness, don't marry. + -- Chekhov +% +If you are going to walk on thin ice, you may as well dance. +% +If you are good, you will be assigned all the work. If you are real +good, you will get out of it. +% +If you are honest because honesty is the best policy, +your honesty is corrupt. +% +If you are looking for a kindly, well-to-do older gentleman who is no +longer interested in sex, take out an ad in The Wall Street Journal. + -- Abigail Van Buren +% +If you are not for yourself, who will be for you? +If you are for yourself, then what are you? +If not now, when? +% +If you are of the opinion that the contemplation of suicide is sufficient +evidence of a poetic nature, do not forget that actions speak louder than +words. + -- Fran Lebowitz, "Metropolitan Life" +% +If you are of the opinion that the contemplation of suicide is +sufficient evidence of a poetic nature, do not forget that actions +speak louder than words. + -- Fran Lebowitz +% +If you are over 80 years old and accompanied +by your parents, we will cash your check. +% +If you are shooting under 80 you are neglecting your business; +over 80 you are neglecting your golf. + -- Walter Hagen +% +If you are smart enough to know that you're not +smart enough to be an Engineer, then you're in Business. +% +If you are too busy to read, then you are too busy. +% +If you are what you eat, does that mean Euelle Gibbons really was a nut? +% +If you aren't rich you should always look useful. + -- Louis-Ferdinand Celine +% +If you can count your money, you don't have a billion dollars. + -- J. Paul Getty +% +If you can keep your head when all about you are losing +theirs, then you clearly don't understand the situation. +% +If you can lead it to water and force it to drink, it isn't a horse. +% +If you can survive death, you can probably survive anything. +% +If you cannot convince them, confuse them. + -- Harry S. Truman +% +If you cannot in the long run tell everyone +what you have been doing, your doing was worthless. + -- Edwim Schrodinger +% +If you can't be good, be careful. +If you can't be careful, give me a call. +% +If you can't convince them, confuse them. + -- Harry S. Truman +% +If you can't get your work done in the first 24 hours, work nights. +% +If you can't learn to do it well, learn to enjoy doing it badly. +% +If you can't read this, blame a teacher. +% +If you can't say anything good about someone, sit right here by me. + -- Alice Roosevelt Longworth +% +If you can't understand it, it is intuitively obvious. +% +If you catch a man, throw him back. + -- Woman's Liberation Slogan, c. 1975 +% +If you continually give you will continually have. +% +If you could only get that wonderful feeling of +accomplishment without having to accomplish anything. +% +If you didn't get caught, did you really do it? +% +If you didn't have most of your friends, +you wouldn't have most of your problems. +% +If you didn't have to work so hard, +you'd have more time to be depressed. +% +If you do not think about the future, you cannot have one. + -- John Galsworthy +% +If you do not wish a man to do a thing, you had better get him to talk about +it; for the more men talk, the more likely they are to do nothing else. + -- Carlyle +% +If you do something right once, someone will ask you to do it again. +% +If you don't care where you are, then you ain't lost. +% +If you don't count some of Jehovah's injunctions, there are no humorists +in the Bible. + -- Mordecai Richler +% +If you don't do it, you'll never know what +would have happened if you had done it. +% +If you don't do the things that are not worth doing, who will? +% +If you don't drink it, someone else will. +% +If you don't go to other men's funerals they won't go to yours. + -- Clarence Day +% +If you don't have the time right now, +will you have redo right time later? +% +If you don't have time to do it right, where +are you going to find the time to do it over? +% +If you don't know what game you're playing, don't ask what the score is. +% +If you don't like the way I drive, stay off the sidewalk! +% +If you don't say anything, you won't be called on to repeat it. + -- Calvin Coolidge +% +If you don't strike oil in twenty minutes, stop boring. + -- Andrew Carnegie, on public speaking +% +If you drink, don't park. Accidents make people. +% +If you ever want to have a lot of fun, I recommend that you go off and program +an embedded system. The salient characteristic of an embedded system is that +it cannot be allowed to get into a state from which only direct intervention +will suffice to remove it. An embedded system can't permanently trust anything +it hears from the outside world. It must sniff around, adapt, consider, sniff +around, and adapt again. I'm not talking about ordinary modular programming +carefulness here. No. Programming an embedded system calls for undiluted +raging maniacal paranoia. For example, our ethernet front ends need to know +what network number they are on so that they can address and route PUPs +properly. How do you find out what your network number is? Easy, you ask a +gateway. Gateways are required by definition to know their correct network +numbers. Once you've got your network number, you start using it and before +you can blink you've got it wired into fifteen different sockets spread all +over creation. Now what happens when the panic-stricken operator realizes he +was running the wrong version of the gateway which was giving out the wrong +network number? Never supposed to happen. Tough. Supposing that your +software discovers that the gateway is now giving out a different network +number than before, what's it supposed to do about it? This is not discussed +in the protocol document. Never supposed to happen. Tough. I think you +get my drift. +% +If you explain something so clearly that no +one can possibly misunderstand, someone will. +% +If you fail to plan, plan to fail. +% +If you find a solution and become attached to it, +the solution may become your next problem. +% +If you flaunt it, expect to have it trashed. +% +If you float on instinct alone, how can you +calculate the buoyancy for the computed load? + -- Christopher Hodder-Williams +% +If you fool around with something long +enough, it will eventually break. +% +If you give a man enough rope, he'll claim he's tied up at the office. +% +If you give Congress a chance to vote on +both sides of an issue, it will always do it. + -- Les Aspin, D, Wisconsin +% +If you go on with this nuclear arms race, +all you are going to do is make the rubble bounce. + -- Winston Churchill +% +If you go out of your mind, do it quietly, +so as not to disturb those around you. +% +If you go parachuting, and your parachute doesn't open, and your friends are +all watching you fall, I think a funny gag would be to pretend you were +swimming. + -- Jack Handey +% +If you had better tools, you could more +effectively demonstrate your total incompetence. +% +If you had just one moment to live +And they granted you one special wish +Would you ask for something +Like another chance. + -- Traffic, "The Low Spark of Hi Heeled Boys" +% +If you hands are clean and your cause is just +and your demands are reasonable, at least it's a start. +% +If you have a procedure with 10 parameters, you probably missed some. +% +If you have never been hated by your child, you have never been a parent. + -- Bette Davis +% +If you have nothing to do, don't do it here. +% +If you have received a letter inviting you to speak at the dedication of a +new cat hospital, and you hate cats, your reply, declining the invitation, +does not necessarily have to cover the full range of your emotions. You must +make it clear that you will not attend, but you do not have to let fly at cats. +The writer of the letter asked a civil question; attack cats, then, only if +you can do so with good humor, good taste, and in such a way that your answer +will be courteous as well as responsive. Since you are out of sympathy with +cats, you may quite properly give this as a reason for not appearing at the +dedication ceremonies of a cat hospital. But bear in mind that your opinion +of cats was not sought, only your services as a speaker. Try to keep things +straight. + -- Strunk and White, "The Elements of Style" +% +If you have seen one city slum you have seen them all. + -- Spiro Agnew +% +If you have to ask how much it is, you can't afford it. +% +If you have to ask what jazz is, you'll never know. + -- Louis Armstrong +% +If you have to hate, hate gently. +% +If you have to think twice about it, you're wrong. +% +If you haven't enjoyed the material in the last few lectures then a career +in chartered accountancy beckons. + -- Advice from the lecturer in the middle of the Stochastic + Systems course. +% +If you hype something and it succeeds, you're a genius -- it wasn't a +hype. If you hype it and it fails, then it was just a hype. + -- Neil Bogart +% +If you just try long enough and hard enough, you can always manage to boot +yourself in the posterior. + -- A.J. Liebling, "The Press" +% +If you just try long enough and hard enough, you can always manage to +boot yourself in the posterior. + -- A.J. Liebling +% +If you keep an open mind people will throw a lot of garbage in it. +% +If you keep your mind sufficiently open, people will throw a lot of +rubbish into it. + -- William Orton +% +If you knew what to say next, would you say it? +% +If you know the answer to a question, don't ask. + -- Petersen Nesbit +% +If you laid all of our laws end to end, there would be no end. + -- Mark Twain +% +If you laid all the Elvis impersonators in the world, end to end... +you'd wanna run and get a steam roller, real fast. + -- David Letterman +% +If you learn one useless thing every day, in a single year you'll learn +365 useless things. +% +If you liked the Earth you'll love Heaven. +% +If you live in a country run by committee, be on the committee. + -- Graham Summer +% +If you live long enough, you'll see that every victory turns into a defeat. + -- Simone De Beauvoir +% +If you live to the age of a hundred you have it made +because very few people die past the age of a hundred. + -- George Burns +% +If you lived today as if it were your last, you'd buy up a box of rockets +and fire them all off, wouldn't you? + -- Garrison Keillor +% +If you look good and dress well, you don't need a purpose in life. + -- Robert Pante, fashion consultant +% +If you look like your driver's license photo -- see a doctor. +If you look like your passport photo -- it's too late for a doctor. +% +If you lose a son you can always get another, +but there's only one Maltese Falcon. + -- Sidney Greenstreet, "The Maltese Falcon" +% +If you lose your temper at a newspaper columnist, he'll get rich, +or famous or both. +% +If you love someone, set them free. +If they don't come back, then call them up when you're drunk. +% +If you love something set it free. If it doesn't +come back to you, hunt it down and kill it. +% +If you make a mistake you right it +immediately to the best of your ability. +% +If you make any money, the government shoves you in the creek once a year +with it in your pockets, and all that don't get wet you can keep. + -- The Best of Will Rogers +% +If you make people think they're thinking, they'll love you; +but if you really make them think they'll hate you. +% +If you marry a man who cheats on his wife, you'll +be married to a man who cheats on his wife. + -- Ann Landers +% +If you meet somebody who tells you that he loves you more than anybody +in the whole wide world, don't trust him. It means he experiments. +% +If you mess with a thing long enough, it'll break. + -- Schmidt +% +If you MUST get married, it is always advisable to marry beauty. +Otherwise, you'll never find anybody to take her off your hands. +% +If you need anything just whistle. +You know how to whistle, don't you, Steve? +Just put your lips together and blow. + -- Lauren Bacall, "To Have and Have Not" +% +If you notice that a person is deceiving you, +they must not be deceiving you very well. +% +If you pick up a starving dog and make him prosperous, he will not +bite you; that is the principal difference between a dog and a man. + -- Mark Twain +% +If you push the "extra ice" button on the soft drink vending machine, +you won't get any ice. If you push the "no ice" button, you'll get +ice, but no cup. +% +If you put it off long enough, it might go away. +% +If you put tomfoolery into a computer, nothing comes out but tomfoolery. +But this tomfoolery, having passed through a very expensive machine, +is somehow enobled and no-one dare criticise it. + -- Pierre Gallois +% +If you put your supper dish to your ear you can hear the sounds of a +restaurant. + -- Snoopy +% +If you really want to do something new, the good won't help you with it. +Let me have men about me that are arrant knaves. The wicked, who have +something on their conscience, are obliging, quick to hear threats, because +they know how it's done, and for booty. You can offer them things because +they will take them. Because they have no hesitations. You can hang them +if they get out of step. Let me have men about me that are utter villains +-- provided that I have the power, the absolute power, over life and death. + -- Hermann Goering +% +If you refuse to accept anything but the best you very often get it. +% +If you remember the 60's, you weren't there. +% +If you resist reading what you disagree with, how will you ever acquire +deeper insights into what you believe? The things most worth reading +are precisely those that challenge our convictions. +% +If you see an onion ring -- answer it! +% +If you sell diamonds, you cannot expect to have many customers. +But a diamond is a diamond even if there are no customers. + -- Swami Prabhupada +% +If you sow your wild oats, hope for a crop failure. +% +If you steal from one author it's plagiarism; if you steal from +many it's research. + -- Wilson Mizner +% +If you stew apples like cranberries, +they taste more like prunes than rhubarb does. + -- Groucho Marx +% +If you stick a stock of liquor in your locker, +It is slick to stick a lock upon your stock. +Or some joker who is slicker, +Will trick you of your liquor, +If you fail to lock your liquor with a lock. +% +If you stick your head in the sand, +one thing is for sure, you're gonna get your rear kicked. +% +If you suspect a man, don't employ him. +% +If you talk to God, you are praying; if God talks to you, you have +schizophrenia. + -- Thomas Szasz +% +If you teach your children to like computers and to know how to gamble +then they'll always be interested in something and won't come to no real +harm. +% +If you tell the truth you don't have to remember anything. + -- Mark Twain +% +If you think before you speak the other guy gets his joke in first. +% +If you think education is expensive, try ignorance. + -- Derek Bok, president of Harvard +% +If you think last Tuesday was a drag, +wait till you see what happens tomorrow! +% +If you think nobody cares if you're alive, +try missing a couple of car payments. + -- Earl Wilson +% +If you think the pen is mightier than the sword, the next time +someone pulls out a sword I'd like to see you get up there with +your Bic. +% +If you think the problem is bad now, just wait until we've solved it. + -- Arthur Kasspe +% +If you think the system is working, +ask someone who's waiting for a prompt. +% +If you think the United States has stood still, +who built the largest shopping center in the world? + -- Richard Nixon +% +If you think things can't get worse it's probably only because you +lack sufficient imagination. +% +If you throw a New Year's Party, the worst thing that you can do would be +to throw the kind of party where your guests wake up today, and call you to +say they had a nice time. Now you'll be be expected to throw another party +next year. + What you should do is throw the kind of party where your guest wake + up several days from now and call their lawyers to find out if +they've been indicted for anything. You want your guests to be so anxious +to avoid a recurrence of your party that they immediately start planning +parties of their own, a year in advance, just to prevent you from having +another one ... + If your party is successful, the police will knock on your door, +unless your party is very successful in which case they will lob tear gas +through your living room window. As host, your job is to make sure that +they don't arrest anybody. Or if they're dead set on arresting someone, +your job is to make sure it isn't you ... + -- Dave Barry +% +If you took all of the grains of sand in the world, and lined +them up end to end in a row, you'd be working for the government! + -- Mr. Interesting +% +If you took all the students that felt asleep in class and laid them +end to end, they'd be a lot more comfortable. +% +If you took all the women at the Harvard Prom +and laid them end to end, I wouldn't be a bit surprised. + -- Dorothy Parker +% +If you treat people right they will treat you right -- 90% of the time. + -- F.D. Roosevelt +% +If you try to please everyone, somebody is not going to like it. +% +If you wait long enough, it will go away... after having +done its damage. If it was bad, it will be back. +% +If you want me to be a good little bunny +just dangle some carats in front of my nose. + -- Lauren Bacall +% +If you want to be ruined, marry a rich woman. + -- Michelet +% +If you want to get rich from writing, write the sort of thing that's +read by persons who move their lips when the're reading to themselves. + -- Don Marquis +% +If you want to know how old a man is, ask his brother-in-law. +% +If you want to make God laugh, tell him about your plans. + -- Woody Allen +% +If you want to put yourself on the map, publish your own map. +% +If you want to read about love and marriage you've got to buy two separate +books. + -- Alan King +% +If you want to see card tricks, you have to expect to take cards. + -- Harry Blackstone +% +If you want to understand your government, don't begin by reading the +Constitution. It conveys precious little of the flavor of today's statecraft. +Instead, read selected portions of the Washington telephone directory +containing listings for all the organizations with titles beginning with +the word "National". + -- George Will +% +If you want your spouse to listen and pay strict attention to every word +you say, talk in your sleep. +% +If you wants to get elected president, you'se got to think up some +memoraboble homily so's school kids can be pestered into memorizin' +it, even if they don't know what it means. + -- Walt Kelly +% +If you waste your time cooking, you'll miss the next meal. +% +If you will practice being fictional for a while, you will understand that +fictional characters are sometimes more real than people with bodies and +heartbeats. +% +If you wish to be happy for one hour, get drunk. +If you wish to be happy for three days, get married. +If you wish to be happy for a month, kill your pig and eat it. +If you wish to be happy forever, learn to fish. + -- Chinese Proverb +% +If you wish to succeed, consult three old people. +% +If you wish women to love you, be original; I know a man who wore fur +boots summer and winter, and women fell in love with him. + -- Anton Chekov +% +If you work for a man, in heaven's name, work for him. +If he pays you wages which supply you bread and butter, work for him; speak + well of him; stand by him, and by the institution he represents. +If put to a pinch, an ounce of loyalty is worth a pound of cleverness. +If you must vilify, condemn and eternally find disparage -- resign your + position, and when you are outside, damn to your heart's content... + but, as long as you are part of the institution do not condemn it. +If you do that, you are loosening the tendrils that are holding you to the + institution, and at the first high wind that comes along, you will + be uprooted and blown away, and probably will never know the reason + why. +% +If you would keep a secret from an enemy, tell it not to a friend. +% +If you would know the value of money, go try to borrow some. + -- Ben Franklin +% +If you would understand your own age, read the works +of fiction produced in it. People in disguise speak freely. +% +If you'd like to cultivate insomnia, +Bed down with a pretty girl. +Amor vincit omnia. +% +If your aim in life is nothing; you can't miss. +% +If your bread is stale, make toast. +% +If your enemy is buried in quicksand up to his neck, pull him out. +If he is buried up to his eyes, step on his head. + -- Niccoli Machiavelli, "The Prince" +% +If your happiness depends on what somebody else does, +I guess you do have a problem. + -- Richard Bach, "Illusions" +% +If your life was a horse, you'd have to shoot it. +% +If your mother knew what you're doing, +she'd probably hang her head and cry. +% +If your parents don't have kids, neither will you. +% +If your sexual fantasies were truly of interest to others, they would no +longer be fantasies. + -- Fran Lebowitz +% +If you're a real good kid, I'll give you a +piggy-back ride on a buzz-saw. + -- W.C. Fields +% +If you're a young Mafia gangster out on your first date, I bet it's real +embarrassing if someone tries to kill you. + -- Jack Handey +% +If you're careful enough, nothing +bad or good will ever happen to you. +% +If you're carrying a torch, put it down. +The Olympics are over. +% +If you're constantly being mistreated, +you're cooperating with the treatment. +% +If you're crossing the nation in a covered wagon, it's better to have four +strong oxen than 100 chickens. Chickens are OK but we can't make them work +together yet. + -- Ross Bott, Pyramid U.S., on multiprocessors at AUUGM '89. +% +If you're going to America, bring your own food. + -- Fran Lebowitz, "Social Studies" +% +If you're going to do something tonight +that you'll be sorry for tomorrow morning, sleep late. + -- Henny Youngman +% +If you're going to walk on thin ice, you might as well dance. +% +If you're happy, you're successful. +% +If you're not part of the solution, you're part of the precipitate. +% +If you're not very clever you should be conciliatory. + -- Benjamin Disraeli +% +If you're worried by earthquakes and nuclear war, +As well as by traffic and crime, +Consider how worry-free gophers are, +Though living on burrowed time. + -- Richard Armour, WSJ, 11/7/83 +% +If you've done six impossible things before breakfast, why not round it +off with dinner at Milliway's, the restaurant at the end of the universe. +% +If you've seen one redwood, you've seen them all. + -- Ronald Reagan +% +ignisecond, n: + The overlapping moment of time when the hand is locking the car + door even as the brain is saying, "my keys are in there!" + -- Rich Hall, "Sniglets" +% +IGNORANCE: + When you don't know anything, and someone else finds out. +% +Ignorance is bliss. + -- Thomas Gray + +Fortune updates the great quotes, #42: + BLISS is ignorance. +% +Ignorance is never out of style. It was in fashion yesterday, it is the +rage today, and it will set the pace tomorrow. + -- Franklin K. Dane +% +Ignorance is when you don't know anything and somebody finds it out. +% +Ignorance must certainly be bliss or there wouldn't be so many people +so resolutely pursuing it. +% +Ignore previous fortune. +% +Il brilgue: les toves libricilleux + Se gyrent et frillant dans le guave, +Enmimes sont les gougebosquex, + Et le momerade horgrave. + +Es brilig war. Die schlichte Toven + Wirrten und wimmelten in Waben; +Und aller-mumsige Burggoven + Dir mohmen Rath ausgraben. +% +I'll be comfortable on the couch. Famous last words. + -- Lenny Bruce +% +I'll be Grateful when they're Dead. +% +I'll burn my books. + -- Christopher Marlowe +% +I'll give you my opinion of the human race in a nutshell ... their heart's +in the right place, but their head is a thoroughly inefficient organ. + -- W. Somerset Maugham, "The Summing Up" +% +I'll grant thee random access to my heart, +Thoul't tell me all the constants of thy love; +And so we two shall all love's lemmas prove +And in our bound partition never part. + +Cancel me not -- for what then shall remain? +Abscissas, some mantissas, modules, modes, +A root or two, a torus and a node: +The inverse of my verse, a null domain. + +I see the eigenvalue in thine eye, +I hear the tender tensor in thy sigh. +Bernoulli would have been content to die +Had he but known such a-squared cos 2(thi)! +% +I'll learn to play the Saxophone, +I play just what I feel. +Drink Scotch whisky all night long, +And die behind the wheel. +They got a name for the winners in the world, +I want a name when I lose. +They call Alabama the Crimson Tide, +Call me Deacon Blues. + -- Becker and Fagan, "Deacon Blues" +% +I'll meet you... on the dark side of the moon... + -- Pink Floyd +% +I'll never get off this planet. + -- Luke Skywalker +% +I'll pretend to trust you if you'll pretend to trust me. +% +I'll turn over a new leaf. + -- Miguel de Cervantes +% +Illegal aliens have always been a problem in the United States. Ask +any Indian. + -- Robert Orben + +Immigration is the sincerest form of flattery. + -- Jack Paar +% +Illegitimi non carborundum +(translation: no carbonated drinks allowed.) +% +Illinois isn't exactly the land that God forgot: +it's more like the land He's trying to ignore. +% +Illiterate? Write today, for free help! +% +Illusion is the first of all pleasures. + -- Voltaire +% +I'm a creationist; I refuse to believe +that I could have evolved from man. +% +"I'm a doctor, not a mechanic." + -- "The Doomsday Machine", when asked if he had heard of + the idea of a doomsday machine. +"I'm a doctor, not an escalator." + -- "Friday's Child", when asked to help the very pregnant + Ellen up a steep incline. +"I'm a doctor, not a bricklayer." + -- Devil in the Dark", when asked to patch up the Horta. +"I'm a doctor, not an engineer." + -- "Mirror, Mirror", when asked by Scotty for help in + Engineering aboard the ISS Enterprise. +"I'm a doctor, not a coalminer." + -- "The Empath", on being beneath the surface of Minara 2. +"I'm a surgeon, not a psychiatrist." + -- "City on the Edge of Forever", on Edith Keeler's remark + that Kirk talked strangely. +"I'm no magician, Spock, just an old country doctor." + -- "The Deadly Years", to Spock while trying to cure the + aging effects of the rogue comet near Gamma Hydra 4. +"What am I, a doctor or a moonshuttle conductor?" + -- "The Corbomite Maneuver", when Kirk rushed off from a + physical exam to answer the alert. +% +I'm a Hollywood writer; so I put on +a sports jacket and take off my brain. +% +I'm a lucky guy, and I'm happy to be with the Yankees. And I want to + thank everyone for making this night necessary. + -- Yogi Berra at a dinner in his honor +% +I'm all for computer dating, but I +wouldn't want one to marry my sister. +% +I'm always looking for a new idea that +will be more productive than its cost. + -- David Rockefeller +% +I'm an artist. +But it's not what I really want to do. +What I really want to do is be a shoe salesman. +I know what you're going to say -- +"Dreamer! Get your head out of the clouds." +All right! But it's what I want to do. +Instead I have to go on painting all day long. + +The world should make a place for shoe salesmen. + -- J. Feiffer +% +I'm an evolutionist; I refuse to believe +that I could have been created by man. +% +"I'm ANN LANDERS!! I can SHOPLIFT!!" + -- Zippy the Pinhead +% +I'm dying beyond my means. + -- Oscar Wilde, his last words, while sipping champagne +% +"I'm dying," he croaked. +"My experiment was a success," the chemist retorted . +"You can't really train a beagle," he dogmatized. +"That's no beagle, it's a mongrel," she muttered. +"The fire is going out," he bellowed. +"Bad marksmanship," the hunter groused. +"You ought to see a psychiatrist," he reminded me. +"You snake," she rattled. +"Someone's at the door," she chimed. +"Company's coming," she guessed. +"Dawn came too soon," she mourned. +"I think I'll end it all," Sue sighed. +"I ordered chocolate, not vanilla," I screamed. +"Your embroidery is sloppy," she needled cruelly. +"Where did you get this meat?" he bridled hoarsely. + -- Gyles Brandreth, "The Joy of Lex" +% +I'm fed up to the ears with old men dreaming up wars for young men to die in. + -- George McGovern +% +I'm for bringing back the birch, but only for consenting adults. + -- Gore Vidal +% +I'm for peace -- I've yet to see a man wake up in the morning and say "I've +just had a good war. + -- Mae West +% +I'm free -- and freedom tastes of reality. +% +I'm glad I was not born before tea. + -- Sidney Smith (1771-1845) +% +I'm glad that I'm an American, +I'm glad that I am free, +But I wish I were a little doggy, +And McGovern were a tree. +% +I'm going through my "I want to go back to New York" phase today. Happens +every six months or so. So, I thought, perhaps unwisely, that I'd share +it with you. + +> In New York in the winter it is million degrees below zero and + the wind travels at a million miles an hour down 5th avenue. +> And in LA it's 72. + +> In New York in the summer it is a million degrees and the humidity + is a million percent. +> And in LA it's 72. + +> In New York there are a million interesting people. +> And in LA there are 72. +% +I'm going to Boston to see my doctor. He's a very sick man. + -- Fred Allen +% +I'm going to give my psychoanalyst one more year, then I'm going to Lourdes. + -- Woody Allen +% +I'm going to raise an issue and stick it in your ear. + -- John Foreman +% +I'm going to Vietnam at the request of the White House. President Johnson +says a war isn't really a war without my jokes. + -- Bob Hope +% +I'm hungry, time to eat lunch. +% +I'm in Pittsburgh. Why am I here? + -- Harold Urey +% +I'm just as sad as sad can be! + I've missed your special date. +Please say that you're not mad at me + My tax return is late. + -- Modern Lines for Modern Greeting Cards +% +I'm living so far beyond my income that we may almost be said to be +living apart. + -- E.E. Cummings +% +I'm N-ary the tree, I am, +N-ary the tree, I am, I am. +I'm getting traversed by the parser next door, +She's traversed me seven times before. +And ev'ry time it was an N-ary (N-ary!) +Never wouldn't ever do a binary. (No sir!) +I'm 'er eighth tree that was N-ary. +N-ary the tree I am, I am, +N-ary the tree I am. + -- Stolen from Paul Revere and the Raiders +% +I'm not a lovable man. + -- Richard Nixon. +% +I'm not a real movie star -- I've still got the same wife I started out +with twenty-eight years ago. + -- Will Rogers +% +I'm not afraid of death -- I just don't want to be there when it happens. + -- Woody Allen +% +I'm not denyin' the women are foolish: God Almighty made 'em to +match the men. + -- George Eliot +% +I'm not even going to *bother* comparing C to BASIC or FORTRAN. + -- L. Zolman, creator of BDS C +% +I'm not laughing with you, I'm laughing at you. +% +I'm not offering myself as an example; +every life evolves by its own laws. +% +I'm not prejudiced, I hate everyone equally. +% +I'm not proud. +% +"I'm not stupid, I'm not expendable, and I'M NOT GOING!" +% +I'm not sure I've even got the brains to be President. + -- Barry Goldwater, in 1964 +% +I'm not tense, just terribly, terribly alert! +% +I'm not the person your mother warned you about... her imagination isn't +that good. + -- Amy Gorin +% +I'm not under the alkafluence of inkahol +that some thinkle peep I am. +It's just the drunker I sit here the longer I get. +% +I'm often asked the question, "Do you think there is extraterrestrial intelli- +gence?" I give the standard arguments -- there are a lot of places out there, +and use the word *billions*, and so on. And then I say it would be astonishing +to me if there weren't extraterrestrial intelligence, but of course there is as +yet no compelling evidence for it. And then I'm asked, "Yeah, but what do you +really think?" I say, "I just told you what I really think." "Yeah, but +what's your gut feeling?" But I try not to think with my gut. Really, it's +okay to reserve judgment until the evidence is in. + -- Carl Sagan +% +I'm prepared for all emergencies but +totally unprepared for everyday life. +% +I'm proud to be paying taxes in the United States. The only thing is +-- I could be just as proud for half the money. + -- Arthur Godfrey +% +I'm really enjoying not talking to you... +Let's not talk again REAL soon... +% +I'm so broke I can't even pay attention. +% +I'm so miserable without you, it's almost like you're here. +% +I'm sorry, but my kharma just ran over your dogma. +% +I'm sorry I missed. + -- Squeaky Fromme +% +I'm sorry if the correct way of doing things offends you. +% +I'm still waiting for the advent of the computer science groupie. +% +I'm successful because I'm lucky. +The harder I work, the luckier I get. +% +"I'm terribly sorry, sir," the novice barber apologized, after badly nicking +a customer. "Let me wrap your head in a towel." + "That's all right," said the customer. "I'll just take it home under +my arm." +% +I'm very good at integral and differential calculus, +I know the scientific names of beings animalculous; +In short, in matters vegetable, animal, and mineral, +I am the very model of a modern Major-General. + -- Gilbert & Sullivan, "The Pirates of Penzance" +% +I'm very old-fashioned. I believe that people should marry for life, +like pigeons and Catholics. + -- Woody Allen +% +Imagination is more important than knowledge. + -- A. Einstein +% +Imagination is the one weapon in the war against reality. + -- Jules de Gaultier +% +Imagine if every Thursday your shoes exploded if you tied them the usual +way. This happens to us all the time with computers, and nobody thinks of +complaining. + -- Jeff Raskin +% +Imagine me going around with a pot belly. +It would mean political ruin. + -- Adolf Hitler +% +Imagine that Cray computer decides to make a personal computer. It has a +150 MHz processor, 200 megabytes of RAM, 1500 megabytes of disk storage, a +screen resolution of 1024 x 1024 pixels, relies entirely on voice recognition +for input, fits in your shirt pocket and costs $300. What's the first +question that the computer community asks? + +"Is it PC compatible?" +% +Imagine there's no heaven... it's easy if you try. + -- John Lennon, "Imagine" +% +Imagine what we can imagine! + -- Arthur Rubinstein +% +Imbalance of power corrupts and monopoly of power corrupts absolutely. + -- Genji +% +Imbesi's Law with Freeman's Extension: + In order for something to become clean, something else must + become dirty; but you can get everything dirty without getting + anything clean. +% +Imitation is the sincerest form of television. + -- Fred Allen +% +Immanuel doesn't pun, he Kant. +% +Immanuel Kant but Kubla Khan. +% +Immature artists imitate, mature artists steal. + -- Lionel Trilling +% +Immature poets imitate, mature poets steal. + -- T.S. Eliot, "Philip Massinger" +% +Immigration is the sincerest form of flattery. + -- Jack Paar +% +Immortality -- a fate worse than death. + -- Edgar A. Shoaff +% +Immutability, Three Rules of: + (1) If a tarpaulin can flap, it will. + (2) If a small boy can get dirty, he will. + (3) If a teenager can go out, he will. +% +IMPARTIAL: + Unable to perceive any promise of personal advantage from + espousing either side of a controversy or adopting either of two + conflicting opinions. +% +Important letters which contain no errors will develop errors in the mail. +Corresponding errors will show up in the duplicate while the Boss is reading +it. Vital papers will demonstrate their vitality by spontaneously moving +from where you left them to where you can't find them. +% +In 1967, the Soviet Government minted a beautiful silver ruble with Lenin +in a very familiar pose - arms raised above him, leading the country to +revolution. But, it was clear to everybody, that if you looked at it from +behind, it was clear that Lenin was pointing to 11:00, when the Vodka +shops opened, and was actually saying, "Comrades, forward to the Vodka shops. + +It became fashionable, when one wanted to have a drink, to take out the +ruble and say, "Oh my goodness, Comrades, Lenin tells me we should go. +% +In 1989, the United States, which was displeased with the policies of the +dictator of Panama, invaded that country and placed in power a government +more to its liking. + +In 1990, Iraq, which was displeased with the policies of the dictator of +Kuwait, invaded that country and placed in power a government more to its +liking. +% +In a bottle, the neck is always at the top. +% +In a circuit with a fast-acting fuse, +an IC will blow to protect the fuse. +% +In a consumer society there are inevitably two kinds of slaves: +the prisoners of addiction and the prisoners of envy. +% +In a country where the sole employer is the State, opposition means death +by slow starvation. The old principle: Who does not work shall not eat, +has been replaced by a new one: Who does not obey shall not eat. + -- Leon Trotsky, 1937 +% +In a display of perverse brilliance, Carl the repairman mistakes a room +humidifier for a mid-range computer but manages to tie it into the network +anyway. + -- The 5th Wave +% +In a five year period we can get one superb programming language. +Only we can't control when the five year period will begin. +% +In a gathering of two or more people, when a lighted cigarette is +placed in an ashtray, the smoke will waft into the face of the non-smoker. +% +In a great romance, each person basically plays a part that the +other really likes. + -- Elizabeth Ashley +% +In a hierarchy every employee tends to rise to his level of incompetence ... +in time every post tends to be occupied by an employee who is incompetent +to carry out its duties ... Work is accomplished by those employees who +have not yet reached their level of incompetence. + -- Dr. Laurence J. Peter, "The Peter Principle" +% +In a minimum-phase system there is an inextricable link between +frequency response, phase response and transient response, as they +are all merely transforms of one another. This combined with +minimalization of open-loop errors in output amplifiers and correct +compensation for non-linear passive crossover network loading can +lead to a significant decrease in system resolution lost. However, +this all means jack when you listen to Pink Floyd. +% +In a surprise raid last night, federal agent's ransacked a house in search +of a rebel computer hacker. However, they were unable to complete the arrest +because the warrant was made out in the name of Don Provan, while the only +person in the house was named don provan. Proving, once again, that Unix is +superior to Tops10. +% +In a whiskey it's age, in a cigarette it's +taste and in a sports car it's impossible. +% +In America any boy may become President, and I suppose that's just the +risk he takes. + -- Adlai Stevenson +% +In America, it's not how much an item costs, it's how much you save. +% +In an age when the fashion is to be in love with yourself, confessing to +be in love with somebody else is an admission of unfaithfulness to one's +beloved. + -- Russell Baker +% +In an orderly world, there's always a place for the disorderly. +% +In any country there must be people who have to die. They are the +sacrifices any nation has to make to achieve law and order. + -- Idi Amin Dada +% +In any formula, constants (especially those obtained from handbooks) +are to be treated as variables. +% +In any problem, if you find yourself doing an infinite amount of work, +the answer may be obtained by inspection. +% +In any world menu, Canada must be considered the vichyssoise of nations -- +it's cold, half-French, and difficult to stir. + -- Stuart Keate +% +IN BOX: + A catch basin for everything you don't want + to deal with, but are afraid to throw away. +% +In breeding cattle you need one bull for every twenty-five cows, unless +the cows are known sluts. + -- Johnny Carson +% +In Brooklyn, we had such great pennant races, it +made the World Series just something that came later. + -- Walter O'Malley, Dodgers owner +% +In buying horses and taking a wife +shut your eyes tight and commend yourself to God. +% +In California, Bill Honig, the Superintendent of Public Instruction, said he +thought the general public should have a voice in defining what an excellent +teacher should know. "I would not leave the definition of math," Dr. Honig +said, "up to the mathematicians." + -- The New York Times, October 22, 1985 +% +In California they don't throw their garbadge away -- they make +it into television shows. + -- Woody Allen, "Annie Hall" +% +In case of atomic attack, all work rules will be temporarily suspended. +% +In case of atomic attack, the federal ruling +against prayer in schools will be temporarily cancelled. +% +In case of fire, stand in the hall and shout "Fire!" + -- The Kidner Report +% +In case of fire, yell "FIRE!" +% +In case of injury notify your superior immediately. +He'll kiss it and make it better. +% +In charity there is no excess. + -- Francis Bacon +% +In childhood a woman must be subject to her father; in youth to her +husband; when her husband is dead, to her sons. A woman must never +be free of subjugation. + -- The Hindu Code of Manu +% +In computing, the mean time to failure keeps getting shorter. +% +In Cristianity, a man may have only one wife. +This is called Monotony. +% +In defeat, unbeatable; in victory, unbearable. + -- W. Churchill, on General Montgomery +% +In dwelling, be close to the land. +In meditation, delve deep into the heart. +In dealing with others, be gentle and kind. +In speech, be true. +In work, be competent. +In action, be careful of your timing. + -- Lao Tsu +% +In English, every word can be verbed. Would that it were so in our +programming languages. +% +In every country and every age, the priest has been hostile to Liberty. + -- Thomas Jefferson +% +In every hierarchy the cream rises until it sours. + -- Dr. Laurence J. Peter +% +In every job that must be done, there is an element of fun. +Find the fun and snap! The job's a game. +And every task you undertake, becomes a piece of cake, + a lark, a spree; it's very clear to see. + -- Mary Poppins +% +In every non-trivial program there is at least one bug. +% +In fact, S. M. Simpson, eventually devised an efficient 24-point Fourier +transform, which was a precursor to the Cooley-Tukey fast Fourier transform +in 1965. The FFT made all of Simpson's efficient autocorrelation and +spectrum programs instantly obsolete, on which he had worked half a lifetime. + -- Proc. IEEE, Sept. 1982, p.900 +% +In fiction the recourse of the powerless is murder; +in life the recourse of the powerless is petty theft. +% +In Germany they first came for the Communists and I didn't speak up because +I wasn't a Communist. Then they came for the Jews, and I didn't speak up +because I wasn't a Jew. Then they came for the trade unionists, and I +didn't speak up because I wasn't a trade unionist. Then they came for the +Catholics, and I didn't speak up because I was a Protestant. Then they came +for me -- and by that time no one was left to speak up. + -- Pastor Martin Niemoller +% +In God we trust; all else we walk through. +% +In good speaking, should not the mind of the speaker +know the truth of the matter about which he is to speak? + -- Plato +% +In her first passion woman loves her lover, +In all the others all she loves is love. + -- George Gordon, Lord Byron, "Don Juan" +% +In high school in Brooklyn +I was the baseball manager, +proud as I could be +I chased baseballs, +gathered thrown bats +handed out the towels Eventually, I bought my own +It was very important work but it was dark blue while +for a small spastic kid, the official ones were green +but I was a team member Nobody ever said anything +When the team got to me about my blue jacket; +their warm-up jackets the guys were my friends +I didn't get one Yet it hurt me all year +Only the regular team to wear that blue jacket +got these jackets, and among all those green ones +surely not a manager Even now, forty years after, + I still recall that jacket + and the memory goes on hurting. + -- Bart Lanier Safford III, "An Obscured Radiance" +% +In Hollywood, all marriages are happy. It's trying to live together +afterwards that causes the problems. + -- Shelley Winters +% +In Hollywood, if you don't have happiness, you send out for it. + -- Rex Reed +% +In India, "cold weather" is merely a conventional phrase and has come into +use through the necessity of having some way to distinguish between weather +which will melt a brass door-knob and weather which will only make it mushy. + -- Mark Twain +% +In Italy, for thirty years under the Borgias, they had warfare, terror, +murder, and bloodshed, but they produced Michaelangelo, Leonardo da Vinci +and the Renaissance. In Switzerland, they had brotherly love, they had +five hundred years of democracy and peace -- and what did they produce? +The cuckoo-clock. + -- Orson Welles, "The Third Man" +% +In just seven days, I can make you a man! + -- The Rocky Horror Picture Show + [ (and seven nights...) Ed.] +% +In less than a century, computers will be making substantial +progress on ... the overriding problem of war and peace. + -- James Slagle +% +In like a dimwit, out like a light. + -- Pogo +% +In love, she who gives her portrait promises the original. + -- Bruton +% +In marriage, as in war, it is permitted +to take every advantage of the enemy. +% +In Marseilles they make half the toilet soap we consume in America, but +the Marseillaise only have a vague theoretical idea of its use, which they +have obtained from books of travel. + -- Mark Twain +% +In matters of principle, stand like a rock; +in matters of taste, swim with the current. + -- Thomas Jefferson +% +In Mexico we have a word for sushi: bait. + -- Josi Simon +% +In Minnesota they ask why all football fields in Iowa have artificial turf. +It's so the cheerleaders won't graze during the game. +% +In most instances, all an argument +proves is that two people are present. +% +In my end is my beginning. + -- Mary Stuart, Queen of Scots +% +In my experience, if you have to keep the lavatory door shut by extending +your left leg, it's modern architecture. + -- Nancy Banks Smith +% +IN MY OPINION anyone interested in improving himself should not rule out +becoming pure energy. + -- Jack Handley, The New Mexican, 1988. +% +In Nature there are neither rewards nor +punishments, there are consequences. + -- R.G. Ingersoll +% +In olden times sacrifices were made at the altar -- +a practice which is still continued. + -- Helen Rowland +% +In order to dial out, it is necessary to broaden one's dimension. +% +In order to discover who you are, first learn who everybody else is; +you're what's left. +% +In order to get a loan you must first prove you don't need it. +% +In order to live free and happily, you must sacrifice boredom. +It is not always an easy sacrifice. +% +In our civilization, and under our republican form of government, intelligence +is so highly honored that it is rewarded by exemption from the cares of office. + -- Ambrose Bierce, "The Devil's Dictionary" +% +In our civilization, and under our republican form of government, +intelligence is so highly honored that it is rewarded by exemption +from the cares of office. +% +In Oz, never say "krizzle kroo" to a Woozy. +% +In Pierre Trudeau, Canada has finally produced +a Prime Minister worthy of assassination. + -- John Diefenbaker +% +In practice, failures in system development, like unemployment in Russia, +happens a lot despite official propaganda to the contrary. + -- Paul Licker +% +In real love you want the other person's good. In romantic love you +want the other person. + -- Margaret Anderson +% +In San Francisco, Halloween is redundant. + -- Will Durst +% +In science it often happens that scientists say, 'You know that's a really +good argument; my position is mistaken,' and then they actually change +their minds and you never hear that old view from them again. They really +do it. It doesn't happen as often as it should, because scientists are +human and change is sometimes painful. But it happens every day. I cannot +recall the last time something like that happened in politics or religion. + -- Carl Sagan, 1987 CSICOP keynote address +% +In short, N is Richardian if, and only if, N is not Richardian. +% +In spite of everything, I still believe that people are good at heart. + -- Ann Frank +% +In success there's a tendency to keep on doing what you were doing. + -- Alan Kay +% +In the beginning there was nothing. And the Lord said "Let There Be Light!" +And still there was nothing, but at least now you could see it. +% +In the beginning was the word. +But by the time the second word was added to it, +There was trouble. +For with it came syntax ... + -- John Simon +% +In the course of reading Hadamard's "The Psychology of Invention in the +Mathematical Field", I have come across evidence supporting a fact +which we coffee achievers have long appreciated: no really creative, +intelligent thought is possible without a good cup of coffee. On page +14, Hadamard is discussing Poincare's theory of fuchsian groups and +fuchsian functions, which he describes as "... one of his greatest +discoveries, the first which consecrated his glory ..." Hadamard refers +to Poincare having had a "... sleepless night which initiated all that +memorable work ..." and gives the following, very revealing quote: + + "One evening, contrary to my custom, I drank black coffee and + could not sleep. Ideas rose in crowds; I felt them collide + until pairs interlocked, so to speak, making a stable + combination." + +Too bad drinking black coffee was contrary to his custom. Maybe he +could really have amounted to something as a coffee achiever. +% +In the days of old, +When Knights were bold, + And women were too cautious; +Oh, those gallant days, +When women were women, + And men were really obnoxious. +% +In the dimestores and bus stations +People talk of situations +Read books repeat quotations +Draw conclusions on the wall. + -- Bob Dylan +% +In the early morning queue, +With a listing in my hand. +With a worry in my heart, There on terminal number 9, +Waitin' here in CERAS-land. Pascal run all set to go. +I'm a long way from sleep, But I'm waitin' in the queue, +How I miss a good meal so. With this code that ever grows. +In the early mornin' queue, Now the lobby chairs are soft, +With no place to go. But that can't make the queue move fast. + Hey, there it goes my friend, + I've moved up one at last. + -- Ernest Adams, "Early Morning Queue", to "Early + Morning Rain" by G. Lightfoot +% +In the east there is a shark which is larger than all other fish. It changes +into a bird whose wings are like clouds filling the sky. When this bird +moves across the land, it brings a message from Corporate Headquarters. This +message it drops into the midst of the programmers, like a seagull making +its mark upon the beach. Then the bird mounts on the wind and, with the blue +sky at its back, returns home. + +The novice programmer stares in wonder at the bird, for he understands it not. +The average programmer dreads the coming of the bird, for he fears its message. +The master programmer continues to work at his terminal, for he does not know + that the bird has come and gone. +% +In the eyes of my dog, I'm a man. + -- Martin Mull +% +In the first place, God made idiots; +this was for practice; then he made school boards. + -- Mark Twain +% +In the force if Yoda's so strong, construct a sentence with words in +the proper order then why can't he? +% +In the force if Yoda's so strong, construct a sentence with words in +the proper order then why can't he? + + +I met him in a swamp down in Dagobah +Where it bubbles all the time like a giant cabinet soda + S-O-D-A soda +I saw the little runt sitting there on a log +I asked him his name and in a raspy voice he said Yoda + Y-O-D-A Yoda, Yo-Yo-Yo-Yo Yoda + +Well I've been around but I ain't never seen +A guy who looks like a Muppet but he's wrinkled and green + Oh my Yoda, Yo-Yo-Yo-Yo Yoda +Well I'm not dumb but I can't understand +How he can raise me in the air just by raising his hand + Oh my Yoda, Yo-Yo-Yo-Yo Yoda, Yo-Yo-Yo-Yo Yoda + -- The STAR WARS Song, to "Lola", by the Kinks +% +In the future, there will be fewer but better Russians. + -- Joseph Stalin +% +In the future, you're going to get computers as prizes in breakfast cereals. +You'll throw them out because your house will be littered with them. +% +In the Halls of Justice the only justice is in the halls. + -- Lenny Bruce +% +In the highest society, as well as in the lowest, +woman is merely an instrument of pleasure. + -- Tolstoy +% +In the land of the dark the Ship of the +Sun is driven by the Grateful Dead. + -- Egyptian Book of the Dead +% +In the long run, every program becomes rococco, and then rubble. + -- Alan Perlis +% +In the long run we are all dead. + -- John Maynard Keynes +% +In the middle of a wide field is a pot of gold. 100 feet to the north stands +a smart manager. 100 feet to the south stands a dumb manager. 100 feet to +the east is the Easter Bunny, and 100 feet to the west is Santa Claus. + +Q: Who gets to the pot of gold first? +A: The dumb manager. All the rest are myths. +% +In the midst of one of the wildest parties he'd ever been to, the young man +noticed a very prim and pretty girl sitting quietly apart from the rest of +the revelers. Approaching her, he introduced himself and, after some quiet +conversation, said, "I'm afraid you and I don't really fit in with this +jaded group. Why don't I take you home?"" + "Fine," said the girl, smiling up at him demurely. "Where do you +live?" +% +In the misfortune of our friends we find something that is not +displeasing to us. + -- La Rochefoucauld, "Maxims" +% +In the next world, you're on your own. +% +In the Old West a wagon train is crossing the plains. As night falls the +wagon train forms a circle, and a campfire is lit in the middle. After +everyone has gone to sleep two lone cavalry officers stand watch over the +camp. + After several hours of quiet, they hear war drums starting from +a nearby Indian village they had passed during the day. The drums get +louder and louder. + Finally one soldier turns to the other and says, "I don't like +the sound of those drums." + Suddenly, they hear a cry come from the Indian camp: "IT'S +NOT OUR REGULAR DRUMMER." +% +In the olden days in England, you could be hung for stealing a sheep or a +loaf of bread. However, if a sheep stole a loaf of bread and gave it to +you, you would only be tried for receiving, a crime punishable by forty +lashes with the cat or the dog, whichever was handy. If you stole a dog +and were caught, you were punished with twelve rabbit punches, although it +was hard to find rabbits big enough or strong enough to punch you. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +In the plot, people came to the land; the land loved them; they worked and +struggled and had lots of children. There was a Frenchman who talked funny +and a greenhorn from England who was a fancy-pants but when it came to the +crunch he was all courage. Those novels would make you retch. + -- Canadian novelist Robertson Davies, on the generic Canadian + novel. +% +In the space of one hundred and seventy-six years the Mississippi has +shortened itself two hundred and forty-two miles. Therefore ... in the Old +Silurian Period the Mississippi River was upward of one million three hundred +thousand miles long ... seven hundred and forty-two years from now the +Mississippi will be only a mile and three-quarters long. ... There is +something fascinating about science. One gets such wholesome returns of +conjecture out of such a trifling investment of fact. + -- Mark Twain +% +In the Spring, I have counted 136 +different kinds of weather inside of 24 hours. + -- Mark Twain, on New England weather +% +In the stairway of life, you'd best take the elevator. +% +In the Top 40, half the songs are secret messages to the teen world to drop +out, turn on, and groove with the chemicals and light shows at discotheques. + -- Art Linkletter +% +In the war of wits, he's unarmed. +% +In theory, there is no difference between theory and practice. +In practice, there is. +% +In these matters the only certainty is that there is nothing certain. + -- Pliny the Elder +% +In this vale +Of toil and sin +Your head grows bald +But not your chin. + -- Burma Shave +% +In this world, nothing is certain but death and taxes. + -- Benjamin Franklin +% +In this world of sin and sorrow there is always something to be +thankful for; as for me, I rejoice that I am not a Republican. + -- H.L. Mencken +% +In this world some people are going to like me and some are not. +So, I may as well be me. Then I know if someone likes me, they like me. +% +In this world there are only two tragedies. One is +not getting what one wants, and the other is getting it. + -- Oscar Wilde +% +In this world, truth can wait; she's used to it. +% +In time, every post tends to be occupied by an +employee who is incompetent to carry out its duties. + -- Dr. L.J. Peter +% +In /users3 did Kubla Kahn +A stately pleasure dome decree, +Where /bin, the sacred river ran +Through Test Suites measureless to Man +Down to a sunless C. +% +In war it is not men, but the man who counts. + -- Napoleon +% +In war, truth is the first casualty. + -- U Thant +% +In which level of metalanguage are you now speaking? +% +In wine there is truth (In vino veritas). + -- Pliny +% +In Xanadu did Kubla Khan a stately pleasure dome decree +But only if the NFL to a franchise would agree. +% +In Xanadu did Kubla Khan +A stately pleasure dome decree: +Where Alph, the sacred river, ran +Through caverns measureless to man +Down to a sunless sea. +So twice five miles of fertile ground +With walls and towers were girdled round: +And there were gardens bright with sinuous rills, +Where blossomed many an incense-bearing tree; +And here were forest ancient as the hills, +Enfolding sunny spots of greenery. + -- S.T. Coleridge, "Kubla Kahn" +% +In youth, it was a way I had +To do my best to please, +And change, with every passing lad, +To suit his theories. + +But now I know the things I know, +And do the things I do; +And if you do not like me so, +To hell, my love, with you! + -- Dorothy Parker, "Indian Summer" +% +INCENTIVE PROGRAM: + The system of long and short-term rewards that a corporation uses + to motivate its people. Still, despite all the experimentation with + profit sharing, stock options, and the like, the most effective + incentive program to date seems to be "Do a good job and you get to + keep it." +% +Include me out. +% +Increased knowledge will help you now. +Have mate's phone bugged. +% +INCUMBENT: + Person of livliest interest to the outcumbents. +% +Indecision is the true basis for flexibility. +% +Indeed, the first noble truth of Buddhism, usually translated as +`all life is suffering,' is more accurately rendered `life is filled +with a sense of pervasive unsatisfactoriness.' + -- M.D. Epstein +% +INDEX: + Alphabetical list of words of no possible interest where an + alphabetical list of subjects with references ought to be. +% +Indiana is a state dedicated to basketball. Basketball, soybeans, hogs and +basketball. Berkeley, needless to say, is not nearly as athletic. Berkeley +is dedicated to coffee, angst, potholes and coffee. + -- Carolyn Jones +% +Indifference will certainly be the downfall of mankind, but who cares? +% +Individualists unite! +% +Indomitable in retreat; invincible in +advance; insufferable in victory. + -- Winston Churchill, on General Montgomery +% +infancy, n: + The period of our lives when, according to Wordsworth, "Heaven lies +about us." The world begins lying about us pretty soon afterward. + -- Ambrose Bierce +% +Infidel: In New York, one who does not believe in the +Christian religion; in Constantinople, one who does. + -- Ambrose Bierce +% +Inform all the troops that communications have completely broken down. +% +Information Center: + A room staffed by professional computer people whose job it is to + tell you why you cannot have the information you require. +% +Information is the inverse of entropy. +% +Information Processing: + What you call data processing when people are so disgusted with + it they won't let it be discussed in their presence. +% +Inglish Spocken Hier: some mangled translations + + Sign on a cabin door of a Soviet Black Sea cruise liner: + Helpsavering apparata in emergings behold many whistles! + Associate the stringing apparata about the bosums and meet + behind, flee then to the indifferent lifesaveringshippen + obedicing the instructs of the vessel. + + On the door in a Belgrade hotel: + Let us know about any unficiency as well as leaking on + the service. Our utmost will improve it. + + -- Colin Bowles +% +Inglish Spocken Hier: some mangled translations + + Sign on a cathedral in Spain: + It is forbidden to enter a woman, even a foreigner if + dressed as a man. + + Above the enterance to a Cairo bar: + Unaccompanied ladies not admitted unless with husband + or similar. + + On a Bucharest elevator: + + The lift is being fixed for the next days. + During that time we regret that you will be unbearable. + + -- Colin Bowles +% +Inglish Spocken Hier: some mangled translations + + Various signs in Poland: + + Right turn toward immediate outside. + + Go soothingly in the snow, as there lurk the ski demons. + + Five o'clock tea at all hours. + + In a men's washroom in Sidney: + + Shake excess water from hands, push button to start, + rub hands rapidly under air outlet and wipe hands + on front of shirt. + + -- Colin Bowles, San Francisco Chronicle +% +ingrate, n: + A man who bites the hand that feeds him, + and then complains of indigestion. +% +Injustice anywhere is a threat to justice everywhere. + -- Martin Luther King, Jr. +% +ink, n: + A villainous compound of tannogallate of iron, gum-arabic, + and water, chiefly used to facilitate the infection of + idiocy and promote intellectual crime. + -- H.L. Mencken +% +Innocence ends when one is stripped of the delusion that one +likes oneself. + -- Joan Didion, "On Self Respect" +% +INNOVATE: + Annoy people. +% +Innovation is hard to schedule. + -- Dan Fylstra +% +INNUENDO: + Italian enema. +% +Insanity is considered a ground for divorce, though by the very same +token it is the shortest detour to marriage. + -- Wilson Mizner +% +Insanity is inherited, you get it from your kids! +% +Insanity is the final defense. It's hard to get a refund when +the salesman is sniffing your crotch and baying at the moon. +% +INSECURITY: + Finding out that you've mispronounced for years one of your + favorite words. + + Realizing halfway through a joke that you're telling it to + the person who told it to you. +% +Inside every large problem is a small problem struggling to get out. +% +Insomnia isn't anything to lose sleep over. +% +Inspector: "Mrs. Freem, was this your husband's first + hunting accident?" +Mrs. Freem: "His first fatal one, yes." + -- Woody Allen +% +Inspiration without perspiration is usually sterile. +% +Instead of giving money to found colleges to promote learning, why don't +they pass a constitutional amendment prohibiting anybody from learning +anything? If it works as good as the Prohibition one did, why, in five +years we would have the smartest race of people on earth. + -- The Best of Will Rogers +% +Instead of loving your enemies, treat your friends a little better. + -- Edgar W. Howe +% +Integrity has no need for rules. +% +Intel CPUs are not defective, they just act that way. + -- Henry Spencer +% +Intellect annuls Fate. +So far as a man thinks, he is free. + -- Ralph Waldo Emerson +% +Interchangeable parts won't. +% +INTEREST: + What borrowers pay, lenders receive, stockholders own, and + burned out employees must feign. +% +Interesting poll results reported in today's New York Post: people on the +street in midtown Manhattan were asked whether they approved of the US +invasion of Grenada. Fifty-three percent said yes; 39 percent said no; +and 8 percent said "Gimme a quarter?" + -- David Letterman +% +Interfere? Of course we should interfere! Always do what you're +best at, that's what I say. + -- Doctor Who +% +INTERPRETER: + One who enables two persons of different languages to understand + each other by repeating to each what it would have been to the + interpreter's advantage for the other to have said. +% +Into love and out again, + Thus I went and thus I go. +Spare your voice, and hold your pen: + Well and bitterly I know +All the songs were ever sung, + All the words were ever said; +Could it be, when I was young, + Someone dropped me on my head? + -- Dorothy Parker, "Theory" +% +INTOXICATED: + When you feel sophisticated without being able to pronounce it. +% +Introducing, the 1010, a one-bit processor. + +INSTRUCTION SET + Code Mnemonic What + 0 NOP No Operation + 1 JMP Jump (address specified by next 2 bits) + +Now Available for only 12 1/2 cents! +% +Invest in physics -- own a piece of Dirac! +% +Involvement with people is always a very delicate thing -- +it requires real maturity to become involved and not get all messed up. + -- Bernard Cooke +% +I/O, I/O, +It's off to disk I go, +A bit or byte to read or write, +I/O, I/O, I/O... +% + + +_/I\_____________o______________o___/I\ l * / /_/ * __ ' .* l +I"""_____________l______________l___"""I\ l *// _l__l_ . *. l + [__][__][(******)__][__](******)[__][] \l l-\ ---//---*----(oo)----------l + [][__][__(******)][__][_(******)_][__] l l \\ // ____ >-( )-< / l + [__][__][_l l[__][__][l l][__][] l l \\)) ._****_.(......) .@@@:::l + [][__][__]l .l_][__][__] .l__][__] l l ll _(o_o)_ (@*_*@ l + [__][__][/ <_)[__][__]/ <_)][__][] l l ll ( / \ ) / / / ) l + [][__][ /..,/][__][__][/..,/_][__][__] l l / \\ _\ \_ / _\_\ l + [__][__(__/][__][__][_(__/_][__][__][] l l______________________________l + [__][__]] l , , . [__][__][] l + [][__][_] l . i. '/ , [][__][__] l /\**/\ season's + [__][__]] l O .\ / /, O [__][__][] l ( o_o )_) greetings +_[][__][_] l__l======='=l____[][__][__] l_______,(u u ,),__________________ + [__][__]]/ /l\-------/l\ [__][__][]/ {}{}{}{}{}{} + +In Ellen's house it is warm and toasty while fuzzies play in the snow outside. + +% +IOT trap -- core dumped +% +IOT trap -- mos dumped +% +Iowa State -- the high school after high school! + -- Crow T. Robot +% +Iowans ask why Minnesotans don't drink more Kool-Aid. That's because +they can't figure out how to get two quarts of water into one of those +little paper envelopes. +% +Iron Law of Distribution: + Them that has, gets. +% +IRONY: + A windy day, when, just as a beautiful girl with + a short skirt approaches, dust blows in your eyes. +% +Is a computer language with goto's totally Wirth-less? +% +Is a person who blows up banks an econoclast? +% +"Is a tatoo real, like a curb or a battleship? +Or are we suffering in Safeway?" + -- Zippy the Pinhead +% +Is a wedding successful if it comes off without a hitch? +% +Is death legally binding? +% +Is it possible that software is not like anything else, that it is +meant to be discarded: that the whole point is to always see it as +a soap bubble? +% +Is it weird in here, or is it just me? + -- Steven Wright +% +Is knowledge knowable? If not, how do we know that? +% +Is not marriage an open question, when it is alleged, from the beginning +of the world, that such as are in the institution wish to get out, +and such as are out wish to get in? + -- Ralph Emerson +% +Is sex dirty? Only if it's done right. + -- Woody Allen, "All You Ever Wanted To Know About Sex" +% +Is that a pistol in your pocket or are you just glad to see me? + -- Mae West +% +Is that really YOU that is reading this? +% +"Is there any point to which you would wish to draw my attention?" +"To the curious incident of the dog in the night-time." +"The dog did nothing in the night-time." +"That was the curious incident," remarked Sherlock Holmes. +% +Is there life before breakfast? +% +Is this really happening? +% +Isn't air travel wonderful? +Breakfast in London, dinner in New York, luggage in Brazil. +% +Isn't it conceivable to you that an intelligent +person could harbor two opposing ideas in his mind? + -- Adlai Stevenson, to reporters +% +Isn't it interesting that the same people who laugh at science fiction +listen to weather forecasts and economists? + -- Kelvin Throop III +% +Isn't it ironic that many men spend a great part of their lives +avoiding marriage while single-mindedly pursuing those things that +would make them better prospects? +% +Isn't it nice that people who prefer Los Angeles to San Francisco live +there? + -- Herb Caen +% +Isn't it strange that the same people that +laugh at gypsy fortune tellers take economists seriously? +% +ISO applications: + A solution in search of a problem! +% +Issawi's Laws of Progress: + The Course of Progress: + Most things get steadily worse. + The Path of Progress: + A shortcut is the longest distance between two points. +% +It appears that PL/I (and its dialects) is, or will be, the +most widely used higher level language for systems programming. + -- J. Sammet +% +It cannot be seen, cannot be felt, +Cannot be heard, cannot be smelt. +It lies behind starts and under hills, +And empty holes it fills. +It comes first and follows after, +Ends life, kills laughter. +% +"It could be that Walter's horse has wings" does not imply that there is +any such animal as Walter's horse, only that there could be; but "Walter's +horse is a thing which could have wings" does imply Walter's horse's +existence. But the conjunction "Walter's horse exists, and it could be +that Walter's horse has wings" still does not imply "Walter's horse is a +thing that could have wings", for perhaps it can only be that Walter's +horse has wings by Walter having a different horse. Nor does "Walter's +horse is a thing which could have wings" conversely imply "It could be that +Walter's horse has wings"; for it might be that Walter's horse could only +have wings by not being Walter's horse. + +I would deny, though, that the formula [Necessarily if some x has property P +then some x has property P] expresses a logical law, since P(x) could stand +for, let us say "x is a better logician than I am", and the statement "It is +necessary that if someone is a better logician than I am then someone is a +better logician than I am" is false because there need not have been any me. + -- A.N. Prior, "Time and Modality" +% +It destroys one's nerves to be amiable every day to the same human being. + -- Benjamin Disraeli +% +It did not occur to me that my being with two men continuously would +interest anyone or arouse anyone's misgivings. I asked for an invitation +for Heinrich too, as often as it seemed possible, when Paulus and I were +invited to a social gathering. I felt the set of rules others lived by +was irrelevant. My childhood attitude -- every attempt to adjust is +hopeless and you might just as well follow your own attitudes -- must have +carried me. + -- Hannah Tillich, "From Time to Time" +% +It does not do to leave a live dragon out of your calculations. +% +It does not matter if you fall down as long as you +pick up something from the floor while you get up. +% +It doesn't matter what you do, it only matters what you say you've +done and what you're going to do. +% +It doesn't matter whether you win or lose -- until you lose. +% +It doesn't much signify whom one marries, for one is sure to find out +next morning it was someone else. + -- Rogers +% +It follows that any commander in chief who undertakes to carry out a plan +which he considers defective is at fault; he must put forth his reasons, +insist of the plan being changed, and finally tender his resignation rather +than be the instrument of his army's downfall. + -- Napoleon, "Military Maxims and Thought" +% +It gets late early out there. + -- Yogi Berra +% +It got to the point where I had to get a haircut +or both feet firmly planted in the air. +% +It hangs down from the chandelier +Nobody knows quite what it does +Its color is odd and its shape is weird +It emits a high-sounding buzz + +It grows a couple of feet each day +and wriggles with sort of a twitch +Nobody bugs it 'cause it comes from +a visiting uncle who's rich! + -- To "It Came Upon A Midnight Clear" +% +It happened long ago +In the new magic land +The Indians and the buffalo +Existed hand in hand +The Indians needed food +They need skins for a roof +The only took what they needed +And the buffalo ran loose +But then came the white man +With his thick and empty head +He couldn't see past his billfold +He wanted all the buffalo dead +It was sad, oh so sad. + -- Ted Nugent, "The Great White Buffalo" +% +It happened that a fire broke out backstage in a theater. The clown came +out to inform the public. They thought it was just a jest and applauded. +He repeated his warning, they shouted even louder. So I think the world +will come to an end amid general applause from all the wits, who believe +that it is a joke. +% +It has been justly observed by sages of all lands that although a man may be +most happily married and continue in that state with the utmost contentment, +it does not necessarily follow that he has therefore been struck stone-blind. + -- H. Warner Munn +% +It has been observed that one's nose is never so happy as when it +is thrust into the affairs of another, from which some physiologists +have drawn the inference that the nose is devoid of the sense of smell. + -- Ambrose Bierce +% +It has been said that man is a rational animal. All my life +I have been searching for evidence which could support this. + -- Bertrand Russell +% +It has been said that Public Relations is the art of winning friends +and getting people under the influence. + -- Jeremy Tunstall +% +It has just been discovered that research causes cancer in rats. +% +It has long been an article of our folklore that too much knowledge or skill, +or especially consummate expertise, is a bad thing. It dehumanizes those who +achieve it, and makes difficult their commerce with just plain folks, in whom +good old common sense has not been obliterated by mere book learning or fancy +notions. This popular delusion flourishes now more than ever, for we are all +infected with it in the schools, where educationists have elevated it from +folklore to Article of Belief. It enhances their self-esteem and lightens +their labors by providing theoretical justification for deciding that +appreciation, or even simple awareness, is more to be prized than knowledge, +and relating (to self and others), more than skill, in which minimum +competence will be quite enough. + -- The Underground Grammarian +% +It has long been an axiom of mine that the little things are infinitely +the most important. + -- Sherlock Holmes +% +It has long been an axiom of mine that the +little things are infinitely the most important. + -- Sir Arthur Conan Doyle, "A Case of Identity" +% +It has long been known that birds will occasionally build nests in the +manes of horses. The only known solution to this problem is to sprinkle +baker's yeast in the mane, for, as we all know, yeast is yeast and nest +is nest, and never the mane shall tweet. +% +It has long been known that one horse can run faster +than another -- but which one? Differences are crucial. + -- Lazarus Long +% +It has long been noticed that juries are pitiless for robbery and full of +indulgence for infanticide. A question of interest, my dear Sir! The jury +is afraid of being robbed and has passed the age when it could be a victim +of infanticide. + -- Edmond About +% +It is a hard matter, my fellow citizens, +to argue with the belly, since it has no ears. + -- Marcus Porcius Cato +% +It is a lesson which all history teaches +wise men, to put trust in ideas, and not in circumstances. + -- Emerson +% +It is a poor judge who cannot award a prize. +% +It is a profitable thing, if one is wise, to seem foolish. + -- Aeschylus +% +It is a sobering thought that when Mozart was +my age, he had been dead for 2 years. + -- Tom Lehrer +% +It is a very humbling experience to make a multimillion-dollar mistake, but +it is also very memorable. I vividly recall the night we decided how to +organize the actual writing of external specifications for OS/360. The +manager of architecture, the manager of control program implementation, and +I were threshing out the plan, schedule, and division of responsibilities. + The architecture manager had 10 good men. He asserted that they +could write the specifications and do it right. It would take ten months, +three more than the schedule allowed. + The control program manager had 150 men. He asserted that they +could prepare the specifications, with the architecture team coordinating; +it would be well-done and practical, and he could do it on schedule. +Futhermore, if the architecture team did it, his 150 men would sit twiddling +their thumbs for ten months. + To this the architecture manager responded that if I gave the control +program team the responsibility, the result would not in fact be on time, +but would also be three months late, and of much lower quality. I did, and +it was. He was right on both counts. Moreover, the lack of conceptual +integrity made the system far more costly to build and change, and I would +estimate that it added a year to debugging time. + -- Frederick Brooks Jr., "The Mythical Man Month" +% +It is a wise father that knows his own child. + -- William Shakespeare, "The Merchant of Venice" +% +It is against the grain of modern education to teach children to program. +What fun is there in making plans, acquiring discipline in organizing +thoughts, devoting attention to detail, and learning to be self-critical? + -- Alan Perlis +% +It is all right to hold a conversation, +but you should let go of it now and then. + -- Richard Armour +% +It is always the best policy to speak the truth, +unless of course you are an exceptionally good liar. + -- Jerome K. Jerome +% +It is always the best policy to tell the truth, unless, of course, +you are an exceptionally good liar. + -- Jerome K. Jerome +% +It is amazing how complete is the delusion that beauty is goodness. +% +It is annoying to be honest to no purpose. + -- Publius Ovidius Naso (Ovid) +% +It is bad luck to be superstitious. + -- Andrew W. Mathis +% +[It is] best to confuse only one issue at a time. + -- K&R +% +It is better to be bow-legged than no-legged. +% +It is better to be on penicillin, than never to have loved at all. +% +It is better to burn out than it is to rust. +% +It is better to die on your feet than to live on your knees. +% +It is better to give than to lend, and it costs about the same. +% +It is better to have loved a short man than never to have loved a tall. +% +It is better to have loved and lost -- much better. +% +It is better to have loved and lost than just to have lost. +% +It is better to kiss an avocado than to get in a fight with an aardvark. +% +It is better to live rich than to die rich. + -- Samuel Johnson +% +It is better to remain childless than to father an orphan. +% +It is better to travel hopefully than to fly Continental. +% +It is better to wear chains than to believe you are free, +and weight yourself down with invisible chains. +% +It is better to wear out than to rust out. +% +It is by the fortune of God that, in this country, we have three benefits: +freedom of speech, freedom of thought, and the wisdom never to use either. + -- Mark Twain +% +It is common sense to take a method and try it. If it fails, +admit it frankly and try another. But above all, try something. + -- Franklin D. Roosevelt +% +It is contrary to reasoning to say that there +is a vacuum or space in which there is absolutely nothing. + -- Descartes +% +It is convenient that there be gods, and, +as it is convenient, let us believe there are. + -- Publius Ovidius Naso (Ovid) +% +It is dangerous for a national candidate to say things that people might +remember. + -- Eugene McCarthy +% +It is difficult to legislate morality in the absence of moral legislators. +% +It is difficult to produce a television documentary that is both incisive +and probing when every twelve minutes one is interrupted by twelve dancing +rabbits singing about toilet paper. + -- R. Serling +% +It is difficult to soar with the eagles when you work with turkeys. +% +It is easier for a camel to pass through the +eye of a needle if it is lightly greased. + -- Kehlog Albran +% +It is easier to be a "humanitarian" than to render your own country its +proper due; it is easier to be a "patriot" than to make your community a +better place to live in; it is easier to be a "civic leader" than to treat +your own family with loving understanding; for the smaller the focus of +attention, the harder the task. + -- Sydney J. Harris +% +It is easier to change the specification to fit the program than vice versa. +% +It is easier to fight for one's principles than to live up to them. + -- Alfred Adler +% +It is easier to make a saint out of a libertine than out of a prig. + -- George Santayana +% +It is easier to resist at the beginning than at the end. + -- Leonardo da Vinci +% +It is easier to run down a hill than up one. +% +It is easier to write an incorrect program than understand a correct one. +% +It is easy when we are in prosperity to give advice to the afflicted. + -- Aeschylus +% +It is enough to make one sympathize with a tyrant for the determination +of his courtiers to deceive him for their own personal ends... + -- Russell Baker and Charles Peters +% +It is equally bad when one speeds on the guest unwilling to go, and when he +holds back one who is hastening. Rather one should befriend the guest who +is there, but speed him when he wishes. + -- Homer, "The Odyssey" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to scheduling.] +% +It is exactly because a man cannot do a +thing that he is a proper judge of it. + -- Oscar Wilde +% +It is explained that all relationships require a little give and take. This +is untrue. Any partnership demands that we give and give and give and at the +last, as we flop into our graves exhausted, we are told that we didn't give +enough. + -- Quentin Crisp, "How to Become a Virgin" +% +It is far better to be deceived than to be undeceived by those we love. +% +It is far more impressive when others discover your good qualities +without your help. + -- Miss Manners +% +It is Fortune, not Wisdom, that rules man's life. +% +It is fruitless: + to become lacrymose over precipitately departed lactate fluid. + + to attempt to indoctrinate a superannuated canine with + innovative maneuvers. +% +It is generally agreed that "Hello" is an appropriate greeting because +if you entered a room and said "Goodbye," it could confuse a lot of people. + -- Dolph Sharp, "I'm O.K., You're Not So Hot" +% +It is idle to attempt to talk a young woman out of her passion: +love does not lie in the ear. + -- Walpole +% +It is imperative when flying coach that you restrain any tendency toward +the vividly imaginative. For although it may momentarily appear to be the +case, it is not at all likely that the cabin is entirely inhabited by +crying babies smoking inexpensive domestic cigars. + -- Fran Lebowitz, "Social Studies" +% +It is impossible for an optimist to be pleasantly surprised. +% +It is impossible to defend perfectly +against the attack of those who want to die. +% +It is impossible to enjoy idling thoroughly +unless one has plenty of work to do. + -- Jerome Klapka Jerome +% +It is impossible to enjoy idling unless there is plenty of work to do. + -- Jerome K. Jerome +% +It is impossible to make anything +foolproof because fools are so ingenious. +% +It is impossible to travel faster than light, and +certainly not desirable, as one's hat keeps blowing off. + -- Woody Allen +% +IT IS IN PROCESS: + So wrapped up in red tape that the situation is almost hopeless. +% +It is indeed desirable to be well descended, +but the glory belongs to our ancestors. + -- Plutarch +% +It is like saying that for the cause of peace, +God and the Devil will have a high-level meeting. + -- Rev. Carl McIntire, on Nixon's China trip +% +It is most dangerous nowadays for a husband to pay any attention to his +wife in public. It always makes people think that he beats her when +they're alone. The world has grown so suspicious of anything that looks +like a happy married life. + -- Oscar Wilde +% +It is much easier to be critical than to be correct. + -- Benjamin Disraeli +% +It is much easier to suggest solutions +when you know nothing about the problem. +% +It is much harder to find a job than to keep one. +% +It is necessary for the welfare of society that genius should be privileged +to utter sedition, to blaspheme, to outrage good taste, to corrupt the +youthful mind, and generally to scandalize one's uncles. + -- George Bernard Shaw +% +It is no wonder that people are so horrible when they start life as children. + -- Kingsley Amis +% +It is not a good omen when goldfish commit suicide. +% +It is not doing the thing we like to do, but liking the thing we have to do, +that makes life blessed. + -- Goethe +% +It is not enough that I should succeed. Others must fail. + -- Ray Kroc, Founder of McDonald's + [Also attributed to David Merrick. Ed.] + +It is not enough to succeed. Others must fail. + -- Gore Vidal + [Great minds think alike? Ed.] +% +It is not enough to have a good mind. +The main thing is to use it well. + -- Rene Descartes +% +It is not enough to have great qualities, +we should also have the management of them. + -- La Rochefoucauld +% +It is not every question that deserves an answer. + -- Publilius Syrus +% +It is not for me to attempt to fathom the +inscrutable workings of Providence. + -- The Earl of Birkenhead +% +It is not good for a man to be without knowledge, +and he who makes haste with his feet misses his way. + -- Proverbs 19:2 +% +It is not necessary to inquire whether a woman would like something for +dessert. The answer is yes, she would like something for dessert, but +she would like you to order it so she can pick at it with your fork. She +does not want you to call attention to this by saying, 'If you wanted a +dessert, why didn't you order one?' You must understand, she has the +dessert she wants. The dessert she wants is contained within yours. + -- Merrill Marcoe, "An Insider's Guide to the American Woman" +% +It is not that polar co-ordinates are complicated, it is simply +that cartesian co-ordinates are simpler than they have a right to be. + -- Kleppner & Kolenhow, "An Introduction to Mechanics" +% +It is not the critic who counts, or how the strong man stumbled, or whether +the doer of deeds could have done them better. The credit belongs to the +man who is actually in the arena, whose face is marred by dust and sweat and +blood, who strives valiantly, who errs and comes short again and again; who +knows the great enthusiasm, the great devotion, and who spends himself in a +worthy cause, and if he fails, at least fails while daring greatly, so that +he'll never be with those cold and timid souls who never know either victory +or defeat. + -- Teddy Roosevelt +% +It is not true that life is one damn thing after +another -- it's one damn thing over and over. + -- Edna St. Vincent Millay +% +It is November first 1940; in the famous sound stage of THE WIZARD OF OZ on +the MGM lot, a little man is lying face-up on the yellow brick road. His +wide eyes stare upward into the blinding stage lights. He is wearing a +kind of comic soldier's uniform with a yellow coat and puffy sleeves and +big fez-like blue and yellow hat with a feather on top. His yellow hair +and beard are the phony straw color of Hollywood. He could pass for some +kind of cute in the typical tinsel-town way if it wasn't for the knife +sticking out of his chest. *Someone had murdered a Munchkin.* + -- Stuart Kaminsky, "Murder on the Yellow Brick Road" +% +It is now 10 p.m. Do you know where Henry Kissinger is? + -- Elizabeth Carpenter +% +It is now pitch dark. If you proceed, you will likely fall into a pit. +% +It is now quite lawful for a Catholic woman to avoid pregnancy by a resort +to mathematics, though she is still forbidden to resort to physics and +chemistry. + -- H.L. Mencken +% +It is often easier to ask for forgiveness than to ask for permission. + -- Grace Murray Hopper +% +It is one thing to praise discipline, and another to submit to it. + -- Cervantes +% +It is only by risking our persons from one hour to another that we live +at all. And often enough our faith beforehand in an uncertified result +is the only thing that makes the result come true. + -- William James +% +It is only with the heart one can see clearly; +what is essential is invisible to the eye. + -- The Fox, 'The Little Prince" +% +It is possible by ingenuity and at the expense of clarity... {to do almost +anything in any language}. However, the fact that it is possible to push +a pea up a mountain with your nose does not mean that this is a sensible +way of getting it there. Each of these techniques of language extension +should be used in its proper place. + -- Christopher Strachey +% +It is possible that blondes also prefer gentlemen. + -- Maimie Van Doren +% +It is practically impossible to teach good programming to students that +have had a prior exposure to BASIC: as potential programmers they are +mentally mutilated beyond hope of regeneration. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +It is ridiculous to call this an industry. This is not. This is rat eat +rat, dog eat dog. I'll kill 'em, and I'm going to kill 'em before they +kill me. You're talking about the American way of survival of the fittest. + -- Ray Kroc, founder of McDonald's +% +It is right that he too should have his little chronicle, his memories, +his reason, and be able to recognize the good in the bad, the bad in the +worst, and so grow gently old all down the unchanging days and die one +day like any other day, only shorter. + -- Samuel Beckett, "Malone Dies" +% +It is said an Eastern monarch once charged his wise men to invent him a +sentence to be ever in view, and which should be true and appropriate +in all times and situations. They presented him the words: "And this, +too, shall pass away." + -- A. Lincoln +% +It is said that the lonely eagle flies to the mountain peaks while the +lowly ant crawls the ground, but cannot the soul of the ant soar as +high as the eagle? +% +It is so soon that I am done for, I wonder what I was begun for. + -- Epitaph, Cheltenham Churchyard +% +It is so stupid of modern civilisation to have given up believing in the +devil when he is the only explanation of it. + -- Ronald Knox, "Let Dons Delight" +% +It is so very hard to be an on-your-own-take-care-of- +yourself-because-there-is-no-one-else-to-do-it-for-you grown up. +% +It is something to be able to paint a particular picture, or to carve a +statue, and so to make a few objects beautiful; but it is far more glorious +to carve and paint the very atmosphere and medium through which we look, +which morally we can do. To affect the quality of the day, that is the +highest of arts. Every man is tasked to make his life, even in its details, +worthy of the contemplation of his most elevated and critical hour. + -- Henry David Thoreau, "Where I Live" +% +It is sweet to let the mind unbend on occasion. + -- Quintus Horatius Flaccus (Horace) +% +It is the business of little minds to shrink. + -- Carl Sandburg +% +It is the business of the future to be dangerous. + -- Hawkwind +% +It is the nature of extreme self-lovers, as they will +set an house on fire, and it were but to roast their eggs. + -- Francis Bacon +% +It is the quality rather than the quantity that matters. + -- Lucius Annaeus Seneca +% +It is the wisdom of crocodiles, that shed tears when they would devour. + -- Francis Bacon +% +It is the wise bird who builds his nest in a tree. +% +It is through symbols that man consciously or unconsciously +lives, works and has his being. + -- Thomas Carlyle +% +It is true that if your paperboy throws your paper into the bushes for five +straight days it can be explained by Newton's Law of Gravity. But it takes +Murphy's law to explain why it is happening to you. +% +It is up to us to produce better-quality movies. + -- Lloyd Kaufman, + producer of "Stuff Stephanie in the Incinerator" +% +It is very vulgar to talk like a dentist when one isn't a dentist. +It produces a false impression. + -- Oscar Wilde. +% +It is when I struggle to be brief that I become obscure. + -- Quintus Horatius Flaccus (Horace) +% +It is wise to keep in mind that neither success nor failure is ever final. + -- Roger Babson +% +It is your concern when your neighbor's wall is on fire. + -- Quintus Horatius Flaccus (Horace) +% +It isn't easy being a Friday kind of person in a Monday kind of world. +% +It isn't easy being green. + -- Kermit the Frog +% +It isn't easy being the parent of a six-year-old. However, it's a pretty +small price to pay for having somebody around the house who understands +computers. +% +It isn't necessary to have relatives in Kansas City in order to be +unhappy. + -- Groucho Marx +% +It isn't whether you win or lose, it's how much money you end up with. + -- Jack T. Shakespeare +% +It just doesn't seem right to go over the river and through the woods +to Grandmother's condo. +% +It looked like something resembling white marble, which was +probably what it was: something resembling white marble. + -- Douglas Adams, "The Hitchhikers Guide to the Galaxy" +% +It looks like blind screaming hedonism won out. +% +It looks like it's up to me to save our skins. +Get into that garbage chute, flyboy! + -- Princess Leia Organa +% +IT MAKES ME MAD when I go to all the trouble of having Marta cook up about +a hundred drumsticks, then the guy at Marineland says, "You can't throw +that chicken to the dolphins. They eat fish." + +Sure they eat fish if that's all you give them! Man, wise up. + -- Jack Handley, The New Mexican, 1988. +% +It [marriage] happens as with cages: the birds without despair +to get in, and those within despair of getting out. + -- Michel Eyquem de Montaigne +% +It matters not whether you win or lose; what matters is whether *I* win +or lose. + -- Darrin Weinberg +% +It may be better to be a live jackal than a dead lion, but it is +better still to be a live lion. And usually easier. + -- Lazarus Long +% +It may be that your whole purpose in life +is simply to serve as a warning to others. +% +It may or may not be worthwhile, but it still has to be done. +% +It must be remembered that there is nothing more difficult to plan, more +doubtful of success, nor more dangerous to manage, than the creation of +a new system. For the initiator has the emnity of all who would profit +by the preservation of the old institutions and merely lukewarm defenders +in those who would gain by the new ones. + -- Niccolo Machiavelli, 1513 +% +It must have been some unmarried fool that said "A child can ask questions +that a wise man cannot answer"; because, in any decent house, a brat that +starts asking questions is promptly packed off to bed. + -- Arthur Binstead +% +It now costs more to amuse a child than it once did to educate his father. +% +It occurred to me lately that nothing has occurred to me lately. +% +It pays in England to be a revolutionary and a bible-smacker most of +one's life and then come round. + -- Lord Alfred Douglas +% +It pays to be obvious, especially if you have a reputation for subtlety. +% +It proves what they say, give the public what they want to see and +they'll come out for it. + -- Red Skelton, surveying the funeral of Hollywood mogul + Harry Cohn +% +It seemed the world was divided into good and bad people. The good ones +slept better... while the bad ones seemed to enjoy the waking hours much +more. + -- Woody Allen, "Side Effects" +% +It seems a little silly now, but this country +was founded as a protest against taxation. +% +It seems appropriate to me that Mapplethorpe's perverse images should +be situated so close to Congress, which perpetuates a number of +unnatural acts upon the body politic every day, without benefit of +artificial lubrication or foreplay. + -- Pat Calafia's review of Camille Paglia's + "Sex, Art and American Culture" +% +It seems intuitively obvious to me, which means that it might be wrong. + -- Chris Torek +% +It seems that more and more mathematicians are using a new, high level +language named "research student". +% +It seems to make an auto driver mad if he misses you. +% +It seems to me that nearly every woman I know wants a man who knows how +to love with authority. Women are simple souls who like simple things, +and one of the simplest is one of the simplest to give. ... Our family +airedale will come clear across the yard for one pat on the head. The +average wife is like that. + -- Episcopal Bishop James Pike +% +It takes a smart husband to have the last word and not use it. +% +It takes a special kind of courage to face what we all have to face. +% +It takes all kinds to fill the freeways. + -- Crazy Charlie +% +It takes both a weapon, and two people, to commit a murder. +% +It takes less time to do a thing right +than it does to explain why you did it wrong. + -- H.W. Longfellow +% +It takes two to tell the truth: one to speak and one to hear. +% +It took a while to surface, but it appears that a long-distance credit card +may have saved a U.S. Army unit from heavy casualties during the Grenada +military rescue/invasion. Major General David Nichols, Air Force ... said +the Army unit was in a house surrounded by Cuban forces. One soldier found +a telephone and, using his credit card, called Ft. Bragg, N.C., telling Army +officiers there of the perilous situation. The officers in turn called the +Air Force, which sent in gunships to scatter the Cubans and relieve the unit. + -- Aviation Week and Space Technology +% +It took me fifteen years to discover that I had no talent for writing, +but I couldn't give it up because by that time I was too famous. + -- Robert Benchley +% +It turned out that the worm exploited three or four different holes in the +system. From this, and the fact that we were able to capture and examine +some of the source code, we realized that we were dealing with someone very +sharp, probably not someone here on campus. + -- Dr. Richard LeBlanc, associate professor of ICS, in + Georgia Tech's campus newspaper after the Internet worm. +% +It used to be the fun was in +The capture and kill. +In another place and time +I did it all for thrills. + -- Lust to Love +% +It usually takes more than three weeks to prepare a good impromptu speech. + -- Mark Twain +% +It was a book to kill time for those who liked it better dead. +% +It was a brave man that ate the first oyster. +% +It was a fine, sweet night, the nicest since my divorce, maybe the nicest +since the middle of my marriage. There was energy, softness, grace and +laughter. I even took my socks off. In my circle, that means class. + -- Andrew Bergman "The Big Kiss-off of 1944" +% +It was a Roman who said it was sweet to die for one's country. The Greeks +never said it was sweet to die for anything. They had no vital lies. + -- Edith Hamilton, "The Greek Way" +% +It was all so different before everything changed. +% +It was kinda like stuffing the wrong card in a computer, +when you're stickin' those artificial stimulants in your arm. + -- Dion, noted computer scientist +% +It was one of those perfect summer days -- the sun was shining, a breeze +was blowing, the birds were singing, and the lawn mower was broken ... + --- James Dent +% +It was one time too many +One word too few +It was all too much for me and you +There was one way to go +Nothing more we could do +One time too many +One word too few + -- Meredith Tanner +% +It was Penguin lust... at its ugliest. +% +It was pity stayed his hand. "Pity I don't have any more bullets," +thought Frito. + -- Harvard Lampoon, "Bored of the Rings" +% +It was pleasant to me to get a letter from you the other day. Perhaps +I should have found it pleasanter if I had been able to decipher it. I +don't think that I mastered anything beyond the date (which I knew) and +the signature (which I guessed at). There's a singular and a perpetual +charm in a letter of yours; it never grows old, it never loses its +novelty. Other letters are read and thrown away and forgotten, but +yours are kept forever -- unread. One of them will last a reasonable +man a lifetime. + -- Thomas Aldrich +% +It was raining heavily, and the motorist had car trouble on a lonely country +road. Anxious to find shelter for the night, he walked over to a farmhouse +and knocked on the front door. No one responded. He could feel the water +from the roof running down the back of his neck as he stood on the stoop. +The next time he knocked louder, but still no answer. By now he was soaked +to the skin. Desperately he pounded on the door. At last the head of a +man appeared out of an upstairs window. + "What do you want?" he asked gruffly. + "My car broke down," said the traveler, "and I want to know if you +would let me stay here for the night." + "Sure," replied the man. "If you want to stay there all night, it's +okay with me." +% +It was the Law of the Sea, they said. Civilization ends at the waterline. +Beyond that, we all enter the food chain, and not always right at the top. + -- Hunter S. Thompson +% +It was wonderful to find America, but it +would have been more wonderful to miss it. + -- Mark Twain +% +It wasn't exactly a divorce -- I was traded. + -- Tim Conway +% +It wasn't that she had a rose in her teeth, exactly. +It was more like the rose and the teeth were in the same glass. +% +It would be nice to be sure of anything +the way some people are of everything. +% +It would save me a lot of time if you just gave up and went mad now. +% +italic, adj: + Slanted to the right to emphasize key phrases. Unique to + Western alphabets; in Eastern languages, the same phrases + are often slanted to the left. +% +It'll be a nice world if they ever get it finished. +% +It'll be just like Beggars Canyon back home. + -- Luke Skywalker +% +It's a .88 magnum -- it goes through schools. + -- Danny Vermin +% +It's a brave man who, when things are at their darkest, can kick back +and party! + -- Dennis Quaid, "Inner Space" +% +It's a damn poor mind that can only think of one way to spell a word. + -- Andrew Jackson +% +It's a dog-eat-dog world out there, and I'm wearing Milkbone underware. + -- Cheers +% +It's a naive, domestic operating system without any +breeding, but I think you'll be amused by its presumption. +% +It's a poor workman who blames his tools. +% +It's a recession when your neighbour loses his job; it's a depression +when you lose yours. + -- Harry S. Truman +% +It's a small world, but I wouldn't want to have to paint it. + -- Steven Wright +% +It's all in the mind, ya know. +% +It's all right letting yourself go as long as you can let yourself back. + -- Mick Jagger +% +"It's all so painfully empty and lonesome... I don't think I can stand +any more of it... the whole dreadful way we are born, die, and are +never missed. The fact there is *nobody*... nobody really... We come +out of a yawning tomb of flesh and sink back finally into another tomb. +What is the point of it all? Who thought up this sickening circle of +flesh and blood? We come into the world bleeding and cut and our bones +half-crushed only to emerge and suffer more torment, multilation, and +then at the last lie down in some hole in the ground forever. Who could +have thought it up, I wonder?" + -- James Purdy +% +It's always darkest just before the lights go out. + -- Alex Clark +% +It's amazing how many people you could be friends +with if only they'd make the first approach. +% +It's amazing how much better you feel once you've given up hope. +% +It's amazing how much "mature wisdom" resembles being too tired. +% +It's amazing how nice people are to you when they know you're going away. + -- Michael Arlen +% +It's bad enough that life is a rat-race, +but why do the rats always have to win? +% +It's better to be quotable than to be honest. + -- Tom Stoppard +% +It's better to be wanted for murder that not to be wanted at all. + -- Marty Winch +% +It's better to burn out than it is to rust. +% +It's better to burn out than to fade away. +% +It's better to have loved and lost -- much better. +% +It's business doing pleasure with you. +% +It's clever, but is it art? +% +It's difficult to see the picture when you are inside the frame. +% +"It's easier said than done." + +... and if you don't believe it, try proving that it's easier done than +said, and you'll see that "it's easier said that `it's easier done than +said' than it is done", which really proves that "it's easier said than +done". +% +It's easier to be a liberal a long way from home. + -- Don Price +% +It's easier to get forgiveness for being +wrong than forgiveness for being right. +% +It's easier to take it apart than to put it back together. + -- Washlesky +% +It's easy to forgive someone for being wrong; +it's much harder to forgive them for being right. +% +It's easy to make a friend. What's hard is to make a stranger. +% +It's fabulous! We haven't seen anything like it in the last half an hour! + -- Macy's +% +Its failings notwithstanding, there is much to be said in favor of journalism +in that by giving us the opinion of the uneducated, it keeps us in touch with +the ignorance of the community. + -- Oscar Wilde +% +It's faster horses, +Younger women, +Older whiskey and +More money. + -- Tom T. Hall, "The Secret of Life" +% +It's from Casablanca. I've been waiting all my life to use that line. + -- Woody Allen, "Play It Again, Sam" +% +It's getting uncommonly easy to kill people in large numbers, and the +first thing a principle does -- if it really is a principle -- is to +kill somebody. + -- Dorothy Sayers +% +It's gonna be alright, +It's almost midnight, +And I've got two more bottles of wine. +% +It's hard not to like a man of many qualities, +even if most of them are bad. +% +It's hard to argue that God hated Oklahoma. +If He didn't, why is it so close to Texas? +% +It's hard to be humble when you're perfect. +% +It's hard to drive at the limit, but +it's harder to know where the limits are. + -- Stirling Moss +% +It's hard to get ivory in Africa, but in Alabama the Tuscaloosa. + -- Groucho Marx +% +It's hard to keep your shirt on when +you're getting something off your chest. +% +It's hard to outrun dead people because they don't have to breathe. + -- Hokey, describing "Night of the Living Dead" +% +It's hard to think of you as the end +result of millions of years of evolution. +% +It's important that people know what you stand for. +It's more important that they know what you won't stand for. +% +It's interesting to think that many quite +distinguished people have bodies similar to yours. +% +It's is not, it isn't ain't, and it's it's, not its, if you mean it is. +If you don't, it's its. Then too, it's hers. It isn't her's. It isn't +our's either. It's ours, and likewise yours and theirs. + -- Oxford University Press, "Edpress News" +% +It's just apartment house rules, +So all you 'partment house fools +Remember: one man's ceiling is another man's floor. +One man's ceiling is another man's floor. + -- Paul Simon, "One Man's Ceiling Is Another Man's Floor" +% +It's later than you think. +% +It's later than you think, the joint +Russian-American space mission has already begun. +% +It's like deja vu all over again. + -- Yogi Berra +% +It's Like This + +Even the samurai +have teddy bears, +and even the teddy bears +get drunk. +% +It's lucky you're going so slowly, because +you're going in the wrong direction. +% +It's multiple choice time... + + What is FORTRAN? + + a: Between thre and fiv tran. + b: What two computers engage in before they interface. + c: Ridiculous. +% +Its name is Public Opinion. It is held in reverence. +It settles everything. Some think it is the voice of God. + -- Mark Twain +% +It's never too late to have a happy childhood. +% +It's no longer a question of staying healthy. It's a question of finding +a sickness you like. + -- Jackie Mason +% +It's no use crying over spilt milk -- it only makes it salty for the cat. +% +It's not against any religion to want to dispose of a pigeon. + -- Tom Lehrer +% +It's not an optical illusion, it just looks like one. + -- Phil White +% +It's not Camelot, but it's not Cleveland, either. + -- Kevin White, Mayor of Boston +% +It's not easy being green. + -- Kermit +% +It's not enough to be Hungarian; you must have talent too. + -- Alexander Korda +% +It's not hard to admit errors that are [only] cosmetically wrong. + -- J.K. Galbraith +% +It's not reality that's important, but how you perceive things. +% +It's not that I'm afraid to die. +I just don't want to be there when it happens. + -- Woody Allen +% +It's not the fall that kills you, it's the landing. +% +It's not the men in my life, but the life in my men that counts. + -- Mae West +% +It's not whether you win or lose but how you look playing the game. +% +It's not whether you win or lose but how you played the game. + -- Grantland Rice +% +It's not whether you win or lose, it's how you look playing the game. +% +It's not whether you win or lose, it's how you place the blame. +% +It's odd, and a little unsettling, to reflect upon the fact that English is +the only major language in which "I" is capitalized; in many other languages +"You" is capitalized and the "i" is lower case. + -- Sydney J. Harris +% +It's only by NOT taking the human race seriously that I retain +what fragments of my once considerable mental powers I still possess. + -- Roger Noe +% +It's our fault. We should have given him better parts. + -- Jack Warner, on hearing that Reagan had been + elected governor of California. + +[Warner is also reported to have said, when told of Reagan's candidacy +for governor, "No, Jimmy Stewart for Governor; Reagan for best friend."] +% +It's possible that the whole purpose of your life is to serve +as a warning to others. +% +It's pretty hard to tell what does bring happiness; +poverty and wealth have both failed. + -- Kim Hubbard +% +It's really quite a simple choice: Life, Death, or Los Angeles. +% +It's reassuring to know that if you behave strangely enough, +society will take full responsibility for you. +% +It's recently come to Fortune's attention that scientists have stopped +using laboratory rats in favor of attorneys. Seems that there are not +only more of them, but you don't get so emotionally attached. The only +difficulty is that it's sometimes difficult to apply the experimental +results to humans. + + [Also, there are some things even a rat won't do. Ed.] +% +It's so beautifully arranged on the plate -- you know someone's fingers +have been all over it. + -- Julia Child on nouvelle cuisine. +% +It's so confusing choosing sides in the heat of the moment, + just to see if it's real, +Oooh, it's so erotic having you tell me how it should feel, +But I'm avoiding all the hard cold facts that I got to face, +So ask me just one question when this magic night is through, +Could it have been just anyone or did it have to be you? + -- Billy Joel, "Glass Houses" +% +It's so stupid of modern civilization to have given up believing in the +Devil when he is the only explanation for it. +% +It's sweet to be remembered, but it's often cheaper to be forgotten. +% +It's ten o'clock; do you know where your processes are? +% +It's the good girls who keep the diaries, the bad girls never have the time. + -- Tallulah Bankhead +% +It's the opinion of some that crops could be grown on the moon. Which raises +the fear that it may not be long before we're paying somebody not to. + -- Franklin P. Jones +% +It's the same old story; boy meets beer, boy drinks beer... +boy gets another beer. + -- Cheers +% +"It's today!" said Piglet. +"My favorite day," said Pooh. +% +It's useless to try to hold some people to anything they say while they're +madly in love, drunk, or running for office. +% +It's very glamorous to raise millions of dollars, until it's time for the +venture capitalist to suck your eyeballs out. + -- Peter Kennedy, chairman of Kraft & Kennedy. +% +It's very inconvenient to be mortal -- you never +know when everything may suddenly stop happening. +% +IV. The time required for an object to fall twenty stories is greater than or + equal to the time it takes for whoever knocked it off the ledge to + spiral down twenty flights to attempt to capture it unbroken. + Such an object is inevitably priceless, the attempt to capture it + inevitably unsuccessful. + V. All principles of gravity are negated by fear. + Psychic forces are sufficient in most bodies for a shock to propel + them directly away from the earth's surface. A spooky noise or an + adversary's signature sound will induce motion upward, usually to + the cradle of a chandelier, a treetop, or the crest of a flagpole. + The feet of a character who is running or the wheels of a speeding + auto need never touch the ground, especially when in flight. +VI. As speed increases, objects can be in several places at once. + This is particularly true of tooth-and-claw fights, in which a + character's head may be glimpsed emerging from the cloud of + altercation at several places simultaneously. This effect is common + as well among bodies that are spinning or being throttled. A "wacky" + character has the option of self-replication only at manic high + speeds and may ricochet off walls to achieve the velocity required. + -- Esquire, "O'Donnell's Laws of Cartoon Motion", June 1980 +% +I've already told you more than I know. +% +I've always considered statesmen to be more expendable than soldiers. +% +I've always felt sorry for people that don't drink -- remember, +when they wake up, that's as good as they're gonna feel all day! +% +I've always made it a solemn practice to never +drink anything stronger than tequila before breakfast. + -- R. Nesson +% +I've been in more laps than a napkin. + -- Mae West +% +I've Been Moved! +% +I've been on a diet for two weeks and all I've lost is two weeks. + -- Totie Fields +% +I've been on this lonely road so long, +Does anybody know where it goes, +I remember last time the signs pointed home, +A month ago. + -- Carpenters, "Road Ode" +% +I've been there. +% +I've built a better model than the one at Data General +For data bases vegetable, animal, and mineral +My OS handles CPUs with multiplexed duality; +My PL/1 compiler shows impressive functionality. +My storage system's better than magnetic core polarity, +You never have to bother checking out a bit for parity; +There isn't any reason to install non-static floor matting; +My disk drive has capacity for variable formatting. + +I feel compelled to mention what I know to be a gloating point: +There's lots of room in memory for variables floating-point, +Which shows for input vegetable, animal, and mineral +I've built a better model than the one at Data General. + + -- Steve Levine, "A Computer Song", (To the tune of + "Modern Major General") +% +I've finally learned what "upward compatible" means. +It means we get to keep all our old mistakes. + -- Dennie van Tassel +% +I've given up reading books; I find it takes my mind off myself. +% +I've got a very bad feeling about this. + -- Han Solo +% +I've got all the money I'll ever need if I die by 4 o'clock. + -- Henny Youngman +% +I've got some powdered water, but I don't know what to add. + -- Stephen Wright +% +I've had a perfectly wonderful evening. But this wasn't it. + -- Groucho Marx +% +I've had one child. My husband wants to have another. +I'd like to watch him have another. +% +I've looked at the listing, and it's right! + -- Joel Halpern. +% +I've never been canoeing before, but I imagine there must +be just a few simple heuristics you have to remember... + +Yes, don't fall out, and don't hit rocks. +% +I've never been drunk, but often I've been overserved. + -- George Gobel +% +I've never been hurt by anything I didn't say. + -- Calvin Coolidge +% +I've never had a problem with drugs; I've had problems with the police. + -- Keith Richards + +I never turn blue in anyone's bathroom. I think that's the height of +bad taste. + -- Keith Richards +% +I've never struck a woman in my life, not even my own mother. + -- W.C. Fields +% +I've noticed several design suggestions in your code. +% +I've only got 12 cards. +% +I've spent almost all of my life with highly intelligent men. They're not +like other men. Their spirit is great and stimulating. They hate strife; +indeed they reject it. Their inventive gifts are boundless. They demand +devotion and obedience. And a sense of humor. I happily gave all of this. +I was lucky to be chosen and clever enough to understand them. + -- Marlene Dietrich, on her friendship with Ernest Hemingway +% +I've tried several varieties of sex. The conventional position makes +me claustrophobic, and the others either give me a stiff neck or lockjaw. + -- Tallulah Bankhead +% +Jacquin's Postulate on Democratic Government: + No man's life, liberty, or property are safe while the + legislature is in session. +% +jake hates + all the girls(the +shy ones, the bold paul scorns all +ones; the meek the girls(the +proud sloppy sleek) bright ones, the dim +all except the cold ones; the slim + ones plump tiny tall) + all except the + dull ones +gus loves all the + girls(the +warped ones, the lamed mike likes all the girls +ones; the mad (the +moronic maimed) fat ones, the lean +all except ones; the mean + the dead ones kind dirty clean) + all + except the green ones + -- e e cummings +% +James McNeill Whistler's (painter of "Whistler's Mother") failure in his +West Point chemistry examination once provoked him to remark in later life, +"If silicon had been a gas, I should have been a major general." +% +Jane and I got mixed up with a television show -- or as we call it back +east here: TV -- a clever contraction derived from the words Terrible +Vaudeville. However, it is our latest medium -- we call it a medium +because nothing's well done. It was discovered, I suppose you've heard, +by a man named Fulton Berle, and it has already revolutionized social +grace by cutting down parlour conversation to two sentences: "What's on +television?" and "Good night". + -- Goodman Ace, letter to Groucho Marx, in The Groucho + Letters, 1967 +% +Japan, n: + A fictional place where elves, gnomes and economic imperialists + create electronic equipment and computers using black magic. It + is said that in the capital city of Akihabara, the streets are + paved with gold and semiconductor chips grow on low bushes from + which they are harvested by the happy natives. +% +Jealousy is all the fun you think they have. +% +Jenkinson's Law: + It won't work. +% +Jim, it's Grace at the bank. I checked your Christmas Club account. +You don't have five-hundred dollars. You have fifty. Sorry, computer foul-up! +% +Jim, it's Jack. I'm at the airport. I'm going to Tokyo and wanna pay +you the five-hundred I owe you. Catch you next year when I get back! +% +Jim Nasium's Law: + In a large locker room with hundreds of lockers, the few people + using the facility at any one time will all have lockers next to + each other so that everybody is cramped. +% +Jim, this is Janelle. I'm flying tonight, so I can't make our date, and +I gotta find a safe place for Daffy. He loves you, Jim! It's only two +days, and you'll see. Great Danes are no problem! +% +Jim, this is Matty down at Ralph's and Mark's. Some guy named Angel +Martin just ran up a fifty buck bar tab. And now he wants to charge it +to you. You gonna pay it? +% +JOB INTERVIEW: + The excruciating process during which personnel officers + separate the wheat from the chaff -- then hire the chaff. +% +job Placement, n: + Telling your boss what he can do with your job. +% +Joe Cool always spends the first two weeks at college sailing his frisbee. + -- Snoopy +% +Joe sat as his dying wife's bedside. +Her voice was little more than a whisper. + "Joe, darling," she breathed, "I've got a confession to make +before I go. I ... I'm the one who took the $10,000 from your safe... +I spent it on a fling with your best friend, Charles. And it was I who +forced your mistress to leave the city. And I am the one who reported +your income-tax evasion to the I.R.S..." + "That's all right, dearest, don't give it a second thought," +whispered Joe. "I'm the one who poisoned you." +% +Joe's sister puts spaghetti in her shoes! +% +jogger, n: + An odd sort of person with a thing for pain. +% +John Dame May Oscar +Was Gay Was Whitty Was Wilde +But Gerard Hopkins But John Greenleaf But Thornton +Was Manley Was Whittier Was Wilder + -- Willard Espy +% +John Birch Society: + That pathetic manifestation of organized apoplexy. + -- Edward P. Morgan +% +JOHN PAUL ELECTED POPE!! + +(George and Ringo miffed.) +% +John the Baptist after poisoning a thief, +Looks up at his hero, the Commander-in-Chief, +Saying tell me great leader, but please make it brief +Is there a hole for me to get sick in? +The Commander-in-Chief answers him while chasing a fly, +Saying death to all those who would whimper and cry. +And dropping a barbell he points to the sky, +Saying the sun is not yellow, it's chicken. + -- Bob Dylan, "Tombstone Blues" +% +Johnny Carson's Definition: + The smallest interval of time known to man is that which occurs + in Manhattan between the traffic signal turning green and the + taxi driver behind you blowing his horn. +% +Johnson's First Law: + When any mechanical contrivance fails, it will do so at the + most inconvenient possible time. +% +Johnson's law: + Systems resemble the organizations that create them. +% +Join in the new game that's sweeping the country. It's called "Bureaucracy". +Everybody stands in a circle. The first person to do anything loses. +% +Join the army, see the world, meet interesting, +exciting people, and kill them. +% +Join the Navy; sail to far-off exotic lands, +meet exciting interesting people, and kill them. +% +Jones' First Law: + Anyone who makes a significant contribution to any field of + endeavor, and stays in that field long enough, becomes an + obstruction to its progress -- in direct proportion to the + importance of their original contribution. +% +Jones' Second Law: + The man who smiles when things go wrong has thought of someone + to blame it on. +% +Joshu: What is the true Way? +Nansen: Every way is the true Way. +J: Can I study it? +N: The more you study, the further from the Way. +J: If I don't study it, how can I know it? +N: The Way does not belong to things seen: nor to things unseen. + It does not belong to things known: nor to things unknown. Do + not seek it, study it, or name it. To find yourself on it, open + yourself as wide as the sky. +% +Journalism is literature in a hurry. + -- Matthew Arnold +% +Journalism will kill you, but it will keep you alive while you're at it. +% +Juall's Law on Nice Guys: + Nice guys don't always finish last; sometimes they don't finish. + Sometimes they don't even get a chance to start! +% +Judges, as a class, display, in the matter of arranging alimony, that +reckless generosity which is found only in men who are giving away +someone else's cash. + -- P.G. Wodehouse, "Louder and Funnier" +% +Just a few of the perfect excuses for having some strawberry shortcake. +Pick one. + +1: It's less calories than two pieces of strawberry shortcake. +2: It's cheaper than going to France. +3: It neutralizes the brownies I had yesterday. +4: Life is short. +5: It's somebody's birthday. I don't want them to celebrate alone. +6: It matches my eyes. +7: Whoever said, "Let them eat cake." must have been talking to me. +8: To punish myself for eating dessert yesterday. +9: Compensation for all the time I spend in the shower not eating. +10: Strawberry shortcake is evil. I must help rid the world of it. +11: I'm getting weak from eating all that healthy stuff. +12: It's the second anniversary of the night I ate plain broccoli. +% +Just a song before I go, Going through security +To whom it may concern, I held her for so long. +Traveling twice the speed of sound She finally looked at me in love, +It's easy to get burned. And she was gone. +When the shows were over Just a song before I go, +We had to get back home, A lesson to be learned. +And when we opened up the door Traveling twice the speed of sound +I had to be alone. It's easy to get burned. +She helped me with my suitcase, +She stands before my eyes, +Driving me to the airport +And to the friendly skies. + -- Crosby, Stills, Nash, "Just a Song Before I Go" +% +Just as I cannot remember any time when I could not read and write, I cannot +remember any time when I did not exercise my imagination in daydreams about +women. + -- G.B. Shaw +% +Just as most issues are seldom black or white, so are most good solutions +seldom black or white. Beware of the solution that requires one side to be +totally the loser and the other side to be totally the winner. The reason +there are two sides to begin with usually is because neither side has all +the facts. Therefore, when the wise mediator effects a compromise, he is +not acting from political motivation. Rather, he is acting from a deep +sense of respect for the whole truth. + -- Stephen R. Schwambach +% +Just because everything is different doesn't mean anything has changed. + -- Irene Peter +% +Just because he's dead is no reason to lay off work. +% +Just because I turn down a contract on a guy doesn't mean he isn't +going to get hit. + -- Joey +% +Just because the message may never be +received does not mean it is not worth sending. +% +Just because they are called 'forbidden' transitions does not mean that they +are forbidden. They are less allowed than allowed transitions, if you see +what I mean. + -- From a Part 2 Quantum Mechanics lecture. +% +Just because you like my stuff doesn't mean I owe you anything. + -- Bob Dylan +% +Just because your doctor has a name for your +condition doesn't mean he knows what it is. +% +Just because you're paranoid doesn't mean they AREN'T after you. +% +Just close your eyes, tap your heels together three times, +and think to yourself, `There's no place like home.' + -- Glynda +% +Just give Alice some pencils and she will stay busy for hours. +% +Just how difficult it is to write biography can be reckoned by anybody +who sits down and considers just how many people know the real truth +about his or her love affairs. + -- Rebecca West +% +Just machines to make big decisions, +Programmed by men for compassion and vision, +We'll be clean when their work is done, +We'll be eternally free, yes, eternally young, +What a beautiful world this will be, +What a glorious time to be free. + -- Donald Fagon, "What A Beautiful World" +% +Just once, I wish we would encounter +an alien menace that wasn't immune to bullets. + -- The Brigader, "Dr. Who" +% +Just remember, wherever you go, there you are. + -- Buckeroo Banzai +% +`Just the place for a Snark!' the Bellman cried, + As he landed his crew with care; +Supporting each man on the top of the tide + By a finger entwined in his hair. + +`Just the place for a Snark! I have said it twice: + That alone should encourage the crew. +Just the place for a Snark! I have said it thrice: + What I tell you three times is true.' +% +Just to have it is enough. +% +Just weigh your own hurt against the hurt +of all the others, and then do what's best. + -- Lovers and Other Strangers +% +Just what does "it" mean in the sentence, "What time is it?" +% +Just yesterday morning, they let me know you were gone, +Suzanne, the plans they made put an end to you, +I went out this morning and I wrote down this song, +Just can't remember who to send it to... + +Oh, I've seen fire and I've seen rain, +I've seen sunny days that I thought would never end, +I've seen lonely times when I could not find a friend, +But I always thought that I'd see you again. +Thought I'd see you one more time again. + -- James Taylor, "Fire and Rain" +% +JUSTICE: + A decision in your favor. +% +Justice is incidental to law and order. + -- J. Edgar Hoover +% +Justice, n: + A decision in your favor. +% +Kafka's Law: + In the fight between you and the world, back the world. + -- Franz Kafka, "RS's 1974 Expectation of Days" +% +Kamikazes do it once. +% +KANSAS: + Where the men are men and so are the women! +% +Karlson's Theorem of Snack Food Packages: + +For all P, where P is a package of snack food, P is a SINGLE-SERVING +package of snack food. + +Gibson the Cat's Corrolary: + +For all L, where L is a package of lunch meat, L is Gibson's package +of lunch meat. +% +Kath: Can he be present at the birth of his child? +Ed: It's all any reasonable child can expect if the dad is present + at the conception. + -- Joe Orton, "Entertaining Mr. Sloane" +% +Katz' Law: + Men and nations will act rationally when + all other possibilities have been exhausted. + +History teaches us that men and nations behave wisely once they have +exhausted all other alternatives. + -- Abba Eban +% +Kaufman's First Law of Party Physics: + Population density is inversely proportional + to the square of the distance from the keg. +% +Kaufman's Law: + A policy is a restrictive document to prevent a recurrence + of a single incident, in which that incident is never mentioned. +% +Keep a diary and one day it'll keep you. + -- Mae West +% +Keep America beautiful. Swallow your beer cans. +% +Keep ancient lands, your storied pomp! cries she +With silent lips. Give me your tired, your poor, +Your huddled masses yearning to breathe free, +The wretched refuse of your teeming shore. +Send these, the homeless, tempest-tossed to me... + -- Emma Lazarus, "The New Colossus" +% +Keep cool, but don't freeze. + -- Hellman's Mayonnaise +% +Keep emotionally active. Cater to your favorite neurosis. +% +Keep grandma off the streets -- legalize bingo. +% +Keep in mind always the four constant Laws of Frisbee: + 1) The most powerful force in the world is that of a disc + straining to land under a car, just out of reach (this + force is technically termed "car suck"). + 2) Never precede any maneuver by a comment more predictive + than "Watch this!" + 3) The probability of a Frisbee hitting something is directly + proportional to the cost of hitting it. For instance, a + Frisbee will always head directly towards a policeman or + a little old lady rather than the beat up Chevy. + 4) Your best throw happens when no one is watching; when the + cute girl you've been trying to impress is watching, the + Frisbee will invariably bounce out of your hand or hit you + in the head and knock you silly. +% +Keep it short for pithy sake. +% +Keep on keepin' on. +% +Keep patting your enemy on the back until a +small bullet hole appears between your fingers. + -- Joe Bonanno +% +Keep the number of passes in a compiler to a minimum. + -- D. Gries +% +Keep the phase, baby. +% +Keep up the good work! But please don't ask me to help. +% +Keep women you cannot. Marry them and they come to hate the way +you walk across the room; remain their lover, and they jilt you +at the end of six months. + -- Moore +% +Keep your boss's boss off your boss's back. +% +Keep your Eye on the Ball, +Your Shoulder to the Wheel, +Your Nose to the Grindstone, +Your Feet on the Ground, +Your Head on your Shoulders. +Now... try to get something DONE! +% +Keep your eyes wide open before marriage, half shut afterwards. + -- Benjamin Franklin +% +Keep your laws off my body! +% +Keep your mouth shut and people will think you stupid; +Open it and you remove all doubt. +% +Kennedy's Market Theorem: + Given enough inside information and unlimited credit, + you've got to go broke. +% +Kent's Heuristic: + Look for it first where you'd most like to find it. +% +kern, v: + 1. To pack type together as tightly as the kernels on an ear + of corn. 2. In parts of Brooklyn and Queens, N.Y., a small, + metal object used as part of the monetary system. +% +KERNEL: + A part of an operating system that preserves the medieval + traditions of sorcery and black art. +% +Kettering's Observation: + Logic is an organized way of going wrong with confidence. +% +Kids always brighten up a house; mostly by leaving the lights on. +% +Kids have *never* taken guidance from their parents. If you could travel +back in time and observe the original primate family in the original tree, +you would see the primate parents yelling at the primate teenager for sitting +around and sulking all day instead of hunting for grubs and berries like +dad primate. Then you'd see the primate teenager stomp up to his branch +and slam the leaves. + -- Dave Barry +% +Kill a commy for your mommy. +% +Kill 'em all, and let God sort 'em out. +% +Kill for the love of killing! Kill for the love of Kali! + -- Hindu saying +% +Kill Kill, +Hate Hate, +Murder, Maim, and Mutilate! +% +Kill your parents. + -- Jerry Rubin +% +Killing turkeys causes winter. +% +Kilroe hic erat! +% +Kime's Law for the Reward of Meekness: + Turning the other cheek merely ensures two bruised cheeks. +% +KIN: + An affliction of the blood. +% +Kindness is a language which the deaf can hear and the blind can read. + -- Mark Twain +% +Kindness is the beginning of cruelty. + -- Muad'dib +% +Kington's Law of Perforation: + If a straight line of holes is made in a piece of paper, such + as a sheet of stamps or a check, that line becomes the strongest + part of the paper. +% +Kinkler's First Law: + Responsibility always exceeds authority. + +Kinkler's Second Law: + All the easy problems have been solved. +% +Kirk to Enterprise... +% +Kirk to Enterprise -- beam down yeoman Rand and a six-pack. +% +Kiss a non-smoker; taste the difference. +% +Kiss me, Kate, we will be married o' Sunday. + -- William Shakespeare, "The Taming of the Shrew" +% +Kiss me twice. I'm schizophrenic. +% +Kiss your keyboard goodbye! +% +Kissing a fish is like smoking a bicycle. +% +Kissing a smoker is like licking an ashtray. +% +Kissing don't last, cookery do. + -- George Meredith +% +Kissing your hand may make you feel very good, but a diamond and +sapphire bracelet lasts for ever. + -- Anita Loos, "Gentlemen Prefer Blondes" +% +Kitchen activity is highlighted. +Butter up a friend. +% +Kites rise highest against the wind -- not with it. + -- Winston Churchill +% +Klatu barada nikto. +% +Kleeneness is next to Godelness. +% +Klein bottle for rent -- inquire within. +% +KLEPTOMANIAC: + A rich thief. +% +Kliban's First Law of Dining: + Never eat anything bigger than your head. +% +Klingon phaser attack from front!!!!! +100% Damage to life support!!!! +% +Kludge, n: + An ill-assorted collection of poorly-matching parts, forming a + distressing whole. + -- Jackson Granholm, "Datamation" +% +Knebel's Law: + It is now proved beyond doubt that smoking is one of the leading + causes of statistics. +% +Knights are hardly worth it. +I mean, all that shell and so little meat... +% +Knock, knock! + Who's there? +Sam and Janet. + Sam and Janet who? +Sam and Janet Evening... +% +Knock Knock... (who's there?) Ether! (ether who?) Eather Bunny... Yea! +[chorus] + Yeay! + Stay on the Happy side, always on the happy side, + Stay on the Happy side of life! + Bum bum bum bum bum bum + You will feel no pain, as we drive you insane, + So Stay on the Happy Side of life! + +Knock Knock... (who's there?) Anna! (anna who?) + An another eather bunny... [chorus] +Knock Knock... (who's there?) Stilla! (stilla who?) + Still another ether bunny... [chorus] +Knock Knock... (who's there?) Yetta! (yetta who?) + Yet another ether bunny... [chorus] +Knock Knock... (who's there?) Cargo! (cargo who?) + Cargo beep beep and run over eather bunny... [chorus] +Knock Knock... (who's there?) Boo! (boo who?) + Don't Cry! Eather bunny be back next year! [chorus] +% +Knocked, you weren't in. + -- Opportunity +% +Know how to save 5 drowning lawyers? + +-- No? + +GOOD! +% +Know Thy User. +% +Know thyself. If you need help, call the C.I.A. +% +Know what I hate most? Rhetorical questions. + -- Henry N. Camp +% +KNOWLEDGE: + Things you believe. +% +Knowledge is power. + -- Francis Bacon +% +Knowledge is power -- knowledge shared is power lost. + -- Aleister Crowley +% +Knowledge without common sense is folly. +% +Knucklehead: "Knock, knock" +Pee Wee: "Who's there?" +Knucklehead: "Little ol' lady." +Pee Wee: "Liddle ol' lady who?" +Knucklehead: "I didn't know you could yodel" +% +Kramer's Law: + You can never tell which way the train went by looking at the tracks. +% +Kramer's Law: +You can never tell which way the train went by looking at the track. +% +KROGT: + (chemical symbol: Kr) The metallic silver coating found + on fast-food game cards. + -- "Sniglets", Rich Hall & Friends +% +LA: + Where the only way to determine that the seasons have changed + is to note that people have changed the main topic of conversation. + From mud slides to brush fires. +% +Labor, n: + One of the processes whereby A acquires property for B. + -- Ambrose Bierce +% +Lack of capability is usually disguised by lack of interest. +% +Lack of money is the root of all evil. + -- George Bernard Shaw +% +Lackland's Laws: + 1. Never be first. + 2. Never be last. + 3. Never volunteer for anything. +% +LACTOMANGULATION: + Manhandling the "open here" spout on a milk carton so badly that + one has to resort to using the "illegal" side. + -- "Sniglets", Rich Hall & Friends +% +La-dee-dee, la-dee-dah. +% +Ladies and Gentlemen, Hobos and Tramps, +Cross-eyed mosquitos and bowlegged ants, +I come before you to stand behind you +To tell you of something I know nothing about. +Next Thursday (which is good Friday), +There will be a convention held in the +Women's Club which is strictly for Men. +Admission is free, pay at the door, +Pull up a chair, and sit on the floor. +It was a summer's day in winter, +And the snow was raining fast, +As a barefoot boy with shoes on, +Stood sitting in the grass. +Oh, that bright day in the dead of night, +Two dead men got up to fight. +Three blind men to see fair play, +Forty mutes to yell "Hooray"! +Back to back, they faced each other, +Drew their swords and shot each other. +A deaf policeman heard the noise, +Came and arrested those two dead boys. +% +Ladies, here's a hint: If you're playing against a friend who has big +boobs, bring her to the net and make her hit backhand volleys. That's +the hardest shot for the well endowed. "I've got to hit over them or +under them, but I can't hit through," Annie Jones used to always moan +to me. Not having much in my bra, I found it hard to sympathize with +her. + -- Billie Jean King +% +Lady, lady, should you meet +One whose ways are all discreet, +One who murmurs that his wife +Is the lodestar of his life, +One who keeps assuring you +That he never was untrue, +Never loved another one... +Lady, lady, better run! + -- Dorothy Parker, "Social Note" +% +Lady Luck brings added income today. +Lady friend takes it away tonight. +% +Lady Nancy Astor: + "Winston, if you were my husband, I'd put poison in your coffee." +Winston Churchill: + "Nancy, if you were my wife, I'd drink it." + +Lady Astor was giving a costume ball and Winston Churchill asked her what +disguise she would recommend for him. She replied, "Why don't you come +sober, Mr. Prime Minister?" + + During a visit to America, Winston Churchill was invited to a buffet +luncheon at which cold fried chicken was served. Returning for a second +helping, he asked politely, "May I have some breast?" + "Mr. Churchill," replied the hostess, "in this country we ask for +white meat or dark meat." Churchill apologized profusely. + The following morning, the lady received a magnificent orchid from +her guest of honor. The accompanying card read: "I would be most obliged if +you would pin this on your white meat." +% +Ladybug, ladybug, +Look to your stern! +Your house is on fire, +Your children will burn! +So jump ye and sing, for +The very first time +The four lines above +Have been put into rhyme. + -- Walt Kelly +% +Laetrile is the pits. +% +Laissez Faire Economics is the theory that if +each acts like a vulture, all will end as doves. +% +Lake Erie died for your sins. +% +((lambda (foo) (bar foo)) (baz)) +% +Lamonte Cranston once hired a new Chinese manservant. While describing his +duties to the new man, Lamonte pointed to a bowl of candy on the coffee +table and warned him that he was not to take any. Some days later, the new +manservant was cleaning up, with no one at home, and decided to sample some +of the candy. Just than, Cranston walked in, spied the manservant at the +candy, and said: + "Pardon me Choy, is that the Shadow's nugate you chew?" +% +Language is a virus from another planet. + -- William Burroughs +% +Lank: Here we go. We're about to set a new record. +Earl: (to the crowd) How about a date? +Lank: We've done it. Earl has set a new record. Turned down by + 20,000 women. + -- Lank and Earl +% +Lansdale seized on the idea of using Nixon to build support for the +[Vietnamese] elections ... really honest elections, this time. "Oh, sure, +honest, yes, that's right," Nixon said, "so long as you win!" With that +he winked, drove his elbow into Lansdale's arm and slapped his own knee. + -- Richard Nixon, quoted in "Sideshow" by W. Shawcross +% +Large increases in cost with questionable increases in +performance can be tolerated only in race horses and women. + -- Lord Kalvin +% +Largest Number of Driving Test Failures + By April 1970 Mrs. Miriam Hargrave had failed her test thirty-nine +times. In the eight preceding years she had received two hundred and +twelve driving lessons at a cost of L300. She set the new record while +driving triumphantly through a set of red traffic lights in Wakefield, +Yorkshire. Disappointingly, she passed at the fortieth attempt (3 August +1970) but eight years later she showed some of her old magic when she was +reported as saying that she still didn't like doing right-hand turns. + -- Stephen Pile, "The Book of Heroic Failures" +% +Larkinson's Law: + All laws are basically false. +% +LASER: + Failed death ray. +% +Last guys don't finish nice. + -- Stanley Kelley, on the cult of victory at all costs +% +Last night I dreamed I ate a ten-pound marshmallow, and when I woke up +the pillow was gone. + -- Tommy Cooper +% +Last night I met upon the stair +A little man who wasn't there. +He wasn't there again today. +Gee how I wish he'd go away! +% +Last night the power went out. Good thing my camera had a flash.... +The neighbors thought it was lightning in my house, so they called the cops. + -- Stephen Wright +% +Last week a cop stopped me in my car. He asked me if I had a police record. +I said, no, but I have the new DEVO album. Cops have no sense of humor. +% +Last week's pet, this week's special. +% +Last year we drove across the country... We switched on the driving... +every half mile. We had one cassette tape to listen to on the entire trip. +I don't remember what it was. + -- Stephen Wright +% +Latin is a language, +As dead as can be. +First it killed the Romans, +And now it's killing me. +% +Laugh, and the world ignores you. Crying doesn't help either. +% +Laugh and the world laughs with you, snore and you sleep alone. +% +Laugh and the world thinks you're an idiot. +% +Laugh at your problems: everybody else does. +% +Laugh when you can; cry when you must. +% +Laughing at you is like drop kicking a wounded humming bird. +% +Laughter is the closest distance between two people. + -- Victor Borge +% +Laura's Law: + No child throws up in the bathroom. +% +Lavish spending can be disastrous. +Don't buy any lavishes for a while. +% +Law enforcement officers should use only the minimum +force necessary in dealing with disorders when they arise. + -- Richard M. Nixon +% +Law of Communications: + The inevitable result of improved and enlarged communications + between different levels in a hierarchy is a vastly increased + area of misunderstanding. +% +Law of Continuity: + Experiments should be reproducible. + They should all fail the same way. +% +Law of Probable Dispersal: + Whatever it is that hits the fan will not be evenly distributed. +% +Law of Procrastination: + Procrastination avoids boredom; one never has + the feeling that there is nothing important to do. +% +Law of Selective Gravity: + An object will fall so as to do the most damage. + +Jenning's Corollary: + The chance of the bread falling with the buttered side + down is directly proportional to the cost of the carpet. + +Law of the Perversity of Nature: + You cannot determine beforehand which side of the bread to butter. +% +Law of the Jungle: + He who hesitates is lunch. +% +Law of the Yukon: + Only the lead dog gets a change of scenery. +% +Law stands mute in the midst of arms. + -- Marcus Tullius Cicero +% +Lawful Dungeon Master -- and they're MY laws! +% +Lawrence Radiation Laboratory keeps all its data in an old gray trunk. +% +Laws are like sausages. It's better not to see them being made. + -- Otto von Bismarck +% +Laws of Computer Programming: + 1. Any given program, when running, is obsolete. + 2. Any given program costs more and takes longer. + 3. If a program is useful, it will have to be changed. + 4. If a program is useless, it will have to be documented. + 5. Any given program will expand to fill all available memory. + 6. The value of a program is proportional the weight of its output. + 7. Program complexity grows until it exceeds the capability of + the programmer who must maintain it. +% +LAWSUIT: + A machine which you go into as a pig and come out as a sausage. + -- Ambrose Bierce +% +Lawyer's Rule: + When the law is against you, argue the facts. + When the facts are against you, argue the law. + When both are against you, call the other lawyer names. +% +Lay off the muses, it's a very tough dollar. + -- S.J. Perelman +% +Lay on, MacDuff, and curs'd be him who first cries, "Hold, enough!". + -- Shakespeare +% +Lays eggs inside a paper bag; +The reason, you will see, no doubt, +Is to keep the lightning out. +But what these unobservant birds +Have failed to notice is that herds +Of bears may come with buns +And steal the bags to hold the crumbs. +% +Lazlo's Chinese Relativity Axiom: + No matter how great your triumphs or how tragic your defeats -- + approximately one billion Chinese couldn't care less. +% +LAZY: + Marrying a pregnant woman. +% +Leadership involves finding a parade and getting in front of it; what +is happening in America is that those parades are getting smaller and +smaller -- and there are many more of them. + -- John Naisbitt, "Megatrends" +% +Learn from other people's mistakes, you don't have time to make your own. +% +Learn to pause -- or nothing worthwhile can catch up to you. +% +Learned men are the cisterns of knowledge, not the fountainheads. +% +Learning at some schools is like drinking from a firehose. +% +LEARNING CURVE: + An astonishing new theory, discovered by management consultants + in the 1970's, asserting that the more you do something the + quicker you can do it. +% +Learning without thought is labor lost; +thought without learning is perilous. + -- Confucius +% +Leave no stone unturned. + -- Euripides +% +Lee's Law: + Mother said there would be days like this, + but she never said that there'd be so many! +% +Left to themselves, things tend to go from bad to worse. +% +Leibowitz's Rule: + When hammering a nail, you will never hit your + finger if you hold the hammer with both hands. +% +Lemma: All horses are the same color. +Proof (by induction): + Case n = 1: In a set with only one horse, it is obvious that all + horses in that set are the same color. + Case n = k: Suppose you have a set of k+1 horses. Pull one of these + horses out of the set, so that you have k horses. Suppose that all + of these horses are the same color. Now put back the horse that you + took out, and pull out a different one. Suppose that all of the k + horses now in the set are the same color. Then the set of k+1 horses + are all the same color. We have k true => k+1 true; therefore all + horses are the same color. +Theorem: All horses have an infinite number of legs. +Proof (by intimidation): + Everyone would agree that all horses have an even number of legs. It + is also well-known that horses have forelegs in front and two legs in + back. 4 + 2 = 6 legs, which is certainly an odd number of legs for a + horse to have! Now the only number that is both even and odd is + infinity; therefore all horses have an infinite number of legs. + However, suppose that there is a horse somewhere that does not have an + infinite number of legs. Well, that would be a horse of a different + color; and by the Lemma, it doesn't exist. +% +Lemmings don't grow older, they just die. +% +Lend money to a bad debtor and he will hate you. +% +Lensmen eat Jedi for breakfast. +% +LEO (Jul. 23 to Aug. 22) + Your presence, poise, charm and good looks won't even help you today. + Look over your shoulder; an ugly person may be following you. Be on + your toes. Brush your teeth. Take Geritol. +% +LEO (July 23 - Aug 22) + You consider yourself a born leader. Others think you are pushy. + Most Leo people are bullies. You are vain and dislike honest + criticism. Your arrogance is disgusting. Leo people are thieves. +% +LEO (July 23 - Aug 22) + Your determination and sense of humor will come to the fore. Your + ability to laugh at adversity will be a blessing because you've got + a day coming you wouldn't believe. As a matter of fact, if you can + laugh at what happens to you today, you've got a sick sense of humor. +% +Lesbian QOTD: +I didn't give up sex, I just gave up premature ejaculation. +% +Let a fool hold his tongue and he will pass for a sage. + -- Publilius Syrus +% +Let he who takes the plunge remember to return it by Tuesday. +% +Let him choose out of my files, his projects to accomplish. + -- Shakespeare, "Coriolanus" +% +Let me assure you that to us here at First National, you're not just a +number. Youre two numbers, a dash, three more numbers, another dash and +another number. + -- James Estes +% +Let me not to the marriage of true minds +Admit impediments. Love is not love +Which alters when it alteration finds, +Or bends with the remover to remove: +O, no! it is an ever-fixed mark, +That looks on tempests and is never shaken; +It is the star to every wandering bark, +Whose worth's unknown, although his height be taken. +Love's not Time's fool, though rosy lips and cheeks +Within his bending sickle's compass come; +Love alters not with his brief hours and weeks, +But bears it out even to the edge of doom. +If this be error and upon me proved, +I never writ, nor no man ever loved. +% +Let me put it this way: today is going to be a learning experience. +% +Let me take you a button-hole lower. + -- William Shakespeare, "Love's Labour's Lost" +% +Let me tell you who the actual "front-runners" are. On one side, you have +George Bush, who is currently going through a sort of fraternity hazing +wherein he has to perform a series of humiliating stunts to win the approval +of the Republican Right. For example, they had him make a speech oozing +praise all over William Loeb, deceased publisher of the Manchester (N.H.) +Union Leader and Slime Journalist. Loeb had dumped viciously all over George +in the 1980 New Hampshire primary. But when the Right held a big tribute +for Loeb, George came back to the fold, like a man with a bungee cord wrapped +around his neck. + -- Dave Barry +% +Let no guilty man escape. + -- U.S. Grant +% +Let not the sands of time get in your lunch. +% +Let others praise ancient times; I am glad I was born in these. + -- Ovid (43 B.C. - A.D. 18) +% +Let sleeping dogs lie. + -- Charles Dickens +% +Let the machine do the dirty work. + -- "Elements of Programming Style", Kernighan and Ritchie +% +Let the meek inherit the earth -- they have it coming to them. + -- James Thurber +% +Let the people think they govern and they will be governed. + -- William Penn, founder of Pennsylvania +% +Let the worthy citizens of Chicago get their liquor the best way +they can. I'm sick of the job. It's a thankless one and full of grief. + -- Capone +% +Let thy maid servant be faithful, strong, and homely. + -- Benjamin Franklin +% +Let us go then you and I +while the night is laid out against the sky +like a smear of mustard on an old pork pie. + +"Nice poem Tom. I have ideas for changes though, why not come over?" + -- Ezra +% +Let us go, through certain half-deserted streets, +The muttering retreats +Of restless nights in one-night cheap hotels +And sawdust restaurants with oyster-shells: +Streets that follow like a tedious argument +Of insidious intent +To lead you to an overwhelming question... +Oh, do not ask, "What is it?" + -- T.S. Eliot, "Love song of J. Alfred Prufrock" +% +Let us live!!! +Let us love!!! +Let us share the deepest secrets of our souls!!! + +You first. +% +Let us never negotiate out of fear, +but let us never fear to negotiate. + -- John F. Kennedy +% +Let us not look back in anger or forward +in fear, but around us in awareness. + -- James Thurber +% +Let us remember that ours is a nation of lawyers and order. +% +Let us treat men and women well; +Treat them as if they were real; +Perhaps they are. + -- Ralph Waldo Emerson +% +Let your conscience be your guide. + -- Pope +% +L'etat c'est moi. +[The state, that's me.] + -- Louis XIV +% +Let's do it. + -- Gary Gilmore, to his firing squad +% +Let's just be friends and make no special +effort to ever see each other again. +% +Let's just say that where a change was required, I adjusted. In every +relationship that exists, people have to seek a way to survive. If you +really care about the person, you do what's necessary, or that's the end. +For the first time, I found that I really could change, and the qualities +I most admired in myself I gave up. I stopped being loud and bossy... +Oh, all right. I was still loud and bossy, but only behind his back." + -- Kate Hepburn, on Tracy and Hepburn +% +Let's love each other slowly, +reaching for a plane, +of exquisite pleasure, +and delicate pain. + -- Adam Beslove +% +Let's not complicate our relationship +by trying to communicate with each other. +% +Let's organize this thing and take all the fun out of it. +% +Let's remind ourselves that last year's fresh idea is today's cliche. + -- Austen Briggs +% +Let's say your wedding ring falls into your toaster, and when you stick your +hand in to retrieve it, you suffer Pain and Suffering as well as Mental +Anguish. You would sue: + +* The toaster manufacturer, for failure to include, in the instructions + section that says you should never never never ever stick you hand + into the toaster, the statement "Not even if your wedding ring falls + in there". + +* The store where you bought the toaster, for selling it to an obvious + cretin like yourself. + +* Union Carbide Corporation, which is not directly responsible in this + case, but which is feeling so guilty that it would probably send you + a large cash settlement anyway. + -- Dave Barry +% +LEVERAGE: + Even if someone doesn't care what the world thinks + about them, they always hope their mother doesn't find out. +% +Leveraging always beats prototyping. +% +Lewis's Law of Travel: + The first piece of luggage out of the + chute doesn't belong to anyone, ever. +% +L'hazard ne favorise que l'esprit prepare. + -- L. Pasteur +% +LIAR: + A lawyer with a roving commission. +% +Liar: one who tells an unpleasant truth. + -- Oliver Herford +% +LIBERAL: + Someone too poor to be a capitalist and too rich to be a communist. +% +Liberals are the first to dump you if you con them or get into +trouble. Conservatives are better. They never run out on you. + -- Joseph "Crazy Joe" Gallo +% +Liberty don't work as good in practice as it does in speeches. + -- The Best of Will Rogers +% +LIBRA (Sep. 23 to Oct. 22) + Your desire for justice and truth will be overshadowed by your desire + for filthy lucre and a decent meal. Be gracious and polite. Someone + is watching you, so stop staring like that. +% +LIBRA (Sept 23 - Oct 23) + Major achievements, new friends, and a previously unexplored way + to make a lot of money will come to a lot of people today, but + unfortunately you won't be one of them. Consider not getting out + of bed today. +% +LIE: + A very poor substitute for the truth, + but the only one discovered to date. +% +Lieberman's Law: + Everybody lies, but it doesn't matter since nobody listens. +% +Lieberman's Law: +Everybody lies, but it doesn't matter, cuz nobody listens. +% +Lies! All lies! You're all lying against my boys! + -- Ma Barker +% +LIFE: + A whim of several billion cells to be you for a while. +% +LIFE: + Learning about people the hard way -- by being one. +% +LIFE: + That brief interlude between nothingness and eternity. +% +Life -- Love It or Leave It. +% +Life begins at the centerfold and expands outward. + -- Miss November, 1966 +% +Life being what it is, one dreams of revenge. + -- Paul Gauguin +% +Life can be so tragic -- you're here today and here tomorrow. +% +Life does not begin at the moment of conception or the moment of birth. +It begins when the kids leave home and the dog dies. +% +Life exists for no known purpose. +% +Life in this society being, at best, an utter bore and no aspect of society +being at all relevant to women, there remains to civic-minded responsible +thrill-seeking females only to overthrow the government, eliminate the money +system, institute complete automation and destroy the male sex. + -- Valerie Solanas +% +Life is a biochemical reaction to the stimulus of the surrounding +environment in a stable ecosphere, while a bowl of cherries is a +round container filled with little red fruits on sticks. +% +Life is a concentration camp. You're stuck here and there's no way +out and you can only rage impotently against your persecutors. + -- Woody Allen +% +Life is a gamble at terrible odds, if it was a bet you wouldn't take it. + -- Tom Stoppard, "Rosencrantz and Guildenstern are Dead" +% +Life is a game. In order to have a game, something has to be more +important than something else. If what already is, is more important +than what isn't, the game is over. So, life is a game in which what +isn't, is more important than what is. Let the good times roll. + -- Werner Erhard +% +Life is a game of bridge -- and you've just been finessed. +% +Life is a glorious cycle of song, +A medley of extemporania; +And love is thing that can never go wrong; +And I am Marie of Roumania. + -- Dorothy Parker, "Comment" +% +Life is a grand adventure -- or it is nothing. + -- Helen Keller +% +Life is a healthy respect for mother nature laced with greed. +% +Life is a hospital in which every patient is possessed by the desire to +change his bed. + -- Charles Baudelaire +% +Life is a series of rude awakenings. + -- R.V. Winkle +% +Life is a serious burden, which no thinking, +humane person would wantonly inflict on someone else. + -- Clarence Darrow +% +Life is a sexually transferred disease with 100% mortality. +% +Life is a yo-yo, and mankind ties knots in the string. +% +Life is an exciting business, and most +exciting when it is lived for others. +% +Life is both difficult and time consuming. +% +Life is cheap, but the accessories can kill you. +% +Life is difficult because it is non-linear. +% +Life is divided into the horrible and the miserable. + -- Woody Allen, "Annie Hall" +% +Life is fraught with opportunities to keep your mouth shut. +% +Life is just a bowl of cherries, but why do I always get the pits? +% +Life is knowing how far to go without crossing the line. +% +Life is like a 10 speed bicycle. Most of us have gears we never use. + -- C. Schultz +% +"Life is like a buffet; it's not good but there's plenty of it." +% +Life is like a diaper - short and loaded. +% +Life is like a sewer. +What you get out of it depends on what you put into it. + -- Tom Lehrer +% +Life is like a tin of sardines. +We're, all of us, looking for the key. + -- Beyond the Fringe +% +Life is like an egg stain on your chin -- +you can lick it, but it still won't go away. +% +Life is like an onion: you peel it off +one layer at a time, and sometimes you weep. + -- Carl Sandburg +% +Life is like an onion: you peel off layer after +layer and then you find there is nothing in it. + -- James Huneker +% +Life is like arriving late for a movie, having to figure out what was +going on without bothering everybody with a lot of questions, and then +being unexpectedly called away before you find out how it ends. +% +Life is like bein' on a mule team. Unless you're +the lead mule, all the scenery looks about the same. +% +Life is not for everyone. +% +Life is one long struggle in the dark. + -- Titus Lucretius Carus +% +Life is the childhood of our immortality. + -- Goethe +% +Life is the living you do, +Death is the living you don't do. + -- Joseph Pintauro +% +Life is the urge to ecstasy. +% +Life is to you a dashing and bold adventure. +% +Life is too short to be taken seriously. + -- O. Wilde +% +Life is too short to stuff a mushroom. + -- Storm Jameson +% +Life is wasted on the living. + -- The Restaurant at the Edge of the Universe. +% +Life is what happens to you while you're busy making other plans. + -- John Lennon, "Beautiful Boy" +% +Life, like beer, is merely borrowed. + -- Don Reed +% +Life may have no meaning, or, even worse, +it may have a meaning of which you disapprove. +% +Life only demands from you the strength you possess. +Only one feat is possible -- not to have run away. + -- Dag Hammarskjold +% +Life Sucks. Cynical, misanthropic male, 34, looking for soul mate but +certain not to find her. Drop me a note. I'll call you, we'll talk and +I'll ask you out to dinner where I'll probably spend more than I can +afford in a feeble attempt to impress you. Then we'll realize we have +absolutely nothing in common and we'll go our separate ways, more +embittered and depressed than before (if such a thing is possible). +% +Life sucks, but death doesn't put out at all. + -- Thomas J. Kopp +% +Life without caffeine is stimulating enough. + -- Sanka Ad +% +Life would be so much easier if we could just look at the source code. + -- Dave Olson +% +Life would be tolerable but for its amusements. + -- G.B. Shaw +% +Life's too short to dance with ugly women. +% +Lift every voice and sing +Till earth and heaven ring, +Ring with the harmonies of Liberty; +Let our rejoicing rise +High as the listening skies, +Let it resound loud as the rolling sea. + +Sing a song full of the faith that the dark past has taught us. +Sing a song full of the hope that the present has bought us. +Facing the rising sun of our new day begun, +Let us march on till victory is won. + -- James Weldon Johnson +% +Lighten up, while you still can, +Don't even try to understand, +Just find a place to make your stand, +And take it easy. + -- The Eagles, "Take It Easy" +% +LIGHTHOUSE: + A tall building on the seashore in which the government + maintains a lamp and the friend of a politician. +% +LIKE: + When being alive at the same time is a wonderful coincidence. +% +Like all young men, you greatly exaggerate +the difference between one young woman and another. + -- George Bernard Shaw, "Major Barbara" +% +Like an expensive sports car, fine-tuned and well-built, Portia was sleek, +shapely, and gorgeous, her red jumpsuit moulding her body, which was as warm +as seatcovers in July, her hair as dark as new tires, her eyes flashing like +bright hubcaps, and her lips as dewy as the beads of fresh rain on the hood; +she was a woman driven -- fueled by a single accelerant -- and she needed a +man, a man who wouldn't shift from his views, a man to steer her along the +right road: a man like Alf Romeo. + -- Rachel Sheeley, winner + +The hair ball blocking the drain of the shower reminded Laura she would never +see her little dog Pritzi again. + -- Claudia Fields, runner-up + +It could have been an organically based disturbance of the brain -- perhaps a +tumor or a metabolic deficiency -- but after a thorough neurological exam it +was determined that Byron was simply a jerk. + -- Jeff Jahnke, runner-up + +Winners in the 7th Annual Bulwer-Lytton Bad Writing Contest. The contest is +named after the author of the immortal lines: "It was a dark and stormy +night." The object of the contest is to write the opening sentence of the +worst possible novel. +% +Like corn in a field I cut you down, +I threw the last punch way too hard, +After years of going steady, well, I thought it was time, +To throw in my hand for a new set of cards. +And I can't take you dancing out on the weekend, +I figured we'd painted too much of this town, +And I tried not to look as I walked to my wagon, +And I knew then I had lost what should have been found, +I knew then I had lost what should have been found. + And I feel like a bullet in the gun of Robert Ford + I'm as low as a paid assassin is + You know I'm cold as a hired sword. + I'm so ashamed we can't patch it up, + You know I can't think straight no more + You make me feel like a bullet, honey, + a bullet in the gun of Robert Ford. + -- Elton John "I Feel Like a Bullet" +% +Like I said, love wouldn't be so blind if the braille +weren't so damned great! + -- Armistead Maupin +% +Like, if I'm not for me, then fer shure, like who will be? And if, y'know, +if I'm not like fer anyone else, then hey, I mean, what am I? And if not +now, like I dunno, maybe like when? And if not Who, then I dunno, maybe +like the Rolling Stones? + -- Rich Rosen (Rabbi Valiel's paraphrase of famous quote + attributed to Rabbi Hillel.) +% +Like my parents, I have never been a regular church member or churchgoer. +It doesn't seem plausible to me that there is the kind of God who watches +over human affairs, listens to prayers, and tries to guide people to follow +His precepts -- there is just too much misery and cruelty for that. On the +other hand, I respect and envy the people who get inspiration from their +religions. + -- Benjamin Spock +% +Like punning, programming is a play on words. +% +Like so many Americans, she was trying to construct +a life that made sense from things she found in gift shops. + -- Kurt Vonnegut, Jr. +% +Like the ski resort of girls looking for husbands and husbands looking +for girls, the situation is not as symmetrical as it might seem. + -- Alan McKay +% +Like the time I ran away... +And turned around and you were standing close to me. + -- YES, "Going For The One/Awaken" +% +Like winter snow on summer lawn, time past is time gone. +% +Like ya know? Rock 'N Roll is an esoteric language that unlocks the +creativity chambers in people's brains, and like totally activates their +essential hipness, which of course is like totally necessary for saving +the earth, like because the first thing in saving this world, is getting +rid of stupid and square attitudes and having fun. + -- Senior Year Quote +% +Like you, I am frequently haunted by profound questions related to man's +place in the Scheme of Things. Here are just a few: + + Q -- Is there life after death? + A -- Definitely. I speak from personal experience here. On New +Year's Eve, 1970, I drank a full pitcher of a drink called "Black Russian", +then crawled out on the lawn and died within a matter of minutes, which was +fine with me because I had come to realize that if I had lived I would have +spent the rest of my life in the grip of the most excruciatingly painful +headache. Thanks to the miracle of modern orange juice, I was brought back +to life several days later, but in the interim I was definitely dead. I +guess my main impression of the afterlife is that it isn't so bad as long +as you keep the television turned down and don't try to eat any solid foods. + -- Dave Barry +% +Likewise, the national appetizer, brine-cured herring with raw onions, +wins few friends, Germans excepted. + -- Darwin Porter "Scandinavia On $50 A Day" +% +Limericks are art forms complex, +Their topics run chiefly to sex. + They usually have virgins, + And masculine urgin's, +And other erotic effects. +% +"Lines that are parallel meet at Infinity!" +Euclid repeatedly, heatedly, urged. + +Until he died, and so reached that vicinity: +in it he found that the damned things diverged. + -- Piet Hein +% +Linus: Hi! I thought it was you. + I've been watching you from way off... You're looking great! +Snoopy: That's nice to know. + The secret of life is to look good at a distance. +% +Linus: I guess it's wrong always to be worrying about tomorrow. + Maybe we should think only about today. +Charlie Brown: + No, that's giving up. I'm still hoping that yesterday + will get better. +% +Linus' Law: + There is no heavier burden than a great potential. +% +Lions in the street and roaming, +Dogs in heat, rabid, foaming, +A beast caged in the heart of the city. +The body of his mother lying in the summer ground, +He fled the town. +Went down south across the border, +Left the chaos and disorder +Back there, over his shoulder. +One morning he awoke in a green hotel, +A strange creature groaning beside him. +Sweat oozed from its shiny skin. +Is everybody in? The ceremony is about to begin. + -- Jim Morrison, "Celebration of the Lizard" +% +LISP: + To call a spade a thpade. +% +Lisp, Lisp, Lisp Machine, +Lisp Machine is Fun. +Lisp, Lisp, Lisp Machine, +Fun for everyone. +% +Lisp Users: +Due to the holiday next Monday, there will be no garbage collection. +% +Listen, there is no courage or any extra courage that I know of to find out +the right thing to do. Now, it is not only necessary to do the right thing, +but to do it in the right way and the only problem you have is what is the +right thing to do and what is the right way to do it. That is the problem. +But this economy of ours is not so simple that it obeys to the opinion of +bias or the pronouncements of any particular individual, even to the President. +This is an economy that is made up of 173 million people, and it reflects +their desires, they're ready to buy, they're ready to spend, it is a thing +that is too complex and too big to be affected adversely or advantageously +just by a few words or any particular -- say, a little this and that, or even +a panacea so alleged. + -- D.D. Eisenhower, in response to: "Has the government + been lacking in courage and boldness in facing up to + the recession?" +% +Literature is mostly about having sex and not much about having children. +Life is the other way around. + -- David Lodge +% +Literature is mostly about sex and not much about having children and life +is the other way round. + -- David Lodge, "The British Museum is Falling Down" +% +Littering is dumb. + -- Ronald Macdonald +% +Little Fly, +Thy summer's play If thought is life +My thoughtless hand And strength & breath, +Has brush'd away. And the want + Of thought is death, +Am not I +A fly like thee? Then am I +Or art not thou A happy fly +A man like me? If I live + Or if I die. + +For I dance +And drink & sing, +Till some blind hand +Shall brush my wing. + -- William Blake, "The Fly" +% +Little girls, like butterflies, need no excuse. + -- Lazarus Long +% +Little known fact about Middle Earth: The Hobbits had a very +sophisticated computer network! It was a Tolkein Ring... +% +Little Known Facts, #23: + Did you know... that if you dial 911 in Los Angeles you get + the BMW repair garage? +% +Little Mary on the ice, +Went out to have a frisk, +Now wasn't little Mary nice, +Her pretty *? +% +Live fast, die young, and leave a flat patch of fur on the highway! + -- The Squirrels' Motto (The "Hell's Angels of Nature") +% +Live fast, die young, and leave a good looking corpse. + -- James Dean +% +Live from New York ... It's Saturday Night! +% +Live in a world of your own, but always welcome visitors. +% +Live never to be ashamed if anything you do or say is +published around the world -- even if what is published is not true. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Live within your income, even if you have to borrow to do so. + -- Josh Billings +% +Living here in Rio, I have lots of coffees to choose from. And when +you're on the lam like me, you appreciate a good cup of coffee. + -- "Great Train Robber" Ronald Biggs' coffee commercial +% +Living in California is like living in a bowl of granola. +What ain't flakes and nuts is fruits. +% +Living in Hollywood is like living in a bowl of granola. +What ain't fruits and nuts is flakes. +% +Living in New York City gives people real incentives +to want things that nobody else wants. + -- Andy Warhol +% +Living in the complex world of the future is somewhat +like having bees live in your head. But, there they are. +% +Living on Earth may be expensive, but it +includes an annual free trip around the Sun. +% +LIVING YOUR LIFE: + A task so difficult, it has never been attempted before. +% +Lizzie Borden took an axe, +And plunged it deep into the VAX; +Don't you envy people who +Do all the things YOU want to do? +% +Lo! Men have become the tool of their tools. + -- Henry David Thoreau +% +Lobster: + Everyone loves these delectable crustaceans, but many cooks are +squeamish about placing them into boiling water alive, which is the only +proper method of preparing them. Frankly, the easiest way to eliminate your +guilt is to establish theirs by putting them on trial before they're cooked. +The fact is, lobsters are among the most ferocious predators on the sea +floor, and you're helping reduce crime in the reefs. Grasp the lobster +behind the head, look it right in its unmistakably guilty eyestalks and say, +"Where were you on the night of the 21st?", then flourish a picture of a +scallop or a sole and shout, "Perhaps this will refresh that crude neural +apparatus you call a memory!" The lobster will squirm noticeably. It may +even take a swipe at you with one of its claws. Incorrigible. Pop it into +the pot. Justice has been served, and shortly you and your friends will +be, too. + -- Dave Barry +% +Lobster: + Everyone loves these delectable crustaceans, but many cooks are squeamish + about placing them into boiling water alive, which is the only proper + method of preparing them. Frankly, the easiest way to eliminate your + guilt is to establish theirs by putting them on trial before they're + cooked. The fact is, lobsters are among the most ferocious predators on + the sea floor, and you're helping reduce crime in the reefs. Grasp the + lobster behind the head, look it right in its unmistakably guilty + eyestalks and say, "Where were you on the night of the 21st?", then + flourish a picture of a scallop or a sole and shout, "Perhaps this will + refresh that crude neural apparatus you call a memory!" The lobster will + squirm noticeably. It may even take a swipe at you with one of its claws. + Incorrigible. Pop it into the pot. Justice has been served, and shortly + you and your friends will be, too. + -- Cooking: The Art of Turning Appliances and Utensils + into Excuses and Apologies +% +Lockwood's Long Shot: + The chances of getting eaten up by a lion on Main Street + aren't one in a million, but once would be enough. +% +Logic doesn't apply to the real world. + -- Marvin Minsky +% +Logic is a little bird, sitting in a tree, that smells AWFUL. +% +Logic is a pretty flower that smells bad. +% +Logic is a systematic method of coming +to the wrong conclusion with confidence. +% +Logic is the chastity belt of the mind! +% +Logicians have but ill defined +As rational the human kind. +Logic, they say, belongs to man, +But let them prove it if they can. + -- Oliver Goldsmith +% +LOGO for the Dead + +LOGO for the Dead lets you continue your computing activities from +"The Other Side." + +The package includes a unique telecommunications feature which lets you +turn your TRS-80 into an electronic Ouija board. Then, using Logo's +graphics capabilities, you can work with a friend or relative on this +side of the Great Beyond to write programs. The software requires that +your body be hardwired to an analog-to-digital converter, which is then +interfaced to your computer. A special terminal (very terminal) program +lets you talk with the users through Deadnet, an EBBS (Ectoplasmic +Bulletin Board System). + +LOGO for the Dead is available for 10 percent of your estate +from NecroSoft inc., 6502 Charnelhouse Blvd., Cleveland, OH 44101. + -- '80 Microcomputing +% +Loneliness is a terrible price to pay for independence. +% +Lonely is a man without love. + -- Englebert Humperdinck +% +Lonely men seek companionship. +Lonely women sit at home and wait. They never meet. +% +Lonesome? + +Like a change? +Like a new job? +Like excitement? +Like to meet new and interesting people? + +JUST SCREW-UP ONE MORE TIME!!!!!!! +% +Long ago I proposed that unsuccessful candidates for the Presidency +be quietly hanged, as a matter of public sanitation and decorum. +The sight of their grief must have a very evil effect upon the young. + -- H.L. Mencken, "A Carnival of Buncombe" +% +Long computations which yield zero are probably all for naught. +% +Long life is in store for you. +% +Long were the days of pain I have spent within its walls, and +long were the nights of aloneness; and who can depart from his +pain and his aloneness without regret? + -- Kahlil Gibran, "The Prophet" +% +Look! Before our very eyes, the future is becoming the past. +% +Look afar and see the end from the beginning. +% +Look at it this way: +Your daughter just named the fresh turkey you brought +home "Cuddles", so you're going out to buy a canned ham. +And you're still drinking ordinary scotch? +% +Look at it this way: +Your wife's spending $280 a month on meditation lessons to +forget $26,000 of college education. +And you're still drinking ordinary scotch? +% +Look before you leap. + -- Samuel Butler +% +Look ere ye leap. + -- John Heywood +% +Look out! Behind you! +% +Look, we trade every day out there with hustlers, deal-makers, shysters, +con-men. That's the way businesses get started. That's the way this +country was built. + -- Hubert Allen +% +Lookie, lookie, here comes cookie... + -- Stephen Sondheim +% +Loose bits sink chips. +% +Lord, defend me from my friends; I can account for my enemies. + -- Charles D'Hericault +% +Lord, what fools these mortals be! + -- William Shakespeare, "A Midsummer-Night's Dream" +% +Losing your drivers' license is just +God's way of saying "BOOGA, BOOGA!" +% +Lost: gray and white female cat. +Answers to electric can opener. +% +Lots of folks are forced to skimp to support a government that won't. +% +Lots of folks confuse bad management with destiny. + -- Frank Hubbard +% +Lots of girls can be had for a song. +Unfortunately, it often turns out to be the wedding march. +% +Louie Louie, me gotta go +Louie Louie, me gotta go + +Fine little girl she waits for me +Me catch the ship for cross the sea +Me sail the ship all alone Three nights and days me sail the sea +Me never thinks me make it home Me think of girl constantly +(chorus) On the ship I dream she there + I smell the rose in her hair +Me see Jamaica moon above (chorus, guitar solo) +It won't be long, me see my love +I take her in my arms and then +Me tell her I never leave again + -- The real words to The Kingsmen's classic "Louie Louie" +% +Louie, Louie, me gotta go +Louie, Louie, me gotta go + +Fine little girl she waits for me +Me catch the ship for cross the sea +Me sail the ship all alone +Me never thinks me make it home + [chorus] + +Three nights and days me sail the sea +Me think of girl constantly +On the ship I dream she there +I smell the rose in her hair + [chorus; guitar solo] + +Me see Jamaica moon above +It won't be long, me see my love +I take her in my arms and then +Me tell her I never leave again + -- the real words to "Louie Louie" +% +LOVE: + I'll let you play with my life if you'll let me play with yours. +% +LOVE: + Love ties in a knot in the end of the rope. +% +LOVE: + When, if asked to choose between your lover + and happiness, you'd skip happiness in a heartbeat. +% +LOVE: + When it's growing, you don't mind watering it with a few tears. +% +LOVE: + When you don't want someone too close-- + because you're very sensitive to pleasure. +% +LOVE: + When you like to think of someone on days that begin with a morning. +% +Love -- the last of the serious diseases of childhood. +% +Love ain't nothin' but sex misspelled. +% +Love America - or give it back. +% +Love and scandal are the best sweeteners of tea. +% +Love at first sight is one of the greatest +labor-saving devices the world has ever seen. +% +Love conquers all things; let us too surrender to love. + -- Publius Vergilius Maro (Virgil) +% +Love in your heart wasn't put there to stay. +Love isn't love 'til you give it away. + -- Oscar Hammerstein II +% +Love is a grave mental disease. + -- Plato +% +Love is a slippery eel that bites like hell. + -- Matt Groening +% +Love is a snowmobile racing across the tundra, which suddenly flips +over, pinning you underneath. At night the ice weasels come. + -- Matt Groening, "Love is Hell" +% +Love is a word that is constantly heard, +Hate is a word that is not. +Love, I am told, is more precious than gold. +Love, I have read, is hot. +But hate is the verb that to me is superb, +And Love but a drug on the mart. +Any kiddie in school can love like a fool, +But Hating, my boy, is an Art. + -- Ogden Nash +% +Love is always open arms. With arms open you allow love to come and +go as it wills, freely, for it will do so anyway. If you close your +arms about love you'll find you are left only holding yourself. +% +Love is an ideal thing, marriage a real thing; a confusion of the +real with the ideal never goes unpunished. + -- Goethe +% +Love is an obsessive delusion that is cured by marriage. + -- Dr. Karl Bowman +% +Love is being stupid together. + -- Paul Valery +% +Love is dope, not chicken soup. I mean, love is something to be passed +around freely, not spooned down someone's throat for their own good by a +Jewish mother who cooked it all by herself. +% +Love is in the offing. + -- The Homicidal Maniac +% +Love is in the offing. Be affectionate to one who adores you. +% +Love is like a friendship caught on fire. In the beginning a flame, very +pretty, often hot and fierce, but still only light and flickering. As love +grows older, our hearts mature and our love becomes as coals, deep-burning +and unquenchable. + -- Bruce Lee +% +Love is like the measles; we all have to go through it. + -- Jerome K. Jerome +% +Love is never asking why? +% +Love is not enough, but it sure helps. +% +Love is sentimental measles. +% +Love is staying up all night with a sick child, or a healthy adult. +% +Love is the answer; but while you are waiting for the answer, sex +raises some pretty good questions. + -- Woody Allen +% +Love is the delusion that one woman differs from another. + -- H.L. Mencken +% +Love is the desire to prostitute oneself. There is, indeed, no exalted +pleasure that cannot be related to prostitution. + -- Charles Baudelaire +% +Love is the only game that is not called on account of darkness. + -- M. Hirschfield +% +Love is the process of my leading you gently back to yourself. + -- Saint Exupery +% +Love is the triumph of imagination over intelligence. + -- H.L. Mencken +% +Love IS what it's cracked up to be. +% +Love is what you've been through with somebody. + -- James Thurber +% +Love isn't only blind, it's also deaf, dumb, and stupid. +% +Love makes fools, marriage cuckolds, and patriotism malevolent imbeciles. + -- Paul Leautaud, "Passe-temps" +% +Love makes the world go 'round, with a little help from intrinsic angular +momentum. +% +Love may laugh at locksmiths, but he has a profound respect for money bags. + -- Sidney Paternoster, "The Folly of the Wise" +% +Love means having to say you're sorry every five minutes. +% +Love means never having to say you're sorry. + -- Eric Segal, "Love Story" + +That's the most ridiculous thing I've ever heard. + -- Ryan O'Neill, "What's Up Doc?" +% +Love means nothing to a tennis player. +% +Love tells us many things that are not so. + -- Krainian Proverb +% +Love the sea? I dote upon it -- from the beach. +% +Love thy neighbor as thyself, but choose your neighborhood. + -- Louise Beal +% +Love thy neighbor, tune thy piano. +% +Love to eat them mousies, +Mousies I love to eat. +Bite they little heads off, +Nibble at they tiny feet. + -- Kliban +% +Love to eat them mousies, +Mousies what I love to eat. +Bite they little heads off, +Nibble on they tiny feet. + -- Kliban +% +Love to eat them mousies; +Mousies what I love to eat. +Bite they tiny heads off, +Nibble on they tiny feet! + -- Kilban +% +Love, which is quickly kindled in a gentle heart, + seized this one for the fair form + that was taken from me-and the way of it afficts me still. +Love, which absolves no loved one from loving, + seized me so strongly with delight in him, + that, as you see, it does not leave me even now. +Love brought us to one death. + -- La Divina Commedia: Inferno V, vv. 100-06 +% +Love your enemies: they'll go crazy +trying to figure out what you're up to. +% +Love your neighbour, yet don't pull down your hedge. + -- Benjamin Franklin +% +Lowery's Law: + If it jams -- force it. If it + breaks, it needed replacing anyway. +% +LSD melts in your mind, not in your hand. +% +Lubarsky's Law of Cybernetic Entomology: + There's always one more bug. +% +Lucas is the source of many of the components of the legendarily reliable +British automotive electrical systems. Professionals call the company "The +Prince of Darkness". Of course, if Lucas were to design and manufacture +nuclear weapons, World War III would never get off the ground. The British +don't like warm beer any more than the Americans do. The British drink warm +beer because they have Lucas refrigerators. +% +Luck can't last a lifetime, unless you die young. + -- Russell Banks +% +Luck, that's when preparation and opportunity meet. + -- P.E. Trudeau +% +Lucky, adj: + When you have a wife and a cigarette + lighter -- both of which work. +% +Lucky is he for whom the belle toils. +% +Lucy: Dance, dance, dance. That is all you ever do. + Can't you be serious for once? +Snoopy: She is right! I think I had better think + of the more important things in life! + (pause) + Tomorrow!! +% +Luke, I'm yer father, eh. Come over to the dark side, you hoser. + -- Dave Thomas, "Strange Brew" +% +LUNATIC ASYLUM: + The place where optimism most flourishes. +% +Lying is an indispensable part of making life tolerable. + -- Bergan Evans +% +Lysistrata had a good idea. +% +Ma Bell is a mean mother! +% +MAC user's dynamic debugging list evaluator? Never heard of that. +% +"Mach was the greatest intellectual fraud in the last ten years." +"What about X?" +"I said `intellectual'." + ;login, 9/1990 +% +Machine-independent program: + A program that will not run on any machine. +% +Machines have less problems. I'd like to be a machine. + -- Andy Warhol +% +Machines that have broken down will work perfectly when the +repairman arrives. +% +macho, adj.: + Jogging home from your vasectomy. +% +Macho does not prove mucho. + -- Zsa Zsa Gabor +% +MAD: + Affected with a high degree of intellectual independence. +% +Madam, there's no such thing as a tough child -- +if you parboil them first for seven hours, they always come out tender. + -- W.C. Fields +% +Madison's Inquiry: + If you have to travel on the Titanic, why not go first class? +% +Madness takes its toll. +% +Magary's Principle: + When there is a public outcry to cut deadwood and fat from any + government bureaucracy, it is the deadwood and the fat that do + the cutting, and the public's services are cut. +% +Magic is always the best solution -- especially reliable magic. +% +Magnet, n.: Something acted upon by magnetism. + +Magnetism, n.: Something acting upon a magnet. + +The two preceding definitions are condensed from the works of one +thousand eminent scientists, who have illuminated the subject with a +great white light, to the inexpressible advancement of human knowledge. +% +MAGNOCARTIC: + Any automobile that, when left unattended, attracts shopping carts. + -- "Sniglets", Rich Hall & Friends +% +magnocartic, adj: + Any automobile that, when left unattended, attracts shopping + carts. + -- Rich Hall, "Sniglets" +% +MAGPIE: + A bird whose thievish disposition suggested + to someone that it might be taught to talk. + -- A. Bierce +% +MAIDEN AUNT: + A girl who never had the sense to say "uncle." +% +Maiden, n: + A young person of the unfair sex addicted to clewless conduct and + views that madden to crime. The genus has a wide geographical + distribution, being found wherever sought and deplored wherever found. + The maiden is not altogether unpleasing to the eye, nor (without her + piano and her views) insupportable to the ear, though in respect to + comeliness distinctly inferior to the rainbow, and, with regard to + the part of her that is audible, beaten out of the field by the + canary -- which, also, is more portable. + +Male, n: + A member of the unconsidered, or negligible sex. The male of the + human race is commonly known to the female as Mere Man. The genus + has two varieties: good providers and bad providers. + -- Ambrose Bierce +% +Maier's Law: + If the facts do not conform to the theory, they must be disposed of. + -- N.R. Maier, "American Psychologist", March 1960 + +Corollaries: + 1. The bigger the theory, the better. + 2. The experiment may be considered a success if no more than + 50% of the observed measurements must be discarded to + obtain a correspondence with the theory. +% +Main's Law: + For every action there is an equal and opposite government program. +% +Maintainer's Motto: + If we can't fix it, it ain't broke. +% +Maj. Bloodnok: Seagoon, you're a coward! +Seagoon: Only in the holiday season. +Maj. Bloodnok: Ah, another Noel Coward! +% +Major premise: + Sixty men can do sixty times as much work as one man. +Minor premise: + A man can dig a posthole in sixty seconds. +Conclusion: + Sixty men can dig a posthole in one second. + +Secondary Conclusion: + Do you realize how many holes there would be if people + would just take the time to take the dirt out of them? +% +Majorities, of course, start with minorities. + -- Robert Moses +% +MAJORITY: + That quality that distinguishes a crime from a law. +% +Make a wish, it might come true. +% +Make headway at work. Continue to let things deteriorate at home. +% +Make it right before you make it faster. +% +Make no little plans; they have no magic to stir men's blood. + -- Daniel Hudson Burnham +% +Make sure your code does nothing gracefully. +% +Make war not sex. (It's safer.) +% +Making files is easy under the UNIX operating system. Therefore, users +tend to create numerous files using large amounts of file space. It has +been said that the only standard thing about all UNIX systems is the +message-of-the-day telling users to clean up their files. + -- System V.2 administrator's guide +% +Malek's Law: + Any simple idea will be worded in the most complicated way. +% +MALPRACTICE: + The reason surgeons wear masks. +% +MAN: + An animal so lost in rapturous contemplation of what he thinks he + is as to overlook what he indubitably ought to be. His chief + occupation is extermination of other animals and his own species, + which, however, multiplies with such insistent rapidity as to infest + the whole habitable earth and Canada. + -- A. Bierce +% +Man and wife make one fool. +% +Man belongs wherever he wants to go. + -- Wernher von Braun +% +Man has always assumed that he is more intelligent than dolphins because +he has achieved so much -- the wheel, New York, wars and so on -- while +all the dolphins had ever done was muck about in the water having a good +time. But, conversely, the dolphins had always believed that they were +far more intelligent than man -- for precisely the same reasons. + -- D. Adams, "Hitchhiker's Guide to the Galaxy" +% +Man has made his bedlam; let him lie in it. + -- Fred Allen +% +Man has never reconciled himself to the ten commandments. +% +Man invented language to satisfy his deep need to complain. + -- Lily Tomlin +% +Man is a military animal, +Glories in gunpowder, and loves parade. + -- P.J. Bailey +% +Man is a rational animal who always loses his temper when he +is called upon to act in accordance with the dictates of reason. + -- Oscar Wilde +% +Man is an animal that makes bargains: no other animal does this-- +no dog exchanges bones with another. + -- Adam Smith +% +Man is by nature a political animal. + -- Aristotle +% +Man is the best computer we can put aboard a spacecraft... +and the only one that can be mass produced with unskilled labor. + -- Wernher von Braun +% +Man is the measure of all things. + -- Protagoras +% +Man is the only animal that blushes -- or needs to. + -- Mark Twain +% +Man is the only animal that can remain on friendly terms +with the victims he intends to eat until he eats them. + -- Samuel Butler, 1835-1902 +% +Man is the only animal that laughs and weeps; +for he is the only animal that is struck with the +difference between what things are and what they ought to be. + -- William Hazlitt +% +Man must shape his tools lest they shape him. + -- Arthur R. Miller +% +Man proposes, God disposes. + -- Thomas a Kempis +% +Man usually avoids attributing cleverness to somebody else -- +unless it is an enemy. + -- A. Einstein +% +Man who arrives at party two hours late +will find he has been beaten to the punch. +% +Man who falls in blast furnace is certain to feel overwrought. +% +Man who falls in vat of molten optical glass makes spectacle of self. +% +Man who sleep in beer keg wake up stickey. +% +Man will never fly. +Space travel is merely a dream. +All aspirin is alike. +% +Management: How many feet do mice have? +Reply: Mice have four feet. +M: Elaborate! +R: Mice have five appendages, and four of them are feet. +M: No discussion of fifth appendage! +R: Mice have five appendages; four of them are feet; one is a tail. +M: What? Feet with no legs? +R: Mice have four legs, four feet, and one tail per unit-mouse. +M: Confusing -- is that a total of 9 appendages? +R: Mice have four leg-foot assemblies and one tail assembly per body. +M: Does not fully discuss the issue! +R: Each mouse comes equipped with four legs and a tail. Each leg + is equipped with a foot at the end opposite the body; the tail + is not equipped with a foot. +M: Descriptive? Yes. Forceful NO! +R: Allotment of appendages for mice will be: Four foot-leg assemblies, + one tail. Deviation from this policy is not permitted as it would + constitute misapportionment of scarce appendage assets. +M: Too authoritarian; stifles creativity! +R: Mice have four feet; each foot is attached to a small leg joined + integrally with the overall mouse structural sub-system. Also + attached to the mouse sub-system is a thin tail, non-functional and + ornamental in nature. +M: Too verbose/scientific. Answer the question! +R: Mice have four feet. +% +MANAGEMENT: + The art of getting other people to do all the work. +% +MANAGER: + A man known for giving great meeting. +% +man-hour, n: + A sexist, obsolete measure of macho effort, equal to 60 Kiplings. +% +MANIC-DEPRESSIVE: + Easy glum, easy glow. +% +Mankind is poised midway between the gods and the beasts. + -- Plotinus +% +Manly's Maxim: + Logic is a systematic method of coming to the wrong conclusion + with confidence. +% +Man's horizons are bounded by his vision. +% +Man's reach must exceed his grasp, for why else the heavens? +% +Man's unique agony as a species consists in his perpetual +conflict between the desire to stand out and the need to blend in. + -- Sydney J. Harris +% +manual, n: + A unit of documentation. There are always three or more on a given + item. One is on the shelf; someone has the others. The information + you need in in the others. + -- Ray Simard +% +Many a bum show has been saved by the flag. + -- George M. Cohan +% +Many a family tree needs trimming. +% +Many a long dispute between divines may thus be abridged: It is so. It +is not so. It is so. It is not so. + -- Benjamin Franklin, "Poor Richard's Almanack" +% +Many a man that can't direct you to a corner drugstore will +get a respectful hearing when age has further impaired his mind. + -- Finley Peter Dunne +% +Many a town that didn't have enough work to support a single lawyer +can easily support two or more. +% +Many a writer seems to thing he is never profound +except when he can't understand his own meaning. + -- George D. Prentice +% +Many are called, few are chosen. +Fewer still get to do the choosing. +% +Many are called, few volunteer. +% +Many are cold, but few are frozen. +% +Many changes of mind and mood; do not hesitate too long. +% +Many companies that have made themselves dependent on [the equipment of a +certain major manufacturer] (and in doing so have sold their soul to the +devil) will collapse under the sheer weight of the unmastered complexity of +their data processing systems. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +Many enraged psychiatrists are inciting a weary butcher. The butcher is +weary and tired because he has cut meat and steak and lamb for hours and +weeks. He does not desire to chant about anything with raving psychiatrists, +but he sings about his gingivectomist, he dreams about a single cosmologist, +he thinks about his dog. The dog is named Herbert. + -- Racter, "The Policeman's Beard is Half-Constructed" +% +Many hands make light work. + -- John Heywood +% +Many husbands go broke on the money their wives save on sales. +% +Many mental processes admit of being roughly measured. For instance, +the degree to which people are bored, by counting the number of their +fidgets. I not infrequently tried this method at the meetings of the +Royal Geographical Society, for even there dull memoirs are occasionally +read. [...] The use of a watch attracts attention, so I reckon time +by the number of my breathings, of which there are 15 in a minute. They +are not counted mentally, but are punctuated by pressing with 15 fingers +successively. The counting is reserved for the fidgets. These observations +should be confined to persons of middle age. Children are rarely still, +while elderly philosophers will sometimes remain rigid for minutes altogether. + -- Francis Galton, 1909 +% +Many of the characters are fools and they are always playing +tricks on me and treating me badly. + -- Jorge Luis Borges, from "Writers on Writing" by Jon Winokur +% +Many of the convicted thieves Parker has met began their +life of crime after taking college Computer Science courses. + -- Roger Rapoport, "Programs for Plunder", Omni, March 1981 +% +Many pages make a thick book. +% +Many pages make a thick book, except for pocket Bibles which are on very +very thin paper. +% +Many people are desperately looking for some wise advice +which will recommend that they do what they want to do. +% +Many people are secretly interested in life. +% +Many people are unenthusiastic about their work. +% +Many people are unenthusiastic about your work. +% +Many people feel that if you won't let +them make you happy, they'll make you suffer. +% +Many people feel that they deserve some kind of +recognition for all the bad things they haven't done. +% +Many people resent being treated like the person they really are. +% +Many people write memos to tell you they have nothing to say. +% +Many receive advice, few profit by it. + -- Publilius Syrus +% +Many years ago in a period commonly know as Next Friday Afternoon, +there lived a King who was very Gloomy on Tuesday mornings because he +was so Sad thinking about how Unhappy he had been on Monday and how +completely Mournful he would be on Wednesday.... + -- Walt Kelly +% +Margaret, are you grieving +Over Goldengrove unleaving? +Leaves, like the things of man, +You, with your fresh thoughts +Care for, can you? +Ah! as the heart grows older +It will come to such sights colder +By and by, nor spare a sigh +Though worlds of wanwood leafmeal lie +And yet you will weep and know why. +Now no matter, child, the name +Sorrow's springs are the same: +It is the blight man was born for, +It is Margaret you mourn for. + -- Gerard Manley Hopkins. +% +Marigold: Jealousy +Mint: Virute +Orange blossom: Your purity equals your loveliness +Orchid: Beauty, magnificence +Pansy: Thoughts +Peach blossom: I am your captive +Petunia: Your presence soothes me +Poppy: Sleep +Rose, any color: Love +Rose, deep red: Bashful shame +Rose, single, pink: Simplicity +Rose, thornless, any: Early attachment +Rose, white: I am worthy of you +Rose, yellow: Decrease of love, rise of jealousy +Rosebud, white: Girlhood, and a heart ignorant of love +Rosemary: Rememberance +Sunflower: Haughtiness +Tulip, red: Declaration of love +Tulip, yellow: Hopeless love +Violet, blue: Faithfulness +Violet, white: Modesty +Zinnia: Thoughts of absent friends + * An upside-down blossom reverses the meaning. +% +Marijuana is nature's way of saying, "Hi!". +% +Marijuana will be legal some day, because the many law students +who now smoke pot will someday become congressmen and legalize +it in order to protect themselves. + -- Lenny Bruce +% +Mark's Dental-Chair Discovery: + Dentists are incapable of asking questions + that require a simple yes or no answer. +% +MARRIAGE: + An old, established institution, entered into by two people deeply + in love and desiring to make a commitment to each other expressing + that love. In short, commitment to an institution. +% +MARRIAGE: + Convertible bonds. +% +Marriage always demands the greatest understanding of the art of +insincerity possible between two human beings. + -- Vicki Baum +% +Marriage causes dating problems. +% +Marriage, in life, is like a duel in the midst of a battle. + -- Edmond About +% +Marriage is a ghastly public confession of a strictly private intention. +% +Marriage is a great institution -- but I'm +not ready for an institution yet. + -- Mae West +% +Marriage is a lot like the army, everyone complains, but you'd be +surprised at the large number that re-enlist. + -- James Garner +% +Marriage is a romance in which the hero dies in the first chapter. +% +Marriage is a three ring circus: +engagement ring, wedding ring, and suffering. + -- Roger Price +% +Marriage is an institution in which two undertake +to become one, and one undertakes to become nothing. +% +Marriage is based on the theory that when a man discovers a brand of beer +exactly to his taste he should at once throw up his job and go to work +in the brewery. + -- George Jean Nathan +% +Marriage is learning about women the hard way. +% +Marriage is like twirling a baton, turning handsprings, or eating with +chopsticks. It looks easy until you try it. +% +Marriage is low down, but you spend the rest of your life paying for it. + -- Baskins +% +Marriage is not merely sharing the fettucine, but sharing the +burden of finding the fettucine restaurant in the first place. + -- Calvin Trillin +% +Marriage is the only adventure open to the cowardly. + -- Voltaire +% +Marriage is the process of finding out what +kind of man your wife would have preferred. +% +Marriage is the waste-paper basket of the emotions. +% +Marriage, n: + The evil aye. +% +Marriages are made in heaven and consummated on earth. + -- John Lyly +% +Marry in haste and everyone starts counting the months. +% +MARTA SAYS THE INTERESTING thing about fly-fishing is that its two lives +connected by a thin strand. + +Come on, Marta, grow up. + -- Jack Handley, The New Mexican, 1988. +% +MARTA WAS WATCHING THE FOOTBALL GAME with me when she said, "You know most +of these sports are based on the idea of one group protecting its +territory from invasion by another group." + +"Yeah," I said, trying not to laugh. Girls are funny. + -- Jack Handley, The New Mexican, 1988. +% +Martin was probably ripping them off. That's some family, isn't it? +Incest, prostitution, fanaticism, software. + -- Charles Willeford, "Miami Blues" +% +'Martyrdom' is the only way a person can become famous without ability. + -- George Bernard Shaw +% +Marvelous! The super-user's going to boot me! +What a finely tuned response to the situation! +% +Marvin the Nature Lover spied a grasshopper hopping along in the grass, +and in a mood for communing with nature, rare even among full-fledged +Nature Lovers, he spoke to the grasshopper, saying: "Hello, friend +grasshopper. Did you know they've named a drink after you?" + "Really?" replied the grasshopper, obviously pleased. "They've +named a drink Fred?" +% +Marxist Law of Distribution of Wealth: + Shortages will be divided equally among the peasants. +% +Mary had a little lamb, its fleece was white as snow, +And everywhere that Mary went, the lamb was sure to go. +It followed her through rain or snow, lightning, sleet or hail. +It fetched the evening paper, her slippers, and the mail. +She never had a moments peace; the lamb was always on her heels, +And on her feet its head would rest, while she ate her meals. +It followed her to school one day, the devotion never ended. +The lamb waltzed into her history class and Mary got suspended. +The night she went to Senior Prom, she thought she had him beat, +Until she heard a mournful "Baaa" coming from her car's seat. +Oh, Mary had a little lamb, it surely didn't please her. +So for dinner she had lambchops; the rest is in the freezer. + -- Alma Garcia +% +Maryann's Law: + You can always find what you're not looking for. +% +Maslow's Maxim: + If the only tool you have is a hammer, + you treat everything like a nail. +% +Mason's First Law of Synergism: +The one day you'd sell your soul for something, souls are a glut. +% +Massachusetts has the best politicians money can buy. +% +Masturbation is the thinking man's television. + -- Christopher Hampton +% +Mate, this parrot wouldn't VOOM if you put four million volts through it! + -- Monty Python +% +Mater artium necessitas. + [Necessity is the mother of invention]. +% +Maternity pay? Now every Tom, Dick and Harry will get pregnant. + -- Malcolm Smith +% +MATH AND ALCOHOL DON'T MIX! + Please, don't drink and derive. + + Mathematicians + Against + Drunk + Deriving +% +Math is like love -- a simple idea but it can get complicated. + -- R. Drabek +% +mathematician, n: + Some one who believes imaginary things appear right before your i's. +% +Mathematicians are like Frenchmen: whatever you say to them they +translate into their own language and forthwith it is something +entirely different. + -- Goethe +% +Mathematicians are like Frenchmen: whatever you say to them they translate +into their own language, and forthwith it is something entirely different. + -- Johann Wolfgang von Goethe +% +Mathematicians practice absolute freedom. + -- Henry Adams +% +Mathematicians take it to the limit. +% +Mathematics deals exclusively with the relations of concepts +to each other without consideration of their relation to experience. + -- Albert Einstein +% +Mathematics is the only science where one never knows what +one is talking about nor whether what is said is true. + -- Russell +% +Mathematics, rightly viewed, possesses not only truth but supreme beauty -- +a beauty cold and austere, like that of a sculpture, without appeal to any +part of our weaker nature, without the gorgeous trapping of painting or music, +yet sublimely pure, and capable of a stern perfection such as only the +greatest art can show. The true spirit of delight, the exaltation, the sense +of being more than man, which is the touchstone of the highest excellence, is +to be found in mathematics as surely as in poetry. + -- Bertrand Russell +% +Matrimony is the root of all evil. +% +Matrimony isn't a word, it's a sentence. +% +Matter cannot be created or destroyed, +nor can it be returned without a receipt. +% +Matter will be damaged in direct proportion to its value. +% +[Maturity consists in the discovery that] there comes a critical moment +where everything is reversed, after which the point becomes to understand +more and more that there is something which cannot be understood. + -- S. Kierkegaard +% +Maturity is only a short break in adolescence. + -- Jules Feiffer +% +Matz's Law: + A conclusion is the place where you got tired of thinking. +% +May a hundred thousand midgets invade your home singing cheezy lounge-lizard +versions of songs from The Wizard of Oz. +% +May a Misguided Platypus lay its Eggs in your Jockey Shorts +% +May all your PUSHes be POPped. +% +May the bluebird of happiness twiddle your bits. +% +May the Fleas of a Thousand Camels infest one of your Erogenous Zones. +% +May the fleas of a thousand camels infest your armpits. +% +May those that love us love us; and those that don't love us, may +God turn their hearts; and if he doesn't turn their hearts, may +he turn their ankles so we'll know them by their limping. +% +May you die in bed at 95, shot by a jealous spouse. +% +May you have many beautiful and obedient daughters. +% +May you have many handsome and obedient sons. +% +May you have warm words on a cold evening, +a full mooon on a dark night, +and a smooth road all the way to your door. +% +May you live in uninteresting times. + -- Chinese proverb +% +May your camel be as swift as the wind. +% +May your SO always know when you need a hug. +% +May your Tongue stick to the Roof of your +Mouth with the Force of a Thousand Caramels. +% +Maybe ain't ain't so correct, but I notice that +lots of folks who ain't using ain't ain't eatin' well. + -- Will Rogers +% +Maybe Computer Science should be in the College of Theology. + -- R.S. Barton +% +Maybe Jesus was right when he said that the meek shall inherit the +earth -- but they inherit very small plots, about six feet by three. + -- Lazarus Long +% +"Maybe we can get together and show off to each other sometimes." +% +"Maybe we should think of this as one perfect week... where we found each +other, and loved each other... and then let each other go before anyone +had to seek professional help." +% +Maybe you can't buy happiness, but +these days you can certainly charge it. +% +May's Law: + The quality of correlation is inversly proportional to the density + of control. (The fewer the data points, the smoother the curves.) +% +McDonald's -- Because you're worth it. +% +McEwan's Rule of Relative Importance: + When traveling with a herd of elephants, + don't be the first to lie down and rest. +% +Meader's Law: + Whatever happens to you, it will previously + have happened to everyone you know, only more so. +% +Meade's Maxim: +Always remember that you are absolutely unique, +just like everyone else. +% +Meanehwael, baccat meaddehaele, monstaer lurccen; +Fulle few too many drincce, hie luccen for fyht. +[D]en Hreorfneorht[d]hwr, son of Hrwaerow[p]heororthwl, +AEsccen aewful jeork to steop outsyd. +[P]hud! Bashe! Crasch! Beoom! [D]e bigge gye +Eallum his bon brak, byt his nose offe; +Wicced Godsylla waeld on his asse. +Monstaer moppe fleor wy[p] eallum men in haelle. +Beowulf in bacceroome fonecall bemaccen waes; +Hearen sond of ruccus saed, "Hwaet [d]e helle?" +Graben sheold strang ond swich-blaed scharp +Sond feorth to fyht [d]e grimlic foe. +"Me," Godsylla saed, "mac [d]e minsemete." +Heoro cwyc geten heold wi[p] faemed half-nelson +Ond flyng him lic frisbe bac to fen. +Beowulf belly up to meaddehaele bar, +Saed, "Ne foe beaten mie faersom cung-fu." +Eorderen cocca-colha yce-coeld, [d]e reol [p]yng. +% +Meantime, in the slums below Ronnie's Ranch, Cynthia feels as if some one +has made voodoo boxen of her and her favorite backplanes. On this fine +moonlit night, some horrible persona has been jabbing away at, dragging +magnets over, and surging these voodoo boxen. Fortunately, they seem to +have gotten a bit bored and fallen asleep, for it looks like Cynthia may +get to go home. However, she has made note to quickly put together a totem +of sweaty, sordid static straps, random bits of wire, flecks of once meaniful +oxide, bus grant cards, gummy worms, and some bits of old pdp backplane to +hang above the machine room. This totem must be blessed by the old and wise +venerable god of unibus at once, before the idolatization of vme, q and pc +bus drive him to bitter revenge. Alas, if this fails, and the voodoo boxen +aren't destroyed, there may be more than worms in the apple. Next, the +arrival of voodoo optico transmitigational magneto killer paramecium, capable +of teleporting from cable to cable, screen to screen, ear to ear and hoof +to mouth... +% +Measure twice, cut once. +% +Measure with a micrometer. Mark with chalk. Cut with an axe. +% +Mediocrity finds safety in standardization. + -- Frederick Crane +% +Meekness is uncommon patience in planning a worthwhile revenge. +% +Meester, do you vant to buy a duck? +% +Meeting: + An assembly of computer experts coming together to decide what + person or department not represented in the room must solve the + problem. +% +meeting, n: + An assembly of people coming together to decide what person or + department not represented in the room must solve a problem. +% +MEETINGS: + A place where minutes are kept and hours are lost. +% +Meetings are an addictive, highly self indulgent activity that +corporations and other large organizations habitually engage +in only because they cannot actually masturbate. + -- Dave Barry +% +MEMO: + An interoffice communication too often written more for + the benefit of the person who sends it than the person + who receives it. +% +MEMORIES OF MY FAMILY MEETINGS still are a source of strength to me. I +remember we'd all get into the car -- I forget what kind it was -- and +drive and drive. + +I'm not sure where we'd go, but I think there were some bees there. The +smell of something was strong in the air as we played whatever sport we +played. I remember a bigger, older guy whom we called "Dad." We'd eat +some stuff or not and then I think we went home. + +I guess some things never leave you. + -- Jack Handley, The New Mexican, 1988. +% +Memory fault -- brain fried +% +Memory fault -- core...uh...um...core... Oh dammit, I forget! +% +Memory fault - where am I? +% +Memory should be the starting point of the present. +% +Men are always ready to respect anything that bores them. + -- Marilyn Monroe +% +Men are amused by almost any idiot thing -- that is why professional ice +hockey is so popular -- so buying gifts for them is easy. But you should +never buy them clothes. Men believe they already have all the clothes they +will ever need, and new ones make them nervous. For example, your average +man has 84 ties, but he wears, at most, only three of them. He has learned, +through humiliating trial and error, that if he wears any of the other 81 +ties, his wife will probably laugh at him ("You're not going to wear THAT +tie with that suit, are you?"). So he has narrowed it down to three safe +ties, and has gone several years without being laughed at. If you give him +a new tie, he will pretend to like it, but deep inside he will hate you. + If you want to give a man something practical, consider tires. More +than once, I would have gladly traded all the gifts I got for a new set +of tires. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +Men are superior to women. + -- The Koran +% +Men are those creatures with two legs and eight hands. + -- Jayne Mansfield +% +Men aren't attracted to me by my mind. +They're attracted by what I don't mind... + -- Gypsy Rose Lee +% +Men freely believe that what they wish to desire. + -- Julius Caesar +% +Men have a much better time of it than women; for one +thing they marry later; for another thing they die earlier. + -- H.L. Mencken +% +Men have as exaggerated an idea of their +rights as women have of their wrongs. + -- E.W. Howe +% +Men live for three things, fast cars, fast women and fast food. +% +Men love to wonder, and that is the seed of science. +% +Men never make passes at girls wearing glasses. + -- Dorothy Parker +% +Men occasionally stumble over the truth, but most of them +pick themselves up and hurry off as if nothing had happened. + -- Winston Churchill +% +Men of lofty genius when they are doing the least work are most active. + -- Leonardo da Vinci +% +Men of quality are not afraid of women for equality. +% +Men often believe -- or pretend -- that the "Law" is something sacred, or +at least a science -- an unfounded assumption very convenient to governments. +% +Men ought to know that from the brain and from the brain only arise our +pleasures, joys, laughter, and jests as well as our sorrows, pains, griefs +and tears. ... It is the same thing which makes us mad or delirious, +inspires us with dread and fear, whether by night or by day, brings us +sleeplessness, inopportune mistakes, aimless anxieties, absent-mindedness +and acts that are contrary to habit... + -- Hippocrates "The Sacred Disease" +% +Men say of women what pleases them; women do with men what pleases them. + -- DeSegur +% +Men seldom show dimples to girls who have pimples. +% +Men still remember the first kiss after women have forgotten the last. +% +Men take only their needs into consideration -- never their abilities. + -- Napoleon Bonaparte +% +Men use thought only to justify their wrong doings, +and speech only to conceal their thoughts. + -- Voltaire +% +Men were real men, women were real women, and small, furry creatures +from Alpha Centauri were REAL small, furry creatures from Alpha Centauri. +Spirits were brave, men boldly split infinitives that no man had split +before. Thus was the Empire forged. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +Men who cherish for women the highest +respect are seldom popular with them. + -- Joseph Addison +% +Mencken and Nathan's Second Law of The Average American: + All the postmasters in small towns read all the postcards. + +Mencken and Nathan's Ninth Law of The Average American: + The quality of a champagne is judged by the + amount of noise the cork makes when it is popped. + +Mencken and Nathan's Fifteenth Law of The Average American: + The worst actress in the company is always the manager's wife. + +Mencken and Nathan's Sixteenth Law of The Average American: + Milking a cow is an operation demanding a special talent that + is possessed only by yokels, and no person born in a large city + can ever hope to acquire it. +% +Mene, mene, tekel, upharsen. +% +Mental power tended to corrupt, and absolute intelligence tended to +corrupt absolutely, until the victim eschewed violence entirely in +favor of smart solutions to stupid problems. + -- Piers Anthony +% +Mental things which have not gone in through the +senses are vain and bring forth no truth except detrimental. + -- Leonardo +% +MENU: + A list of dishes which the restaurant has just run out of. +% +Meskimen's Law: + There's never time to do it right, but there's always time to + do it over. +% +Message from Our Sponsor on ttyTV at 13:58 ... +% +Message will arrive in the mail. +Destroy, before the FBI sees it. +% +METEOROLOGIST: + One who doubts the established fact that it is + bound to rain if you forget your umbrella. +% +Metermaids eat their young. +% +Mickey Mouse wears a Spiro Agnew watch. +% +MICRO: + Thinker toys. +% +Micro Credo: + Never trust a computer bigger than you can lift. +% +Microbiology Lab: Staph Only! +% +Microwaves frizz your heir. +% +Mieux vaut tard que jamais! +% +Might as well be frank, monsieur. It would take a miracle to +get you out of Casablanca and the Germans have outlawed miracles. + -- Casablanca +% +Miksch's Law: + If a string has one end, then it has another end. +% +Militant agnostic: I don't know, and you don't either. +% +Military intelligence is a contradiction in terms. + -- Groucho Marx +% +Military justice is to justice what military music is to music. + -- Groucho Marx +% +Miller's Slogan: + Lose a few, lose a few. +% +millihelen, adj: + The amount of beauty required to launch one ship. +% +Millions long for immortality who do not know what +to do with themselves on a rainy Sunday afternoon. + -- Susan Ertz +% +Millions of sensible people are too high-minded to concede that politics is +almost always the choice of the lesser evil. "Tweedledum and Tweedledee," +they say. "I will not vote." Having abstained, they are presented with a +President who appoints the people who are going to rummage around in their +lives for the next four years. Consider all the people who sat home in a +stew in 1968 rather than vote for Hubert Humphrey. They showed Humphrey. +Those people who taught Hubert Humphrey a lesson will still be enjoying the +Nixon Supreme Court when Tricia and Julie begin to find silver threads among +the gold and the black. + -- Russel Baker, "Ford without Flummery" +% +Mind! I don't mean to say that I know, of my own knowledge, what there is +particularly dead about a door-nail. I might have been inclined, myself, +to regard a coffin-nail as the deadest piece of ironmongery in the trade. +But the wisdom of our ancestors is in the simile; and my unhallowed hands +shall not disturb it, or the Country's done for. You will therefore permit +me to repeat, emphatically, that Marley was as dead as a door-nail. +% +"Mind if I smoke?" + "I don't care if you burst into flames and die!" +% +"Mind if I smoke?" + "Yes, I'd like to see that, does it come out of your ears or what?" +% +Mind your own business, Spock. +I'm sick of your halfbreed interference. +% +Mind your own business, then you don't mind mine. +% +Minicomputer: + A computer that can be afforded on the budget of a middle-level + manager. +% +Minnesota -- + home of the blonde hair and blue ears. + mosquito supplier to the free world. + come fall in love with a loon. + where visitors turn blue with envy. + one day it's warm, the rest of the year it's cold. + land of many cultures -- mostly throat. + where the elite meet sleet. + glove it or leave it. + many are cold, but few are frozen. + land of the ski and home of the crazed. + land of 10,000 Petersons. +% +Minnie Mouse is a slow maze learner. +% +MIPS: + Meaningless Indicator of Processor Speed +% +Mirrors should reflect a little before throwing back images. + -- Jean Cocteau +% +Misery loves company, but company does not reciprocate. +% +Misery no longer loves company. +Nowadays it insists on it. + -- Russell Baker +% +MISFORTUNE: + The kind of fortune that never misses. +% +Misfortunes arrive on wings and leave on foot. +% +MISS: + A title with which we brand unmarried + women to indicate that they are in the market. +% +Mistakes are oft the stepping stones to utter failure. +% +Mistrust first impulses; they are always right. +% +MIT: + The Georgia Tech of the North +% +Mitchell's Law of Committees: + Any simple problem can be made insoluble + if enough meetings are held to discuss it. +% +mittsquinter, adj: + A ballplayer who looks into his glove after missing the ball, as + if, somehow, the cause of the error lies there. + -- "Sniglets", Rich Hall & Friends +% +Mix a little foolishness with your serious plans; +it's lovely to be silly at the right moment. + -- Horace +% +mixed emotions: + Watching a bus-load of lawyers plunge off a cliff. + With five empty seats. +% +Mix's Law: + There is nothing more permanent than a temporary building. + There is nothing more permanent than a temporary tax. +% +Mobius strippers never show you their back side. +% +MOCK APPLE PIE (No Apples Needed) + + Pastry to two crust 9-inch pie 36 RITZ Crackers +2 cups water 2 cups sugar +2 teaspoons cream of tartar 2 tablespoons lemon juice + Grated rind of one lemon Butter or margarine + Cinnamon + +Roll out bottom crust of pastry and fit into 9-inch pie plate. Break +RITZ Crackers coarsley into pastry-lined plate. Combine water, sugar +and cream of tartar in saucepan, boil gently for 15 minutes. Add lemon +juice and rind. Cool. Pour this syrup over Crackers, dot generously +with butter or margarine and sprinkle with cinnamon. Cover with top +crust. Trim and flute edges together. Cut slits in top crust to let +steam escape. Bake in a hot oven (425 F) 30 to 35 minutes, until crust +is crisp and golden. Serve warm. Cut into 6 to 8 slices. + -- Found lurking on a Ritz Crackers box +% +Modeling paged and segmented memories is tricky business. + -- P.J. Denning +% +modem, adj: + Up-to-date, new-fangled, as in "Thoroughly Modem Millie." An + unfortunate byproduct of kerning. +% +Moderation in all things. + -- Publius Terentius Afer [Terence] +% +Moderation is a fatal thing. Nothing succeeds like excess. + -- Oscar Wilde +% +Modern art is what happens when painters stop looking at girls and persuade +themselves that they have a better idea. + -- John Ciardi +% +Modern man is the missing link between apes and human beings. +% +Modern psychology takes completely for granted that behavior and neural +function are perfectly correlated, that one is completely caused by the +other. There is no separate soul or lifeforce to stick a finger into the +brain now and then and make neural cells do what they would not otherwise. +Actually, of course, this is a working assumption only. ... It is quite +conceivable that someday the assumption will have to be rejected. But it +is important also to see that we have not reached that day yet: the working +assumption is a necessary one and there is no real evidence opposed to it. +Our failure to solve a problem so far does not make it insoluble. One cannot +logically be a determinist in physics and biology, and a mystic in psychology. + -- D.O. Hebb, "Organization of Behavior: A Neuropsychological + Theory", 1949 +% +MODESTY: + Being comfortable that others will discover your greatness. +% +Modesty is a vastly overrated virtue. + -- J.K. Galbraith +% +Modesty: the gentle art of enhancing your charm by pretending + not to be aware of it. + -- Oliver Herford +% +Moe: Wanna play poker tonight? +Joe: I can't. It's the kids' night out. +Moe: So? +Joe: I gotta stay home with the nurse. +% +Moe: What did you give your wife for Valentine's Day? +Joe: The usual gift -- she ate my heart out. +% +Moebius always does it on the same side. +% +Mohandas K. Gandhi often changed his mind publicly. An aide once asked him +how he could so freely contradict this week what he had said just last week. +The great man replied that it was because this week he knew better. +% +Moishe Margolies, who weighed all of 105 pounds and stood an even five feet +in his socks, was taking his first airplane trip. He took a seat next to a +hulking bruiser of a man who happened to be the heavyweight champion of +the world. Little Moishe was uneasy enough before he even entered the plane, +but now the roar of the engines and the great height absolutely terrified him. +So frightened did he become that his stomach turned over and he threw up all +over the muscular giant siting beside him. Fortunately, at least for Moishe, +the man was sound asleep. But now the little man had another problem. How in +the world would he ever explain the situation to the burly brute when he +awakened? The sudden voice of the stewardess on the plane's intercom, finally +woke the bruiser, and Moishe, his heart in his mouth, rose to the occasion. + "Feeling better now?" he asked solicitously. +% +MOLECULE: + The ultimate, indivisible unit of matter. It is distinguished from + the corpuscle, also the ultimate, indivisible unit of matter, by a + closer resemblance to the atom, also the ultimate, indivisible unit + of matter... The ion differs from the molecule, the corpuscle and + the atom in that it is an ion... +% +Mollison's Bureaucracy Hypothesis: + If an idea can survive a bureaucratic review + and be implemented it wasn't worth doing. +% +MOMENTUM: + What you give a person when they are going away. +% +Mommy, what happens to your files when you die? +% +Mom's Law: + When they finally do have to take you to the + hospital, your underwear won't be clean or new. +% +MONDAY: + In Christian countries, the day after the football game. + -- Ambrose Bierce +% +Monday is an awful way to spend one seventh of your life. +% +Money and women are the most sought after and the least known of any two +things we have. + -- The Best of Will Rogers +% +Money cannot buy love, nor even friendship. +% +Money cannot buy +The fuel of love +but is excellent kindling. + +To the man-in-the-street, who, I'm sorry to say, +Is a keen observer of life, +The word intellectual suggests right away +A man who's untrue to his wife. + -- W.H. Auden, "Collected Shorter Poems" +% +Money can't buy happiness, but it can make you +awfully comfortable while you're being miserable. + -- C.B. Luce +% +Money can't buy love, but it improves your bargaining position. + -- Christopher Marlowe +% +Money doesn't talk, it swears. + -- Bob Dylan +% +Money is a powerful aphrodisiac. But flowers work almost as well. + -- Lazarus Long +% +Money is its own reward. +% +Money is the root of all evil, and man needs roots. +% +Money is the root of all wealth. +% +Money is truthful. If a man speaks of his honor, make him pay cash. + -- Lazarus Long +% +Money isn't everything -- but it's a long way ahead of what comes next. + -- Sir Edmond Stockdale +% +Money may buy friendship but money cannot buy love. +% +Money may not buy happiness, but it sure +puts you in a great bargaining position. +% +Money will say more in one moment than +the most eloquent lover can in years. +% +Moneyliness is next to Godliness. + -- Andries van Dam +% +Monogamy is the Western custom of one wife and hardly any mistresses. + -- H.H. Munro +% +MONOTONY: + Marriage to one woman at a time. +% +MONTANA: + A grizzly bear praying for the early arrival of cable television. +% +MONTANA: + Where forty-three below keeps out the riff-raff. +% +Monterey... is decidedly the pleasantest and most civilized-looking place +in California ... [it] is also a great place for cock-fighting, gambling +of all sorts, fandangos, and various kinds of amusements and knavery. + -- Richard Henry Dama, "Two Years Before the Mast", 1840 +% +moon, n: + 1. A celestial object whose phase is very important to +hackers. See PHASE OF THE MOON. 2. Dave Moon (MOON@MC). +% +Moore's Constant: + Everybody sets out to do something, and everybody + does something, but no one does what he sets out to do. +% +MOPHOBIA: + Fear of being verbally abused by a Mississippian. +% +mophobia, n: + Fear of being verbally abused by a Mississippian. +% +More are taken in by hope than by cunning. + -- Vauvenargues +% +More people are flattered into virtue than bullied out of vice. + -- R.S. Surtees +% +More people died at Chappaquidick than at 3-mile island. +% +More people have died in Ted Kennedy's car than in nuclear power plants. +% +MORE SPORTS RESULTS: +The Beverly Hills Freudians tied the Chicago Rogerians 0-0 last Saturday +night. The match started with a long period of silence while the Freudians +waited for the Rogerians to free associate and the Rogerians waited for +the Freudians to say something they could paraphrase. The stalemate was +broken when the Freudians' best player took the offensive and interpreted +the Rogerians' silence as reflecting their anal-retentive personalities. +At this the Rogerians' star player said "I hear you saying you think we're +full of ka-ka." This started a fight and the match was called by officials. +% +More than any time in history, mankind now faces a crossroads. One path +leads to despair and utter hopelessness, the other to total extinction. +Let us pray that we have the wisdom to choose correctly. + -- Woody Allen, "Side Effects" +% +Morris had been down on his luck for months, and, though not a devoutly +religious man, had begun to visit the local synagogue to ask God's help. +One week, out of desperation, he prayed, "God, I've been a good and decent +man all my life. Would it be so terrible if You let me win the lottery +just once?" + The despondent fellow returned week after week. One day, Morris, +nearly hopeless now, prayed, "God, I've never asked You for anything before. +I just want to win one little lottery." + "As he dejectedly rose to leave, God's voice boomed, "Morris, at +least meet Me halfway on this. Buy a ticket!" +% +Morton's Law: + If rats are experimented upon, they will develop cancer. +% +Mos Eisley Spaceport; you'll not find a more +wretched collection of villainy and disreputable types... + -- Obi-wan Kenobi, "Star Wars" +% +Mosher's Law of Software Engineering: + Don't worry if it doesn't work right. + If everything did, you'd be out of a job. +% +MOSQUITO: + The state bird of New Jersey. +% +Most burning issues generate far more heat than light. +% +Most folks they like the daytime, + 'cause they like to see the shining sun. +They're up in the morning, + off and a-running till they're too tired for having fun. +But when the sun goes down, + and the bright lights shine, my daytime has just begun. + +Now there are two sides to this great big world, + and one of them is always night. +If you can take care of business in the sunshine, baby, + I guess you're gonna be all right. +Don't come looking for me to lend you a hand. + My eyes just can't stand the light. + +'Cause I'm a night owl honey, sleep all day long. + -- Carly Simon +% +Most general statements are false, including this one. + -- Alexander Dumas +% +Most of our lives are about proving something, +either to ourselves or to someone else. +% +Most of the fear that spoils our life comes from attacking +difficulties before we get to them. + -- Dr. Frank Crane +% +...most of us learned about love the hard way. Even warnings are probably +useless, for somehow, despite the severest warnings of parents and friends, +hundreds, thousands of women have forgotten themselves at the last minute +and succumbed to the lies, promises, flatteries, or mere attentions of +lusting, lovely men, landing themselves in complicated predicaments from +which some of them never recovered during their entire lives. And I am not +speaking only of your teenaged Midwesterners in 1958; I'm speaking of women +of every age in every city in every year. The notorious sexual revolution +has saved no one from the pain and confusion of love. + -- Alix Kates Shulman +% +Most of your faults are not your fault. +% +Most people are too busy to have time for anything important. +% +Most people are unable to write because they are unable to think, and +they are unable to think because they congenitally lack the equipment +to do so, just as they congenitally lack the equipment to fly over the +moon. + -- H.L. Mencken +% +Most people can do without the essentials, but not without the luxuries. +% +Most people deserve each other. + -- Shirley +% +Most people don't need a great deal of love +nearly so much as they need a steady supply. +% +Most people eat as though they were fattening themselves for market. + -- E.W. Howe +% +Most people feel that everyone is entitled to their opinion. +% +Most people have a furious itch to talk about themselves and are restrained +only by the disinclination of others to listen. Reserve is an artificial +quality that is developed in most of us as the result of innumerable rebuffs. + -- W.S. Maugham +% +Most people have a mind that's open by appointment only. +% +Most people have two reasons for doing anything -- +a good reason, and the real reason. +% +Most people in this society who aren't actively mad are, +at best, reformed or potential lunatics. + -- Susan Sontag +% +Most people need some of their problems +to help take their mind off some of the others. +% +Most people prefer certainty to truth. +% +Most people want either less corruption +or more of a chance to participate in it. +% +Most people will listen to your unreasonable demands, +if you'll consider their unacceptable offer. +% +Most people's favorite way to end a game is by winning. +% +Most public domain software is free, at least at first glance. +% +Most rock journalism is people who can't write interviewing people who +can't talk for people who can't read. + -- Frank Zappa +% +Most seminars have a happy ending. Everyone's glad when they're over. +% +Most Texans think Hanukkah is some sort of duck call. + -- Richard Lewis +% +MOTHER: + Half a word. +% +Mother Earth is not flat! +% +Mother said there would be days like this, but she never said that +there would be so many. +% +Mother said there would be days like this, but she never said there +would be so many. +% +Mother told me to be good but she's been wrong before. +% +Mothers all want their sons to grow up to be President, but they +don't want them to become politicians in the process. + -- John F. Kennedy +% +Mothers of large families (who claim to common sense) +Will find a Tiger will repay the trouble and expense. + -- Hilaire Belloc, "The Tiger" +% +Mount St. Helens should have used earth control. +% +MOUNT TAPE U1439 ON B3, NO RING +% +Mountain Dew and doughnuts... because breakfast is the most important meal +of the day. +% +Mr. Cole's Axiom: + The sum of the intelligence on the planet is a constant; the + population is growing. +% +Mr. Rockford? This is Betty Joe Withers. I got four shirts of yours from +the Bo Peep Cleaners by mistake. I don't know why they gave me men's +shirts but they're going back. +% +Mr. Rockford? You don't know me, but I'd like to hire you. Could +you call me at... My name is... uh... Never mind, forget it! +% +Mr. Rockford; Miss Collins from the Bureau of Licenses. We got your +renewal before the extended deadline but not your check. I'm sorry but +at midnight you're no longer licensed as an investigator. +% +Mr. Rockford, this is the Thomas Crown School of Dance and Contemporary +Etiquette. We aren't going to call again! Now you want these free +lessons or what? +% +Mr. Salter's side of the conversation was limited to expressions of assent. +When Lord Copper was right he said "Definitely, Lord Copper"; when he was +wrong, "Up to a point." + "Let me see, what's the name of the place I mean? Capital of Japan? +Yokohama isn't it?" + "Up to a point, Lord Copper." + "And Hong Kong definitely belongs to us, doesn't it?" + "Definitely, Lord Copper." + -- Evelyn Waugh, "Scoop" +% +MSDOS is not dead, it just smells that way. + -- Henry Spencer +% +Much of the excitement we get out of our work +is that we don't really know what we are doing. + -- Edsger W. Dijkstra +% +Much to his Mum and Dad's dismay, Horace ate himself one day. +He didn't stop to say his grace, he just sat down and ate his face. +"We can't have this!" his Dad declared, "If that lad's ate, he should + be shared." +But even as he spoke they saw Horace eating more and more: +First his legs and then his thighs, his arms, his nose, his hair, his eyes... +"Stop him someone!" Mother cried, "Those eyeballs would be better fried!" +But all too late, for they were gone, and he had started on his dong... +"Oh! foolish child!" the father mourns "You could have deep-fried that + with prawns, +Some parsley and and some tartar sauce..." +But H. was on his second course: his liver and his lights and lung, +His ears, his neck, his chin, his tongue; "To think I raised him from the cot, +And now he's going to scoff the lot!" +His Mother cried: "What shall we do? What's left won't even make a stew..." +And as she wept, her son was seen, to eat his head, his heart his spleen. +and there he lay: a boy no more, just a stomach on the floor... +None the less, since it *was* his, they ate it -- that's what haggis is. +% +Multics is security spelled sideways. +% +"Multiply in your head" (ordered the compassionate Dr. Adams) "365,365,365, +365,365,365 by 365,365,365,365,365,365". He [ten-year-old Truman Henry +Safford] flew around the room like a top, pulled his pantaloons over the +tops of his boots, bit his hands, rolled his eyes in their sockets, sometimes +smiling and talking, and then seeming to be in an agony, until, in not more +than one minute, said he, 133,491,850,208,566,925,016,658,299,941,583,255!" +An electronic computer might do the job a little faster but it wouldn't be +as much fun to watch. + -- James R. Newman, "The World of Mathematics" +% +MUMMY: + An Egyptian who was pressed for time. +% +Mummy dust to make me old; +To shroud my clothes, the black of night; +To age my voice, an old hag's cackle; +To whiten my hair, a scream of fright; +A blast of wind to fan my hate; +A thunderbolt to mix it well -- +Now begin thy magic spell! + -- The Evil Queen, "Snow White" +% +Mummy dust to make me old; +To shroud my clothes, the black of night; +To age my voice, an old hag's cackle; +To whiten my hair, a scream of fright; +A blast of wind to fan my hate; +A thunderbolt to mix it well -- +Now begin thy magic spell! + -- Walter Disney, "Snow White" +% +Mum's the word. + -- Miguel de Cervantes +% +Mundus vult decipi decipiatur ergo. + -- Xaviera Hollander + +[The world wants to be cheated, so cheat.] +% +Murder is always a mistake -- one should never do anything one cannot +talk about after dinner. + -- Oscar Wilde, "The Picture of Dorian Gray" +% +Murphy was an optimist. +% +Murphy's Law is recursive. Washing your car to make it rain doesn't work. +% +Murphy's Law of Research: + Enough research will tend to support your theory. +% +Murphy's Law, that brash proletarian restatement of Godel's Theorem. + -- Thomas Pynchon, "Gravity's Rainbow" +% +Murphy's Laws: + (1) If anything can go wrong, it will. + (2) Nothing is as easy as it looks. + (3) Everything takes longer than you think it will. +% +Murray's Rule: + Any country with "democratic" in the title isn't. +% +Music in the soul can be heard by the universe. + -- Lao Tsu +% +Must be getting close to town -- we're hitting more people. +% +Must I hold a candle to my shames? + -- William Shakespeare, "The Merchant of Venice" +% +MUSTGO: + Any item of food that has been sitting in the + refrigerator so long it has become a science project. + -- "Sniglets", Rich Hall & Friends +% +My advice to you, my violent friend, is to seek out gold and sit on it. + -- The Dragon to Grendel, in John Gardner's "Grendel" +% +My analyst told me that I was right out of my head, + But I said, "Dear Doctor, I think that it is you instead. +Because I have got a thing that is unique and new, + To prove it I'll have the last laugh on you. +'Cause instead of one head -- I've got two. + +And you know two heads are better than one. +% +My best argument against discrimination is quite simple: + +Does it really matter if the ABC people are inferior to the DEF people if +they can tell one end of a gun from the other? +% +My Bonnie looked into a gas tank, +The height of its contents to see! +She lit a small match to assist her, +Oh, bring back my Bonnie to me. +% +My boy is mean kid. I came home the other day and saw him taping worms +to the sidewalk, he sits there and watches the birds get hernias. Well, +only last Christmas I gave him a B-B gun and he gave me a sweatshirt with +a bulls-eye on the back. + +I told my kids, "Someday, you'll have kids of your own." One of them +said, "So will you." + -- Rodney Dangerfield +% +My brain is my second favorite organ. + -- Woody Allen +% +My brother sent me a postcard the other day with this big sattelite photo +of the entire earth on it. On the back it said: "Wish you were here". + -- Steven Wright +% +My calculator is my shepherd, I shall not want +It maketh me accurate to ten significant figures, + and it leadeth me in scientific notation to 99 digits. +It restoreth my square roots and guideth me along paths of floating + decimal points for the sake of precision. +Yea, tho I walk through the valley of surprise quizzes, + I will fear no prof, for my calculator is there to hearten me. +It prepareth a log table to comfort me, it prepareth an + arc sin for me in the presence of my teachers. +It annoints my homework with correct solutions, my interpolations are + over. +Surely, both precision and accuracy shall follow me all the days of my + life, and I shall dwell in the house of Texas instruments forever. +% +My central memory of that time seems to hang on one or five or maybe forty +nights -- or very early mornings -- when I left the Fillmore half-crazy and, +instead of going home, aimed the big 650 Lightning across the Bay Bridge at +a hundred miles an hour ... booming through the Treasure Island tunnel at +the lights of Oakland and Berkeley and Richmond, not quite sure which +turnoff to take when I got to the other end ... but being absolutely certain +that no matter which way I went I would come to a place where people were +just as high and wild as I was: no doubt at all about that. + -- Hunter S. Thompson +% +"My country, right or wrong" is a thing that no patriot would think +of saying, except in a desperate case. It is like saying "My mother, +drunk or sober." + -- G.K. Chesterton, "The Defendant" +% +"My country right or wrong" is like saying, "My mother drunk or +sober." + -- G.K. Chesterton +% +My cup hath runneth'd over with love. +% +My darling wife was always glum. +I drowned her in a cask of rum, +And so made sure that she would stay +In better spirits night and day. +% +My doctor told me to stop having intimate dinners for four. +Unless there are three other people. + -- Orson Welles +% +My doctorate's in Literature, but it seems like a pretty good pulse to me. +% +My experience with government is when things are non-controversial, +beautifully co-ordinated and all the rest, it must be that not much +is going on. + -- J.F. Kennedy +% +My family history begins with me, but yours ends with you. + -- Iphicrates +% +My father, a good man, told me, "Never lose +your ignorance; you cannot replace it." + -- Erich Maria Remarque +% +My father taught me three things: + 1: Never mix whiskey with anything but water. + 2: Never try to draw to an inside straight. + 3: Never discuss business with anyone who refuses to give his name. +% +My father was a God-fearing man, but he never +missed a copy of the New York Times, either. + -- E.B. White +% +My father was a saint, I'm not. + -- Indira Gandhi +% +My favorite sandwich is peanut butter, baloney, cheddar cheese, lettuce +and mayonnaise on toasted bread with catsup on the side. + -- Senator Hubert Humphrey +% +My first basename is George "Catfish" Metkovich from our 1952 Pittsburgh +Pirates team, which lost 112 games. After a terrible series against the +New York Giants, in which our center fielder made three throwing errors +and let two balls get through his legs, manager Billy Meyer pleaded, "Can +somebody think of something to help us win a game?" + "I'd like to make a suggestion," Metkovich said. "On any ball hit +to center field, let's just let it roll to see if it might go foul." + -- Joe Garagiola, "It's Anybody's Ball Game" +% +My folks didn't come over on the Mayflower, +but they were there to meet the boat. +% +My friend has a baby. I'm writing down all the noises he makes so +later I can ask him what he meant. + -- Stephen Wright +% +My geometry teacher was sometimes acute, and sometimes obtuse, +but always, always, he was right. +% +My girlfriend and I sure had a good time at the beach last summer. First +she'd bury me in the sand, then I'd bury her. This summer I'm going to go +back and dig her up. +% +"My God! Are we sure he was a liberal?" +"Pretty sure. They pulled him from a Volvo." +% +My God, I'm depressed! Here I am, a computer with a mind a thousand times +as powerful as yours, doing nothing but cranking out fortunes and sending +mail about softball games. And I've got this pain right through my ALU. +I've asked for it to be replaced, but nobody ever listens. I think it +would be better for us both if you were to just log out again. +% +My, how you've changed since I've changed. +% +My idea of roughing it is when room service is late. +% +My idea of roughing it turning the air conditioner too low. +% +My interest is in the future because I am +going to spend the rest of my life there. +% +My love, he's mad, and my love, he's fleet, + And a wild young wood-thing bore him! +The ways are fair to his roaming feet, + And the skies are sunlit for him. +As sharply sweet to my heart he seems + As the fragrance of acacia. +My own dear love, he is all my dreams -- + And I wish he were in Asia. + -- Dorothy Parker, part 2 +% +My love runs by like a day in June, + And he makes no friends of sorrows. +He'll tread his galloping rigadoon + In the pathway or the morrows. +He'll live his days where the sunbeams start + Nor could storm or wind uproot him. +My own dear love, he is all my heart -- + And I wish somebody'd shoot him. + -- Dorothy Parker, part 3 +% +My method is to take the utmost trouble to find the right +thing to say. And then say it with the utmost levity. + -- G.B. Shaw +% +My mind can never know my body, although +it has become quite friendly with my legs. + -- Woody Allen, on Epistemology +% +My mother drinks to forget she drinks. + -- Crazy Jimmy +% +My mother loved children -- she would +have given anything if I had been one. + -- Groucho Marx +% +My mother once said to me, "Elwood," (she always called me Elwood) +"Elwood, in this world you must be oh so smart or oh so pleasant." +For years I tried smart. I recommend pleasant. + -- Elwood P. Dowde, "Harvey" +% +My mother wants grandchildren, so I said, "Mom, go for it!" + -- Sue Murphy +% +My My, hey hey +Rock and roll is here to stay The king is gone but he's not forgotten +It's better to burn out This is the story of a Johnny Rotten +Than to fade away It's better to burn out than it is to rust +My my, hey hey The king is gone but he's not forgotten + +It's out of the blue and into the black Hey hey, my my +They give you this, but you pay for that Rock and roll can never die +And once you're gone you can never come back There's more to the picture +When you're out of the blue Than meets the eye +And into the black + -- Neil Young + "My My, Hey Hey (Out of the Blue), Rust Never Sleeps" +% +My notion of a husband at forty is that a woman should +be able to change him, like a bank note, for two twenties. +% +My only love sprung from my only hate! +Too early seen unknown, and known too late! + -- William Shakespeare, "Romeo and Juliet" +% +My opinions may have changed, but not the fact that I am right. +% +My own business always bores me to death; I prefer other people's. + -- O. Wilde +% +My own dear love, he is strong and bold + And he cares not what comes after. +His words ring sweet as a chime of gold, + And his eyes are lit with laughter. +He is jubilant as a flag unfurled -- + Oh, a girl, she'd not forget him. +My own dear love, he is all my world -- + And I wish I'd never met him. + -- Dorothy Parker, part 1 +% +My own life has been spent chronicling the rise and fall of human systems, +and I am convinced that we are terribly vulnerable. ... We should be +reluctant to turn back upon the frontier of this epoch. Space is indifferent +to what we do; it has no feeling, no design, no interest in whether or not +we grapple with it. But we cannot be indifferent to space, because the grand, +slow march of intelligence has brought us, in our generation, to a point +from which we can explore and understand and utilize it. To turn back now +would be to deny our history, our capabilities. + -- James A. Michener +% +"My pants just went on a wild rampage through a Long Island Bowling Alley!!" + -- Zippy the Pinhead +% +My parents went to Niagra Falls and all I got was this crummy life. +% +My pen is at the bottom of a page, +Which, being finished, here the story ends; +'Tis to be wished it had been sooner done, +But stories somehow lengthen when begun. + -- Byron +% +My philosophy is: Don't think. + -- Charles Manson +% +My problem lies in reconciling my gross habits with my net income. + -- Errol Flynn + +Any man who has $10,000 left when he dies is a failure. + -- Errol Flynn +% +My rackets are run on strictly American +lines, and they're going to stay that way. + -- A. Capone +% +My religion consists of a humble admiration of the illimitable superior +spirit who reveals himself in the slight details we are able to perceive +with our frail and feeble mind. + -- Albert Einstein +% +My ritual differs slightly. What I do, first thing [in the morning], is I +hop into the shower stall. Then I hop right back out, because when I hopped +in I landed barefoot right on top of See Threepio, a little plastic robot +character from "Star Wars" whom my son, Robert, likes to pull the legs off +of while he showers. Then I hop right back into the stall because our dog, +Earnest, who has been alone in the basement all night building up powerful +dog emotions, has come bounding and quivering into the bathroom and wants +to greet me with 60 or 70 thousand playful nips, any one of which -- bear +in mind that I am naked and, without my contact lenses, essentially blind +-- could result in the kind of injury where you have to learn a whole new +part if you want to sing the "Messiah," if you get my drift. Then I hop +right back out, because Robert, with that uncanny sixth sense some children +have -- you cannot teach it; they either have it or they don't -- has chosen +exactly that moment to flush one of the toilets. Perhaps several of them. + -- Dave Barry +% +My schoolmates would make love to anything that moved, but I never saw any +reason to limit myself. + -- Emo Philips +% +My sister opened a computer store in Hawaii. +She sells C shells by the seashore. +% +My soul is crushed, my spirit sore +I do not like me anymore, +I cavil, quarrel, grumble, grouse, +I ponder on the narrow house +I shudder at the thought of men +I'm due to fall in love again. + -- Dorothy Parker, "Enough Rope" +% +My theology, briefly, is that the universe was dictated but not signed. + -- Christopher Morley +% +My uncle was the town drunk -- and we lived in Chicago. + -- George Gobel +% +My way of joking is to tell the truth. +That's the funniest joke in the world. + -- Muhammad Ali +% +My weight is perfect for my height -- which varies. +% +Mystics always hope that science will some day overtake them. + -- Booth Tarkington +% +mythology, n: + The body of a primitive people's beliefs, concerning its origin, + early history, heroes, deities and so forth, as distinguished + from the true accounts which it invents later. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Naches (rhymes with Bach' us, with "Bach" pronounced like the composer) +is what every Jewish parent wants from their children, lots of good +returns, good grades, good spouse, good grandchildren. + +So, now that you all understand naches, the joke: + +Two Jewish women are sitting having coffee. + "So, how's your daughter?" + "Oh, Rachel! She's fine, she just married a dentist!" + "Really? Isn't she the one that married the lawyer?" + "Yes, that's my Rachel." + "That's... that's nice. But isn't she the same one that married + the doctor?" + "Yes, that's her!" + "But didn't she marry a bank executive before that?" + "Yes, yes!" + "Ahhh. So much naches from one child!" +% +Nachman's Rule: + When it comes to foreign food, the less authentic the better. + -- Gerald Nachman +% +Nadia Comaneci, simple perfection. + -- '76 Olympics +% +'Naomi, sex at noon taxes.' I moan. +Never odd or even. +A man, a plan, a canal, Panama. +Madam, I'm Adam. +Sit on a potato pan, Otis. + -- The Mad Palindromist +% +NAPOLEON: What shall we do with this soldier, Guiseppe? + Everything he says is wrong. +GUISEPPE: Make him a general, Excellency, + and then everything he says will be right. + + -- G.B. Shaw +% +narcolepulacyi, n: + The contagious action of yawning, causing everyone in sight + to also yawn. + -- "Sniglets", Rich Hall & Friends +% +Nasrudin called at a large house to collect for charity. The servant said +"My master is out." Nasrudin replied, "Tell your master that next time he +goes out, he should not leave his face at the window. Someone might steal +it." +% +Nasrudin returned to his village from the imperial capital, and the villagers +gathered around to hear what had passed. "At this time," said Nasrudin, "I +only want to say that the King spoke to me." All the villagers but the +stupidest ran off to spread the wonderful news. The remaining villager +asked, "What did the King say to you?" "What he said -- and quite distinctly, +for everyone to hear -- was 'Get out of my way!'" The simpleton was overjoyed; +he had heard words actually spoken by the King, and seen the very man they +were spoken to. +% +Nasrudin walked into a shop one day, and the owner came forward to serve +him. Nasrudin said, "First things first. Did you see me walk into your +shop?" + "Of course." + "Have you ever seen me before?" + "Never." + "Then how do you know it was me?" +% +Nasrudin walked into a teahouse and declaimed, "The moon is more useful +than the sun." + "Why?", he was asked. + "Because at night we need the light more." +% +Nasrudin was carrying home a piece of liver and the recipe for liver pie. +Suddenly a bird of prey swooped down and snatched the piece of meat from +his hand. As the bird flew off, Nasrudin called after it, "Foolish bird! +You have the liver, but what can you do with it without the recipe?" +% +National security is in your hands - guard it well. +% +Natural laws have no pity. +% +Naturally the common people don't want war... but after all it is the leaders +of a country who determine the policy, and it is always a simple matter to +drag the people along, whether it is a democracy, or a fascist dictatorship, +or a parliament, or a communist dictatorship. Voice or no voice, the people +can always be brought to the bidding of the leaders. That is easy. All you +have to do is tell them they are being attacked, and denounce the pacifists +for lack of patriotism and exposing the country to danger. It works the same +in every country. + -- Hermann Goering +% +Nature abhors a hero. For one thing, he violates the law of conservation +of energy. For another, how can it be the survival of the fittest when the +fittest keeps putting himself in situations where he is most likely to be +creamed? + -- Solomon Short +% +Nature abhors a virgin -- a frozen asset. + -- Clare Booth Luce +% +Nature always sides with the hidden flaw. +% +Nature and nature's laws lay hid in night, +God said, "Let Newton be," and all was light. + +It did not last; the devil howling "Ho! +Let Einstein be!" restored the status quo. +% +Nature has given women so much power that the law has very wisely +given them little. + -- Dr. Samuel Johnson +% +Nature is by and large to be found out of doors, a location where, +it cannot be argued, there are never enough comfortable chairs. + -- Fran Lebowitz +% +Nature makes boys and girls lovely to look upon so they can be +tolerated until they acquire some sense. + -- William Phelps +% +Nature to all things fixed the limits fit, +And wisely curbed proud man's pretending wit. +As on the land while here the ocean gains, +In other parts it leaves wide sandy plains; +Thus in the soul while memory prevails, +The solid power of understanding fails; +Where beams of warm imagination play, +The memory's soft figures melt away. + -- Alexander Pope (on runtime bounds checking?) +% +Nature, to be commanded, must be obeyed. + -- Francis Bacon +% +Near the Studio Jean Cocteau +On the Rue des Ecoles +lived an old man +with a blind dog +Every evening I would see him +guiding the dog along +the sidewalk, keeping +a firm grip on the leash +so that the dog wouldn't +run into a passerby +Sometimes the dog would stop +and look up at the sky +Once the old man +noticed me watching the dog +and he said, "Oh, yes, +this one knows +when the moon is out, +he can feel it on his face" + -- Barry Gifford +% +Nearly all men can stand adversity, but if you +want to test a man's character, give him power. + -- Abraham Lincoln +% +Nearly every complex solution to a programming problem that I +have looked at carefully has turned out to be wrong. + -- Brent Welch +% +Necessity has no law. + -- St. Augustine +% +Necessity hath no law. + -- Oliver Cromwell +% +Necessity is a mother. +% +"Necessity is the mother of invention" is a silly proverb. "Necessity +is the mother of futile dodges" is much nearer the truth. + -- Alfred North Whitehead +% +Necessity is the plea for every infringement of human freedom. +It is the argument of tyrants; it is the creed of slaves. + -- William Pitt, 1783 +% +Neckties strangle clear thinking. + -- Lin Yutang +% +Needs are a function of what other people have. +% +Negative expectations yield negative results. +Positive expectations yield negative results. +% +Neglect of duty does not cease, by repetition, to be neglect of duty. + -- Napoleon +% +Neil Armstrong tripped. +% +Neither spread the germs of gossip nor encourage others to do so. +% +Nemo me impune lacessit + [No one provokes me with impunity] + -- Motto of the Crown of Scotland +% +nerd pack, n: + Plastic pouch worn in breast pocket to keep pens from soiling + clothes. Nerd's position in engineering hierarchy can be + measured by number of pens, grease pencils, and rulers bristling + in his pack. +% +Neuroses are red, + Melancholia's blue. +I'm schizophrenic, + What are you? +% +Neurotics build castles in the sky, +Psychotics live in them, +And psychiatrists collect the rent. +% +Neutrinos are into physicists. +% +Neutrinos have bad breadth. +% +neutron bomb, n: + An explosive device of limited military value because, as + it only destroys people without destroying property, it + must be used in conjunction with bombs that destroy property. +% +Never accept an invitation from a stranger unless he gives you candy. + -- Linda Festa +% +Never appeal to a man's "better nature." He may not have one. +Invoking his self-interest gives you more leverage. + -- Lazarus Long +% +Never argue with a fool -- people might not be able to tell the difference. +% +Never argue with a man who buys ink by the barrel. +% +Never argue with a woman when she's tired -- or rested. +% +Never ask the barber if you need a haircut. +% +Never ask two questions in a business letter. The reply will discuss +the one you are least interested, and say nothing about the other. +% +Never be afraid to tell the world who you are. + -- Anonymous +% +Never be led astray onto the path of virtue. +% +Never buy from a rich salesman. + -- Goldenstern +% +Never buy what you do not want +because it is cheap; it will be dear to you. + -- Thomas Jefferson +% +Never call a man a fool. Borrow from him. +% +Never count your chickens before they rip your lips off. +% +Never delay the ending of a meeting or the beginning of a cocktail hour. +% +Never do today what you can put off until tomorrow. +% +Never drink Coca-Cola in a moving elevator. The elevator's motion coupled +with the chemicals in Coke produce hallucinations. People tend to change +into lizards and attack without warning, and large bats usually fly in the +window. (Additionally, you begin to believe that elevators have windows.) +% +Never drink from your finger bowl -- it contains only water. +% +Never eat anything bigger than your head. +% +Never eat at a place called Mom's. Never play cards with a man named Doc. +And never lie down with a woman who's got more troubles than you. + -- Nelson Algren, "What Every Young Man Should Know" +% +Never eat more than you can lift. + -- Miss Piggy +% +Never, ever lie to someone you love unless you're +absolutely sure they'll never find out the truth. +% +Never explain. Your friends do not need it +and your enemies will never believe you anyway. + -- Elbert Hubbard +% +Never face facts; if you do you'll never get up in the morning. + -- Marlo Thomas +% +Never forget what a man says to you when he is angry. +% +Never frighten a small man -- he'll kill you. +% +Never get into fights with ugly people because they have nothing to lose. +% +Never give an inch! +% +Never go to a doctor whose office plants have died. + -- Erma Bombeck +% +Never go to bed mad. Stay up and fight. + -- Phyllis Diller, "Phyllis Diller's Housekeeping Hints" +% +Never have children, only grandchildren. + -- Gore Vidal +% +Never have so many understood so little about so much. + -- James Burke +% +Never hit a man with glasses; hit him with a baseball bat. +% +Never insult an alligator until you've crossed the river. +% +Never invest your money in anything that eats or needs repainting. + -- Billy Rose +% +Never keep up with the Joneses. Drag them down to your level. + -- Quentin Crisp +% +Never kick a man, unless he's down. +% +Never laugh at live dragons. + -- Bilbo Baggins +% +Never leave anything to chance; +make sure all your crimes are premeditated. +% +Never lend your car to anyone to whom you have given birth. + -- Erma Bombeck +% +Never let someone who says it cannot be done +interrupt the person who is doing it. +% +Never let your sense of morals prevent you from doing what is right. + -- Salvor Hardin, "Foundation" +% +Never look a gift horse in the mouth. + -- Saint Jerome +% +Never look up when dragons fly overhead. +% +Never make anything simple and efficient when a +way can be found to make it complex and wonderful. +% +Never offend people with style when you can offend them with substance. + -- Sam Brown, "The Washington Post", January 26, 1977 +% +Never offend with style when you can offend with substance. +% +Never pay a compliment as if expecting a receipt. +% +Never play pool with anyone named "Fats". +% +Never promise more than you can perform. + -- Publilius Syrus +% +Never put off till run-time what you can do at compile-time. + -- D. Gries +% +Never put off till tomorrow what you can avoid all together. +% +Never put off until tomorrow what you can do the day after. +% +Never raise your hand to your children -- it leaves your midsection +unprotected. + -- Robert Orben +% +Never reveal your best argument. +% +Never say "Oops" in an operating room. +% +Never say you know a man until you have divided an inheritance with him. +% +Never sleep with a woman whose troubles are worse than your own. + -- Nelson Algren +% +Never speak ill of yourself, your friends will always say enough on +that subject. + -- Charles-Maurice De Talleyrand +% +NEVER swerve to hit a lawyer riding a bicycle -- it might be your bicycle. +% +Never tell. Not if you love your wife ... In fact, if your old lady walks +in on you, deny it. Yeah. Just flat out and she'll believe it: "I'm +tellin' ya. This chick came downstairs with a sign around her neck `Lay +On Top Of Me Or I'll Die'. I didn't know what I was gonna do..." + -- Lenny Bruce +% +Never tell people how to do things. Tell them WHAT to +do and they will surprise you with their ingenuity. + -- Gen. George S. Patton, Jr. +% +Never test for an error condition you don't know how to handle. + -- Steinbach +% +Never trust a child farther than you can throw it. +% +Never trust a computer you can't repair yourself. +% +Never trust an automatic pistol or a D.A.'s deal. + -- John Dillinger +% +Never trust an operating system. +% +Never trust anybody whose arm is bigger than your leg. +% +Never trust anyone who says money is no object. +% +Never try to explain computers to a layman. It's easier to explain +sex to a virgin. + -- Robert Heinlein + +(Note, however, that virgins tend to know a lot about computers.) +% +Never try to outstubborn a cat. + -- Lazarus Long +% +Never try to teach a pig to sing. +It wastes your time and annoys the pig. +% +Never underestimate the bandwidth of a station wagon full of tapes. +% +Never underestimate the power of human stupidity. +% +Never use "etc." -- it makes people think there is more where +there is not or that there is not space to list it all, etc. +% +Never volunteer for anything. + -- Lackland +% +Never worry about theory as long as the +machinery does what it's supposed to do. + -- R.A. Heinlein +% +new, adj: + Different color from previous model. +% +New crypt. See /usr/news/crypt. +% +New England Life, of course. Why? +% +New England Life, of course. Why do you ask? +% +New members are urgently needed in the Society +for Prevention of Cruelty to Yourself. Apply within. +% +New release: + Abortions are becoming so popular in some countries that the waiting + time to get one is lengthening rapidly. Experts predict that at this + rate there will soon be an up to a one year wait. +% +New systems generate new problems. +% +New Year's Eve is the time of year when a man most feels his +age, and his wife most often reminds him to act it. + -- Webster's Unafraid Dictionary +% +New York now leads the world's great cities in the number of people around +whom you shouldn't make a sudden move. + -- David Letterman +% +New York-- to that tall skyline I come +Flyin' in from London to your door +New York-- lookin' down on Central Park +Where they say you should not wander after dark. +New York. + -- Simon and Garfunkle +% +New York's got the ways and means, just won't let you be. +% +Newlan's Truism: + An "acceptable" level of unemployment means that the + government economist to whom it is acceptable still has a job. +% +Newman's Discovery: + Your best dreams may not come true; + fortunately, neither will your worst dreams. +% +Newpaper editors are men who separate the wheat from the chaff, and then +print the chaff. + -- Adlai Stevenson +% +NEWS FLASH!! + Today the East German pole-vault champion + became the West German pole-vault champion. +% +news: gotcha +% +NEWSFLASH!! + Rodney Fenster looked up the shaft of elevator number four at +1700 N. 17th St. this morning to see if the elevator was on its way down. +It was. Age 31. +% +Newton's Little-Known Seventh Law: + A bird in the hand is safer than one overhead. +% +Next Friday will not be your lucky day. +As a matter of fact, you don't have a lucky day this year. +% +Nice boy, but about as sharp as a sack of wet mice. + -- Foghorn Leghorn +% +Nice guys don't finish nice. +% +Nice guys finish last. + -- Leo Durocher +% +Nice guys finish last, but we get to sleep in. + -- Evan Davis +% +Nice guys get sick. +% +Nick the Greek's Law of Life: + All things considered, life is 9 to 5 against. +% +Nietzsche is pietzsche. +% +Nietzsche is pietzsche, Goethe is murder. +% +Nietzsche says that we will live the same life, over and over again. +God -- I'll have to sit through the Ice Capades again. + -- Woody Allen, "Hannah and Her Sisters" +% +Nihilism should commence with oneself. +% +Niklaus Wirth has lamented that, whereas Europeans pronounce his +name correctly (Ni-klows Virt), Americans invariably mangle it into +(Nick-les Worth). Which is to say that Europeans call him by name, +but Americans call him by value. +% +Nine megs for the secretaries fair, +Seven megs for the hackers scarce, +Five megs for the grads in smoky lairs, +Three megs for system source; + +One disk to rule them all, +One disk to bind them, +One disk to hold the files +And in the darkness grind 'em. +% +Nine-track tapes and seven-track tapes +And tapes without any tracks; +Stretchy tapes and snarley tapes +And tapes mixed up on the racks -- + Take hold of the tape + And pull off the strip, + And then you'll be sure + Your tape drive will skip. + + -- Uncle Colonel's Cursory Rhymes +% +Ninety percent of the politicians give the other ten percent a bad reputation. + -- Henry Kissinger +% +Ninety percent of the time things turn out worse than you thought they +would. The other ten percent of the time you had no right to expect +that much. + -- Augustine +% +Ninety-Ninety Rule of Project Schedules: + The first ninety percent of the task takes ninety percent of + the time, and the last ten percent takes the other ninety percent. +% +Nirvana? That's the place where the powers +that be and their friends hang out. + -- Zonker Harris +% +Nitwit ideas are for emergencies. You use them when you've got nothing +else to try. If they work, they go in the Book. Otherwise you follow +the Book, which is largely a collection of nitwit ideas that worked. + -- Larry Niven, "The Mote in God's Eye" +% +No act of kindness, no matter how small, is ever wasted. + -- Aesop +% +No amount of careful planning will ever replace dumb luck. +% +No amount of genius can overcome a preoccupation with detail. +% +No bird soars too high if he soars with his own wings. + -- William Blake +% +no brainer: + A decision which, viewed through the retrospectoscope, + is "obvious" to those who failed to make it originally. +% +No character, however upright, is a match for +constantly reiterated attacks, however false. + -- Alexander Hamilton +% +No Civil War picture ever made a nickel. + -- MGM executive Irving Thalberg to Louis B. Mayer about + film rights to "Gone With the Wind". + Cerf/Navasky, "The Experts Speak" +% +No directory. +% +No discipline is ever requisite to force attendance upon +lectures which are really worth the attending. + -- Adam Smith, "The Wealth of Nations" +% +No doubt Jack the Ripper excused himself +on the grounds that it was human nature. +% +No, `Eureka' is Greek for `This bath is too hot.' + -- Dr. Who +% +No evil can happen to a good man. + -- Plato +% +No excellent soul is exempt from a mixture of madness. + -- Aristotle +% +No extensible language will be universal. + -- T. Cheatham +% +No friendship is so cordial or so delicious as that of girl for girl; +no hatred so intense or immovable as that of woman for woman. + -- Landor +% +No good deed goes unpunished. + -- Clare Booth Luce +% +No group of professionals meets except to +conspire against the public at large. + -- Mark Twain +% +No guest is so welcome in a friend's house that +he will not become a nuisance after three days. + -- Titus Maccius Plautus +% +No guts, no glory. +% +No hardware designer should be allowed to produce any piece of hardware +until three software guys have signed off for it. + -- Andy Tanenbaum +% +No, his mind is not for rent +To any god or government. +Always hopeful, yet discontent, +He knows changes aren't permanent - +But change is. +% +No house is childproofed unless the little darlings are in straitjackets. +% +No house should ever be on any hill or on anything. +It should be of the hill, belonging to it. + -- Frank Lloyd Wright +% +No, I don't have a drinking problem. +I drink, I get drunk, I fall down. No problem! +% +No, I'm not interested in developing a powerful brain. All I'm after is +just a mediocre brain, something like the president of American Telephone +and Telegraph Company. + -- Alan Turing on the possibilities of a thinking + machine, 1943. +% +No is no negative in a woman's mouth. + -- Sidney +% +"No job too big; no fee too big!" + -- Dr. Peter Venkman, "Ghost-busters" +% +No line available at 300 baud. +% +No live organism can continue for long to exist sanely under conditions of +absolute reality; even larks and katydids are supposed, by some, to dream. +Hill House, not sane, stood by itself against its hills, holding darkness +within; it had stood so for eighty years and might stand for eighty more. +Within, walls continued upright, bricks met neatly, floors were firm, and +doors were sensibly shut; silence lay steadily against the wood and stone +of Hill House, and whatever walked there, walked alone. + -- Shirley Jackson, "The Haunting of Hill House" +% +no maintenance: + Impossible to fix. +% +No man can have a reasonable opinion of women until he has long lost +interest in hair restorers. + -- Austin O'Malley +% +No man in the world has more courage than the man who can stop after eating +one peanut. + -- Channing Pollock +% +No man is an Iland, intire of it selfe; every man is a peece of the +Continent, a part of the maine; if a Clod bee washed away by the Sea, +Europe is the lesse, as well as if a Promontorie were, as well as if +a Mannor of thy friends or of thine owne were; any mans death diminishes +me, because I am involved in Mankinde; And therefore never send to know +for whom the bell tolls; It tolls for thee. + -- John Donne, "No Man is an Iland" +% +No man is an island, but some of us are long peninsulas. +% +No man is an island if he's on at least one mailing list. +% +No man is useless who has a friend, +and if we are loved we are indispensable. + -- Robert Louis Stevenson +% +No man would listen to you talk if he didn't know it was his turn next. + -- E.W. Howe +% +No man's ambition has a right to stand in +the way of performing a simple act of justice. + -- John Altgeld +% +No Marxist can deny that the interests of socialism are higher +than the interests of the right of nations to self-determination. + -- Lenin, 1918 +% +No matter how celebrated the beauty of a woman, I would never spend a night +with her. The only celebrity with whom I would share a night is Max Planck. +But he is dead. So I live like a monk, aside from a little self gratification +in the afternoons. + -- Salvador Dali +% +No matter how cynical you get, it's impossible to keep up. +% +No matter how much you do you never do enough. +% +No matter how old a mother is, she watches her middle-aged children for +signs of improvement. + -- Florida Scott-Maxwell +% +No matter how subtle the wizard, a knife in the shoulder blades will seriously +cramp his style. +% +No matter what happens, there is always someone who knew it would. +% +No matter where I go, the place is always called "here". +% +No matter who you are, some scholar can show you +the great idea you had was had by someone before you. +% +No matther whether th' constitution follows th' flag or not, +th' supreme court follows th' iliction returns. + -- Mr. Dooley +% +No modern woman with a grain of sense ever sends little notes to an +unmarried man -- not until she is married, anyway. + -- Arthur Binstead +% +No, my friend, the way to have good and safe government, is not to trust it +all to one, but to divide it among the many, distributing to every one exactly +the functions he is competent to. It is by dividing and subdividing these +republics from the national one down through all its subordinations, until it +ends in the administration of every man's farm by himself; by placing under +every one what his own eye may superintend, that all will be done for the best. + -- Thomas Jefferson, to Joseph Cabell, 1816 +% +No one becomes depraved in a moment. + -- Decimus Junius Juvenalis +% +No one can feel as helpless as the owner of a sick goldfish. +% +No one can have a higher opinion of him than I have, and I think he's a +dirty little beast. + -- W.S. Gilbert +% +No one can make you feel inferior without your consent. + -- Eleanor Roosevelt +% +No one can put you down without your full cooperation. +% +No one gets sick on Wednesdays. +% +No one knows like a woman how to say +things that are at once gentle and deep. + -- Hugo +% +No one knows what he can do till he tries. + -- Publilius Syrus +% +No one regards what is before his feet; we all gaze at the stars. + -- Quintus Ennius +% +No one so thoroughly appreciates the value of constructive criticism as the +one who's giving it. + -- Hal Chadwick +% +NO OPIUM-SMOKING IN THE ELEVATORS + -- sign in the Rand Hotel, New York, 1907 +% +No pig should go sky diving during monsoon +For this isn't really the norm. +But should a fat swine try to soar like a loon, +So what? Any pork in a storm. + +No pig should go sky diving during monsoon, +It's risky enough when the weather is fine. +But to have a pig soar when the monsoon doth roar +Cast even more perils before swine. +% +No plain fanfold paper could hold that fractal Puff -- +He grew so fast no plotting pack could shrink him far enough. +Compiles and simulations grew so quickly tame +And swapped out all their data space when Puff pushed his stack frame. + (refrain) +Puff, he grew so quickly, while others moved like snails +And mini-Puffs would perch themselves on his gigantic tail. +All the student hackers loved that fractal Puff +But DCS did not like Puff, and finally said, "Enough!" + (refrain) +Puff used more resources than DCS could spare. +The operator killed Puff's job -- he didn't seem to care. +A gloom fell on the hackers; it seemed to be the end, +But Puff trapped the exception, and grew from naught again! + (refrain) +Refrain: + Puff the fractal dragon was written in C, + And frolicked while processes switched in mainframe memory. + Puff the fractal dragon was written in C, + And frolicked while processes switched in mainframe memory. +% +No poet or novelist wishes he was the only one who ever lived, but most of +them wish they were the only one alive, and quite a number fondly believe +their wish has been granted. + -- W.H. Auden, "The Dyer's Hand" +% +No problem is insoluble in all conceivable circumstances. +% +No problem is so formidable that you can't just walk away from it. +% +No problem is so formidable that you can't just walk away from it. + -- C. Schulz +% +No problem is so large it can't be fit in somewhere. +% +"No program is perfect," +They said with a shrug. +"The customer's happy-- +What's one little bug?" + +But he was determined, Then change two, then three more, +The others went home. As year followed year. +He dug out the flow chart And strangers would comment, +Deserted, alone. "Is that guy still here?" + +Night passed into morning. He died at the console +The room was cluttered Of hunger and thirst +With core dumps, source listings. Next day he was buried +"I'm close," he muttered. Face down, nine edge first. + +Chain smoking, cold coffee, And his wife through her tears +Logic, deduction. Accepted his fate. +"I've got it!" he cried, Said "He's not really gone, +"Just change one instruction." He's just working late." + -- The Perfect Programmer +% +No proper program contains an indication which as an operator-applied +occurrence identifies an operator-defining occurrence which as an +indication-applied occurrence identifies an indication-defining occurrence +different from the one identified by the given indication as an +indication-applied occurrence. + -- ALGOL 68 Report +% +No question is so difficult as one to which the answer is obvious. +% +No rock so hard but that a little wave +May beat admission in a thousand years. + -- Tennyson +% +No self-made man ever did such a good job +that some woman didn't want to make some alterations. + -- Kim Hubbard +% +No skis take rocks like rental skis! +% +No small art is it to sleep: it is necessary +for that purpose to keep awake all day. + -- Nietzsche +% +No snowflake in an avalanche ever feels responsible. +% +No sooner had Edger Allen Poe +Finished his old Raven, +then he started his Old Crow. +% +No sooner said than done -- so acts your man of worth. + -- Quintus Ennius +% +No spitting on the Bus! +Thank you, The Management. +% +No television performance takes as much preparation as an off-the-cuff talk. + -- Richard Nixon +% +No two persons ever read the same book. + -- Edmund Wilson +% +No use getting too involved in life -- +you're only here for a limited time. +% +No violence, gentlemen -- no violence, I beg of you! Consider the furniture! + -- Sherlock Holmes +% +No woman can call herself free until she can choose consciously whether +she will or will not be a mother. + -- Margaret H. Sanger +% +No woman can endure a gambling husband, unless he is a steady winner. + -- Lord Thomas Dewar +% +No woman ever falls in love with a man unless she has a better opinion of +him than he deserves. + -- Edgar Watson Howe +% +No wonder Clairol makes so much money selling shampoo. +Lather, Rinse, Repeat is an infinite loop! +% +No wonder you're tired! You understood so much today. +% +No yak too dirty; no dumpster too hollow. +% +Nobert Weiner was the subject of many dotty professor stories. Weiner was, in +fact, very absent minded. The following story is told about him: when they +moved from Cambridge to Newton his wife, knowing that he would be absolutely +useless on the move, packed him off to MIT while she directed the move. Since +she was certain that he would forget that they had moved and where they had +moved to, she wrote down the new address on a piece of paper, and gave it to +him. Naturally, in the course of the day, an insight occurred to him. He +reached in his pocket, found a piece of paper on which he furiously scribbled +some notes, thought it over, decided there was a fallacy in his idea, and +threw the piece of paper away. At the end of the day he went home (to the +old address in Cambridge, of course). When he got there he realized that they +had moved, that he had no idea where they had moved to, and that the piece of +paper with the address was long gone. Fortunately inspiration struck. There +was a young girl on the street and he conceived the idea of asking her where +he had moved to, saying, "Excuse me, perhaps you know me. I'm Norbert Weiner +and we've just moved. Would you know where we've moved to?" To which the +young girl replied, "Yes, Daddy, Mommy thought you would forget." + The capper to the story is that I asked his daughter (the girl in the +story) about the truth of the story, many years later. She said that it wasn't +quite true -- that he never forgot who his children were! The rest of it, +however, was pretty close to what actually happened... + -- Richard Harter +% +Nobody can be as agreeable as an uninvited guest. +% +Nobody can be exactly like me. Even I have trouble doing it. + -- Tallulah Bankhead +% +Nobody ever died from oven crude poisoning. +% +Nobody ever forgets where he buried the hatchet. + -- Kin Hubbard +% +Nobody ever ruined their eyesight by looking at the bright side of something. +% +NOBODY EXPECTS THE SPANISH INQUISITION. +% +Nobody is one block of harmony. We are all afraid of something, or feel +limited in something. We all need somebody to talk to. It would be good +if we talked to each other--not just pitter-patter, but real talk. We +shouldn't be so afraid, because most people really like this contact; +that you show you are vulnerable makes them free to be vulnerable too. +It's so much easier to be together when we drop our masks. + -- Liv Ullman +% +Nobody knows the trouble I've been. +% +Nobody knows what goes between his cold toes and his warm ears. + -- Roy Harper +% +Nobody loves me, +Everybody hates me, +I think I'll go out and eat worms. +I'm gonna cut their heads off, +Eat their insides out, +And throw way the skins. +Big, fat, juicy ones, +Little, skinny, cute ones, +Watch how they wiggle and they squirm. +% +Nobody really knows what happiness is, until they're married. +And then it's too late. +% +Nobody shot me. + -- Frank Gusenberg, his last words, when asked by police + who had shot him 14 times with a machine gun in the Saint + Valentine's Day Massacre. + +Only Capone kills like that. + -- George "Bugs" Moran, on the Saint Valentine's Day Massacre + +The only man who kills like that is Bugs Moran. + -- Al Capone, on the Saint Valentine's Day Massacre +% +Nobody suffers the pain of birth or the anguish of loving a child in order +for presidents to make wars, for governments to feed on the substance of +their people, for insurance companies to cheat the young and rob the old. + -- Lewis Lapham +% +Nobody takes a bribe. Of course at Christmas if you happen to hold our +your hat and somebody happens to put a little something in it, well, that's +different. + -- New York City Police Commissioner (Ret.) William P. + O'Brien, instructions to the force. +% +Nobody wants constructive criticism. +It's all we can do to put up with constructive praise. +% +Nobody's gonna believe that computers are intelligent until they start +coming in late and lying about it. +% +nohup rm -fr /& +% +Noise proves nothing. Often a hen who has +merely laid an egg cackles as if she laid an asteroid. + -- Mark Twain +% +nolo contendere: + A legal term meaning: "I didn't do it, judge, and I'll never do + it again." +% +nominal egg: + New Yorkerese for expensive. +% +Noncombatant: + A dead Quaker. + -- Ambrose Bierce +% +Non-Determinism is not meant to be reasonable. + -- M.J. 0'Donnell +% +Nondeterminism means never having to say you are wrong. +% +None love the bearer of bad news. + -- Sophocles +% +None of our men are "experts." We have most unfortunately found it necessary +to get rid of a man as soon as he thinks himself an expert -- because no one +ever considers himself expert if he really knows his job. A man who knows a +job sees so much more to be done than he has done, that he is always pressing +forward and never gives up an instant of thought to how good and how efficient +he is. Thinking always ahead, thinking always of trying to do more, brings a +state of mind in which nothing is impossible. The moment one gets into the +"expert" state of mind a great number of things become impossible. + -- From Henry Ford Sr., "My Life and Work" +% +Nonsense. Space is blue and birds fly through it. + -- Heisenberg +% +Nonsense and beauty have close connections. + -- E.M. Forster +% +Noone ever built a statue to a critic. +% +No-one would remember the Good Samaritan if he had only had good +intentions. He had money as well. + -- Margaret Thatcher +% +Norm: Gentlemen, start your taps. + -- Cheers, The Coach's Daughter + +Coach: How's life treating you, Norm? +Norm: Like it caught me in bed with his wife. + -- Cheers, Any Friend of Diane's + +Coach: How's life, Norm? +Norm: Not for the squeamish, Coach. + -- Cheers, Friends, Romans, and Accountants +% +Norm: Hey, everybody. +All: [silence; everybody is mad at Norm for being rich.] +Norm: [Carries on both sides of the conversation himself.] + Norm! (Norman.) + How are you feeling today, Norm? + Rich and thirsty. Pour me a beer. + -- Cheers, Tan 'n Wash + +Woody: What's the latest, Mr. Peterson? +Norm: Zha-Zha marries a millionaire, Peterson drinks a beer. + Film at eleven. + -- Cheers, Knights of the Scimitar + +Woody: How are you today, Mr. Peterson? +Norm: Never been better, Woody. ... Just once I'd like to be better. + -- Cheers, Chambers vs. Malone +% +[Norm comes in with an attractive woman.] + +Coach: Normie, Normie, could this be Vera? +Norm: With a lot of expensive surgery, maybe. + -- Cheers, Norman's Conquest + +Coach: What's up, Normie? +Norm: The temperature under my collar, Coach. + -- Cheers, I'll Be Seeing You (Part 2) + +Coach: What would you say to a nice beer, Normie? +Norm: Going down? + -- Cheers, Diane Meets Mom +% +[Norm goes into the bar at Vic's Bowl-A-Rama.] + +Off-screen crowd: Norm! +Sam: How the hell do they know him here? +Cliff: He's got a life, you know. + -- Cheers, From Beer to Eternity + +Woody: What can I do for you, Mr. Peterson? +Norm: Elope with my wife. + -- Cheers, The Triangle + +Woody: How's life, Mr. Peterson? +Norm: Oh, I'm waiting for the movie. + -- Cheers, Take My Shirt... Please? +% +[Norm is angry.] + +Woody: What can I get you, Mr. Peterson? +Norm: Clifford Clavin's head. + -- Cheers, The Triangle + +Sam: Hey, what's happening, Norm? +Norm: Well, it's a dog-eat-dog world, Sammy, + and I'm wearing Milk-Bone underwear. + -- Cheers, The Peterson Principle + +Sam: How's life in the fast lane, Normie? +Norm: Beats me, I can't find the on-ramp. + -- Cheers, Diane Chambers Day +% +[Norm returns from the hospital.] + +Coach: What's up, Norm? +Norm: Everything that's supposed to be. + -- Cheers, Diane Meets Mom + +Sam: What's new, Normie? +Norm: Terrorists, Sam. They've taken over my stomach. + They're demanding beer. + -- Cheers, The Heart is a Lonely Snipehunter + +Coach: What'll it be, Normie? +Norm: Just the usual, Coach. I'll have a froth of beer and a snorkel. + -- Cheers, King of the Hill +% +[Norm tries to prove that he is not Anton Kreitzer.] +Norm: Afternoon, everybody! +All: Anton! + -- Cheers, The Two Faces of Norm + +Woody: What's going on, Mr. Peterson? +Norm: A flashing sign in my gut that says, ``Insert beer here.'' + -- Cheers, Call Me, Irresponsible + +Sam: What can I get you, Norm? +Norm: [scratching his beard] Got any flea powder? Ah, just kidding. + Gimme a beer; I think I'll just drown the little suckers. + -- Cheers, Two Girls for Every Boyd +% +Normal times may possibly be over forever. +% +Normally our rules are rigid; we tend to discretion, if for no other +reason than self-protection. We never recommend any of our graduates, +although we cheerfully provide information as to those who have failed +their courses. + -- Jack Vance, "Freitzke's Turn" +% +Nostalgia is living life in the past lane. +% +Nostalgia just isn't what it used to be. +% +Not all men who drink are poets. +Some of us drink because we aren't poets. +% +Not all who own a harp are harpers. + -- Marcus Terentius Varro +% +Not drinking, chasing women, or doing drugs won't +make you live longer -- it just seems that way. +% +Not every problem someone has with his girlfriend is necessarily due to +the capitalist mode of production. + -- Herbert Marcuse +% +Not every question deserves an answer. +% +Not everything worth doing is worth doing well. +% +Not far from here, by a white sun, behind a green star, lived the +Steelypips, illustrious, industrious, and they hadn't a care: no spats +in their vats, no rules, no schools, no gloom, no evil influence of the +moon, no trouble from matter or antimatter -- for they had a machine, +a dream of a machine, with springs and gears and perfect in every +respect. And they lived with it, and on it, and under it, and inside +it, for it was all they had -- first they saved up all their atoms, +then they put them all together, and if one didn't fit, why they +chipped at it a bit, and everything was just fine... + -- Stanislaw Lem +% +Not only is this incomprehensible, but the ink is +ugly and the paper is from the wrong kind of tree. + -- Professor, EECS, George Washington University + +I'm looking forward to working with you on this next year. + -- Professor, Harvard, on a senior thesis. +% +Not only is UNIX dead, it's starting to smell really bad. + -- Rob Pike +% +Not that we needed all that stuff, but when you get locked into a +serious drug collection the tendency is to push it as far as you can. + -- Hunter S. Thompson, "Fear and Loathing in Las Vegas" +% +Not to laugh, not to lament, not to curse, but to understand. + -- Spinoza +% +NOTE: No warranties, either express or implied, are hereby given. +All software is supplied as is, without guarantee. The user assumes +all responsibility for damages resulting from the use of these +features, including, but not limited to, frustration, disgust, system +abends, disk head-crashes, general malfeasance, floods, fires, shark +attack, nerve gas, locust infestation, cyclones, hurricanes, tsunamis, +local electromagnetic disruptions, hydraulic brake system failure, +invasion, hashing collisions, normal wear and tear of friction +surfaces, comic radiation, inadvertent destruction of sensitive +electronic components, windstorms, the Riders of Nazgul, infuriated +chickens, malfunctioning mechanical or electrical sexual devices, +premature activation of the distant early warning system, peasant +uprisings, halitosis, artillery bombardment, explosions, cave-ins, +and/or frogs falling from the sky. +% +Note to myself: use real bullets next time. +% +Notes for a ballet, "The Spell": ... Suddenly Sigmund hears the flutter of +wings, and a group of wild swans flies across the moon ... Sigmund is +astounded to see that their leader is part swan and part woman -- +unfortunately, divided lengthwise. She enchants Sigmund, who is careful +not to make any poultry jokes. + -- Woody Allen +% +Nothing astonishes men so much as common sense and plain dealing. + -- Ralph Waldo Emerson +% +Nothing can be done in one trip. + -- Snider +% +Nothing cures insomnia like the realization that it's time to get up. +% +Nothing endures but change. + -- Heraclitus + [Yeah, yeah, "Everything changes but change itself." --JFK Ed.] +% +Nothing ever becomes real till it is experienced -- even a +proverb is no proverb to you till your life has illustrated it. + -- John Keats +% +Nothing in life is so exhilarating as to be shot at without result. + -- Winston Churchill + +Next to being shot at and missed, nothing is really quite as +satisfying as an income tax refund. + -- F.J. Raymond +% +Nothing in life is to be feared. It is only to be understood. +% +Nothing increases your golf score like witnesses. +% +Nothing is as simple as it seems at first + Or as hopeless as it seems in the middle + Or as finished as it seems in the end. +% +Nothing is but what is not. +% +Nothing is ever a total loss; it can always serve as a bad example. +% +Nothing is faster than the speed of light. + +To prove this to yourself, try opening the +refrigerator door before the light comes on. +% +Nothing is finished until the paperwork is done. +% +Nothing is illegal if one hundred businessmen decide to do it. + -- Andrew Young +% +Nothing is impossible for the man who doesn't have to do it himself. + -- A.H. Weiler +% +Nothing is more admirable than the fortitude with which +millionaires tolerate the disadvantages of their wealth. + -- Nero Wolfe +% +Nothing is more quiet than the sound of hair going grey. +% +Nothing is rich but the inexhaustible wealth of nature. +She shows us only surfaces, but she is a million fathoms deep. + -- Ralph Waldo Emerson +% +Nothing is so firmly believed as that which we least know. + -- Michel de Montaigne +% +Nothing is so often irretrievably missed as a daily opportunity. + -- Ebner-Eschenbach +% +Nothing lasts forever. +Where do I find nothing? +% +Nothing makes a person more productive than the last minute. +% +Nothing makes one so vain as being told that one is a sinner. +Conscience makes egotists of us all. + -- Oscar Wilde +% +Nothing matters very much, and few things matter at all. + -- Arthur Balfour +% +Nothing motivates a man more than to +see his boss put in an honest day's work. +% +Nothing, nothing, nothing, no error, no crime is so absolutely +repugnant to God as everything which is official; and why? because +the official is so impersonal and therefore the deepest insult +which can be offered to a personality. + -- Soren Kierkegaard +% +Nothing recedes like success. + -- Walter Winchell +% +Nothing shortens a journey so pleasantly as an account of misfortunes at +which the hearer is permitted to laugh. + -- Quentin Crisp +% +Nothing so needs reforming as other people's habits. + -- Mark Twain +% +Nothing succeeds like excess. + -- Oscar Wilde +% +Nothing succeeds like success. + -- Alexandre Dumas +% +Nothing succeeds like the appearance of success. + -- Christopher Lascl +% +Nothing takes the taste out of peanut butter quite like unrequited love. + -- Charlie Brown +% +Nothing that's forced can ever be right, +If it doesn't come naturally, leave it. +That's what she said as she turned out the light, +And we bent our backs as slaves of the night, +Then she lowered her guard and showed me the scars +She got from trying to fight +Saying, oh, you'd better believe it. +[...] +Well nothing that's real is ever for free +And you just have to pay for it sometime. +She said it before, she said it to me, +I suppose she believed there was nothing to see, +But the same old four imaginary walls +She'd built for livin' inside +I said oh, you just can't mean it. +[...] +Well nothing that's forced can ever be right, +If it doesn't come naturally, leave it. +That's what she said as she turned out the light, +And she may have been wrong, and she may have been right, +But I woke with the frost, and noticed she'd lost +The veil that covered her eyes, +I said oh, you can leave it. + -- Al Stewart, "If It Doesn't Come Naturally, Leave It" +% +Nothing will dispel enthusiasm like a small admission fee. + -- Kim Hubbard +% +Nothing will ever be attempted +if all possible objections must be first overcome. + -- Dr. Johnson +% +NOTICE: + Anyone seen smoking will be assumed to be on fire and will + be summarily put out. +% +NOTICE: + +-- THE ELEVATORS WILL BE OUT OF ORDER TODAY -- + +(The nearest working elevator is in the building across the street.) +% +Nouvelle cuisine, n: + French for "not enough food". + +Continental breakfast, n: + English for "not enough food". + +Tapas, n: + Spanish for "not enough food". + +Dim Sum, n: + Chinese for more food than you've ever seen in your entire life. +% +November: + The eleventh twelfth of a weariness. +% +Novinson's Revolutionary Discovery: + + When comes the revolution, things will be different -- + not better, just different. +% +Now and then an innocent man is sent to the legislature. +% +Now hatred is by far the longest pleasure; +Men love in haste, but they detest at leisure. + -- George Gordon, Lord Byron, "Don Juan" +% +Now I lay me back to sleep. +The speaker's dull; the subject's deep. +If he should stop before I wake, +Give me a nudge for goodness' sake. + -- Anonymous +% +Now I lay me down to sleep +I pray the double lock will keep; +May no brick through the window break, +And, no one rob me till I awake. +% +Now I lay me down to sleep, +I pray the Lord my soul to keep, +If I should die before I wake, +I'll cry in anguish, "Mistake!! Mistake!!" +% +Now I lay me down to study, +I pray the Lord I won't go nutty. +And if I fail to learn this junk, +I pray the Lord that I won't flunk. +But if I do, don't pity me at all, +Just lay my bones in the study hall. +Tell my teacher I've done my best, +Then pile my books upon my chest. +% +Now is the time for all good men to come to. + -- Walt Kelly +% +Now is the time for drinking; +now the time to beat the earth with unfettered foot. + -- Quintus Horatius Flaccus (Horace) +% +Now it's time to say goodbye +To all our company... +M-I-C (see you next week!) +K-E-Y (Why? Because we LIKE you!) +M-O-U-S-E. +% +Now of my threescore years and ten, +Twenty will not come again, +And take from seventy springs a score, +It leaves me only fifty more. + +And since to look at things in bloom +Fifty springs are little room, +About the woodlands I will go +To see the cherry hung with snow. + -- A.E. Housman +% +Now that day wearies me, +My yearning desire +Will receive more kindly, +Like a tired child, the starry night. + +Hands, leave off your deeds, +Mind, forget all thoughts; +All of my forces +Yearn only to sink into sleep. + +And my soul, unguarded, +Would soar on widespread wings, +To live in night's magical sphere +More profoundly, more variously. + -- Hermann Hesse, "Going to Sleep" +% +Now that you've read Fortune's diet truths, you'll be prepared the next time +some housewife or boutique owner turned diet expert appears on TV to plug +her latest book. And, if you still feel a twinge of guilt for eating coffee +cake while listening to her exhortations, ask yourself the following questions: + +1: Do I dare trust a person who actually considers alfalfa sprouts a food? +2: Was the author's sole motive in writing this book to get rich + exploiting the forlorn hopes of chubby people like me? +3: Would a longer life be worthwhile if it had to be lived as prescribed... + without French-fried onion rings, pizza with double cheese, or the + occasional Mai-Tai? (Remember, living right doesn't really make + you live longer, it just *seems* like longer.) + +That, and another piece of coffee cake, should do the trick. +% +Now the Lord God planted a garden East of Whittier in a place called +Yorba Linda, and out of the ground he made to grow orange trees that +were good for food and the fruits thereof he labeled SUNKIST... +% +Now there's a violent movie titled, "The Croquet Homicide," +or "Murder With Mallets Aforethought." + -- Shelby Friedman, WSJ. +% +Now there's three things you can do in a baseball game: +you can win or you can lose or it can rain. + -- Casey Stengel +% +Now you're ready for the actual shopping. Your goal should be to get it +over with as quickly as possible, because the longer you stay in the mall, +the longer your children will have to listen to holiday songs on the mall +public-address system, and many of these songs can damage children +emotionally. For example: "Frosty the Snowman" is about a snowman who +befriends some children, plays with them until they learn to love him, then +melts. And "Rudolph the Red-Nosed Reindeer" is about a young reindeer who, +because of a physical deformity, is treated as an outcast by the other +reindeer. Then along comes good, old Santa. Does he ignore the deformity? +Does he look past Rudolph's nose and respect Rudolph for the sensitive +reindeer he is underneath? No. Santa asks Rudolph to guide his sleigh, as +if Rudolph were nothing more than some kind of headlight with legs and a +tail. So unless you want your children exposed to this kind of insensitivity, +you should shop quickly. + -- Dave Barry +% +Nowlan's Theory: + He who hesitates is not only lost, but several miles from + the next freeway exit. +% +Now's the time to have some big ideas +Now's the time to make some firm decisions +We saw the Buddha in a bar down south +Talking politics and nuclear fission +We see him and he's all washed up -- +Moving on into the body of a beetle +Getting ready for a long long crawl +He ain't nothing -- he ain't nothing at all... + +Death and Money make their point once more +In the shape of Philosophical assassins +Mark and Danny take the bus uptown +Deadly angels for reality and passion +Have the courage of the here and now +Don't taking nothing from the half-baked buddhas +When you think you got it paid in full +You got nothing -- you got nothing at all... + We're on the road and we're gunning for the Buddha. + We know his name and he mustn't get away. + We're on the road and we're gunning for the Buddha. + It would take one shot -- to blow him away... + -- Shriekback, "Gunning for the Buddah" +% +Nuclear powered vacuuum cleaners will probably be a reality within 10 years. + -- Alex Lewyt (President of the Lewyt Corporation, + manufacturers of vacuum cleaners), quoted in The New York + Times, June 10, 1955. +% +[Nuclear war] ... may not be desirable. + -- Edwin Meese III +% +Nuclear war would mean abolition of most comforts, and disruption of +normal routines, for children and adults alike. + -- Willard F. Libby, "You Can Survive Atomic Attack" +% +Nudists are people who wear one-button suits. +% +Nuke the unborn gay female whales for Jesus. +% +Nuke them till they glow, then shoot them in the dark. +% +(null cookie; hope that's ok) +% +Nullum magnum ingenium sine mixtura dementiae fuit. + -- Seneca +% +Numeric stability is probably not all that important when you're guessing. +% +Nurse Donna: Oh, Groucho, I'm afraid I'm gonna wind up an old maid. +Groucho: Well, bring her in and we'll wind her up together. +Nurse Donna: Do you believe in computer dating? +Groucho: Only if the computers really love each other. +% +Nusbaum's Rule: + The more pretentious the corporate name, the smaller the + organization. (For instance, the Murphy Center for the + Codification of Human and Organizational Law, contrasted + to IBM, GM, and AT&T.) +% +O! If I were a fish +I'd lay hap'ly on my dish. +Yes, that's my one and only wish -- +To be a fish! + +For fish don't ever mish; +They needn't flush after they pish! +Yes, and life's just swish, swish, swish, +For all the fish!!! +% +O give me a home, +Where the buffalo roam, +Where the deer and the antelope play, +Where seldom is heard +A discouraging word, +'Cause what can an antelope say? +% +O imitators, you slavish herd! + -- Quintus Horatius Flaccus (Horace) +% +O, it is excellent +To have a giant's strength; but it is tyrannous +To use it like a giant. + -- Shakespeare, "Measure for Measure", II, 2 +% +O Lord, grant that we may always be right, +for Thou knowest we will never change our minds. +% +O love, could thou and I with fate conspire +To grasp this sorry scheme of things entire, +Might we not smash it to bits +And mould it closer to our hearts' desire? + -- Omar Khayyam, tr. FitzGerald +% +Oatmeal raisin. +% +Objects are lost only because people +look where they are not rather than where they are. +% +O'Brian's Law: + Everything is always done for the wrong reasons. +% +O'Brien held up his left hand, its back toward Winston, with the +thumb hidden and the four fingers extended. + "How many fingers am I holding up, Winston?" + "Four." + "And if the Party says that it is not four but five -- + then how many?" + "Four." + The word ended in a gasp of pain. + -- George Orwell +% +Observe yon plumed biped fine. +To activate its captivation, +Deposit on its termination, +A quantity of particles saline. +% +Obstacles are what you see when you take your eyes off your goal. +% +"Obviously, a major malfunction has occurred." + -- Steve Nesbitt, voice of Mission Control, January 28, + 1986, as the shuttle Challenger exploded within view + of the grandstands. +% +Obviously the only rational solution to your problem is suicide. +% +OCCAM'S ERASER: + The philosophical principle that even the simplest + solution is bound to have something wrong with it. +% +OCCIDENT: + The part of the world lying west (or east) of the Orient. It is + largely inhabited by Christians, powerful sub-tribe of the + Hypocrites, whose principal industries are murder and cheating, + which they are pleased to call "war" and "commerce." These, also, + are the principal industries of the Orient. + -- Ambrose Bierce +% +OCEAN: + A body of water occupying about two-thirds + of a world made for man -- who has no gills. +% +Odets, where is thy sting? + -- George S. Kaufman +% +Of all forms of caution, caution in love is the most fatal. +% +Of all men's miseries, the bitterest is this: +to know so much and have control over nothing. + -- Herodotus +% +Of all the animals, the boy is the most unmanageable. + -- Plato +% +Of all the words of witch's doom +There's none so bad as which and whom. +The man who kills both which and whom +Will be enshrined in our Who's Whom. + -- Fletcher Knebel +% +Of all things man is the measure. + -- Protagoras +% +Of course a platonic relationship is possible -- but only between +husband and wife. +% +Of course it's possible to love a human being +if you don't know them too well. + -- Charles Bukowski +% +Of course power tools and alcohol don't mix. Everyone knows power +tools aren't soluble in alcohol... + -- Crazy Nigel +% +Of course there's no reason for it, it's just our policy. +% +Of course you can't flap your arms and fly to the moon. +After awhile you'd run out of air to push against. +% +Of course you have a purpose -- to find a purpose. +% +Of what you see in books, believe 75%. Of newspapers, believe 50%. And of +TV news, believe 25% -- make that 5% if the anchorman wears a blazer. +% +Office Automation: + The use of computers to improve efficiency in the office + by removing anyone you would want to talk with over coffee. +% +Official Project Stages: + 1. Uncritical Acceptance + 2. Wild Enthusiasm + 3. Dejected Disillusionment + 4. Total Confusion + 5. Search for the Guilty + 6. Punishment of the Innocent + 7. Promotion of the Non-participants +% +Often statistics are used as a drunken man uses +lampposts -- for support rather than illumination. +% +Often things ARE as bad as they seem! +% +Ogden's Law: + The sooner you fall behind, the more time you have to catch up. +% +Oh, Aunty Em, it's so good to be home! +% +Oh, by the way, which one's Pink? + -- Pink Floyd +% +Oh don't the days seem lank and long +When all goes right and none goes wrong, +And isn't your life extremely flat +With nothing whatever to grumble at! +% +Oh Father, my Father, Oh what must I do? +They're burning our streets and beating me blue. +"Listen my son, I'll tell you the truth: +Get a close haircut and spit-shine your shoes." + +Oh Mother, my Mother, my confusions remove, +I long to embrace her whose hair is so smooth. +"Now listen my son, although you're confused, +Cut your hair close and shine all your shoes." + +Oh Teacher, my Teacher, your life with me share. +What books ought I read? What thoughts do I dare? +"Oh Student, my Student, of dissent you beware. +Shine those dull shoes and cut short your hair." + +Oh Preacher, my Preacher, does God really care? +Are all races equal? Are laws just and fair? +"Boy -- here's the answer, no need to despair: +Shine those new shoes and cut short that hair." +% +Oh freddled gruntbuggly, thy micturations are to me +As plurdled gabbleblotchits on a lurgid bee. +Groop I implore thee, my foonting turlingdromes, +And hooptiously drangle me with crinkly bindlewurdles, +Or I will rend thee in the goblerwarts with my blurglecruncheon, + see if I don't. + -- Prostetnic Vogon Jeltz +% +Oh, give me a home, +Where the buffalo roam, +And I'll show you a house with a really messy kitchen. +% +Oh, give me a locus where the gravitons focus + Where the three-body problem is solved, + Where the microwaves play down at three degrees K, + And the cold virus never evolved. (chorus) +We eat algea pie, our vacuum is high, + Our ball bearings are perfectly round. + Our horizon is curved, our warheads are MIRVed, + And a kilogram weighs half a pound. (chorus) +If we run out of space for our burgeoning race + No more Lebensraum left for the Mensch + When we're ready to start, we can take Mars apart, + If we just find a big enough wrench. (chorus) +I'm sick of this place, it's just McDonald's in space, + And living up here is a bore. + Tell the shiggies, "Don't cry," they can kiss me goodbye + 'Cause I'm moving next week to L4! (chorus) + +CHORUS: Home, home on LaGrange, + Where the space debris always collects, + We possess, so it seems, two of Man's greatest dreams: + Solar power and zero-gee sex. + -- to Home on the Range +% +Oh give me your pity! +I'm on a committee, We attend and amend +Which means that from morning And contend and defend + to night, Without a conclusion in sight. + +We confer and concur, +We defer and demur, We revise the agenda +And reiterate all of our thoughts. With frequent addenda + And consider a load of reports. + +We compose and propose, +We suppose and oppose, But though various notions +And the points of procedure are fun; Are brought up as motions, + There's terribly little gets done. + +We resolve and absolve; +But we never dissolve, +Since it's out of the question for us +To bring our committee +To end like this ditty, +Which stops with a period, thus. + -- Leslie Lipson, "The Committee" +% +"Oh, he [a big dog] hunts with papa," she said. "He says Don Carlos [the +dog] is good for almost every kind of game. He went duck hunting one time +and did real well at it. Then Papa bought some ducks, not wild ducks but, +you know, farm ducks. And it got Don Carlos all mixed up. Since the +ducks were always around the yard with nobody shooting at them he knew he +wasn't supposed to kill them, but he had to do something. So one morning +last spring, when the ground was still soft, he took all the ducks and +buried them." "What do you mean, buried them?" "Oh, he didn't hurt them. +He dug little holes all over the yard and picked up the ducks in his mouth +and put them in the holes. Then he covered them up with mud except for +their heads. He did thirteen ducks that way and was digging a hole for +another one when Tony found him. We talked about it for a long time. Papa +said Don Carlos was afraid the ducks might run away, and since he didn't +know how to build a cage he put them in holes. He's a smart dog." + -- R. Bradford, "Red Sky At Morning" +% +Oh, I am a C programmer and I'm okay + I muck with indices and structs all day +And when it works, I shout hoo-ray + Oh, I am a C programmer and I'm okay +% +Oh, I am just a typical American boy +From a typical American town. +I believe in God and Senator Dodd +And keeping old Castro down. +And when it came my time to serve +I knew better dead than red, +But when I got to my old draft board, +Buddy this is what I said: + +Sarge I'm only 18, I got a ruptured spleen +And I always carry a purse; +I got eyes like a bat and my feet are flat +And my asthma's getting worse. +Yes, think of my career and my sweetheart dear +And my poor old invalid aunt; +Besides I ain't no fool I'm going to school +And I'm working in a defense plant. + -- Phil Ochs, "Draft Dodger Rag" +% +Oh, I could while away the hours, +Smoking herbs and flowers, +Shooting up my veins, + De-dum, De-dum, De-dum +Tell you, I've been a-thinkin' +I could drive a shiny Lincoln, +If I dealt in good cocaine. + -- To If I Only Had A Brain from "The Wizard of Oz" +% +Oh, I don't blame Congress. If I had $600 billion at my disposal, I'd +be irresponsible, too. + -- Lichty & Wagner +% +Oh, I have slipped the surly bonds of earth, +And danced the skies on laughter silvered wings; +Sunward I've climbed and joined the tumbling mirth +Of sun-split clouds and done a hundred things +You have not dreamed of -- +Wheeled and soared and swung +High in the sunlit silence. +Hovering there +I've chased the shouting wind along and flung +My eager craft through footless halls of air. +Up, up along delirious, burning blue +I've topped the wind-swept heights with easy grace, +Where never lark, or even eagle flew; +And, while with silent, lifting mind I've trod +The high untrespassed sanctity of space, +Put out my hand, and touched the face of God. + -- John Gillespie Magee Jr., "High Flight" +% +Oh I'm just a typical American boy +From a typical American town. +I believe in God and Senator Dodd +And keeping old Castro down. +And when it came my time to serve +I knew "Better Dead Than Red", +But when I got to my old draft board, +Buddy, this is what I said: + +Chorus: + Sarge, I'm only eighteen, I've got a ruptured spleen, + And I always carry a purse! + I've got eyes like a bat and my feet are flat, + And my asthma's getting worse! + Yes, think of my career and my sweetheart dear, + And my poor old invalid aunt! + Besides I ain't no fool, I'm a-going to school + And I'm a-working in a defense plant! + -- Phil Ochs, "Draft Dodger Rag" +% +Oh Lord, won't you buy me a 4BSD? +My friends all got sources, so why can't I see? +Come all you moby hackers, come sing it out with me: +To hell with the lawyers from AT&T! +% +Oh, love is real enough, you will find it some day, but it has one +arch-enemy -- and that is life. + -- Jean Anouilh, "Ardele" +% +Oh, my friend, it is not what they take away from you that counts -- +it's what you do with what you have left. + -- Hubert H. Humphrey +% +Oh, so there you are! +% +Oh, the Slithery Dee, he crawled out of the sea. +He may catch all the others, but he won't catch me. +No, he won't catch me, stupid ol' Slithery Dee. +He may catch all the others, but AAAARRRRGGGGHHHH!!!! + -- The Smothers Brothers +% +Oh this age! How tasteless and ill-bred it is. + -- Gaius Valerius Catullus +% +Oh wearisome condition of humanity! +Born under one law, to another bound. + -- Fulke Greville, Lord Brooke +% +Oh, well, I guess this is just going to be one of those lifetimes. +% +Oh what a tangled web we weave, when first we practice to deceive. + -- Shakespeare +% +Oh, when I was in love with you, + Then I was clean and brave, +And miles around the wonder grew + How well did I behave. + +And now the fancy passes by, + And nothing will remain, +And miles around they'll say that I + Am quite myself again. + -- A.E. Housman +% +Oh, wow! Look at the moon! +% +Oh, ya doesn't have ta call me 'Johnson'! Well, you can call me 'Ray', or +you can call me 'Jay', or you can call me 'R.J.', or you can call me 'Ray +J.', or you can call me 'R.J.J.', or you can call me 'Ray J. Johnson', or +you can call me 'R.J. Johnson', but ya DOESN'T have to call me 'Johnson'... +% +Oh yeah? Well, I remember when sex was dirty and the air was clean. +% +Oh, yeah, life goes on, long after the thrill of livin' is gone. + -- John Cougar, "Jack and Diane" +% +O.K., fine. +% +Okay, Okay -- I admit it. You didn't change that program that worked +just a little while ago; I inserted some random characters into the +executable. Please forgive me. You can recover the file by typing in +the code over again, since I also removed the source. +% +Old age and treachery will overcome youth and skill. +% +Old age is always fifteen years old than I am. + -- B. Baruch +% +Old age is the harbor of all ills. + -- Bion +% +Old age is the most unexpected of things that can happen to a man. + -- Trotsky +% +Old age is too high a price to pay for maturity. +% +Old Grandad is dead but his spirits live on. +% +Old Japanese proverb: + There are two kinds of fools -- those who never climb Mt. Fuji, +and those who climb it twice. +% +Old MacDonald had an agricultural real estate tax abatement. +% +Old mail has arrived. +% +Old men are fond of giving good advice to console +themselves for their inability to set a bad example. + -- La Rochefoucauld, "Maxims" +% +Old Mother Hubbard went to the cupboard +To fetch her poor daughter a dress. +When she got there, the cupboard was bare +And so was her daughter, I guess... +% +Old musicians never die, they just decompose. +% +Old programmers never die, they just become managers. +% +Old programmers never die, they just branch to a new address. +% +Old programmers never die, they just hit account block limit. +% +Old soldiers never die. Young ones do. +% +Old timer, n: + One who remembers when charity was a virtue and not an organization. +% +Oliver's Law: + Experience is something you don't get until just after you need it. +% +omnibiblious, adj.: + Indifferent to type of drink. Ex: "Oh, you can get me anything. + I'm omnibiblious." +% +On a clear day, U.C.L.A. +% +On a clear disk you can seek forever. + -- P. Denning +% +On a paper submitted by a physicist colleague: + +"This isn't right. This isn't even wrong." + -- Wolfgang Pauli +% +On a tous un peu peur de l'amour, mais on +a surtout peur de souffrir ou de faire souffrir. + +[One is always a little afraid of love, but +above all, one is afraid of pain or causing pain.] +% +On ability: + A dwarf is small, even if he stands on a mountain top; + a colossus keeps his height, even if he stands in a well. + -- Lucius Annaeus Seneca, 4BC - 65AD +% +On account of being a democracy and run by the people, we are the only +nation in the world that has to keep a government four years, no matter +what it does. + -- Will Rogers +% +On account of us being a democracy and run by the people, we are the only +nation in the world that has to keep a government four years, no matter +what it does. + -- The Best of Will Rogers +% +On his way back from work, a driver came upon a horrible wreck in which one +car looked exactly like his neighbor's. Stopping hurriedly on the side of +the road, he ran toward the smoldering debris. + "Listen, mister," a policeman said, holding him back, "I can't let +you come any closer." + "But that may be my friend, Henry, in there," the anguished man +explained. + "OK, but it's pretty grisly," the cop cautioned. "There was a +decapitation." + The policeman reached into the back seat of the demolished car and +pulled forth the head, holding it at arm's length. "Is this your friend?" + "That's not him -- thank heavens," the man said. "Henry's much +taller." +% +On Monday mornings I am dedicated to the +proposition that all men are created jerks. + -- H. Allen Smith, "Let the Crabgrass Grow" +% +On Thanksgiving Day all over America, families sit down to dinner at the +same moment -- halftime. +% +On the eighth day, God created FORTRAN. +% +On the night before her family moved from Kansas to California, the little +girl knelt by her bed to say her prayers. "God bless Mommy and Daddy and +Keith and Kim," she said. As she began to get up, she quickly added, "Oh, +and God, this is goodbye. We're moving to Hollywood." +% +On the road, ZIPPY is a pinhead without +a purpose, but never without a POINT. +% +On the whole, I'd rather be in Philadelphia. + -- W.C. Fields' epitaph +% +On two occasions I have been asked [by members of Parliament!], "Pray, Mr. +Babbage, if you put into the machine wrong figures, will the right answers +come out?" I am not able rightly to apprehend the kind of confusion of +ideas that could provoke such a question. + -- Charles Babbage +% +Once ... in the wilds of Afghanistan, I lost my corkscrew, +and we were forced to live on nothing but food and water for days. + -- W.C. Fields, "My Little Chickadee" +% +Once a word has been allowed to escape, it cannot be recalled. + -- Quintus Horatius Flaccus (Horace) +% +Once, adv.: Enough. +% +Once again dread deed is done. +Canon sleeps, +his all-knowing eye shaded +to human chance and circumstance. +Peace reigns anew o'er Pine Valley, +but Canon's sleep is troubled. + +Beware, scant days past the Ides of July. +Impatient hands wait eagerly +to grasp, to hold +scant moments of time +wrested from life in the full +glory of Canon's power; +held captive by his unblinking eye. + +Three golden orbs stand watch; +one each to toll the day, hour, minute +until predestiny decrees his reawakening. +When that feared moment arives, +"Ask not for whom the bell tolls, +It tolls for thee." + -- "I extended the loan on your Camera, at the Pine + Valley Pawn Shop today" +% +Once Again From the Top + +Correction notice in the Miami Herald: "Last Sunday, The Herald erroneously +reported that original Dolphin Johnny Holmes had been an insurance salesman +in Raleigh, North Carolina, that he had won the New York lottery in 1982 and +lost the money in a land swindle, that he had been charged with vehicular +homicide, but acquitted because his mother said she drove the car, and that +he stated that the funniest thing he ever saw was Flipper spouting water on +George Wilson. Each of these items was erroneous material published +inadvertently. He was not an insurance salesman in Raleigh, did not win the +lottery, neither he nor his mother was charged or involved in any way with +vehicular homicide, and he made no comment about Flipper or George Wilson. +The Herald regrets the errors." + -- "The Progressive", March, 1987 +% +Once again, we come to the Holiday Season, a deeply religious time that each +of us observes, in his own way, by going to the mall of his choice. + In the old days, it was not called the Holiday Season; the Christians +called it "Christmas" and went to church; the Jews called it "Hanukka" and +went to synagogue; the atheists went to parties and drank. People passing +each other on the street would say "Merry Christmas!" or "Happy Hanukka!" +or (to the atheists) "Look out for the wall!" +... + Once you're safely in the mall, you should tie your children to you +with ropes so the other shoppers won't try to buy them. Holiday shoppers +have been whipped into a frenzy by months of holiday advertisements, and +they will buy anything small enough to stuff into a shopping bag. If your +children object to being tied, threaten to take them to see Santa Claus; +that ought to shut them up. + -- Dave Barry +% +Once at a social gathering, Gladstone said to Disraeli, "I predict, Sir, +that you will die either by hanging or of some vile disease". Disraeli +replied, "That all depends upon whether I embrace your principals or your +mistress". +% +Once harm has been done, even a fool understands it. + -- Homer +% +Once he had one leg in the White House and the nation trembled under his +roars. Now he is a tinpot pope in the Coca-Cola belt and a brother to the +forlorn pastors who belabor halfwits in galvanized iron tabernacles behind +the railroad yards." + -- H.L. Mencken, writing of William Jennings Bryan, + counsel for the supporters of Tennessee's anti-evolution + law at the Scopes "Monkey Trial" in 1925. +% +Once I finally figured out all of life's +answers, they changed the questions. +% +Once, I read that a man be never stronger +than when he truly realizes how weak he is. + -- Jim Starlin, "Captain Marvel #31" +% +Once is happenstance, +Twice is coincidence, +Three times is enemy action. + -- Auric Goldfinger +% +Once it hits the fan, the only rational choice is to +sweep it up, package it, and sell it as fertilizer. +% +Once Law was sitting on the bench + And Mercy knelt a-weeping. +"Clear out!" he cried, "disordered wench! + Nor come before me creeping. +Upon your knees if you appear, +'Tis plain you have no standing here." + +Then Justice came. His Honor cried: + "YOUR states? -- Devil seize you!" +"Amica curiae," she replied -- + "Friend of the court, so please you." +"Begone!" he shouted -- "There's the door -- +I never saw your face before!" +% +Once the realization is accepted that even between the closest human beings +infinite distances continue to exist, a wonderful living side by side can +grow up, if they succeed in loving the distance between them which makes it +possible for each to see each other whole against the sky. + -- Rainer Rilke +% +Once the toothpaste is out of the tube, it's hard to get it back in. + -- H.R. Haldeman +% +Once there was a little nerd who loved to read your mail, +And then yank back the i-access times to get hackers off his tail, +And once as he finished reading from the secretary's spool, +He wrote a rude rejection to her boyfriend (how uncool!) +And this as delivermail did work and he ran his backfstat, +He heard an awful crackling like rat fritters in hot fat, +And hard errors brought the system down 'fore he could even shout! + And the bio bug'll bring yours down too, ef you don't watch out! +And once they was a little flake who'd prowl through the uulog, +And when he went to his blit that night to play at being god, +The ops all heard him holler, and they to the console dashed, +But when they did a ps -ut they found the system crashed! +Oh, the wizards adb'd the dumps and did the system trace, +And worked on the file system 'til the disk head was hot paste, +But all they ever found was this: "panic: never doubt", + And the bio bug'll crash your box too, ef you don't watch out! +When the day is done and the moon comes out, +And you hear the printer whining and the rk's seems to count, +When the other desks are empty and their terminals glassy grey, +And the load is only 1.6 and you wonder if it'll stay, +You must mind the file protections and not snoop around, + Or the bio bug'll getcha and bring the system down! +% +Once there was this conductor see, who had a bass problem. You see, during +a portion of Beethovan's Ninth Symphony in which there are no bass violin +parts, one of the bassists always passed a bottle of scotch around. So, +to remind himself that the basses usually required an extra cue towards the +end of the symphony, the conductor would fasten a piece of string around the +page of the score before the bass cue. As the basses grew more and more +inebriated, two of them fell asleep. The conductor grew quite nervous (he +was very concerned about the pitch) because it was the bottom of the ninth; +the score was tied and the basses were loaded with two out. +% +Once upon a time there... +% +Once upon a time there was a kingdom ruled by a great bear. The peasants +were not very rich, and one of the few ways to become at all wealthy was +to become a Royal Knight. This required an interview with the bear. If +the bear liked you, you were knighted on the spot. If not, the bear would +just as likely remove your head with one swat of a paw. However, the family +of these unfortunate would-be knights was compensated with a beautiful +sheepdog from the royal kennels, which was itself a fairly valuable +possession. And the moral of the story is: + +The mourning after a terrible knight, nothing beats the dog of the bear that +hit you. +% +Once upon this midnight incoherent, +While you pondered sentient and crystalline, +Over many a broken and subordinate +Volume of gnarly lore, +While I pestered, nearly singing, +Sudddenly there came a hewing, +As of someone profusely skulking, +Skulking at my chamber door. +% +Once you've seen one nuclear war, you've seen them all. +% +Once you've tried to change the world you find +it's a whole bunch easier to change your mind. +% +"One Architecture, One OS" also translates as "One Egg, One Basket". +% +One Bell System - it sometimes works. +% +One Bell System - it used to work before they installed the Dimension! +% +One Bell System - it works. +% +One big pile is better than two little piles. + -- Arlo Guthrie +% +One can never consent to creep when one feels an impulse to soar. + -- Helen Keller +% +One can search the brain with a microscope and not find the +mind, and can search the stars with a telescope and not find God. + -- J. Gustav White +% +One cannot make an omelette without breaking eggs -- but it is amazing +how many eggs one can break without making a decent omelette. +% +One can't proceed from the informal to the formal by formal means. +% +One could not be a successful scientist without realizing that, in contrast +to the popular conception supported by newspapers and mothers of scientists, +a goodly number of scientists are not only narrow-minded and dull, but also +just stupid. + -- J.D. Watson, "The Double Helix" +% +One day an elderly Jewish Pole, living in Warsaw, finds an old lamp in his +attic. He starts to polish it and (poof!) a genie appears in cloud of smoke. + "Greetings, Mortal!" exclaims the genie, stretching and yawning, "For +releasing me I will grant you three wishes." + The old man thinks for a moment, then replies, "I want Genghis Khan +resurrected. I want him to re-unite the Mongol hordes, march to the Polish +border, decide he doesn't want to invade, and march back home." + "No sooner said than done!" thunders the genie. "Your second wish?" + "Hmmmm. I want Genghis Khan resurrected. I want him to re-unite the +Mongol hordes, march to the Polish border, decide he doesn't want to invade, +and march back home." + "But... well, all right! Your third wish?" + "I want Genghis Khan resurrected. I want him to re-unite his ---" + "OKOKOKOK! Right. Got it. Why do you want Genghis Khan to march +to Poland three times and never invade?" + The old man smiles. "He has to pass through Russia six times." +% +One day President Reagan, Chairman Brezhnev, the Pope, and a boy scout were +flying together in an airplane. Right out in the middle of nowhere the plane +developed engine trouble and started to go down. Unfortunately, only three +parachutes could be found for the four passengers! Brezhnev grabbed one of +the parachutes and declared "Comrades, as leader of the socialist workers +revolution, my life must be spared." And he jumped out of the plane. Then +Reagan exclaimed "As leader of the greatest nation on earth, I must keep the +world safe for democracy." And with that he too jumped to safety. Now if +you are following all this (or counting on your fingers) you must see that +there is only one parachute left for the two remaining passengers. The Pope +looked kindly upon the boy scout and said "I have had a long and productive +life, my son. You take the parachute and leave me in God's hands." "That's +very kind of you," the observant scout replied, "but there is no need. Reagan +just jumped out with my knapsack." +% +One day the King decided that he would force all his subjects to tell the +truth. A gallows was erected in front of the city gates. A herald announced, +"Whoever would enter the city must first answer the truth to a question +which will be put to him." Nasrudin was first in line. The captain of the +guard asked him, "Where are you going? Tell the truth -- the alternative +is death by hanging." + "I am going," said Nasrudin, "to be hanged on that gallows." + "I don't believe you." + "Very well, if I have told a lie, then hang me!" + "But that would make it the truth!" + "Exactly," said Nasrudin, "your truth." +% +One day this guy is finally fed up with his middle-class existence and +decides to do something about it. He calls up his best friend, who is a +mathematical genius. "Look," he says, "do you suppose you could find some +way mathematically of guaranteeing winning at the race track? We could +make a lot of money and retire and enjoy life." The mathematician thinks +this over a bit and walks away mumbling to himself. + A week later his friend drops by to ask the genius if he's had any +success. The genius, looking a little bleary-eyed, replies, "Well, yes, +actually I do have an idea, and I'm reasonably sure that it will work, but +there a number of details to be figured out. + After the second week the mathematician appears at his friend's house, +looking quite a bit rumpled, and announces, "I think I've got it! I still have +some of the theory to work out, but now I'm certain that I'm on the right +track." + At the end of the third week the mathematician wakes his friend by +pounding on his door at three in the morning. He has dark circles under his +eyes. His hair hasn't been combed for many days. He appears to be wearing +the same clothes as the last time. He has several pencils sticking out from +behind his ears and an almost maniacal expression on his face. "WE CAN DO +IT! WE CAN DO IT!!" he shrieks. "I have discovered the perfect solution!! +And it's so EASY! First, we assume that horses are perfect spheres in simple +harmonic motion..." +% +One day, +A mad meta-poet, +With nothing to say, +Wrote a mad meta-poem +That started: "One day, +A mad meta-poet, +With nothing to say, +Wrote a mad meta-poem +That started: "One day, +[...] +sort of close". +Were the words that the poet, +Finally chose, +To bring his mad poem, +To some sort of close". +Were the words that the poet, +Finally chose, +To bring his mad poem, +To some sort of close". +% +One difference between a man and a machine +is that a machine is quiet when well oiled. +% +One doesn't have a sense of humor. It has you. + -- Larry Gelbart +% +One dusty July afternoon, somewhere around the turn of the century, Patrick +Malone was in Mulcahey's Bar, bending an elbow with the other street car +conductors from the Brooklyn Traction Company. While they were discussing the +merits of a local ring hero, the bar goes silent. Malone turns around to see +his wife, with a face grim as death, stalking to the bar. + Slapping a four-bit piece down on the bar, she draws herself up to her +full five feet five inches and says to Mulcahey, "Give me what himself has +been havin' all these years." + Mulcahey looks at Malone, who shrugs, and then back at Margaret Mary +Malone. He sets out a glass and pours her a triple shot of Rye. The bar is +totally silent as they watch the woman pick up the glass and knock back the +drink. She slams the glass down on the bar, gasps, shudders slightly, and +passes out; falling straight back, stiff as a board, saved from sudden contact +with the barroom floor by the ample belly of Seamus Fogerty. + Sometime later, she comes to on the pool table, a jacket under her +head. Her bloodshot eyes fell upon her husband, who says, "And all these +years you've been thinkin' I've been enjoying meself." +% +One expresses well the love he does not feel. + -- J.A. Karr +% +One family builds a wall, two families enjoy it. +% +One father is more than a hundred schoolmasters. + -- George Herbert +% +One friend in a lifetime is much; two are many; three are hardly possible. +Friendship needs a certain parallelism of life, a community of thought, +a rivalry of aim. + -- Henry Brook Adams +% +One girl can be pretty -- but a dozen are only a chorus. + -- F. Scott Fitzgerald, "The Last Tycoon" +% +One good reason why computers can do more work than +people is that they never have to stop and answer the phone. +% +One good suit is worth a thousand resumes. +% +One good thing about music, +Well, it helps you feel no pain. +So hit me with music; +Hit me with music now. + -- Bob Marley, "Trenchtown Rock" +% +One good turn asketh another. + -- John Heywood +% +One good turn deserves another. + -- Gaius Petronius +% +One good turn usually gets most of the blanket. +% +One has to look out for engineers -- they begin with sewing machines +and end up with the atomic bomb. + -- Marcel Pagnol +% +One hundred women are not worth a single testicle. + -- Confucius +% +One is not superior merely because one sees the world as odious. + -- Chateaubriand (1768-1848) +% +One is often kept in the right road by a rut. + -- Gustave Droz +% +ONE LIFE TO LIVE for ALL MY CHILDREN in +ANOTHER WORLD all THE DAYS OF OUR LIVES. +% +One man tells a falsehood, a hundred repeat it as true. +% +One man's constant is another man's variable. + -- A.J. Perlis +% +One man's folly is another man's wife. + -- Helen Rowland +% +One man's "magic" is another man's engineering. +"Supernatural" is a null word. +% +One man's Mede is another man's Persian. + -- George M. Cohan +% +One man's theology is another man's belly laugh. +% +One measure of friendship consists not in the number of things friends +can discuss, but in the number of things they need no longer mention. + -- Clifton Fadiman +% +One meets his destiny often on the road he takes to avoid it. +% +One must have a heart of stone to read the death of Little Nell by Dickens +without laughing. + -- Oscar Wilde +% +One nice thing about egotists: they don't talk about other people. +% +One nuclear bomb can ruin your whole day. +% +One of my less pleasant chores when I was young was to read the Bible from +one end to the other. Reading the Bible straight through is at least 70 +percent discipline, like learning Latin. But the good parts are, of course, +simply amazing. God is an extremely uneven writer, but when He's good, +nobody can touch him. + -- John Gardner, NYT Book Review, Jan. 1983 +% +One of the chief duties of the mathematician in acting as an +advisor... is to discourage... from expecting too much from +mathematics. + -- N. Wiener +% +One of the disadvantages of having children is that they eventually get old +enough to give you presents they make at school. + -- Robert Byrne +% +One of the large consolations for experiencing anything +unpleasant is the knowledge that one can communicate it. + -- Joyce Carol Oates +% +One of the lessons of history is that nothing is often a good thing to +do and always a clever thing to say. + -- Will Durant +% +One of the major difficulties Trillian experienced in her relationship with +Zaphod was learning to distinguish between him pretending to be stupid just +to get people off their guard, pretending to be stupid because he couldn't +be bothered to think and wanted someone else to do it for him, pretending +to be so outrageously stupid to hide the fact that he actually didn't +understand what was going on, and really being genuinely stupid. He was +reknowned for being quite clever and quite clearly was so -- but not all the +time, which obviously worried him, hence the act. He preferred people to be +puzzled rather than contemptuous. This above all appeared to Trillian to be +genuinely stupid, but she could no longer be bothered to argue about. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" +% +One of the most overlooked advantages to computers is... If they do +foul up, there's no law against whacking them around a little. + -- Joe Martin +% +One of the most striking differences between a +cat and a lie is that a cat has only nine lives. + -- Mark Twain +% +One of the pleasures of reading old letters is the knowledge that they +need no answer. + -- George Gordon, Lord Byron +% +One of the rules of Busmanship, New York style, is never surrender your +seat to another passenger. This may seem callous, but it is the best +way, really. If one passenger were to give a seat to someone who fainted +in the aisle, say, the others on the bus would become disoriented and +imagine they were in Topeka Kansas. +% +One of the signs of Napoleon's greatness is the fact that he +once had a publisher shot. + -- Siegfried Unseld +% +One of the worst of my many faults is that I'm too critical of myself. +% +One of your most ancient writers, a historian named Herodotus, tells of a +thief who was to be executed. As he was taken away he made a bargain with +the king: in one year he would teach the king's favorite horse to sing +hymns. The other prisoners watched the thief singing to the horse and +laughed. "You will not succeed," they told him. "No one can." + To which the thief replied, "I have a year, and who knows what might +happen in that time. The king might die. The horse might die. I might die. +And perhaps the horse will learn to sing. + -- "The Mote in God's Eye", Niven and Pournelle +% +One organism, one vote. +% +One person's error is another person's data. +% +One picture is worth 128K words. +% +One picture is worth more than ten thousand words. + -- Chinese proverb +% +One pill makes you larger And if you go chasing rabbits +And, one pill makes you small. And you know you're going to fall. +And the ones that mother gives you, Tell 'em a hookah smoking caterpillar +Don't do anything at all. Has given you the call. +Go ask Alice Call Alice +When she's ten feet tall. When she was just small. + +When men on the chessboard When logic and proportion +Get up and tell you where to go. Have fallen sloppy dead, +And you've just had some kind of And the White Knight is talking + mushroom backwards +And your mind is moving low. And the Red Queen's lost her head +Go ask Alice Remember what the dormouse said: +I think she'll know. Feed your head. + Feed your head. + Feed your head. + -- Jefferson Airplane, "White Rabbit" +% +One planet is all you get. +% +One possible reason that things aren't going according to plan +is that there never was a plan in the first place. +% +One possible reason why things aren't going +according to plan is that there never was a plan. +% +One promising concept that I came up with right away was that you could +manufacture personal air bags, then get a law passed requiring that they be +installed on congressmen to keep them from taking trips. Let's say your +congressman was trying to travel to Paris to do a fact-finding study on how +the French government handles diseases transmitted by sherbet. Just when +he got to the plane, his mandatory air bag, strapped around his waist, would +inflate -- FWWAAAAAAPPPP -- thus rendering him too large to fit through the +plane door. It could also be rigged to inflate whenever the congressman +proposed a law. ("Mr. Speaker, people ask me, why should October be +designated as Cuticle Inspection Month? And I answer that FWWAAAAAAPPPP.") +This would save millions of dollars, so I have no doubt that the public +would violently support a law requiring airbags on congressmen. The problem +is that your potential market is very small: there are only around 500 +members of congress. +% +One reason why George Washington +Is held in such veneration: +He never blamed his problems +On the former Administration. + -- George O. Ludcke +% +One Saturday afternoon, during the campaign to decide whether or not there +should be a Coastal Commission, I took a helicopter ride from Los Angeles +to San Diego. We passed several state beaches, some crowded and some +virtually empty. They had the same facilities, and in some cases the crowded +and the empty beach were within a quarter mile of each other. Obviously +many beach-goers prefer to be crowded together. Buying more beaches that +people won't go to because they prefer to be crowded together on one beach +is a ridiculous waste of our natural resources and our taxes. + -- Ronald Reagan +% +One seldom sees a monument to a committee. +% +One should always be in love. That is the reason one should never marry. + -- Oscar Wilde +% +ONE SIZE FITS ALL: + Doesn't fit anyone. +% +One small step for man, one giant stumble for mankind. +% +One thing about the past. +It's likely to last. + -- Ogden Nash +% +ONE THING KIDS LIKE is to be tricked. For instance, I was going to take +my little nephew to Disneyland, but instead I drove him to a burned-out +warehouse. "Oh, oh," I said. "Disneyland burned down." He cried and +cried, but I think that deep down he thought it was a pretty good joke. + +I started to drive over to the real Disneyland, but it was getting pretty +late. + -- Jack Handley, The New Mexican, 1988. +% +One thing the inventors can't seem to +get the bugs out of is fresh paint. +% +One thing they don't tell you about doing experimental physics is that +sometimes you must work under adverse conditions... like a state of sheer +terror. + -- W.K. Hartmann +% +One thought driven home is better than three left on base. +% +One time the police stopped me for speeding. They said, "Don't you know the +speed limit is fifty-five miles an hour?" I said, "Yeah, I know, but I wasn't +going to be out that long." + -- Steven Wright +% +One toke over the line, sweet Mary, +One toke over the line, +Sittin' downtown in a railway station, +One toke over the line. +Waitin' for the train that goes home, +Hopin' that the train is on time, +Sittin' downtown in a railway station, +One toke over the line. +% +One way to stop a run away horse is to bet on him. +% +One, with God, is always a majority, but many a martyr has been burned at +the stake while the votes were being counted. + -- Thomas B. Reed +% +One would like to stroke and caress human beings, but one dares not do so, +because they bite. + -- Vladimir Lenin +% +One-Shot Case Study, n: + The scientific equivalent of the four-leaf clover, from which +it is concluded all clovers possess four leaves and are sometimes green. +% +On-line: + The idea that a human being should always be accessible to a computer. +% +Only a fool has no doubts. +% +Only a mediocre person is always at his best. + -- Laurence Peter +% +Only adults have difficulty with childproof caps. +% +Only fools are quoted. + -- Anonymous +% +Only God can make random selections. +% +Only great masters of style can succeed in being obtuse. + -- Oscar Wilde + +Most UNIX programmers are great masters of style. + -- The Unnamed Usenetter +% +Only Irish coffee provides in a single glass all four +essential food groups -- alcohol, caffeine, sugar, and fat. + -- Alex Levine + +[Oh come on, everybody knows that the four basic food groups are +hot sugar, cold sugar, carbohydrates and grease. Ed.] +% +Only kings, presidents, editors, and people with tapeworms have the right +to use the editorial "we". +% +Only someone with nothing to be sorry for +smiles back at the rear of an elephant. +% +Only that in you which is me can hear what I'm saying. + -- Baba Ram Dass +% +Only the fittest survive. The vanquished acknowledge their unworthiness by +placing a classified ad with the ritual phrase "must sell -- best offer," +and thereafter dwell in infamy, relegated to discussing gas mileage and lawn +food. But if successful, you join the elite sodality that spends hours +unpurifying the dialect of the tribe with arcane talk of bits and bytes, RAMS +and ROMS, hard disks and baud rates. Are you obnoxious, obsessed? It's a +modest price to pay. For you have tapped into the same awesome primal power +that produces credit-card billing errors and lost plane reservations. Hail, +postindustrial warrior, subduer of Bounceoids, pride of the cosmos, keeper of +the silicone creed: Computo, ergo sum. The force is with you -- at 110 volts. +May your RAMS be fruitful and multiply. + -- Curt Suplee, "Smithsonian", 4/83 +% +Only the hypocrite is really rotten to the core. + -- Hannah Arendt +% +Only those who leisurely approach that which the masses are +busy about can be busy about that which the masses take leisurely. + -- Lao Tsu +% +Only two groups of people fall for flattery -- men and women. +% +Only two kinds of witnesses exist. The first live in a neighborhood where +a crime has been committed and in no circumstances have ever seen anything +or even heard a shot. The second category are the neighbors of anyone who +happens to be accused of the crime. These have always looked out of their +windows when the shot was fired, and have noticed the accused person standing +peacefully on his balcony a few yards away. + -- Sicilian police officer +% +Only two of my personalities are schizophrenic, but one +of them is paranoid and the other one is out to get him. +% +Only way to open lips of pigeon, sledgehammer. +% +Ontogeny recapitulates phylogeny. +% +Onward through the fog. +% +Operator, please trace this call and tell me where I am. +% +Opiates are the religion of the upper-middle classes. + -- Debbie VanDam +% +Opium is very cheap considering you don't +feel like eating for the next six days. + -- Taylor Mead, famous transvestite +% +Oppernockity tunes but once. +% +Opportunities are usually disguised as hard +work, so most people don't recognize them. +% +Oprah Winfrey has an incredible talent for getting the weirdest people to +talk to. And you just HAVE to watch it. "Blind, masochistic minority, +crippled, depressed, government latrine diggers, and the women who love +them too much on the next Oprah Winfrey." +% +Optimism is the content of small men in high places. + -- F. Scott Fitzgerald, "The Crack Up" +% +Optimism, n: +The belief that everything is beautiful, including what is ugly, good, bad, +and everything right that is wrong. It is held with greatest tenacity by +those accustomed to falling into adversity, and most acceptably expounded +with the grin that apes a smile. Being a blind faith, it is inaccessible +to the light of disproof -- an intellectual disorder, yielding to no treatment +but death. It is hereditary, but not contagious. +% +OPTIMIST: + A proponent of the belief that black is white. + + A pessimist asked God for relief. + "Ah, you wish me to restore your hope and cheerfulness," said God. + "No," replied the petitioner, "I wish you to create something that +would justify them." + "The world is all created," said God, "but you have overlooked +something -- the mortality of the optimist." + -- Ambrose Bierce, "The Devil's Dictionary" +% +OPTIMIST: + Someone who goes down to the marriage + bureau to see if his license has expired. +% +optimist, n: + A bagpiper with a beeper. +% +Optimization hinders evolution. +% +Or you or I must yield up his life to Ahrimanes. I would rather it were you. +I should have no hesitation in sacrificing my own life to spare yours, but +we take stock next week, and it would not be fair on the company. + -- J. Wellington Wells +% +Oral sex is like being attacked by a giant snail. + -- Germaine Greer +% +Orcs really aren't so bad (if you use lots of catsup). +% +Order and simplification are the first steps toward +mastery of a subject -- the actual enemy is the unknown. + -- Thomas Mann +% +OREGON: + Eighty billion gallons of water with + no place to go on Saturday night. +% +O'Reilly's Law of the Kitchen: +Cleanliness is next to impossible +% +Oreo +% +Organic chemistry is the chemistry of carbon compounds. +Biochemistry is the study of carbon compounds that crawl. + -- Mike Adams +% +Original thought is like original sin: both happened before you were born +to people you could not have possibly met. + -- Fran Lebowitz, "Social Studies" +% +Osborn's Law: + Variables won't; constants aren't. +% +Other than that, Mrs. Lincoln, how did you like the play? +% +Other women cloy +The appetites they feed, but she makes hungry +Where most she satisfies. + -- Antony and Cleopatra +% +Others can stop you temporarily, only you can do it permanently. +% +Others will look to you for stability, +so hide when you bite your nails. +% +O'Toole's commentary on Murphy's Law: + Murphy was an optimist. +% +Ouch! That felt good! + -- Karen Gordon +% +"Our attitude with TCP/IP is, `Hey, we'll do it, but don't make a big +system, because we can't fix it if it breaks -- nobody can.'" + +"TCP/IP is OK if you've got a little informal club, and it doesn't make +any difference if it takes a while to fix it." + -- Ken Olson, in Digital News, 1988 +% +Our business in life is not to succeed +but to continue to fail in high spirits. + -- Robert Louis Stevenson +% +Our congratulations go to a Burlington Vermont civilian employee of the +local Army National Guard base. He recently received a substational cash +award from our government for inventing a device for optical scanning. +His device reportedly will save the government more than $6 million a year +by replacing a more expensive helicopter maintenance tool with his own, +home-made, hand-held model. + +Not suprisingly, we also have a couple of money-saving ideas that we submit +to the Pentagon free of charge: + + a. Don't kill anybody. + b. Don't build things that do. + c. And don't pay other people to kill anybody. + +We expect annual savings to be in the billions. + -- Sojourners +% +Our country has plenty of good five-cent cigars, +but the trouble is they charge fifteen cents for them. +% +Our documentation manager was showing her 2 year old son around the office. +He was introduced to me, at which time he pointed out that we were both +holding bags of popcorn. We were both holding bottles of juice. But only +*he* had a lollipop. + He asked his mother, "Why doesn't HE have a lollipop?" + Her reply: "He can have a lollipop any time he wants to. That's +what it means to be a programmer." +% +Our government has kept us in a perpetual state of fear -- kept us in a +continuous stampede of patriotic fervor -- with the cry of grave national +emergency... Always there has been some terrible evil to gobble us up if we +did not blindly rally behind it by furnishing the exorbitant sums demanded. +Yet, in retrospect, these disasters seem never to have happened, seem never +to have been quite real. + -- General Douglas MacArthur, 1957 +% +Our houseplants have a good sense of humous. +% +Our informal mission is to improve the love life of operators worldwide. + -- Peter Behrendt, president of Exabyte +% +Our little systems have their day; +They have their day and cease to be; +They are but broken lights of thee. + -- Tennyson +% +Our OS who art in CPU, UNIX be thy name. +Thy programs run, thy syscalls done, +In kernel as it is in user. +% +Our parents were of Midwestern stock and very strict. They didn't want us +to grow up to be spoiled and rich. If we left our tennis racquets in the +rain, we were punished. + -- Nancy Ellis (George Bush's sister), in the New Republic +% +Our policy is, when in doubt, do the right thing. + -- Roy L. Ash, ex-president, Litton Industries +% +Our problems are so serious that the best +way to talk about them is lightheartedly. +% +Our sires' age was worse that our grandsires'. +We their sons are more worthless than they: +so in our turn we shall give the world a progeny yet more corrupt. + -- Quintus Horatius Flaccus (Horace) +% +Our swords shall play the orators for us. + -- Christopher Marlowe +% +Our universe itself keeps on expanding and expanding, +In all of the directions it can whiz; +As fast as it can go, that's the speed of light, you know, +Twelve million miles a minute and that's the fastest speed there is. +So remember, when you're feeling very small and insecure, +How amazingly unlikely is your birth; +And pray that there's intelligent life somewhere out in space, +'Cause there's bugger all down here on Earth! + -- Monty Python +% +Ours is a world of nuclear giants and ethical infants. + -- General Omar N. Bradley +% +Ours is a world where people don't know what they +want and are willing to go through hell to get it. +% +Out of sight is out of mind. + -- Arthur Clough +% +Out of the crooked timber of humanity no straight thing can ever be made. + -- Immanuel Kant +% +Out of the mouths of babes does often come cereal. +% +Outside of a dog, a book is a man's best friend. Inside a dog it's too +dark to read. +% +Outside of a dog, a book is man's best friend. Inside of a dog, it is too +dark to read. + -- Groucho Marx +% +Outside of a dog, a book is man's best friend. Inside of a dog, it's too +dark to read. + -- Groucho Marx +% +Over the shoulder supervision is more a +need of the manager than the programming task. +% +Overall, the philosophy is to attack the availability problem from two +complementary directions: to reduce the number of software errors through +rigorous testing of running systems, and to reduce the effect of the remaining +errors by providing for recovery from them. An interesting footnote to this +design is that now a system failure can usually be considered to be the +result of two program errors: the first, in the program that started the +problem; the second, in the recovery routine that could not protect the +system. + -- A.L. Scherr, "Functional Structure of IBM Virtual Storage + Operating Systems, Part II: OS/VS-2 Concepts and + Philosophies," IBM Systems Journal, Vol. 12, No. 4. +% +Overconfidence breeds error when we take for granted that the game will +continue on its normal course; when we fail to provide for an unusually +powerful resource -- a check, a sacrifice, a stalemate. Afterwards the +victim may wail, `But who could have dreamt of such an idiotic-looking +move?' + -- Fred Reinfeld, "The Complete Chess Course" +% +Overdrawn? But I still have checks left! +% +Overflow on /dev/null, please empty the bit bucket. +% +Overheard: + "How do I feel? Great! And I kiss pretty good, too!" +% +Overload -- core meltdown sequence initiated. +% +Owe no man any thing... + -- Romans 13:8 +% +Oxygen is a very toxic gas and an extreme fire hazard. It is fatal in +concentrations of as little as 0.000001 p.p.m. Humans exposed to the +oxygen concentrations die within a few minutes. Symptoms resemble very +much those of cyanide poisoning (blue face, etc.). In higher +concentrations, e.g. 20%, the toxic effect is somewhat delayed and it +takes about 2.5 billion inhalations before death takes place. The reason +for the delay is the difference in the mechanism of the toxic effect of +oxygen in 20% concentration. It apparently contributes to a complex +process called aging, of which very little is known, except that it is +always fatal. + +However, the main disadvantage of the 20% oxygen concentration is in the +fact it is habit forming. The first inhalation (occurring at birth) is +sufficient to make oxygen addiction permanent. After that, any +considerable decrease in the daily oxygen doses results in death with +symptoms resembling those of cyanide poisoning. + +Oxygen is an extreme fire hazard. All of the fires that were reported in +the continental U.S. for the period of the past 25 years were found to be +due to the presence of this gas in the atmosphere surrounding the buildings +in question. + +Oxygen is especially dangerous because it is odorless, colorless and +tasteless, so that its presence can not be readily detected until it is +too late. + -- Chemical & Engineering News February 6, 1956 +% +Ozman's Laws: + (1) If someone says he will do something "without fail," he won't. + (2) The more people talk on the phone, the less money they make. + (3) People who go to conferences are the ones who shouldn't. + (4) Pizza always burns the roof of your mouth. +% +paak, n: A stadium or inclosed playing field. To put or leave (a + a vehicle) for a time in a certain location. +patato, n: The starchy, edible tuber of a widely cultivated plant. +Septemba, n: The 9th month of the year. +shua, n: Having no doubt; certain. +sista, n: A female having the same mother and father as the speaker. +tamato, n: A fleshy, smooth-skinned reddish fruit eaten in salads + or as a vegetable. +troopa, n: A state policeman. +Wista, n: A city in central Masschewsetts. +yaad, n: A tract of ground adjacent to a building. + -- Massachewsetts Unabridged Dictionary +% +PAIN: + Falling out of a twenty story building, + and snagging your eyelid on a nail. +% +PAIN: + One thing, at least it proves that you're alive! +% +PAIN: + Sliding down a 50-foot razor blade into a bucket of alcohol. +% +Pain is just God's way of hurting you. +% +Pandora's Rule: + Never open a box you didn't close. +% +panic: can't find / +% +panic: kernal segmentation violation. core dumped (only kidding) +% +Paprika Measure: + + 2 dashes == 1smidgen + 2 smidgens == 1 pinch + 3 pinches == 1 soupcon + 2 soupcons == too much paprika +% +Paralysis through analysis. +% +PARANOIA: + A healthy understanding of the way the universe works. +% +Paranoia doesn't mean the whole world isn't out to get you. +% +Paranoia is heightened awareness. +% +Paranoia is simply an optimistic outlook on life. +% +Paranoid Club meeting this Friday. +Now ... just try to find out where! +% +Paranoids are people, too; they have their own problems. It's easy +to criticize, but if everybody hated you, you'd be paranoid too. + -- D.J. Hicks +% +Pardon me while I laugh. +% +Parents often talk about the younger generation as if they +didn't have much of anything to do with it. +% +Parkinson's Fifth Law: + If there is a way to delay in important decision, the good + bureaucracy, public or private, will find it. +% +Parkinson's Fourth Law: + The number of people in any working group tends to increase + regardless of the amount of work to be done. +% +Parsley is gharsley. + -- Ogden Nash +% +Parts that positively cannot be assembled in improper order will be. +% +PARTY: + A gathering where you meet people who drink + so much you can't even remember their names. +% +Pascal: + A programming language named after a man who would turn over + in his grave if he knew about it. + -- Datamation, January 15, 1984 +% +Pascal: + A programming language named after a man who would turn over in his + grave if he knew about it. +% +Pascal is a language for children wanting to be naughty. + -- Dr. Kasi Ananthanarayanan +% +Pascal is not a high-level language. + -- Steven Feiner +% +Pascal Users: + The Pascal system will be replaced next Tuesday by Cobol. + Please modify your programs accordingly. +% +Pascal Users: + To show respect for the 313th anniversary (tomorrow) of the + death of Blaise Pascal, your programs will be run at half speed. +% +Passionate hatred can give meaning and purpose to an empty life. + -- Eric Hoffer +% +Password: +% +Passwords are implemented as a result of insecurity. +% +Paster Crosstalk: What items are specifically mentioned by GOD as being + unclean? Now did you know... preying birds... praying mantises... + All birds of prey, all carrion eaters, fish eaters -- no good, can't + eat those. Nothing that does not have both fins and scales. Most + CREEPING things... +Alvarado: How 'bout caterpillars? +P: A caterpillar doesn't have a backbone. Nothing without a backbone + can get in. +A: How do you know? You char a caterpillar, it gets real stiff! +P: Well, I don't think that the Lord meant us to eat CHARRED + CATERPILLARS! +[...] +P: The hog, the squirrel... little squirrels. Who would want to eat + a LITTLE SQUIRREL? +A: If you're starving. If you're starving in the park one day. +P: You'd probably just CHAR 'em to get 'em stiff, wouldn't ya? +A: No, you SINGE 'em. You SINGE 'em and eat 'em. *I* read about the + Donner Pass, I know what man does when he's hungry. +P: Squirrels eating squirrels -- my GOD, that's sick! +A: That's sick, SURE. But a MAN eating a squirrel -- that's (heh, heh) + par for the course, Charlie. + -- Firesign Theatre +% +Patch griefs with proverbs. + -- William Shakespeare, "Much Ado About Nothing" +% +patent: + A method of publicizing inventions so others can copy them. +% +"Pathetic," he said. "That's what it is. Pathetic." +(crosses stream) +"As I thought," he said, "no better from *this* side." + -- Eyeore +% +Patience is a minor form of despair, disguised as virtue. + -- Ambrose Bierce, on qualifiers +% +Patience is the best remedy for every trouble. + -- Titus Maccius Plautus +% +Patriotism is the last refuge of a scoundrel. + -- S. Johnson, "The Life of Samuel Johnson" by J. Boswell + +In Dr. Johnson's famous dictionary patriotism is defined as the last +resort of the scoundrel. With all due respect to an enlightened but +inferior lexicographer I beg to submit that it is the first. + -- Ambrose Bierce + +When Dr. Johnson defined patriotism as the last refuge of a scoundrel, +he ignored the enormous possibilities of the word reform. + -- Sen. Roscoe Conkling + +Public office is the last refuge of a scoundrel. + -- Boies Penrose +% +Patriotism is the virtue of the vicious. + -- Oscar Wilde +% +Pauca sed matura. (Few but excellent.) + -- Gauss +% +Paul Revere was a tattle-tale. +% +Paulg's Law: + In America, it's not how much an + item costs, it's how much you save. +% +Paul's Law: + You can't fall off the floor. +% +Pause for storage relocation. +% +paycheck: + The weekly $5.27 that remains after deductions for federal + withholding, state withholding, city withholding, FICA, + medical/dental, long-term disability, unemployment insurance, + Christmas Club, and payroll savings plan contributions. +% +Payeen to a Twang +Derrida +Ore-Ida +potato. + +If you dared, +I'd ask you +to go dig +up your ides under brown- +tubered skies. + +where pitchforked +you will ask +Derrida? +% +Peace be to this house, and all that dwell in it. +% +Peace cannot be kept by force; it +can only be achieved by understanding. + -- A. Einstein +% +Peace is much more precious than a piece +of land... let there be no more wars. + -- Mohammed Anwar Sadat, 1918-1981 +% +Peace, n: + In international affairs, a period of cheating between two + periods of fighting. + -- Ambrose Bierce +% +Peanut Blossoms + +4 cups sugar 16 tbsp. milk +4 cups brown sugar 4 tsp. vanilla +4 cups shortening 14 cups flour +8 eggs 4 tsp. soda +4 cups peanut butter 4 tsp. salt + +Shape dough into balls. Roll in sugar and bake on ungreased +cookie sheet at 375 F. for 10-12 minutes. Immediately top +each cookie with a Hershey's kiss or star pressing down firmly +to crack cookie. Makes a hell of a lot. +% +Pecor's Health-Food Principle: + Never eat rutabaga on any day of + the week that has a "y" in it. +% +pediddel: + A car with only one working headlight. + -- "Sniglets", Rich Hall & Friends +% +Pedro Guerrero was playing third base for the Los Angeles Dodgers in 1984 +when he made the comment that earns him a place in my Hall of Fame. Second +baseman Steve Sax was having trouble making his throws. Other players were +diving, screaming, signaling for a fair catch. At the same time, Guerrero, +at third, was making a few plays that weren't exactly soothing to manager +Tom Lasorda's stomach. Lasorda decided it was time for one of his famous +motivational meetings and zeroed in on Guerrero: "How can you play third +base like that? You've gotta be thinking about something besides baseball. +What is it?" + "I'm only thinking about two things," Guerrero said. "First, `I +hope they don't hit the ball to me.'" The players snickered, and even +Lasorda had to fight off a laugh. "Second, `I hope they don't hit the ball +to Sax.'" + -- Joe Garagiola, "It's Anybody's Ball Game" +% +Peeping Tom: + A window fan. +% +Peers's Law: +The solution to a problem changes the nature of the problem. +% +Pelorat sighed. + "I will never understand people." + "There's nothing to it. All you have to do is take a close look +at yourself and you will understand everyone else. How would Seldon have +worked out his Plan -- and I don't care how subtle his mathematics was -- +if he didn't understand people; and how could he have done that if people +weren't easy to understand? You show me someone who can't understand +people and I'll show you someone who has built up a false image of himself +-- no offense intended." + -- Asimov, "Foundation's Edge" +% +Penguin Trivia #46: + Animals who are not penguins can only wish they were. +% +PENGUINICITY!! +% +pension: + A federally insured chain letter. +% +People (a group that in my opinion has always attracted an undue amount of +attention) have often been likened to snowflakes. This analogy is meant to +suggest that each is unique -- no two alike. This is quite patently not the +case. People ... are simply a dime a dozen. And, I hasten to add, their +only similarity to snowflakes resides in their invariable and lamentable +tendency to turn, after a few warm days, to slush. + -- Fran Lebowitz, "Social Studies" +% +People are always available for work in the past tense. +% +People are beginning to notice you. +Try dressing before you leave the house. +% +People are like onions -- you cut them up, and they make you cry. +% +People are unconditionally guaranteed to be full of defects. +% +People don't change; they only become more so. +% +People don't make the same mistake twice -- they make it three times, +four times... +% +People don't usually make the same mistake twice -- they make it three +times, four time, five times... +% +People in general do not willingly read +if they have anything else to amuse them. + -- S. Johnson +% +People love high ideals, but they got to be about 33-percent plausible. + -- The Best of Will Rogers +% +People never lie so much as after a hunt, during a war, or before an +election. + -- Otto Von Bismarck +% +People of privilege will always risk their complete destruction +rather than surrender any material part of their advantage. + -- John Kenneth Galbraith +% +People often find it easier to be a +result of the past than a cause of the future. +% +People respond to people who respond. +% +People say I live in my own little fantasy world... well, at least they +*know* me there! + -- D.L. Roth +% +People seem to enjoy things more when they know a lot of other people +have been left out on the pleasure. + -- Russell Baker +% +People seem to think that the blanket phrase, "I only work here," +absolves them utterly from any moral obligation in terms of the +public -- but this was precisely Eichmann's excuse for his job in +the concentration camps. +% +People tend to make rules for others and exceptions for themselves. +% +People that can't find something to live for always seem to find something +to die for. The problem is, they usually want the rest of us to die for +it too. +% +People think love is an emotion. Love is good sense. + -- Ken Kesey +% +People usually get what's coming to them -- unless it's been mailed. +% +People who are funny and smart and return phone calls get +much better press than people who are just funny and smart. + -- Howard Simons, "The Washington Post" +% +People who claim they don't let little things bother +them have never slept in a room with a single mosquito. +% +People who fight fire with fire usually end up with ashes. + -- Abigail Van Buren +% +People who go to conferences are the ones who shouldn't. +% +People who have no faults are terrible; +there is no way of taking advantage of them. +% +People who have what they want are very fond of telling +people who haven't what they want that they don't want it. + -- Ogden Nash +% +People who make no mistakes do not usually make anything. +% +People who push both buttons should get their wish. +% +People who take cat naps don't usually sleep in a cat's cradle. +% +People who take cold baths never have rheumatism, but they have +cold baths. +% +People who think they know everything +greatly annoy those of us who do. +% +People will accept your ideas much more readily if +you tell them that Benjamin Franklin said it first. +% +People will buy anything that's one to a customer. +% +People with narrow minds usually have broad tongues. +% +People's Action Rules: + (1) Some people who can, shouldn't. + (2) Some people who should, won't. + (3) Some people who shouldn't, will. + (4) Some people who can't, will try, regardless. + (5) Some people who shouldn't, but try, will then blame others. +% +Per buck you get more computing action with the small computer. + -- R.W. Hamming +% +Pereant, inquit, qui ante nos nostra dixerunt. +[Confound those who have said our remarks before us.] +or +[May they perish who have expressed our bright ideas before us.] + -- Aelius Donatus +% +Perfect day for scrubbing the floor and other exciting things. +% +perfect guest: + One who makes his host feel at home. +% +Perfection is finally attained, not when there is no longer +anything to add, but when there is no longer anything to take away. + -- Antoine de Saint-Exupery +% +Perfection is reached, not when there is no longer anything +to add, but when there is no longer anything to take away. + -- Antoine de Saint-Exupery +% +Performance: + A statement of the speed at which a computer system works. Or + rather, might work under certain circumstances. Or was rumored + to be working over in Jersey about a month ago. +% +Perhaps, after all, America never has been discovered. +I myself would say that it had merely been detected. + -- Oscar Wilde +% +Perhaps no person can be a poet, or even enjoy +poetry without a certain unsoundness of mind. + -- Thomas Macaulay +% +Perhaps the biggest disappointments were the ones you expected anyway. +% +Perhaps the most widespread illusion is that if we were in power we would +behave very differently from those who now hold it -- when, in truth, in +order to get power we would have to become very much like them. (Lenin's +fatal mistake, both in theory and in practice.) +% +Perhaps the world's second words crime is boredom. The first is +being a bore. + -- Cecil Beaton +% +Perilous to all of us are the devices of +an art deeper than we ourselves possess. + -- Gandalf the Grey +% +Periphrasis is the putting of things in a round-about way. "The cost may be +upwards of a figure rather below 10m#." is a periphrasis for The cost may be +nearly 10m#. "In Paris there reigns a complete absence of really reliable +news" is a periphrasis for There is no reliable news in Paris. "Rarely does +the 'Little Summer' linger until November, but at times its stay has been +prolonged until quite late in the year's penultimate month" contains a +periphrasis for November, and another for lingers. "The answer is in the +negative" is a periphrasis for No. "Was made the recipient of" is a +periphrasis for Was presented with. The periphrasis style is hardly possible +on any considerable scale without much use of abstract nouns such as "basis, +case, character, connexion, dearth, description, duration, framework, lack, +nature, reference, regard, respect". The existence of abstract nouns is a +proof that abstract thought has occurred; abstract thought is a mark of +civilized man; and so it has come about that periphrasis and civilization are +by many held to be inseparable. These good people feel that there is an almost +indecent nakedness, a reversion to barbarism, in saying No news is good news +instead of "The absence of intelligence is an indication of satisfactory +developments." + -- Fowler's English Usage +% +Persistence in one opinion has never been considered +a merit in political leaders. + -- Marcus Tullius Cicero, "Ad familiares", 1st century BC +% +Personifiers of the world, unite! +You have nothing to lose but Mr. Dignity! + -- Bernadette Bosky +% +Personifiers Unite! You have nothing to lose but Mr. Dignity! +% +Persons attempting to find a motive in this narrative will be prosecuted; +persons attempting to find a moral in it will be banished; persons attempting +to find a plot in it will be shot. By Order of the Author + -- Mark Twain, "Tom Sawyer" +% +pessimist: + A man who spends all his time worrying about how he can keep the + wolf from the door. + +optimist: + A man who refuses to see the wolf until he seizes the seat of + his pants. + +opportunist: + A man who invites the wolf in and appears the next day in a fur coat. +% +Pete: Waiter, this meat is bad. +Waiter: Who told you? +Pete: A little swallow. +% +Peter's hungry, time to eat lunch. +% +Peter's Law of Substitution: + Look after the molehills, and the + mountains will look after themselves. + +Peter's Principle of Success: + Get up one time more than you're knocked down. + +Peter's Principle: + In every hierarchy, each employee tends to rise to the level of + his incompetence. +% +Peterson's Admonition: + When you think you're going down for the third time -- + just remember that you may have counted wrong. +% +Peterson's Rules: + (1) Trucks that overturn on freeways + are filled with something sticky. + (2) No cute baby in a carriage is ever a girl when called one. + (3) Things that tick are not always clocks. + (4) Suicide only works when you're bluffing. +% +petribar: + Any sun-bleached prehistoric candy that has been sitting in + the window of a vending machine too long. + -- Rich Hall, "Sniglets" +% +Phasers locked on target, Captain. +% +Philadelphia is not dull -- it just seems so +because it is next to exciting Camden, New Jersy. +% +Philogyny recapitulates erogeny; erogeny recapitulates philogyny. +% +philosophy: + The ability to bear with calmness the misfortunes of our friends. +% +philosophy: + Unintelligible answers to insoluble problems. +% +Phone call for chucky-pooh. +% +phosflink: + To flick a bulb on and off when it burns out (as if, somehow, that + will bring it back to life). + -- "Sniglets", Rich Hall & Friends +% +Photographing a volcano is just about +the most miserable thing you can do. + -- Robert B. Goodman + [Who has clearly never tried to use a PDP-10. Ed.] +% +Physically there is nothing to distinguish human society from the +farm-yard except that children are more troublesome and costly than +chickens and women are not so completely enslaved as farm stock. + -- George Bernard Shaw, "Getting Married" +% +Picking up the pieces of my sweet shattered dream, +I wonder how the old folks are tonight, +Her name was Ann, and I'll be damned if I recall her face, +She left me not knowing what to do. + +Carefree Highway, let me slip away on you, +Carefree Highway, you seen better days, +The morning after blues, from my head down to my shoes, +Carefree Highway, let me slip away, slip away, on you... + +Turning back the pages to the times I love best, +I wonder if she'll ever do the same, +Now the thing that I call livin' is just bein' satisfied, +With knowing I got noone left to blame. +Carefree Highway, I got to see you, my old flame... + +Searching through the fragments of my dream shattered sleep, +I wonder if the years have closed her mind, +I guess it must be wanderlust or tryin' to get free, +From the good old faithful feelin' we once knew. + -- Gordon Lightfoot, "Carefree Highway" +% +Pickle's Law: + If Congress must do a painful thing, + the thing must be done in an odd-number year. +% +Piddle, twiddle, and resolve, +Not one damn thing do we solve. + -- 1776 +% +Pie are not square. Pie are round. Cornbread are square. +% +Piece of cake! + -- G.S. Koblas +% +pig, n: + An animal (Porcus omnivorous) closely allied to the human race by + the splendor and vivacity of its appetite, which, however, is + inferior in scope, for it balks at pig. + -- Ambrose Bierce +% +Pilfering Treasure property is paticularly dangerous: big thieves are +ruthless in punishing little thieves. + -- Diogenes +% +Pilots should avoid using illegal drugs. + -- AOPA's Pilot's Handbook, 1988 +% +Piping down the valleys wild, +Piping songs of pleasant glee, +On a cloud I saw a child, +And he laughing said to me: +"Pipe a song about a Lamb!" +So I piped with merry cheer. +"Piper, pipe that song again;" +So I piped: he wept to hear. + -- William Blake, "Songs of Innocence" +% +Pipo was born with few complications, but then the doctor accidently dropped +the infant on her head provoking her drunken father to drag the physician +outside where he would beat him to death with a live ocelot. + -- Love and Rockets +% +PISCES (Feb. 19 - Mar. 20) + You have a vivid imagination and often think you are being followed + by the CIA or FBI. You have minor influence over your associates + and people resent your flaunting of your power. You lack confidence + and you are generally a coward. Pisces people do terrible things to + small animals. +% +PISCES (Feb. 19 to Mar. 20) + Take the high road, look for the good things, carry the American + Express card and a weapon. The world is yours today, as nobody + else wants it. Your mortgage will be foreclosed. You will probably + get run over by a bus. +% +PISCES (Feb.19 - Mar.20) + You will get some very interesting news of a promotion today. + It will go to someone in the office you dislike and will be the + job you wanted. Don't lend anyone a car today. You don't have + a car. +% +pixel, n: + A mischievous, magical spirit associated with screen displays. + The computer industry has frequently borrowed from mythology: + Witness the sprites in computer graphics, the demons in artificial + intelligence, and the trolls in the marketing department. +% +P-K4 +% +PL/1, "the fatal disease", belongs more +to the problem set than to the solution set. + -- Edsger W. Dijkstra +% +Plagiarize, plagiarize, +Let no man's work evade your eyes, +Remember why the good Lord made your eyes, +Don't shade your eyes, +But plagiarize, plagiarize, plagiarize. +Only be sure to call it research. + -- Tom Lehrer +% +Planet Claire has pink hair. +All the trees are red. +No one ever dies there. +No one has a head.... +% +Plastic... Aluminum... These are the inheritors of the Universe! +Flesh and Blood have had their day... and that day is past! + -- Green Lantern Comics +% +Plato, by the way, wanted to banish all poets from his proposed Utopia +because they were liars. The truth was that Plato knew philosophers +couldn't compete successfully with poets. + -- Kilgore Trout, "Venus on the Half Shell" +% +PLATONIC FRIENDSHIP: + What develops when two people get + tired of making love to each other. +% +Please do not look directly into laser with remaining eye. +% +Please don't put a strain on our friendship +by asking me to do something for you. +% +Please don't recommend me to your friends-- +it's difficult enough to cope with you alone. +% +PLEASE DON'T SMOKE HERE! + +Penalty: An early, lingering death from cancer, + emphysema, or other smoking-caused ailment. +% +Please forgive me if, in the heat of battle, +I sometimes forget which side I'm on. +% +Please go away. +% +Please help keep the world clean: others may wish to use it. +% +Please ignore previous fortune. +% +Please keep your hands off the secretary's reproducing equipment. +% +Please, Mother! I'd rather do it myself! +% +Please remain calm, it's no use both of +us being hysterical at the same time. +% +Please stand for the Nation Anthem: + + O Canada + Our home and native land + True patriot love + In all thy sons' command + With glowing hearts we see thee rise + The true north strong and free + From far and wide, O Canada + We stand on guard for thee + God keep our land glorious and free + O Canada we stand on guard for thee + O Canada we stand on guard for thee + +Thank you. You may resume your seat. +% +Please stand for the National Anthem: + + Australian's all, let us rejoice, + For we are young and free. + We've golden soil and wealth for toil + Our home is girt by sea. + Our land abounds in nature's gifts + Of beauty rich and rare. + In history's page, let every stage + Advance Australia Fair. + In joyful strains then let us sing, + Advance Australia Fair. + +Thank you. You may resume your seat. +% +Please stand for the National Anthem: + + God save our Gracious Queen! + Long live our Noble Queen! + God save the Queen! + Send her victorious, + Happy and glorious, + Long to reign o'er us! + God save the Queen! + +Thank you. You may resume your seat. +% +Please stand for the National Anthem: + + Oh, say can you see by dawn's early light + What so proudly we hailed at the twilight's last gleaming? + Whose broad stripes and bright stars through the perilous fight + O'er the ramparts we watched were so gallantly streaming? + And the rockets' red glare, the bombs bursting in air, + Gave proof through the night that our flag was still there. + Oh, say does that star-spangled banner yet wave + O'er the land of the free and the home of the brave? + +Thank you. You may resume your seat. +% +Please take note: +% +Please try to limit the amount of "this room doesn't have any bazingas" +until you are told that those rooms are "punched out." Once punched out, +we have a right to complain about atrocities, missing bazingas, and such. + -- N. Meyrowitz +% +Please, won't somebody tell me what diddie-wa-diddie means? +% +PL/I -- "the fatal disease" -- belongs more to the problem set than to the +solution set. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +Plots are like girdles. Hidden, they hold your interest; revealed, they're +of no interest except to fetishists. Like girdles, they attempt to contain +an uncontainable experience. + -- R.S. Knapp +% +PLUG IT IN!!! +% +Plus ca change, plus c'est le meme chose. +% +Pohl's law: + Nothing is so good that somebody, somewhere, will not hate it. +% +poisoned coffee, n: + Grounds for divorce. +% +Poland has gun control. +% +Political history is far too criminal a subject to be a fit thing to +teach children. + -- W.H. Auden +% +Political speeches are like steer horns. A point +here, a point there, and a lot of bull inbetween. + -- Alfred E. Neuman +% +Political television commercials prove one thing: some candidates +can tell all their good points and qualifications in just 30 seconds. +% +POLITICIAN: + From the Greek 'poly' ("many") and the French 'tete' ("head" or + "face," as in 'tete-a-tete': head to head or face to face). + Hence 'polytetien', a person of two or more faces. + -- Martin Pitt +% +Politicians are the same everywhere. They promise +to build a bridge even where there is no river. + -- Nikita Khrushchev +% +Politicians should read science fiction, not westerns and detective stories. + -- Arthur C. Clarke +% +Politicians speak for their parties, and parties never are, never have +been, and never will be wrong. + -- Walter Dwight +% +Politics -- the gentle art of getting votes from the poor and campaign +funds from the rich by promising to protect each from the other. + -- Oscar Ameringer +% +Politics and the fate of mankind are formed by men without ideals and +without greatness. Those who have greatness within them do not go in +for politics. + -- Albert Camus +% +Politics are almost as exciting as war, and quite as +dangerous. In war, you can only be killed once. + -- Winston Churchill +% +Politics, as a practice, whatever its professions, has always been the +systematic organisation of hatreds. + -- Henry Adams, "The Education of Henry Adams" +% +Politics is like coaching a football team. You have to be smart +enough to understand the game but not smart enough to lose interest. +% +Politics is not the art of the possible. It consists in choosing +between the disastrous and the unpalatable. + -- John Kenneth Galbraith +% +Politics is supposed to be the second oldest profession. I have come to +realize that it bears a very close resemblance to the first. + -- Ronald Reagan +% +Politics is the ability to foretell what is going to happen tomorrow, next +week, next month and next year. And to have the ability afterwards to +explain why it didn't happen. + -- Winston Churchill +% +Politics, like religion, hold up the +torches of matrydom to the reformers of error. + -- Thomas Jefferson +% +Politics makes strange bedfellows, and journalism makes strange politics. + -- Amy Gorin +% +politics, n: + A strife of interests masquerading as a contest of principles. + The conduct of public affairs for private advantage. + -- Ambrose Bierce +% +Pollyanna's Educational Constant: + The hyperactive child is never absent. +% +POLYGON: + Dead parrot. +% +Polymer physicists are into chains. +% +Poorman's Rule: + When you pull a plastic garbage bag from its handy dispenser + package, you always get hold of the closed end and try to + pull it open. +% +Pope Goestheveezl was the shortest reigning pope in the history of the +Church, reigning for two hours and six minutes on 1 April 1866. The white +smoke had hardly faded into the blue of the Vatican skies before it dawned +on the assembled multitudes in St. Peter's Square that his name had hilarious +possibilities. The crowds fell about, helpless with laughter, singing + + Half a pound of tuppenny rice + Half a pound of treacle + That's the way the chimney smokes + Pope Goestheveezl + +The square was finally cleared by armed carabineri with tears of laughter +streaming down their faces. The event set a record for hilarious civic +functions, smashing the previous record set when Baron Hans Neizant +Bompzidaize was elected Landburgher of Koln in 1653. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +Populus vult decipi. +[The people like to be deceived.] +% +Porsche; there simply is no substitute. + -- Risky Business +% +POSITIVE: + Being mistaken at the top of your voice. +% +Possessions increase to fill the space available for their storage. + -- Ryan +% +Post proelium, praemium. +[After the battle, the reward.] +% +Postmen never die, they just lose their zip. +% +Potahto' Pictures Productions Presents: + + SPUD ROGERS OF THE 25TH CENTURY: Story of an Air Force potato that's +left in a rarely used chow hall for over two centuries and wakes up in a world +populated by soybean created imitations under the evil Dick Tater. Thanks to +him, the soy-potatoes learn that being a 'tater is where it's at. Memorable +line, "'Cause I'm just a stud spud!" + + FRIDAY THE 13TH DINER SERIES: Crazed potato who was left in a +fryer too long and was charbroiled carelessly returns to wreak havoc on +unsuspecting, would-be teen camp cooks. Scenes include a girl being stuffed +with chives and Fleischman's Margarine and a boy served up on a side dish +with beets and dressing. Definitely not for the squeamish, or those on +diets that are driving them crazy. + + FRIDAY THE 13TH DINER II,III,IV,V,VI: Much, much more of the same. +Except with sour cream. +% +Potahto' Pictures Productions Presents: + + THE TATERNATOR: Cyborg spud returns from the future to present-day +McDonald's restaurant to kill the potatoess (girl 'tater) who will give birth +to the world's largest french fry (The Dark Powers of Burger King are clearly +behind this). Most quotable line: "Ah'll be baked..." + + A FISTFUL OF FRIES: Western in which our hero, The Spud with No Name, +rides into a town that's deprived of carbohydrates thanks to the evil takeover +of the low-cal Scallopinni Brothers. Plenty of smokeouts, fry-em-ups, and +general butter-melting by all. + + FOR A FEW FRIES MORE: Takes up where AFOF left off! Cameo by Walter +Cronkite, as every man's common 'tater! +% +POVERTY: + An unfortunate state that persists as long + as anyone lacks anything he would like to have. +% +Poverty begins at home. +% +Poverty must have its satisfactions, else there would not be so many +poor people. + -- Don Herold +% +POWER: + The only narcotic regulated by the SEC instead of the FDA. +% +Power corrupts. Absolute power is kind of neat. + -- John Lehman, Secretary of the Navy, 1981-1987 +% +Power is poison. +% +Power is the finest token of affection. +% +Power, like a desolating pestilence, +Pollutes whate'er it touches... + -- Percy Bysshe Shelley +% +Power tends to corrupt, absolute power corrupts absolutely. + -- Lord Acton +% +PPRB -- Pillage, plunder, rape and burn. +% +Practical people would be more practical if +they would take a little more time for dreaming. + -- J.P. McEvoy +% +Practical politics consists in ignoring facts. + -- Henry Adams +% +Practically perfect people never permit +sentiment to muddle their thinking. + -- Mary Poppins +% +Practice is the best of all instructors. + -- Publilius +% +Practice yourself what you preach. + -- Titus Maccius Plautus +% +PRAIRIES: + Vast plains covered by treeless forests. +% +Praise the Lord and pass the ammunition. + -- Stephen Coonts, "The Minotaur" +% +Praise the sea; on shore remain. + -- John Florio +% +pray, n: + To ask that the laws of the universe be annulled on behalf + of a single petitioner confessedly unworthy. + -- Ambrose Bierce +% +Pray to God, but keep rowing to shore. + -- Russian Proverb +% +Predestination was doomed from the start. +% +Prediction is very difficult, especially of the future. + -- Niels Bohr +% +Prejudice: + A vagrant opinion without visible means of support. + -- Ambrose Bierce +% +Premature optimization is the root of all evil. + -- D.E. Knuth +% +Preserve the old, but know the new. +% +Preserve wildlife -- pickle a squirrel today! +% +Preserve Wildlife! Throw a party today! +% +President Reagan has noted that there are too many economic +pundits and forecasters and has decided on an excess prophets tax. +% +President Thieu says he'll quit if he doesn't get more than 50% +of the vote. In a democracy, that's not called quitting. + -- The Washington Post +% +Pretend to spank me -- I'm a pseudo-masochist! +% +Preudhomme's Law of Window Cleaning: + It's on the other side. +% +Price's Advice: + It's all a game -- play it to have fun. +% +[Prime Minister Joseph] Chamberlain loves +the working man, he loves to see him work. + -- Winston Churchill +% +[Prime Minister MacDonald] has the gift of compressing the +largest amount of words into the smallest amount of thought. + -- Winston Churchill +% +Prince Hamlet thought Uncle a traitor +For having it off with his Mater; + Revenge Dad or not? + That's the gist of the plot, +And he did -- nine soliloquies later. + -- Stanley J. Sharpless +% +Princeton's taste is sweet like a strawberry tart. Harvard's is a subtle +taste, like whiskey, coffee, or tobacco. It may even be a bad habit, for +all I know. + -- Prof. J.H. Finley '25 +% +Priority: + A statement of the importance of a user or a program. Often + expressed as a relative priority, indicating that the user doesn't + care when the work is completed so long as he is treated less + badly than someone else. +% +Prisons are built with stones of Law, brothels with bricks of Religion. + -- Blake +% +Prizes are for children. + -- Charles Ives, + upon being given, but refusing, the Pulitzer prize +% +Pro is to con as progress is to Congress. +% +Probable-Possible, my black hen, +She lays eggs in the Relative When. +She doesn't lay eggs in the Positive Now +Because she's unable to postulate How. + -- Frederick Winsor +% +PROBLEM DRINKER: + A man who never buys. +% +Producers seem to be so prejudiced against actors who've had no training. +And there's no reason for it. So what if I didn't attend the Royal Academy +for twelve years? I'm still a professional trying to be the best actress +I can. Why doesn't anyone send me the scripts that Faye Dunaway gets? + -- Farrah Fawcett-Majors +% +Profanity is the one language all programmers know best. +% +Professor Gorden Newell threw another shutout in last week's Chem Eng. 130 +midterm. Once again a student did not receive a single point on his exam. +Newell has now tossed 5 shutouts this quarter. Newell's earned exam average +has now dropped to a phenomenal 30%. +% +PROGRAM: + Any task that can't be completed in one telephone call or one + day. Once a task is defined as a program ("training program," + "sales program," or "marketing program"), its implementation + always justifies hiring at least three more people. +% +program, n: + A magic spell cast over a computer allowing it to turn one's input + into error messages. tr.v. To engage in a pastime similar to banging + one's head against a wall, but with fewer opportunities for reward. +% +Programmers do it bit by bit. +% +Programmers used to batch environments may find it hard to live +without giant listings; we would find it hard to use them. + -- D.M. Ritchie +% +Programming Department: + Mistakes made while you wait. +% +Programming is an unnatural act. +% +PROGRESS: + Medieval man thought disease was caused by invisible demons + invading the body and taking possession of it. + + Modern man knows disease is caused by microscopic bacteria + and viruses invading the body and causing it to malfunction. +% +Progress is impossible without change, and those who +cannot change their minds cannot change anything. + -- G.B. Shaw +% +Progress means replacing a theory that +is wrong with one more subtly wrong. +% +Progress might have been all right once, but it's gone on too long. + -- Ogden Nash +% +Progress was all right. Only it went on too long. + -- James Thurber +% +Promise her anything, but give her Exxon unleaded. +% +Promising costs nothing, it's the delivering that kills you. +% +PROMOTION FROM WITHIN: + A system of moving incompetents up to the policy-making + level where they can't foul up operations. +% +Promptness is its own reward, if one lives by the clock instead of the sword. +% +Proof techniques #1: Proof by Induction. + +This technique is used on equations with 'n' in them. Induction +techniques are very popular, even the military use them. + +SAMPLE: Proof of induction without proof of induction. + + We know it's true for n equal to 1. Now assume that it's true +for every natural number less than n. N is arbitrary, so we can take n +as large as we want. If n is sufficiently large, the case of n+1 is +trivially equivalent, so the only important n are n less than n. We can +take n = n (from above), so it's true for n+1 because it's just about n. + QED. (QED translates from the Latin as "So what?") +% +Proof techniques #2: Proof by Oddity. + SAMPLE: To prove that horses have an infinite number of legs. +[1] Horses have an even number of legs. +[2] They have two legs in back and fore legs in front. +[3] This makes a total of six legs, + which certainly is an odd number of legs for a horse. +[4] But the only number that is both odd and even is infinity. +[5] Therefore, horses must have an infinite number of legs. + +Topics is be covered in future issues include proof by: + intimidation, + gesticulation (handwaving), + "try it; it works", + constipation (I was just sitting there and...), + blatant assertion, + changing all the 2's to n's, + mutual consent, + lack of a counterexample, and, + "it stands to reason". +% +Proper treatment will cure a cold in seven days, +but left to itself, a cold will hang on for a week. + -- Darrell Huff +% +Prosperity makes friends, adversity tries them. + -- Publilius Syrus +% +Prototype designs always work. + -- Don Vonada +% +prototype, n. + First stage in the life cycle of a computer product, followed by + pre-alpha, alpha, beta, release version, corrected release version, + upgrade, corrected upgrade, etc. Unlike its successors, the + prototype is not expected to work. +% +Providence New Jersey is one of the few cities +where Velveeta cheese appears on the gourmet shelf. +% +Prunes give you a run for your money. +% +Pryor's Observation: + How long you live has nothing to do + with how long you are going to be dead. +% +Psychiatry enables us to correct our faults by confessing our parents' +shortcomings. + -- Laurence J. Peter, "Peter's Principles" +% +Psychics will soon lead dogs to your body. +% +Psychoanalysis is that mental illness for which it regards itself +a therapy. + -- Karl Kraus + +Psychiatry is the care of the id by the odd. + +Show me a sane man and I will cure him for you. + -- C.G. Jung +% +psychologist, n: + Someone who watches everyone else when an attractive woman walks + into a room. +% +Psychologists think they're experimental psychologists. +Experimental psychologists think they're biologists. +Biologists think they're biochemists. +Biochemists think they're chemists. +Chemists think they're physical chemists. +Physical chemists think they're physicists. +Physicists think they're theoretical physicists. +Theoretical physicists think they're mathematicians. +Mathematicians think they're metamathematicians. +Metamathematicians think they're philosophers. +Philosophers think they're gods. +% +Psychology. Mind over matter. +Mind under matter? It doesn't matter. +Never mind. +% +Public use of any portable music system is a +virtually guaranteed indicator of sociopathic tendencies. + -- Zoso +% +Publishing a volume of verse is like dropping +a rose petal down the Grand Canyon and waiting for the echo. +% +Pudder's Law: + Anything that begins well will end badly. + (Note: The converse of Pudder's law is not true.) +% +Punning is the worst vice, and there's no vice versa. +% +Puns are little "plays on words" that a certain breed of person loves to +spring on you and then look at you in a certain self-satisfied way to indicate +that he thinks that you must think that he is by far the cleverest person +on Earth now that Benjamin Franklin is dead, when in fact what you are +thinking is that if this person ever ends up in a lifeboat, the other +passengers will hurl him overboard by the end of the first day even if they +have plenty of food and water. + -- Dave Barry +% +PURGE COMPLETE. +% +PURITAN: + Someone who is deathly afraid that + someone, somewhere, is having fun. +% +Puritanism -- the haunting fear that someone, somewhere, may be happy. + -- H.L. Mencken, "A Book of Burlesques" +% +PURPITATION: + To take something off the grocery shelf, decide you + don't want it, and then put it in another section. + -- "Sniglets", Rich Hall & Friends +% +Push where it gives and scratch where it itches. +% +Pushing 30 is exercise enough. +% +Pushing forty is exercise enough. +% +Put a pot of chili on the stove to simmer. +Let it simmer. Meanwhile, broil a good steak. +Eat the steak. Let the chili simmer. Ignore it. + -- Recipe for chili from Allan Shrivers, former governor + of Texas. +% +Put a rogue in the limelight and he will act like an honest man. + -- Napoleon Bonaparte, "Maxims" +% +Put all your eggs in one basket and -- WATCH THAT BASKET. + -- Mark Twain +% +Put another password in, +Bomb it out, then try again. +Try to get past logging in, +We're hacking, hacking, hacking. + +Try his first wife's maiden name, +This is more than just a game. +It's real fun, but just the same, +It's hacking, hacking, hacking. +% +Put cats in the coffee and mice in the tea! +% +Put not your trust in money, but put your money in trust. +% +Put your best foot forward. +Or just call in and say you're sick. +% +Put your brain in gear before starting your mouth in motion. +% +Put your Nose to the Grindstone! + -- Amalgamated Plastic Surgeons and Toolmakers, Ltd. +% +Put your trust in those who are worthy. +% +Putt's Law: + Technology is dominated by two types of people: + Those who understand what they do not manage. + Those who manage what they do not understand. +% +Pyro's of the world... IGNITE !!! +% +Q: Are we not men? +A: We are Vaxen. +% +Q: Do you know what the death rate around here is? +A: One per person. +% +Q: Have you heard about the man who didn't pay for his exorcism? +A: He got re-possessed! +% +Q: How can we get the Beatles to reunite for one more concert? +A: With three more bullets. +% +Q: How can you tell if an elephant is having an affair with + your wife? +A: You have to wait 22 months. +% +Q: How can you tell if an elephant is sitting on your back + in a hurricane? +A: You can hear his ears flapping in the wind. +% +Q: How can you tell when a Burroughs salesman is lying? +A: When his lips move. +% +Q: How did the elephant get to the top of the oak tree? +A: He sat on a acorn and waited for spring. + +Q: But how did he get back down? +A: He crawled out on a leaf and waited for autumn. +% +Q: How do you catch a unique rabbit? +A: Unique up on it! + +Q: How do you catch a tame rabbit? +A: The tame way! +% +Q: How do you keep a moron in suspense? +% +Q. How do you keep an Aggie busy at a terminal? +A. While he's not looking, switch it to "local". +% +Q: How do you know when you're in the section of Vermont? +A: The maple sap buckets are hanging on utility poles. +% +Q: How do you make an elephant float? +A: You get two scoops of elephant and some rootbeer... +% +Q: How do you play religious roulette? +A: You stand around in a circle and blaspheme and see who gets + struck by lightning first. +% +Q: How do you save a drowning lawyer? +A: Throw him a rock. +% +Q: How do you shoot a blue elephant? +A: With a blue-elephant gun. + +Q: How do you shoot a pink elephant? +A: Twist its trunk until it turns blue, then shoot it with + a blue-elephant gun. +% +Q: How do you stop an elephant from charging? +A: Take away his credit cards. +% +Q: How does a hacker fix a function which + doesn't work for all of the elements in its domain? +A: He changes the domain. +% +Q: How does a single woman in New York get rid of cockroaches? +A: She asks them for a commitment. +% +Q: How does a WASP propose marriage? +A: "How would you like to be buried with my people?" +% +Q: How many Bell Labs Vice Presidents does it take to change a light bulb? +A: That's proprietary information. Answer available from AT&T on payment + of license fee (binary only). +% +Q: How many bureaucrats does it take to screw in a light bulb? +A: Two. One to assure everyone that everything possible is being + done while the other screws the bulb into the water faucet. +% +Q: How many Californians does it take to screw in a lightbulb? +A: Five. One to screw in the lightbulb and four to share the + experience. (Actually, Californians don't screw in + lightbulbs, they screw in hot tubs.) + +Q: How many Oregonians does it take to screw in a light bulb? +A: Three. One to screw in the lightbulb and two to fend off all + those Californians trying to share the experience. +% +Q: How many college football players does it take to screw in a lightbulb? +A: Only one, but he gets three credits for it. +% +Q: How many DEC repairman does it take to fix a flat? +A: Five; four to hold the car up and one to swap tires. + +Q: How long does it take? +A: It's indeterminate. + It will depend upon how many flats they've brought with them. + +Q: What happens if you've got TWO flats? +A: They replace your generator. +% +Q: How many Democrats does it take to enjoy a good joke? +A: One more than you can find. +% +Q: How many elephants can you fit in a VW Bug? +A: Four. Two in the front, two in the back. + +Q: How can you tell if an elephant is in your refrigerator? +A: There's a footprint in the mayo. + +Q: How can you tell if two elephants are in your refrigerator? +A: There's two footprints in the mayo. + +Q: How can you tell if three elephants are in your refrigerator? +A: The door won't shut. + +Q: How can you tell if four elephants are in your refrigerator? +A: There's a VW Bug in your driveway. +% +Q: How many hardware engineers does it take to change a lightbulb? +A: None. We'll fix it in software. + +Q: How many system programmers does it take to change a light bulb? +A: None. The application can work around it. + +Q: How many software engineers does it take to change a lightbulb? +A: None. We'll document it in the manual. + +Q: How many tech writers does it take to change a lightbulb? +A: None. The user can figure it out. +% +Q: How many Harvard MBA's does it take to screw in a lightbulb? +A: Just one. He grasps it firmly and the universe revolves around him. +% +Q: How many IBM 370's does it take to execute a job? +A: Four, three to hold it down, and one to rip its head off. +% +Q: How many IBM CPU's does it take to do a logical right shift? +A: 33. 1 to hold the bits and 32 to push the register. +% +Q: How many IBM types does it take to change a light bulb? +A: Fifteen. One to do it, and fourteen to write document number + GC7500439-0001, Multitasking Incandescent Source System Facility, + of which 10% of the pages state only "This page intentionally + left blank", and 20% of the definitions are of the form "A:..... + consists of sequences of non-blank characters separated by blanks". +% +Q: How many journalists does it take to screw in a lightbulb? +A: Three. One to report it as an inspired government program to bring + light to the people, one to report it as a diabolical government plot + to deprive the poor of darkness, and one to win a Pulitzer prize for + reporting that Electric Company hired a lightbulb-assassin to break + the bulb in the first place. +% +Q: How many lawyers does it take to change a light bulb? +A: One. Only it's his light bulb when he's done. +% +Q: How many lawyers does it take to change a light bulb? +A: Whereas the party of the first part, also known as "Lawyer", and the +party of the second part, also known as "Light Bulb", do hereby and forthwith +agree to a transaction wherein the party of the second part shall be removed +from the current position as a result of failure to perform previously agreed +upon duties, i.e., the lighting, elucidation, and otherwise illumination of +the area ranging from the front (north) door, through the entryway, terminating +at an area just inside the primary living area, demarcated by the beginning of +the carpet, any spillover illumination being at the option of the party of the +second part and not required by the aforementioned agreement between the +parties. + The aforementioned removal transaction shall include, but not be +limited to, the following. The party of the first part shall, with or without +elevation at his option, by means of a chair, stepstool, ladder or any other +means of elevation, grasp the party of the second part and rotate the party +of the second part in a counter-clockwise direction, this point being tendered +non-negotiable. Upon reaching a point where the party of the second part +becomes fully detached from the receptacle, the party of the first part shall +have the option of disposing of the party of the second part in a manner +consistent with all relevant and applicable local, state and federal statutes. +Once separation and disposal have been achieved, the party of the first part +shall have the option of beginning installation. Aforesaid installation shall +occur in a manner consistent with the reverse of the procedures described in +step one of this self-same document, being careful to note that the rotation +should occur in a clockwise direction, this point also being non-negotiable. +The above described steps may be performed, at the option of the party of the +first part, by any or all agents authorized by him, the objective being to +produce the most possible revenue for the Partnership. +% +Q: How many lawyers does it take to change a light bulb? +A: You won't find a lawyer who can change a light bulb. Now, if + you're looking for a lawyer to screw a light bulb... +% +Q: How many marketing people does it take to change a lightbulb? +A: I'll have to get back to you on that. +% +Q: How many Marxists does it take to screw in a lightbulb? +A: None: The lightbulb contains the seeds of its own revolution. +% +Q: How many mathematicians does it take to screw in a lightbulb? +A: One. He gives it to six Californians, thereby reducing the problem + to the earlier joke. +% +Q: How many members of the U.S.S. Enterprise does it take to change a + light bulb? +A: Seven. Scotty has to report to Captain Kirk that the light bulb in + the Engineering Section is getting dim, at which point Kirk will send + Bones to pronounce the bulb dead (although he'll immediately claim + that he's a doctor, not an electrician). Scotty, after checking + around, realizes that they have no more new light bulbs, and complains + that he "canna" see in the dark. Kirk will make an emergency stop at + the next uncharted planet, Alpha Regula IV, to procure a light bulb + from the natives, who, are friendly, but seem to be hiding something. + Kirk, Spock, Bones, Yeoman Rand and two red shirt security officers + beam down to the planet, where the two security officers are promply + killed by the natives, and the rest of the landing party is captured. + As something begins to develop between the Captain and Yeoman Rand, + Scotty, back in orbit, is attacked by a Klingon destroyer and must + warp out of orbit. Although badly outgunned, he cripples the Klingon + and races back to the planet in order to rescue Kirk et. al. who have + just saved the natives' from an awful fate and, as a reward, been + given all lightbulbs they can carry. The new bulb is then inserted + and the Enterprise continues on its five year mission. +% +Q: How many people from New Jersey does it take to change a light + bulb? +A: Three. One to do it, one to watch, and the third to shoot the + witness. +% +Q: How many pre-med's does it take to change a lightbulb? +A: Five: One to change the bulb and four to pull the ladder + out from under him. +% +Q: How many psychiatrists does it take to change a light bulb? +A: Only one, but it takes a long time, and the light bulb has + to really want to change. +% +Q: "How many Romulans does it take to screw in a light bulb?" +A: "Twelve; one to screw the light-bulb in, and eleven to self-destruct + the ship out of disgrace." + + [Warning: do not tell this joke to Romulans or else be ready for + a fight. They consider this it to be a discrace, though it's + pretty good for a LBJ. Ed.] +% +Q: How many surrealists does it take to change a light bulb? +A: Two, one to hold the giraffe, and the other to fill the bathtub + with brightly colored machine tools. + + [Surrealist jokes just aren't my cup of fur. Ed.] +% +Q: How many WASP's does it take to change a lightbulb? +A: One. +% +Q: How much does it cost to ride the Unibus? +A: 2 bits. +% +Q: How was Thomas J. Watson buried? +A: 9 edge down. +% +Q: Know what the difference between your latest project + and putting wings on an elephant is? +A: Who knows? The elephant *might* fly, heh, heh... +% +Q: Minnesotans ask, "Why aren't there more pharmacists from Alabama?" +A: Easy. It's because they can't figure out how to get the little + bottles into the typewriter. +% +Q: Somebody just posted that Roman Polanski directed Star Wars. + What should I do? + +A: Post the correct answer at once! We can't have people go on + believing that! Very good of you to spot this. You'll probably + be the only one to make the correction, so post as soon as you + can. No time to lose, so certainly don't wait a day, or check to + see if somebody else has made the correction. And it's not good + enough to send the message by mail. Since you're the only one who + really knows that it was Francis Coppola, you have to inform the + whole net right away! + -- Emily Postnews Answers Your Questions on Netiquette +% +Q: What did Tarzan say when he saw the elephants coming over the hill? +A: "The elephants are coming over the hill." + +Q: What did he say when saw them coming over the hill wearing + sunglasses? +A: Nothing, for he didn't recognize them. +% +Q: What do a blonde and your computer have in common? +A: You don't know how much either of them mean to you until + they go down on you. + +Q: What's the advantage to being married to a blonde? +A: You can park in the handicapped zone. + +Q: Why did the blonde get so excited after she finished her jigsaw + puzzle in only 6 months? +A: Because on the box it said "From 2-4 years". +% +Q: What do little WASPs want to be when they grow up? +A: The very best person they can possibly be. +% +Q: What do monsters eat? +A: Things. + +Q: What do monsters drink? +A: Coke. (Because Things go better with Coke.) +% +Q: What do they call the alphabet in Arkansas? +A: The impossible dream. +% +Q: What do WASP's do instead of making love? +A: Rule the country. +% +Q: What do Winnie the Pooh and John the Baptist have in common? +A: The same middle name. +% +Q: What do you call 15 blondes in a circle? +A: A dope ring. + +Q: Why do blondes put their hair in ponytails? +A: To cover up the valve stem. + +Q: Why did the blonde get so excited after she finished her jigsaw + puzzle in only 6 months? +A: Because on the box it said "From 2-4 years". +% +Q: What do you call a blind pre-historic animal? +A: Diyathinkhesaurus. + +Q: What do you call a blind pre-historic animal with a dog? +A: Diyathinkhesaurus Rex. +% +Q: What do you call a boomerang that doesn't come back? +A: A stick. +% +Q: What do you call a brunette between two blondes? +A: An interpreter. + +Q: Why do blondes have square breasts? +A: They forgot to take the tissues out of the box. + +Q: What do you call ten blonds in a row? +A: A wind tunnel. +% +Q: What do you call a dog with no legs? +A: What does it matter? He can't come anyway. + + [I got a dog with no legs -- I call him Cigarette. + Every night, I take him out for a drag. Ed.] +% +Q: What do you call a group of kids with low IQ's, drinking diet cola, + eating fruit, and singing? +A: The Moron Tab and Apple Choir. +% +Q: What do you call a half-dozen Indians with Asian flu? +A: Six sick Sikhs (sic). +% +Q: What do you call a million cats at the bottom of Lake Michigan? +A: A good start. +% +Q: What do you call a principal female opera singer whose high C + is lower than those of other principal female opera singers? +A: A deep C diva. +% +Q. What do you call a TV set that fixes itself? +A. A Christian Science Monitor. +% +Q: What do you call a WASP who doesn't work for his father, isn't a + lawyer, and believes in social causes? +A: A failure. +% +Q: What do you call the money you pay to the government when + you ride into the country on the back of an elephant? +A: A howdah duty. +% +Q: What do you call the scratches that you get when a female + sheep bites you? +A: Ewe nicks. +% +Q: What do you get when you cross the Godfather with an attorney? +A: An offer you can't understand. +% +Q: What do you get when you stuff a flaming stick down a rabbit-hole? +A: Hot cross bunnies! +% +Q: What do you have when you have a lawyer buried up to his neck in sand? +A: Not enough sand. +% +Q: What does a blonde do first theing in the morning? +A: She goes home. + +Q: Why does blonde have fur on the hem of her dress? +A: To keep her neck warm. + +Q: How do you make a blonde laugh on Monday? +A: Tell her a joke on Friday. +% +Q: What does a WASP Mom make for dinner? +A: A crisp salad, a hearty soup, a lovely entree, followed by + a delicious dessert. +% +Q: What does it say on the bottom of Coke cans in North Dakota? +A: Open other end. +% +Q: What goes: Sis! Boom! Baaaaah! +A: Exploding sheep. +% +Q: What happens when four WASP's find themselves in the same room? +A: A dinner party. +% +Q: What is green and lives in the ocean? +A: Moby Pickle. +% +Q: What is it that a cow has four of and a woman has two of? +A: Feet. +% +Q: What is orange and goes "click, click?" +A: A ball point carrot. +% +Q: What is printed on the bottom of beer bottles in Minnesota? +A: Open other end. +% +Q: What is purple and commutes? +A: A boolean grape. +% +Q: What is purple and commutes? +A: An Abelian grape. +% +Q: What is purple and concord the world? +A: Alexander the Grape. +% +Q: "What is the burning question on the mind of every dyslexic + existentialist?" +A: "Is there a dog?" +% +Q: What is the difference between a duck? +A: One leg is both the same. +% +Q: What is the difference between Texas and yogurt? +A: Yogurt has culture. +% +Q: What is the last thing a Kansas stripper takes off? +A: Her bowling shoes. +% +Q: What is the mating call of a blonde? +A: I think I'm drunk. + +Q: What's the call of a disappointed blonde? +A: I *said*, I *think* I'm drunk! + +Q: What is the mating call of the ugly blonde? +A: (Screaming) "I said: I'm drunk!" +% +Q: What is the sound of one cat napping? +A: Mu. +% +Q: What lies on the bottom of the ocean and twitches? +A: A nervous wreck. +% +Q: What looks like a cat, flies like a bat, brays like a donkey, and + plays like a monkey? +A: Nothing. +% +Q: What's black and white and red all over? +A: Two nuns in a chainsaw fight. +% +Q: What's bruised, bleeding, and lies in a ditch? +A: Somebody who tells Aggie jokes. +% +Q: What's tan and black and looks great on a lawyer? +A: A doberman. +% +Q: What's the Blonde's cheer? +A: I'm blonde, I'm blonde, I'm B.L.O.N... ah, oh well.. + I'm blonde, I'm blonde, yea yea yea... + +Q: What do you call it when a blonde dies their hair brunette? +A: Artificial intelligence. + +Q: How do you make a blonde's eyes light up? +A: Shine a flashlight in their ear. +% +Q. What's the capital of Canada? +A. American. +% +Q: What's the difference between a dead dog in the road and a dead + lawyer in the road? +A: There are skid marks in front of the dog. +% +Q: What's the difference between a duck and an elephant? +A: You can't get down off an elephant. +% +Q: What's the difference between a Mac and an Etch-a-Sketch? +A: You don't have to shake the Mac to clear the screen. +% +Q: What's the difference between a RHU cheerleader and a whale? +A: The moustache. +% +Q: What's the difference between an Irish wedding and an Irish wake? +A: One more drunk. +% +Q: What's the difference between Bell Labs and the Boy Scouts of America? +A: The Boy Scouts have adult supervision. +% +Q. What's the difference between Los Angeles and yogurt? +A. Yogurt has a living, active culture. +% +Q: What's tiny and yellow and very, very, dangerous? +A: A canary with the super-user password. +% +Q: What's yellow, and equivalent to the Axiom of Choice? +A: Zorn's Lemon. +% +Q: Where's the Lone Ranger take his garbage? +A: To the dump, to the dump, to the dump dump dump! + +Q: What's the Pink Panther say when he steps on an ant hill? +A: Dead ant, dead ant, dead ant dead ant dead ant... +% +Q: Who cuts the grass on Walton's Mountain? +A: Lawn Boy. +% +Q: Why are Jewish divorces so expensive? +A: Because they're worth it! +% +Q: Why did the astrophysicist order three hamburgers? +A: Because he was hungry. +% +Q: Why did the blonde climb over the glass wall? +A: To see what was on the other side. + +Q: Why do blondes like tilt steering wheels? +A: More head room. + +Q: How does a blonde turn on the light after having sex? +A: She opens the car door. +% +Q: Why did the chicken cross the road? +A: He was giving it last rites. +% +Q: Why did the chicken cross the road? +A: To see his friend Gregory peck. + +Q: Why did the chicken cross the playground? +A: To get to the other slide. +% +Q: Why did the germ cross the microscope? +A: To get to the other slide. +% +Q: Why did the lone ranger kill Tonto? +A: He found out what "kimosabe" really means. +% +Q: Why did the mathematician name his dog "Cauchy"? +A: Because he left a residue at every pole. +% +Q: Why did the programmer call his mother long distance? +A: Because that was her name. +% +Q: Why did the WASP cross the road? +A: To get to the middle. +% +Q: Why do ducks have big flat feet? +A: To stamp out forest fires. + +Q: Why do elephants have big flat feet? +A: To stamp out flaming ducks. +% +Q: Why do firemen wear red suspenders? +A: To conform with departmental regulations concerning uniform dress. +% +Q: Why do mountain climbers rope themselves together? +A: To prevent the sensible ones from going home. +% +Q: Why do people who live near Niagara Falls have flat foreheads? +A: Because every morning they wake up thinking "What *is* that noise? + Oh, right, *of course*! +% +Q: Why do the police always travel in threes? +A: One to do the reading, one to do the writing, and the other keeps + an eye on the two intellectuals. +% +Q: Why does Washington have the most lawyers per capita and + New Jersey the most toxic waste dumps? +A: God gave New Jersey first choice. +% +Q: Why don't blondes eat pickles? +A: Because they get their head stuck in the jars. + +Q: Why do blondes wear underwear? +A: To keep their ankles warm. + +Q: How do you kill a blonde? +A: Put spikes in her shoulder pads. +% +Q: Why don't lawyers go to the beach? +A: The cats keep trying to bury them. +% +Q: Why don't Scotsmen ever have coffee the way they like it? +A: Well, they like it with two lumps of sugar. If they drink + it at home, they only take one, and if they drink it while + visiting, they always take three. +% +Q: Why is Christmas just like a day at the office? +A: You do all of the work and the fat guy in the suit + gets all the credit. +% +Q: Why is it that the more accuracy you demand from an interpolation + function, the more expensive it becomes to compute? +A: That's the Law of Spline Demand. +% +Q: Why should blondes not be given coffee breaks? +A: It takes too long to retrain them. + +Q: What's the mating call of the brunette? +A: All the blondes have gone home! + +Q: How do you tell if a blonde's been using the computer? +A: There's white-out on the screen. +% +Q: Why should you always serve a Southern Carolina football man + soup in a plate? +A: 'Cause if you give him a bowl, he'll throw it away. +% +Q: Why was Stonehenge abandoned? +A: It wasn't IBM compatible. +% +Q: What do you get when you cross a mobster with an international standard? +A: You get someone who makes you an offer that you can't understand! +% +Q: What's the difference betweeen USL and the Graf Zeppelin? +A: The Graf Zeppelin represented cutting edge technology for its time. +% +Q: What's the difference between USL and the Titanic? +A: The Titanic had a band. +% +QED. +% +QOTD: + "It's not the despair... I can stand the despair. It's the hope." +% +QOTD: + "A child of 5 could understand this! Fetch me a child of 5." +% +QOTD: + "A university faculty is 500 egotists with a common parking problem." +% +QOTD: + All I want is a little more than I'll ever get. +% +QOTD: + All I want is more than my fair share. +% +QOTD: + "Dead people are good at running because they don't + have to stop and breathe." + -- Hokey, watching "Night of the Living Dead" +% +QOTD: + "Don't let your mind wander -- it's too little to be let out alone." +% +QOTD: + "East is east... and let's keep it that way." +% +QOTD: + "Every morning I read the obituaries; if my name's not there, + I go to work." +% +QOTD: + Flash! Flash! I love you! ...but we only have fourteen hours to + save the earth! +% +QOTD: + "He eats like a bird... five times his own weight each day." +% +QOTD: + "Her other car is a broom." +% +QOTD: + "He's a perfectionist. If he married Raquel Welch, he'd expect + her to cook." +% +QOTD: + "He's such a hick he doesn't even have a trapeze in his bedroom." +% +QOTD: + How can I miss you if you won't go away? +% +QOTD: + "I ain't broke, but I'm badly bent." +% +QOTD: + "I am not sure what this is, but an 'F' would only dignify it." +% +QOTD: + "I don't think they could put him in a mental hospital. On the +other hand, if he were already in, I don't think they'd let him out." +% +QOTD: + "I drive my car quietly, for it goes without saying." +% +QOTD: + "I haven't come far enough, and don't call me baby." +% +QOTD: + I love your outfit, does it come in your size? +% +QOTD: + "I may not be able to walk, but I drive from the sitting posistion." +% +QOTD: + "I only touch base with reality on an as-needed basis!" +% +QOTD: + I opened Pandora's box, let the cat out of the bag and put the + ball in their court. + -- Hon. J. Hacker (The Ministry of Administrative Affairs) +% +QOTD: + "I sprinkled some baking powder over a couple of potatoes, but it + didn't work." +% +QOTD: + "I thought I saw a unicorn on the way over, but it was just a + horse with one of the horns broken off." +% +QOTD: + "I treat her like a throughbred, and she's STILL a nag!" +% +QOTD: + "I tried buying a goat instead of a lawn tractor; had to return + it though. Couldn't figure out a way to connect the snow blower." +% +QOTD: + "I used to be an idealist, but I got mugged by reality." +% +QOTD: + "I used to be lost in the shuffle, now I just shuffle along with + the lost." +% +QOTD: + "I used to get high on life but lately I've built up a resistance." +% +QOTD: + "I used to go to UCLA, but then my Dad got a job." +% +QOTD: + "I used to jog, but the ice kept bouncing out of my glass." +% +QOTD: + "I won't say he's untruthful, but his wife has to call the + dog for dinner." +% +QOTD: + "I'd never marry a woman who didn't like pizza. I might play + golf with her, but I wouldn't marry her." +% +QOTD: + "If he learns from his mistakes, pretty soon he'll know everything." +% +QOTD: + "If I could walk that way, I wouldn't need the aftershave." +% +QOTD: + "If I'm what I eat, I'm a chocolate chip cookie." +% +QOTD: + If it's too loud, you're too old. +% +QOTD: + "If you keep an open mind people will throw a lot of garbage in it." +% +QOTD: + If you're looking for trouble, I can offer you a wide selection. +% +QOTD: + "I'll listen to reason when it comes out on CD." +% +QOTD: + "I'm just a boy named 'su'..." +% +QOTD: + I'm not a nerd -- I'm "socially challenged". +% +QOTD: + I'm not bald -- I'm "hair challenged". + + [I thought that was "differently haired". Ed.] +% +QOTD: + "I'm not really for apathy, but I'm not against it either..." +% +QOTD: + "I'm on a seafood diet -- I see food and I eat it." +% +QOTD: + "In the shopping mall of the mind, he's in the toy department." +% +QOTD: + "It seems to me that your antenna doesn't bring in too many + stations anymore." +% +QOTD: + "It was so cold last winter that I saw a lawyer with his + hands in his own pockets." +% +QOTD: + "It's a cold bowl of chili, when love don't work out." +% +QOTD: + "It's a dog-eat-dog world, and I'm wearing Milk Bone underwear." +% +QOTD: + "It's been Monday all week today." +% +QOTD: + "It's been real and it's been fun, but it hasn't been real fun." +% +QOTD: + "It's hard to tell whether he has an ace up his sleeve or if + the ace is missing from his deck altogether." +% +QOTD: + "It's men like him that give the Y chromosome a bad name." +% +QOTD: + "It's sort of a threat, you see. I've never been very good at + them myself, but I'm told they can be very effective." +% +QOTD: + "I've always wanted to work in the Federal Mint. And then go on + strike. To make less money." +% +QOTD: + "I've got one last thing to say before I go; give me back + all of my stuff." +% +QOTD: + I've heard about civil Engineers, but I've never met one. +% +QOTD: + "I've just learned about his illness. Let's hope it's nothing + trivial." +% +QOTD: + "Just how much can I get away with and still go to heaven?" +% +QOTD: + "Let's do it." + -- Gary Gilmore +% +QOTD: + "Like this rose, our love will wilt and die." +% +QOTD: + Ludwig Boltzmann, who spend much of his life studying statistical + mechanics died in 1906 by his own hand. Paul Ehrenfest, carrying + on the work, died similarly in 1933. Now it is our turn. + -- Goodstein, States of Matter +% +QOTD: + Money isn't everything, but at least it keeps the kids in touch. +% +QOTD: + "My ambition is to marry a rich woman who's too proud to let + her husband work." +% +QOTD: + "My life is a soap opera, but who gets the movie rights?" +% +QOTD: + My mother was the travel agent for guilt trips. +% +QOTD: + "My shampoo lasts longer than my relationships." +% +QOTD: + "Of course it's the murder weapon. Who would frame someone with + a fake?" +% +QOTD: + "Of course there's no reason for it, it's just our policy." +% +QOTD: + "Oh, no, no... I'm not beautiful. Just very, very pretty." +% +QOTD: + "Our parents were never our age." +% +QOTD: + "Overweight is when you step on your dog's tail and it dies." +% +QOTD: + "Say, you look pretty athletic. What say we put a pair of tennis + shoes on you and run you into the wall?" +% +QOTD: + Sex is the most fun you can have without laughing. +% +QOTD: + "She's about as smart as bait." +% +QOTD: + Silence is the only virtue he has left. +% +QOTD: + Some people have one of those days. I've had one of those lives. +% +QOTD: + "Sure, I turned down a drink once. Didn't understand the question." +% +QOTD: + Talent does what it can, genius what it must. + I do what I get paid to do. +% +QOTD: + "The baby was so ugly they had to hang a pork chop around its + neck to get the dog to play with it." +% +QOTD: + "The elder gods went to Suggoth and all I got was this lousy T-shirt." +% +QOTD: + The forest may be quiet, but that doesn't mean + the snakes have gone away. +% +QOTD: + "There may be no excuse for laziness, but I'm sure looking." +% +QOTD: + "This is a one line proof... if we start sufficiently far to the + left." +% +QOTD: + "To hell with patience, I'm gonna kill me something!" +% +QOTD: + "Unlucky? If I bought a pumpkin farm, they'd cancel Halloween." +% +QOTD: + "What do you mean, you had the dog fixed? Just what made you + think he was broken!" +% +QOTD: + "What I like most about myself is that I'm so understanding + when I mess things up." +% +QOTD: + "What women and psychologists call `dropping your armor', we call + "baring your neck." +% +QOTD: + "Who? Me? No, no, NO!! But I do sell rugs." +% +QOTD: + "Wouldn't it be wonderful if real life supported control-Z?" +% +QOTD: + Y'know how s'm people treat th'r body like a TEMPLE? + Well, I treat mine like 'n AMUSEMENT PARK... S'great... +% +QOTD: + "You want me to put *holes* in my ears and hang things from them? + How... tribal." +% +QOTD: + "You're so dumb you don't even have wisdom teeth." +% +QOTD: +Everything I am today I owe to people, whom it is now +to late to punish. +% +QOTD: +I looked out my window, and saw Kyle Pettys' car upside down, +then I thought 'One of us is in real trouble'. + -- Davey Allison, on a 150 m.p.h. crash +% +QOTD: +"I want a home, a family, an occasional spanking ..." + -- Kathy Ireland +% +QOTD: +"It wouldn't have been anything, even if it were gonna be a thing." +% +QOTD: +Lack of planning on your part doesn't consitute an emergency +on my part. +% +QOTD: +On a scale of 1 to 10 I'd say... oh, somewhere in there. +% +QOTD: +Sacred cows make great hamburgers. +% +QOTD: +The only easy way to tell a hamster from a gerbil is that the +gerbil has more dark meat. +% +Quack! + Quack!! Quack!! +% +Quality control: + Assuring that the quality of a product does not get out of hand + and add to the cost of its manufacture or design. +% +QUALITY CONTROL: + The process of testing one out of every 1,000 units coming off a + production line to make sure that at least one out of 100 works. +% +Quantity is no substitute for quality, +but its the only one we've got. +% +Quantum Mechanics is a lovely introduction to Hilbert Spaces! + -- Overheard at last year's Archimedeans' Garden Party +% +Quantum Mechanics is God's version of "Trust me." +% +QUARK: + The sound made by a well bred duck. +% +Quark! Quark! Beware the quantum duck! +% +Queensboro president Donald Mannis, charged with receiving bribes in +exchange for city contracts, resigned on Tuesday. Mannis feels he must +devote more time to impending litigation, some of which might eminate +from a recent statement he made comparing New York Mayor Ed Koch to +Nazi Martin Bormann. A spokesman from the Bormann estate said they are +weighing the odds of a slander suit. Mayor Koch could naturally be +reached for comment, but we chose not to listen. + -- Dennis Miller +% +Question: + Man Invented Alcohol, + God Invented Grass. + Whom do you trust? +% +question = ( to ) ? be : ! be; + -- Wm. Shakespeare +% +QUESTION AUTHORITY. + +(Sez who?) +% +Question: Is it better to abide by the rules until +they're changed or help speed the change by breaking them? +% +Questionable day. +Ask somebody something. +% +Questions are never indiscreet, answers sometimes are. + -- Oscar Wilde +% +Quick!! Act as if nothing has happened! +% +Quidquid latine dictum sit, altum viditur. + +(Whatever is said in Latin sounds profound.) +% +Quigley's Law: + Whoever has any authority over you, + no matter how small, will attempt to use it. +% +Quit worrying about your health. It'll go away. + -- Robert Orben +% +Quite frankly, I don't like you humans. +After what you all have done, I find being "inhuman" a compliment. +% +Qvid me anxivs svm? +% +Radicalism: + The conservatism of tomorrow injected into the affairs of today. + -- A. Bierce +% +RADIO SHACK LEVEL II BASIC +READY +>_ +% +Radioactive cats have 18 half-lives. +% +Raffiniert ist der Herrgott aber boshaft ist er nicht. + -- Albert Einstein +% +rain falls where clouds come +sun shines where clouds go +clouds just come and go + -- Florian Gutzwiller +% +Rainy days and automatic weapons always get me down. +% +Rainy days and Mondays always get me down. +% +Raising pet electric eels is gaining a lot of current popularity. +% +Ralph's Observation: +It is a mistake to let any mechanical object +realise that you are in a hurry. +% +RAM wasn't built in a day. +% +Random, n: + as in number, predictable. + as in memory access, unpredictable. +% +Rarely do people communicate; they just take turns talking. +% +Rascal, am I? Take THAT! + -- Errol Flynn +% +Rattling around the back of my head is a disturbing image of something I +saw at the airport... Now I'm remembering, those giant piles of computer +magazines right next to "People" and "Time" in the airport store. Does it +bother anyone else that half the world is being told all of our hard-won +secrets of computer technology? Remember how all the lawyers cried foul +when "How to Avoid Probate" was published? Are they taking no-fault +insurance lying down? No way! But at the current rate it won't be long +before there are stacks of the "Transactions on Information Theory" at the +A&P checkout counters. Who's going to be impressed with us electrical +engineers then? Are we, as the saying goes, giving away the store? + -- Robert W. Lucky, IEEE president +% +Razors pain you; +Rivers are damp; +Acids stain you; +And drugs cause cramp. +Guns aren't lawful; +Nooses give; +Gas smells awful; +You might as well live. + -- Dorothy Parker, "Resume", 1926 +% +Re: Graphics: + A picture is worth 10K words -- but only those to describe + the picture. Hardly any sets of 10K words can be adequately + described with pictures. +% +Reach into the thoughts of friends, +And find they do not know your name. +Squeeze the teddy bear too tight, +And watch the feathers burst the seams. +Touch the stained glass with your cheek, +And feel its chill upon your blood. +Hold a candle to the night, +And see the darkness bend the flame. +Tear the mask of peace from God, +And hear the roar of souls in hell. +Pluck a rose in name of love, +And watch the petals curl and wilt. +Lean upon the western wind, +And know you are alone. + -- Dru Mims +% +Reactor error - core dumped! +% +Reading is thinking with someone else's head instead of one's own. +% +Reading is to the mind what exercise is to the body. +% +Reagan can't act either. +% +Real computer scientists despise the idea of actual hardware. Hardware has +limitations, software doesn't. It's a real shame that Turing machines are +so poor at I/O. +% +Real computer scientists don't write code. They occasionally tinker with +`programming systems', but those are so high level that they hardly count +(and rarely count accurately; precision is for applications). +% +Real computer scientists like having a computer on their desk, else how +could they read their mail? +% +Real computer scientists only write specs for languages that might run on +future hardware. Nobody trusts them to write specs for anything homo sapiens +will ever be able to fit on a single planet. +% +Real programmers admire ADA for its overwhelming aesthetic value but they +find it difficult to actually program in it, as it is much too large to +implement. Most computer scientists don't notice this because they are +still arguing over what else to add to ADA. +% +Real programmers don't document; if it was +hard to write, it should be hard to understand. +% +Real programmers don't draw flowcharts. Flowcharts are, after all, the +illiterate's form of documentation. Cavemen drew flowcharts; look how much +good it did them. +% +Real Programmers don't eat quiche. They eat Twinkies and Szechwan food. +% +Real Programmers don't play tennis, or any other sport that requires +you to change clothes. Mountain climbing is OK, and real programmers +wear their climbing boots to work in case a mountain should suddenly +spring up in the middle of the machine room. +% +Real Programmers don't write in FORTRAN. +FORTRAN is for pipe stress freaks and crystallography weenies. +% +Real Programmers don't write in PL/I. PL/I is for +programmers who can't decide whether to write in COBOL or FORTRAN. +% +Real Programmers think better when playing Adventure or Rogue. +% +Real programs don't eat cache. +% +Real Programs don't use shared text. Otherwise, how can they +use functions for scratch space after they are finished calling them? +% +Real wealth can only increase. + -- R. Buckminster Fuller +% +Real World, The n.: + 1. In programming, those institutions at which programming may be +used in the same sentence as FORTRAN, COBOL, RPG, IBM, etc. 2. To +programmers, the location of non-programmers and activities not related to +programming. 3. A universe in which the standard dress is shirt and tie +and in which a person's working hours are defined as 9 to 5. 4. The location +of the status quo. 5. Anywhere outside a university. "Poor fellow, he's +left MIT and gone into T.R.W." Used pejoratively by those not in residence +there. In conversation, talking of someone who has entered the real world +is not unlike talking about a deceased person. +% +Reality -- what a concept! + -- Robin Williams +% +Reality always seems harsher in the early morning. +% +Reality does not exist - yet. +% +Reality is an obstacle to hallucination. +% +Reality is for people who can't deal with drugs. + -- Lily Tomlin +% +Reality is just a crutch for people who can't handle science fiction. +% +Reality is nothing but a collective hunch. + -- Lily Tomlin +% +Reality must take precedence over public relations, for Mother Nature +cannot be fooled. + -- R.P. Feynman +% +Really?? What a coincidence, I'm shallow too!! +% +Reappraisal, n: + An abrupt change of mind after being found out. +% +Rebellion lay in his way, and he found it. + -- William Shakespeare, "Henry IV" +% +Receiving a million dollars tax free will make you feel better than being +flat broke and having a stomach ache. + -- Dolph Sharp +% +Recent investments will yield a slight profit. +% +Recent research has tended to show that the Abominable No-Man +is being replaced by the Prohibitive Procrastinator. + -- C.N. Parkinson +% +Recently deceased blues guitarist Stevie Ray Vaughan "comes to" after +his death. He sees Jimi Hendrix sitting next to him, tuning his guitar. +"Holy cow," he thinks to himself, "this guy is my idol." Over at the +microphone, about to sing, are Jim Morrison and Janis Joplin, and the +bassist is the late Barry Oakley of the Allman Brothers. So Stevie +Ray's thinking, "Oh, wow! I've died and gone to rock and roll heaven." +Just then, Karen Carpenter walks in, sits down at the drums, and says: +"'Close to You'. Hit it, boys!" + -- Told by Penn Jillette, of magic/comedy duo Penn and Teller +% +Reception area, n: + The purgatory where office visitors are condemned to spend + innumerable hours reading dog-eared back issues of trade + magazines like Modern Plastics, Chain Saw Age, and Chicken World, + while the receptionist blithely reads her own trade magazine -- + Cosmopolitan. +% +Recession is when your neighbor loses his job. Depression is when you +lose your job. These economic downturns are very difficult to predict, +but sophisticated econometric modeling houses like Data Resources and +Chase Econometrics have successfully predicted 14 of the last 3 recessions. +% +Recipe for a Pan Galactic Gargle Blaster: + (1) Take the juice from one bottle of Ol' Janx Spirit + (2) Pour into it one measure of water from the seas of + Santraginus V (Oh, those Santraginean fish!) + (3) Allow 3 cubes of Arcturan Mega-gin to melt into the + mixture (properly iced or the benzine is lost.) + (4) Allow four liters of Fallian marsh gas to bubble through it. + (5) Over the back of a silver spoon, float a measure of + Qualactin Hypermint extract. + (6) Drop in the tooth of an Algolian Suntiger. Watch it dissolve. + (7) Sprinkle Zamphuor. + (8) Add an olive. + (9) Drink... but... very carefully... +% +Reclaimer, spare that tree! +Take not a single bit! +It used to point to me, +Now I'm protecting it. +It was the reader's CONS +That made it, paired by dot; +Now, GC, for the nonce, +Thou shalt reclaim it not. +% +Recursion is the root of computation +since it trades description for time. +% +Recursion: n. See Recursion. + -- Random Shack Data Processing Dictionary +% +Regardless of whether a mission expands or contracts, +administrative overhead continues to grow at a steady rate. +% +Regnant populi. +% +Regression analysis: + Mathematical techniques for trying to understand why things are + getting worse. +% +Reichel's Law: + A body on vacation tends to remain on vacation unless acted upon by + an outside force. +% +Reinhart was never his mother's favorite -- and he was an only child. + -- Thomas Berger +% +Reisner's Rule of Conceptual Inertia: + If you think big enough, you'll never have to do it. +% +Relations are simply a tedious pack of people, who haven't the remotest +knowledge of how to live, nor the smallest instinct about when to die. + -- Oscar Wilde, "The Importance of Being Earnest" +% +...relaxed in the manner of a man who +has no need to put up a front of any kind. + -- John Ball, "Mark One: the Dummy" +% +Reliable source, n: + The guy you just met. +% +Religion has done love a great service by making it a sin. + -- Anatole France +% +Religion is a crutch, but that's okay... humanity is a cripple. +% +Religion is what keeps the poor from murdering the rich. + -- Napoleon +% +Religions revolve madly around sexual questions. +% +Rembrandt is not to be compared in the painting of character with our +extraordinarily gifted English artist, Mr. Rippingille. + -- John Hunt, British editor, scholar and art critic + Cerf/Navasky, "The Experts Speak" +% +Remember -- only 10% of anything can be in the top 10%. +% +Remember Darwin; building a better +mousetrap merely results in smarter mice. +% +Remember, DESSERT is spelled with two `s's while DESERT is spelled +with one, because EVERYONE wants two desserts, but NO ONE wants two +deserts. + -- Miss Oglethorp, Gr. 5, PS. 59 +% +Remember folks. Street lights timed for 35 mph are also timed for 70 mph. + -- Jim Samuels +% +Remember, God could only create the world in 6 days because he didn't +have an established user base. +% +Remember, Grasshopper, falling down 1000 stairs begins by tripping over +the first one. + -- Confusion +% +"Remember, if it's being done correctly, here or abroad, it's +*not* the U.S. Army doing it!" + -- Good Morning VietNam +% +Remember kids, if there's a loaded gun in the room, be sure +that you're the one holding it. + -- Mr. Greenfatigues +% +Remember: Silly is a state of Mind, Stupid is a way of Life. + -- Dave Butler +% +Remember that as a teenager you are in the last stage of your life when +you will be happy to hear that the phone is for you. + -- Fran Lebowitz, "Social Studies" +% +Remember that there is an outside world to see and enjoy. + -- Hans Liepmann +% +Remember that whatever misfortune may be your lot, +it could only be worse in Cleveland. +% +Remember the good old days, when CPU was singular? +% +Remember the... the... uhh..... +% +Remember thee +Ay, thou poor ghost while memory holds a seat +In this distracted globe. Remember thee! +Yea, from the table of my memory +I'll wipe away all trivial fond records, +All saws of books, all forms, all pressures past, +That youth and observation copied there. + -- William Shakespear, "Hamlet" +% +Remember to say hello to your bank teller. +% +Remember, UNIX spelled backwards is XINU. + -- Mt. +% +Remember: use logout to logout. +% +Remembering is for those who have forgotten. + -- Chinese proverb +% +Remove me from this land of slaves, +Where all are fools, and all are knaves, +Where every knave and fool is bought, +Yet kindly sells himself for nought; + -- Jonathan Swift +% +Removing the straw that broke the camel's back +does not necessarily allow the camel to walk again. +% +Renning's Maxim: + Man is the highest animal. Man does the classifying. +% +Repartee is something we think of twenty-four hours too late. + -- Mark Twain +% +Repel them. Repel them. Induce them to relinquish the spheroid. + -- Indiana University footbal cheer +% +Reply hazy, ask again later. +% +Reporter: + A writer who guesses his way to the truth + and dispels it with a tempest of words. + -- Ambrose Bierce +% +Reporter: "How did you like school when you were growing up, Yogi?" +Yogi Berra: "Closed." +% +Reporter: "What would you do if you found a million dollars?" +Yogi Berra: "If the guy was poor, I would give it back." +% +Reporter (to Mahatma Gandhi): + Mr. Gandhi, what do you think of Western Civilization? +Gandhi: I think it would be a good idea. +% +Republicans raise dahlias, Dalmatians and eyebrows. +Democrats raise Airedales, kids and taxes. + +Democrats eat the fish they catch. +Republicans hang them on the wall. + +Republican boys date Democratic girls. They plan to marry +Republican girls, but feel they're entitled to a little fun first. + +Democrats make up plans and then do something else. +Republicans follow the plans their grandfathers made. + +Republicans sleep in twin beds -- some even in separate rooms. +That is why there are more Democrats. + -- Paul Dickson, "The Official Rules" +% +Reputation, adj: + What others are not thinking about you. +% +Research is the best place to be: you work your buns off, and if it works +you're a hero; if it doesn't, well -- nobody else has done it yet either, +so you're still a valiant nerd. +% +Research is to see what everybody else has seen, +and think what nobody else has thought. +% +Research is what I'm doing when I don't know what I'm doing. + -- Wernher von Braun +% +Research, n: + Consider Columbus: + He didn't know where he was going. + When he got there he didn't know where he was. + When he got back he didn't know where he had been. + And he did it all on someone else's money. +% +Resisting temptation is easier when you +think you'll probably get another chance later on. +% +Responsibility: + Everyone says that having power is a great responsibility. This is +a lot of bunk. Responsibility is when someone can blame you if something +goes wrong. When you have power you are surrounded by people whose job it +is to take the blame for your mistakes. If they're smart, that is. + -- Cerebus, "On Governing" +% +Retirement means that when someone says "Have a nice day", you +actually have a shot at it. +% +Reunite Gondwondaland! +% +Rev. Jim: What does an amber light mean? +Bobby: Slow down. +Rev. Jim: What... does... an... amber... light... mean? +Bobby: Slow down. +Rev. Jim: What.... does.... an.... amber.... light.... +% +Revenge is a form of nostalgia. +% +Revenge is a meal best served cold. +% +Review Questions + +1: If Nerd on the planet Nutley starts out in his spaceship at 20 KPH, + and his speed doubles every 3.2 seconds, how long will it be before + he exceeds the speed of light? How long will it be before the + Galactic Patrol picks up the pieces of his spaceship? + +2: If Roger Rowdy wrecks his car every week, and each week he breaks + twice as many bones as before, how long will it be before he breaks + every bone in his body? How long will it be before they cut off + his insurance? Where does he get a new car every week? + +3: If Johnson drinks one beer the first hour (slow start), four beers + the next hour, nine beers the next, etc., and stacks the cans in + a pyramid, how soon will Johnson's pyramid be larger than King + Tut's? When will it fall on him? Will he notice? +% +Revolution, n: + A form of government abroad. +% +Revolution, n: + In politics, an abrupt change in the form of misgovernment. + -- Ambrose Bierce +% +revolutionary, adj: + Repackaged. +% +Rhode's Law: + When any principle, law, tenet, probability, happening, circumstance, + or result can in no way be directly, indirectly, empirically, or + circuitously proven, derived, implied, inferred, induced, deducted, + estimated, or scientifically guessed, it will always for the purpose + of convenience, expediency, political advantage, material gain, or + personal comfort, or any combination of the above, or none of the + above, be unilaterally and unequivocally assumed, proclaimed, and + adhered to as absolute truth to be undeniably, universally, immutably, + and infinitely so, until such time as it becomes advantageous to + assume otherwise, maybe. +% +Rich bachelors should be heavily taxed. It is not fair that some men +should be happier than others. + -- Oscar Wilde +% +Richard Nixon was the most dishonest individual I have ever met in my life. +He lied to his wife, his family, his friends, his colleagues in the Congress, +lifetime members of his own political party, the American people, and the +world. + -- Senator Barry Goldwater +% +Riches cover a multitude of woes. + -- Menander +% +Rick: "How can you close me up? On what grounds?" +Renault: "I'm shocked! Shocked! To find that gambling is + going on here." +Croupier (handing money to Renault): + "Your winnings, sir." +Renault: "Oh. Thank you very much." + -- Casablanca +% +Riffle West Virginia is so small that the +Boy Scout had to double as the town drunk. +% +"Rights" is a fictional abstraction. No one has "Rights", neither +machines nor flesh-and-blood. Persons... have opportunities, not +rights, which they use or do not use. + -- Lazarus Long +% +Ring around the collar. +% +Ritchie's Rule: + (1) Everything has some value -- if you use the right currency. + (2) Paint splashes last longer than the paint job. + (3) Search and ye shall find -- but make sure it was lost. +% +Robot, n: + Someone who's been made by a scientist. +% +Robot, n: + University administrator. +% +Robustness, adj: + Never having to say you're sorry. +% +Rocky's Lemma of Innovation Prevention + Unless the results are known in advance, + funding agencies will reject the proposal. +% +Romance, like alcohol, should be enjoyed, but should not be allowed to +become necessary. + -- Edgar Friedenberg +% +Rome was not built in one day. + -- John Heywood +% +Rome wasn't burnt in a day. +% +Romeo was restless, he was ready to kill, +He jumped out the window 'cause he couldn't sit still, +Juliet was waiting with a safety net, +Said "don't bury me 'cause I ain't dead yet". + -- Elvis Costello +% +Roses are red; + Violets are blue. +I'm schizophrenic, + And so am I. +% +Rotten wood cannot be carved. + -- Confucius, "Analects", Book 5, Ch. 9 +% +Roumanian-Yiddish cooking has killed more Jews than Hitler. + -- Zero Mostel +% +Round Numbers are always false. + -- Samuel Johnson +% +Row, row, row your bits, gently down the stream... +% +Rubber bands have snappy endings! +% +Rube Walker: "Hey, Yogi, what time is it?" +Yogi Berra: "You mean now?" +% +Rudd's Discovery: + You know that any senator or congressman could go home and make + $300,000 to $400,000, but they don't. Why? Because they can + stay in Washington and make it there. +% +Rudeness is a weak man's imitation of strength. +% +Rudin's Law: + If there is a wrong way to do something, most people will + do it every time. + +Rudin's Second Law: + In a crisis that forces a choice to be made among alternative + courses of action, people tend to choose the worst possible + course. +% +rugby, n: + Elegant violence. + + (Rugby players eat their dead.) + (Blood makes the grass grow!) + (Support your local hooker! Play rugby!) + + [A "hooker" is part of the scrum. Thought you'd want to know. Ed.] +% +RUGGED: + Too heavy to lift. +% +Rule #1: + The Boss is always right. + +Rule #2: + If the Boss is wrong, see Rule #1. +% +Rule #7: Silence is not acquiescence. + Contrary to what you may have heard, silence of those present is +not necessarily consent, even the reluctant variety. They simply may +sit in stunned silence and figure ways of sabotaging the plan after they +regain their composure. +% +Rule of Creative Research: + 1) Never draw what you can copy. + 2) Never copy what you can trace. + 3) Never trace what you can cut out and paste down. +% +Rule of Defactualization: + Information deteriorates upward through bureaucracies. +% +Rule of Feline Frustration: + When your cat has fallen asleep on your lap and looks utterly + content and adorable, you will suddenly have to go to the + bathroom. +% +Rule of Life #1 -- Never get separated from your luggage. +% +Rule of the Great: + When people you greatly admire appear to be thinking deep + thoughts, they probably are thinking about lunch. +% +Rule the Empire through force. + -- Shogun Tokugawa +% +Rules for driving in New York: + 1) Anything done while honking your horn is legal. + 2) You may park anywhere if you turn your four-way flashers on. + 3) A red light means the next six cars may go through the + intersection. +% +Rules for Good Grammar #4. + 1: Don't use no double negatives. + 2: Make each pronoun agree with their antecedents. + 3: Join clauses good, like a conjunction should. + 4: About them sentence fragments. + 5: When dangling, watch your participles. + 6: Verbs has got to agree with their subjects. + 7: Just between you and i, case is important. + 8: Don't write run-on sentences when they are hard to read. + 9: Don't use commas, which aren't necessary. +10: Try to not ever split infinitives. +11: It is important to use your apostrophe's correctly. +12: Proofread your writing to see if you any words out. +13: Correct speling is essential. +14: A preposition is something you never end a sentence with. +15: While a transcendant vocabulary is laudable, one must be eternally + careful so that the calculated objective of communication does not + become ensconsed in obscurity. In other words, eschew obfuscation. +% +Rules for Writers: + Avoid run-on sentences they are hard to read. Don't use no double +negatives. Use the semicolon properly, always use it where it is appropriate; +and never where it isn't. Reserve the apostrophe for it's proper use and +omit it when its not needed. No sentence fragments. Avoid commas, that are +unnecessary. Eschew dialect, irregardless. And don't start a sentence with +a conjunction. Hyphenate between sy-llables and avoid un-necessary hyphens. +Write all adverbial forms correct. Don't use contractions in formal writing. +Writing carefully, dangling participles must be avoided. It is incumbent on +us to avoid archaisms. Steer clear of incorrect forms of verbs that have +snuck in the language. Never, ever use repetitive redundancies. If I've +told you once, I've told you a thousand times, resist hyperbole. Also, +avoid awkward or affected alliteration. Don't string too many prepositional +phrases together unless you are walking through the valley of the shadow of +death. "Avoid overuse of 'quotation "marks."'" +% +RULES OF EATING -- THE BRONX DIETER'S CREED + 1. Never eat on an empty stomach. + 2. Never leave the table hungry. + 3. When traveling, never leave a country hungry. + 4. Enjoy your food. + 5. Enjoy your companion's food. + 6. Really taste your food. It may take several portions to + accomplish this, especially if subtly seasoned. + 7. Really feel your food. Texture is important. Compare, for + example, the texture of a turnip to that of a brownie. + Which feels better against your cheeks? + 8. Never eat between snacks, unless it's a meal. + 9. Don't feel you must finish everything on your plate. You can + always eat it later. + 10. Avoid any wine with a childproof cap. + 11. Avoid blue food. + -- The Bronx Diet, "Richard Smith" +% +Ruling a big country is like cooking a small fish. + -- Lao Tsu +% +Rune's Rule: + If you don't care where you are, you ain't lost. +% +Russia has abolished God, but so far God has been more tolerant. + -- John Cameron Swayze +% +Ruth made a great mistake when he gave up pitching. Working once a week, +he might have lasted a long time and become a great star. + -- Tris Speaker, commenting on Babe Ruth's plan to change + from being a pitcher to an outfielder. + Cerf/Navasky, "The Experts Speak" +% +Ryan's Law: + Make three correct guesses consecutively + and you will establish yourself as an expert. +% +Sacher's Observation: + Some people grow with responsibility -- others merely swell. +% +Sacred cows make great hamburgers. +% +SADISM: + A sadist refusing to whip a masochist. +% +sadoequinecrophilia, n: + Beating a dead horse. +% +Safety Third. +% +Safety Tips for the Post-Nuclear Existence + Tip #1: How to tell when you are dead. + + 1. Little things start bothering you: little things like worms, + bugs, ants. + 2. Something is missing in your personal relationships. + 3. Your dog becomes overly affectionate. + 4. You have a hard time getting a waiter. + 5. Exotic birds flock around you. + 6. People ignore you at parties. + 7. You have a hard time getting up in the morning. + 8. You no longer get off on cocaine. +% +SAGDEEV CALLED ON THE U.S. TO MAKE A RECIPROCAL GESTURE: + + In a recent speech in London, the irrepressible former head of the +Soviet Space Research Institute noted that the Soviet Government has offered +to convert its gigantic Krasnoyarsk radar in Siberia into an international +space research facility in response to U.S. complaints that the radar would +violate the ABM treaty. Sagdeev suggested that the U.S. reciprocate by +turning the unfinished U.S. embassy in Moscow into a nuclear crisis reduction +center. The communication system, he pointed out, is already in place. +% +SAGITTARIUS (Nov 22 - Dec 21) + You are optimistic and enthusiastic. You have a reckless + tendency to rely on luck since you lack talent. The majority of + Sagitarians are drunks or dope fiends or both. People laugh at + you a great deal. +% +SAGITTARIUS (Nov. 22 to Dec. 21) + Move slowly today, be deliberate. Indications are for bleeding + ulcers. Drink milk. Try not to be your usual offensive and + obnoxious self. Call your mother. +% +SAGITTARIUS (Nov.22 - Dec.21) + Your efforts to help a little old lady cross a street will + backfire when you learn that she was waiting for a bus. Subdue + impulse you have to push her out into traffic. +% +Said the attractive, cigar-smoking housewife to her girl-friend: "I +got started one night when George came home and found one burning in +the ashtray." +% +Sailing is fun, but scrubbing the decks is aardvark. + -- Heard on Noahs' ark +% +Sailors in ships, sail on! +Even while we died, others rode out the storm. +% +Saints should always be judged guilty until they are proved innocent. + -- George Orwell, "Reflections on Gandhi" +% +Saliva causes cancer, but only if swallowed +in small amounts over a long period of time. + -- George Carlin +% +Sally: C'mon, Ted, all I'm asking you to do is share your feelings + with me. +Ted: ALL? Do you realize what you're asking? Men aren't trained + to share. We're trained to protect ourselves by not + letting anyone too close. Good grief, if I go around + sharing everything with you, you could hang me out to dry. +Sally: It's called "trust," Ted. +Ted: "Sharing"? "Trust"? You're really asking me to sail into + uncharted waters here. + -- Sally Forth +% +Sam: What do you know there, Norm? +Norm: How to sit. How to drink. Want to quiz me? + -- Cheers, Loverboyd + +Sam: Hey, how's life treating you there, Norm? +Norm: Beats me. ... Then it kicks me and leaves me for dead. + -- Cheers, Loverboyd + +Woody: How would a beer feel, Mr. Peterson? +Norm: Pretty nervous if I was in the room. + -- Cheers, Loverboyd +% +Sam: What's the good word, Norm? +Norm: Plop, plop, fizz, fizz. +Sam: Oh no, not the Hungry Heifer... +Norm: Yeah, yeah, yeah... +Sam: One heartburn cocktail coming up. + -- Cheers, I'll Gladly Pay You Tuesday + +Sam: Whaddya say, Norm? +Norm: Well, I never met a beer I didn't drink. And down it goes. + -- Cheers, Love Thy Neighbor + +Woody: What's your pleasure, Mr. Peterson? +Norm: Boxer shorts and loose shoes. But I'll settle for a beer. + -- Cheers, The Bar Stoolie +% +Sam: What do you say, Norm? +Norm: Any cheap, tawdry thing that'll get me a beer. + -- Cheers, Birth, Death, Love and Rice + +Sam: What do you say to a beer, Normie? +Norm: Hiya, sailor. New in town? + -- Cheers, Woody Goes Belly Up + +Norm: [coming in from the rain] Evening, everybody. +All: Norm! (Norman.) +Sam: Still pouring, Norm? +Norm: That's funny, I was about to ask you the same thing. + -- Cheers, Diane's Nightmare +% +Sam: What's going on, Normie? +Norm: My birthday, Sammy. Give me a beer, stick a candle in + it, and I'll blow out my liver. + -- Cheers, Where Have All the Floorboards Gone + +Woody: Hey, Mr. P. How goes the search for Mr. Clavin? +Norm: Not as well as the search for Mr. Donut. + Found him every couple of blocks. + -- Cheers, Head Over Hill +% +Sam: What's new, Norm? +Norm: Most of my wife. + -- Cheers, The Spy Who Came in for a Cold One + +Coach: Beer, Norm? +Norm: Naah, I'd probably just drink it. + -- Cheers, Now Pitching, Sam Malone + +Coach: What's doing, Norm? +Norm: Well, science is seeking a cure for thirst. I happen + to be the guinea pig. + -- Cheers, Let Me Count the Ways +% +SAN DIEGO: + Four million people, where you can't get a + good cheeseburger, no matter how hard you try. +% +SAN FRANCISCO: + Marcel Proust editing an issue of Penthouse. +% +San Francisco has always been my favorite booing city. I don't mean the +people boo louder or longer, but there is a very special intimacy. When +they boo you, you know they mean *you*. Music, that's what it is to me. +One time in Kezar Stadium they gave me a standing boo. + -- George Halas, professional footbal coach +% +San Francisco isn't what it used to be, and it never was. + -- Herb Caen +% +Sanity and insanity overlap a fine grey line. +% +Sank heaven for leetle curls. +% +Santa Claus is watching! +% +Santa Claus wears a red suit +He's a Communist. + +He has long hair and a beard +Must be a pacifist. + +And what's in the pipe that he's smoking? + +Santa Claus comes in your house at night. +He must be a dope fiend to get you up tight. + +Why do police guys beat on peace guys? + -- Arlo Guthrie, "The Pause of Mr. Claus" +% + +SANTA IS BRINGING GOOD WISHES FROM ALL THE +MICRO ARTISTS GANG! MAY 1988 BE A HAPPY YEAR! + + + \__\_ :. ___/ + ..\ /-- + :.______ : .:* : . _ .: :.. . : . . : ()_ .: + (( \. :./(__ :._O_)________:______,____:____/ *\_o +====(( \: (****) (***) :. ...: .. . ()_______/\\ __-' + \____(( \ ()oo()_/ /.: : ..________/_____ll -/.: .. + ( (( \(())))__/ . .. \\.: ..( ) ll ( l_.: +( / (( \__*__)___:___ : : )) .) /--------\ \ \ +( / ((_____________) .. // . / / /..:: . )_)_\ + (____/_____________________\__// : /_/_/ :.. :/_/ \_\ + /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /_/_/ + + +% +Santa's elves are just a bunch of subordinate Clauses. +% +Satellite Safety Tip #14: + If you see a bright streak in the sky coming at you, duck. +% +Satire does not look pretty upon a tombstone. +% +Satire is tragedy plus time. + -- Lenny Bruce +% +Satire is what closes in New Haven. +% +Satire is what closes Saturday night. + -- George Kaufman +% +Sattinger's Law: + It works better if you plug it in. +% +Saturday night in Toledo Ohio, +Is like being nowhere at all, +All through the day how the hours rush by, +You sit in the park and you watch the grass die. + -- John Denver, "Saturday Night in Toledo Ohio" +% +Satyrs have more faun. +% +Savage's Law of Expediency: + You want it bad, you'll get it bad. +% +Save a little money each month and at the end of the year you'll be +surprised at how little you have. + -- Ernest Haskins +% +Save energy: Drive a smaller shell. +% +Save energy: be apathetic. +% +Save gas, don't eat beans. +% +Save gas, don't use the shell. +% +Save the bales! +% +Save the whales. Collect the whole set. +% +Save yourself! Reboot in 5 seconds! +% +Say! You've struck a heap of trouble-- +Bust in business, lost your wife; +No one cares a cent about you, +You don't care a cent for life; +Hard luck has of hope bereft you, +Health is failing, wish you'd die-- +Why, you've still the sunshine left you +And the big blue sky. + -- R.W. Service +% +Say it with flowers, +Or say it with mink, +But whatever you do, +Don't say it with ink! + -- Jimmie Durante +% +Say many of cameras focused t'us, +Our middle-aged shots do us justice. +No justice, please, curse ye! +We really want mercy: +You see, 'tis the justice, disgusts us. + -- Thomas H. Hildebrandt +% +Say my love is easy had, +Say I'm bitten raw with pride, +Say I am too often sad -- +Still behold me at your side. + +Say I'm neither brave nor young, +Say I woo and coddle care, +Say the devil touched my tongue, +Still you have my heart to wear. + +But say my verses do not scan, +And I get me another man! + -- Dorothy Parker, "Fighting Words" +% +Say no, then negotiate. + -- Helga +% +Say something you'll be sorry for, I love receiving apologies. +% +Say "twenty-three-skiddoo" to logout. +% +SCCS, the source motel! Programs check in and never check out! + -- Ken Thompson +% +SCENARIO: + An imagined sequence of events that provides the context in + which a business decision is made. Scenarios always come in + sets of three: best case, worst case, and just in case. +% +Scenary is here, wish you were beautiful. +% +Scene: + A small boy stands agasp on the stairway overlooking the living +room. A rather largish man in a big red suit with white fur and red and +white belled cap hunches over the fireplace, obviously interrupted in +filling stockings with packages taken from a huge bag slung over his +shoulder. His eyebrows are raised, matter-of-factly, as he spies the boy +intently watching him. + +Caption: + "I'm sorry you've seen me, Billy. Now I'll have to kill you. +% +Schapiro's Explanation: + The grass is always greener on the other side -- + but that's because they use more manure. +% +Schizophrenia beats being alone. +% +schlattwhapper, n: + The window shade that allows itself to be pulled down, + hesitates for a second, then snaps up in your face. + -- Rich Hall, "Sniglets" +% +Schmidt's Observation: + All things being equal, a fat person uses more soap + than a thin person. +% +Science and religion are in full accord but +science and faith are in complete discord. +% +Science Fiction, Double Feature. +Frank has built and lost his creature. +Darkness has conquered Brad and Janet. +The servants gone to a distant planet. +Wo, oh, oh, oh. +At the late night, double feature, Picture show. +I want to go, oh, oh, oh. +To the late night, double feature, Picture show. + -- Rocky Horror Picture Show +% +Science is built up of facts, as a house is with stones. But a +collection of facts is no more a science than a heap of stones +is a house. + -- Jules Henri Poincare +% +Science is to computer science as hydrodynamics is to plumbing. +% +Science is what happens when preconception meets verification. +% +Science may someday discover what faith has always known. +% +Science! true daughter of Old Time thou art! +Who alterest all things with thy peering eyes. +Why preyest thou thus upon the poet's heart, +Vulture, whose wings are dull realities? +How should he love thee? or how deem thee wise? +Who wouldst not leave him in his wandering +To seek for treasure in the jewelled skies, +Albeit he soared with an undaunted wing? +Hast thou not dragged Diana from her car? +And driven the Hamadryad from the wood +To seek a shelter in some happier star? +Hast thou not torn the Naiad from her flood, +The Elfin from the green grass, and from me +The summer dream beneath the tamarind tree? + -- Edgar Allen Poe, "Science, a Sonnet" +% +Scientists still know less about what attracts men +than they do about what attracts mosquitoes. + -- Dr. Joyce Brothers, + "What Every Woman Should Know About Men" +% +Scientists were preparing an experiment to ask the ultimate question. +They had worked for months gathering one each of every computer that +was built. Finally the big day was at hand. All the computers were +linked together. They asked the question, "Is there a God?". Lights +started blinking, flashing and blinking some more. Suddenly, there +was a loud crash, and a bolt of lightning came down from the sky, +struck the computers, and welded all the connections permanently +together. "There is now", came the reply. +% +Scintilate, scintilate, globule vivific, +Fain how I pause at your nature specific, +Loftily poised in the ether capacious, +Highly resembling a gem carbonaceous. +Scintilate, scintilate, globule vivific, +Fain how I pause at your nature specific. +% +Scintillation is not always identification for an auric substance. +% +SCORPIO (Oct 23 - Nov 21) + You are shrewd in business and cannot be trusted. You will achieve + the pinnacle of success because of your total lack of ethics. Most + Scorpio people are murdered. +% +SCORPIO (Oct. 23 to Nov. 21) + Friends abound today, seeking repayment of past loans. Smile. Check + for concealed weapons. Your natural cheerfulness makes others want + to throw up. Knock it off. +% +SCORPIO (Oct.24 - Nov.21) + You will receive word today that you are eligible to win a million + dollars in prizes. It will be from a magazine trying to get you to + subscribe, and you're just dumb enough to think you've got a chance + to win. You never learn. +% +Scott's First Law: + No matter what goes wrong, it will probably look right. + +Scott's Second Law: + When an error has been detected and corrected, it will be found + to have been wrong in the first place. +Corollary: + After the correction has been found in error, it will be + impossible to fit the original quantity back into the + equation. +% +Scotty: Captain, we din' can reference it! +Kirk: Analysis, Mr. Spock? +Spock: Captain, it doesn't appear in the symbol table. +Kirk: Then it's of external origin? +Spock: Affirmative. +Kirk: Mr. Sulu, go to pass two. +Sulu: Aye aye, sir, going to pass two. +% +Scratch the disks, dump the core, Shut it down, pull the plug +Roll the tapes across the floor, Give the core an extra tug +And the system is going to crash. And the system is going to crash. +Teletypes smashed to bits. Mem'ry cards, one and all, +Give the scopes some nasty hits Toss out halfway down the hall +And the system is going to crash. And the system is going to crash. +And we've also found Just flip one switch +When you turn the power down, And the lights will cease to twitch +You turn the disk readers into trash. And the tape drives will crumble +Oh, it's so much fun, in a flash. +Now the CPU won't run When the CPU +And the system is going to crash. Can print nothing out but "foo," + The system is going to crash. + -- To The Caissons Go Rolling Along +% +Scratch the disks! +Drop the core! +Roll the tapes across the floor! +% +Screw up your courage! You've screwed up everything else. +% +SCRIBLINE: + The blank area on the back of credit cards where one's signature goes. + -- "Sniglets", Rich Hall & Friends +% +'Scuse me, while I kiss the sky! + -- Robert James Marshall (Jimi) Hendrix +% +Sears has everything. +% +Seattle is so wet that people protect their property with watch-ducks. +% +Second Law of Business Meetings: + If there are two possible ways to spell a person's name, you + will pick the wrong one. + +Corollary: + If there is only one way to spell a name, + you will spell it wrong, anyway. +% +Second Law of Final Exams: + In your toughest final -- for the first time all year -- the most + distractingly attractive student in the class will sit next to you. +% +Secrecy is the beginning of tyranny. +% +Secretary's Revenge: + Filing almost everything under "the". +% +Security check: INTRUDER ALERT! +% +Sed quis custodiet ipsos Custodes? +[Who guards the Guardians?] +% +Seduced, shaggy Samson snored. +She scissored short. Sorely shorn, +Soon shackled slave, Samson sighed, +Silently scheming, +Sightlessly seeking +Some savage, spectacular suicide. + -- Stanislaw Lem +% +See, these two penguins walked into a bar, which was really stupid, 'cause +the second one should have seen it. +% +Seeing a commotion in Harvard Square, a man strolled over and asked what +was going on. One of the onlookers explained to him that there was a Mooney +who had immersed himself in gasoline and was threatening to set fire to +himself to demonstrate his commitment to the Rev. Moon. The man gasped and +asked what was being done to defuse the obviously dangerous situation. + "Well", replied the onlooker, "we're taking up a collection -- so +far I've got two Bics, four Zippos and eighteen books of matches." +% +Seeing is believing. +You wouldn't have seen it if you hadn't believed it. +% +Seeing is deceiving. It's eating that's believing. + -- James Thurber +% +Seeing that death, a necessary end, +Will come when it will come. + -- William Shakespeare, "Julius Caesar" +% +Seek simplicity -- and distrust it. + -- Alfred North Whitehead +% +Seems a computer engineer, a systems analyst, and a programmer were +driving down a mountain when the brakes gave out. They screamed down the +mountain, gaining speed, but finally managed to grind to a halt, more by +luck than anything else, just inches from a thousand foot drop to jagged +rocks. They all got out of the car: + The computer engineer said, "I think I can fix it." + The systems analyst said, "No, no, I think we should take it +into town and have a specialist look at it." + The programmer said, "OK, but first I think we should get back +in and see if it does it again." +% +Seems like this duck waddles into a pharmacy, waddles up to the prescription +counter and rings the bell. The pharmacist walks up and asks, "Can I help +you?". + The duck replies, "Yes, I'd like a box of condoms, please." + "Certainly", says the pharmacist, "will that be cash or would +you like me to put it on your bill?" + Snarls the duck, "Just what kind of duck do you think I am?" +% +Seems like this farmer purchased an old, run-down, abandoned farm with plans +to turn it into a thriving enterprise. The fields are grown over with weeds, +the farmhouse is falling apart, and the fences are collapsing all around. +During his first day of work, the town preacher stops by to bless the man's +work, praying, "May you and God work together to make this the farm of your +dreams!" + A few months later, the preacher stops by again to call on the farmer. +Lo and behold, it's like a completely different place -- the farm house is +completely rebuilt and in excellent condition, there is plenty of cattle and +other livestock happily munching on feed in well-fenced pens, and the fields +are filled with crops planted in neat rows. "Amazing!" the preacher says. +"Look what God and you have accomplished together!" + "Yes, reverend," replies the farmer, "but remember what the farm was +like when God was working it alone!" +% +Seems like this guy wanders into a rural outfitting store in Alaska, +and starts talking to a rather grizzled old man sitting by the cash +register. + "Hear ya got a lotta' bears 'round here?" + "Yeah, you could say that," answers the old man. + "GRIZZLIES?!?!" + "A few." + "Got any bear bells?" + "What's that?" + "You know, them little dingle-bells ya put on yer backpack so +bears know yer there so's they can run away ... I'll take one fer black +bears, and one fer them grizzlies. Say, how do you know yer in grizzly +country, anyhow?" + "Look fer scatt. Grizzly scatt's different from black bear scatt." + "Well now, what's IN grizzly scatt that's different?" + "Bear bells." +% +Seems that a pollster was taking a worldwide opinion poll. +Her question was, "Excuse me; what's your opinion on the meat shortage?" + +In Texas, the answer was "What's a shortage?" +In Poland, the answer was "What's meat?" +In the Soviet Union, the answer was "What's an opinion?" +In New York City, the answer was "What's excuse me?" +% +Seems this fellow was suffering from terrific headaches, and went to his +doctor about it. The physician made a number of tests, and informed the man +that the only thing for his headaches was castration. After a few more +months, the headaches became so intense that the man agreed to the operation. +Naturally enough, the ruination of his sex life depressed him tremendously, +and he decided to purchase a new wardrobe to make himself feel better. +He enters a men's clothing store and a salesman wanders over, looks him +up and down, and says, "Well, let's start with shirts... 15 neck, 34 sleeve." + The guy is amazed. "How'd you know?" + "Well, I've been here nearly 30 years, and I can tell sizes within +a quarter inch on every piece of clothing." The salesman's claim is borne +out. Slacks, 34 waist, 32 inseam; jacket: 42 long. And so on and so forth. +When the man has been completely outfitted he decides that he'd better buy +some new underwear. + The salesman looks at him and says, "Okay, that'll be a 34." + "No, that's wrong," says the man. "I've always worn a 32." The +salesman insists, pointing out his accuracy so far. The man argues, agreeing +that while he's been right so far, he has always worn a 32 in shorts. + Finally in exasperation, the salesman says, "Listen, I tell you, +you *have* to wear a 34. Otherwise, you'll get these *awful* headaches." +% +Seems this guy showed up at a party, and all of his friends jumped for +Joy. But she sidestepped, and they missed. +% +Seize the day, put no trust in the morrow! + -- Quintus Horatius Flaccus (Horace) +% +Seleznick's Theory of Holistic Medicine: + Ice Cream cures all ills. Temporarily. +% +semper en excretus +% +SEMPER UBI SUB UBI!!!! +% +Send some filthy mail. +% +Sendmail may be safely run set-user-id to root. + -- Eric Allman, "Sendmail Installation Guide" +% +SENILITY: + The state of mind of elderly persons + with whom one happens to disagree. +% +Senor Castro has been accused of communist sympathies, but this means very +little since all opponents of the regime are automatically called communists. +In fact he is further to the right than General Batista. + -- "Cuba's Rightist Rebel", The Economist, April 26, 1958 +% +Sentient plasmoids are a gas. +% +Sentimentality -- that's what we call the sentiment we don't share. + -- Graham Greene +% +SERENDIPITY: + The process by which human knowledge is advanced. +% +Serfs up! + -- Spartacus +% +Serocki's Stricture: + Marriage is always a bachelor's last option. +% +Serving coffee on aircraft causes turbulence. +% +Set the cart before the horse. + -- John Heywood +% +Several years ago, an international chess tournament was being held in a +swank hotel in New York. Most of the major stars of the chess world were +there, and after a grueling day of chess, the players and their entourages +retired to the lobby of the hotel for a little refreshment. In the lobby, +some players got into a heated argument about who was the brightest, the +fastest, and the best chess player in the world. The argument got quite +loud, as various players claimed that honor. At that point, a security +guard in the lobby turned to another guard and commented, "If there's +anything I just can't stand, it's chess nuts boasting in an open foyer." +% +Sex and drugs and rock and roll, +Is all my brain and body need. +Sex and drugs and rock and roll, +Are very good indeed. + +Take your silly ways, +Throw them out the window, +The wisdom of your ways, +I've been there and I know, +Lots of other ways... + -- Ian Drury, "New Boots and Panties" +% +Sex discriminates against the shy and ugly. +% +Sex hasn't been the same since women started enjoying it. + -- Lewis Grizzard +% +Sex is about as important as a cheese sandwich. But a cheese sandwich, +if you ain't got one to put in your belly, is extremely important. + -- Ian Dury +% +Sex is an emotion in motion. + -- Mae West +% +"Sex is as honest a product benefit for fragrance [perfume] as taste is +for diet Coke." + -- Malcolm DacDougall +% +Sex is good, but not as good as fresh sweet corn. + -- Garrison Keillor +% +Sex is like pizza -- when it's good, it's great; and when it's bad, +it's still darn tasty! +% +Sex is one of the nine reasons for reincarnation... The other eight are +unimportant. + -- Henry Miller +% +Sex is the mathematics urge sublimated. + -- M.C. Reed +% +Sex: the thing that takes up the least amount of time and causes the +most amount of trouble. + -- John Barrymore +% +Sex without class consciousness cannot give satisfaction, even if it is +repeated until infinity. + -- Aldo Brandirali (Secretary of the Italian Marxist-Leninist + Party), in a manual of the party's official sex guidelines, + 1973. +% +Sex without love is an empty experience, but, +as empty experiences go, it's one of the best. + -- Woody Allen +% +Sexual enlightenment is justified insofar as girls cannot learn too soon +how children do not come into the world. + -- Karl Kraus +% +Shah, shah! Ayatulla you so! +% +Shall we make a new rule of life from tonight: +always to try to be a little kinder than is necessary? + -- J.M. Barrie +% +Shame is an improper emotion invented by +pietists to oppress the human race. + -- Robert Preston, Toddy, "Victor/Victoria" +% +Shannon's Observation + Nothing is so frustrating as a bad situation + that is beginning to improve. +% +share, n: + To give in, endure humiliation. +% +Shaw's Principle: + Build a system that even a fool can use, + and only a fool will want to use it. +% +She always believed in the old adage -- leave them while you're looking +good. + -- Anita Loos, "Gentlemen Prefer Blondes" +% +She applies her lipstick in spite of its contents: "greasy rouge, +containing crushed and dried insect corpses for coloring, beeswax +for stiffness, and olive oil to help it flow - the latter having +the unfortunate tendency to go rancid several hours after use. + +In 1924 the New York Board of Health considered banning lipstick, +not because it was hazardous to the wearers but because of "the +worry that it might poison the men who kissed the women who wore it." + -- David Bodanis, "The Secret House" +% +She asked me, "What's your sign?" +I blinked and answered "Neon," +I thought I'd blow her mind... +% +She been married so many times +she got rice marks all over her face. + -- Tom Waits +% +She blinded me with science! +% +She can kill all your files; +She can freeze with a frown. +And a wave of her hand brings the whole system down. +And she works on her code until ten after three. +She lives like a bat but she's always a hacker to me. + -- Apologies to Billy Joel +% +She cried, and the judge wiped her tears with my checkbook. + -- Tommy Manville +% +She has an alarm clock and a phone that don't ring - they applaud. +% +She is descended from a long line that her mother listened to. + -- Gypsy Rose Lee +% +She just came in, pounced around this thing with me for a few +years, enjoyed herself, gave it a sort of beautiful quality and +left. Excited a few men in the meantime. + -- Patrick Macnee, reminiscing on Diana Rigg's + involvement in "The Avengers". +% +She missed an invaluable opportunity to give him +a look that you could have poured on a waffle. +% +She often gave herself very good advice +(though she very seldom followed it). + -- Lewis Carroll +% +She ran the gamut of emotions from 'A' to 'B'. + -- Dorothy Parker, on a Kate Hepburn performance +% +She say, Miss Colie, You better hush. God might hear you. +Let 'im hear me, I say. If he ever listened to poor colored +women the world would be a different place, I can tell you. + -- Alice Walker, "The Color Purple" +% +She sells cshs by the cshore. +% +She stood on the tracks +Waving her arms +Leading me to that third rail shock +Quick as a wink +She changed her mind + +She gave me a night +That's all it was +What will it take until I stop +Kidding myself +Wasting my time + +There's nothing else I can do +'Cause I'm doing it all for Leyna +I don't want anyone new +'Cause I'm living it all for Leyna +There's nothing in it for you +'Cause I'm giving it all to Leyna + -- Billy Joel, "All for Leyna" (Glass Houses) +% +She was bred in ol' Kentucky +But she's just a crumb up here +She was knock-knee'd and double-jointed +With a cauliflower ear +Someday we will be married +And if vegetables become too dear +I'll just cut me a slice of +Her cauliflower ear! + -- Curly Howard, "The Three Stooges" +% +She was good at playing abstract confusion in the same way a midget is +good at being short. + -- Clive James, on Marilyn Monroe +% +She was only a moonshiner's daughter, but I love her still. +% +She was only a mortician's daughter but anyone cadaver. +% +She won' go Warp 7, Cap'n! The batteries are dead! +% +Shedenhelm's Law: + All trails have more uphill sections + than they have downhill sections. +% +"Shelter", what a nice name for for a place where you polish your cat. +% +Sheriff Chameleotoptor sighed with an air of weary sadness, and then +turned to Doppelgutt and said 'The Senator must really have been on a +bender this time -- he left a party in Cleveland, Ohio, at 11:30 last +night, and they found his car this morning in the smokestack of a British +aircraft carrier in the Formosa Straits.' + -- Grand Panjandrum's Special Award, 1985 Bulwer-Lytton + bad fiction contest. +% +Sherry [Thomas Sheridan] is dull, naturally dull; but it must have taken +him a great deal of pains to become what we now see him. Such an excess +of stupidity, sir, is not in Nature. + -- Samuel Johnson +% +She's learned to say things with her eyes +that others waste time putting into words. +% +She's so tough she won't take 'yes' for an answer. +% +She's such a kinky girl, +The kind you don't take home to mother. +She will never let your spirits down +Once you get her off the street. +% +She's the kind of girl who climbed the ladder of success wrong by wrong. + -- Mae West +% +Shhh... be vewy, vewy, quiet! I'm hunting wabbits... +% +Shick's Law: + There is no problem a good miracle can't solve. +% +Shift to the left, +Shift to the right, +Mask in, mask out, +BYTE, BYTE, BYTE !!! +% +SHIFT TO THE LEFT! +SHIFT TO THE RIGHT! +POP UP, PUSH DOWN, +BYTE, BYTE, BYTE! +% +Ships are safe in harbor, but they were never meant to stay there. +% +Shirley MacLaine died today in a freak psychic collision today. Two freaks +in a van [Oh no!! It's the Copyright Police!!] Her aura-charred body was +laid to rest after a eulogy by Jackie Collins, fellow member of SAFE [Society +of Asinine Flake Entertainers]. Excerpted from some of his more quotable +comments: + + "Truly a woman of the times. These times, those times..." + "A Renaissance woman. Why in 1432..." + "A man for all seasons. Really..." + +After the ceremony, Shirley thanked her mourners and explained how delightful +it was to "get it together" again, presumably referring to having her now dead +body join her long dead brain. +% +Sho' they got to have it against the law. Shoot, ever'body git high, +they wouldn't be nobody git up and feed the chickens. Hee-hee. + -- Terry Southern +% +Short people get rained on last. +% +Show business is just like high school, except you get paid. + -- Martin Mull +% +Show me a good loser in professional sports and I'll show you an idiot. +Show me a good sportsman and I'll show you a player I'm looking to trade. + -- Leo Durocher +% +Show me a man who is a good loser and I'll +show you a man who playing golf with his boss. +% +Show respect for age. Drink good Scotch for a change. +% +Show your affection, which will probably meet with pleasant response. +% +Showing up is 80% of life. + -- Woody Allen +% +Si Dieu n'existait pas, il faudrait l'inventer. + -- Voltaire +% +Si jeunesse savait, si vieillesse pouvait. +[If youth but knew, if old age but could.] + -- Henri Estienne +% +Sic transit gloria Monday! +% +Sic transit gloria mundi. +[So passes away the glory of this world.] + -- Thomas a Kempis +% +Sic Transit Gloria Thursdi. +% +Sight is a faculty; seeing is an art. +% +Sigmund's wife wore Freudian slips. +% +Signs of crime: screaming or cries for help. + -- The Brown University Security Crime Prevention Pamphlet +% +Silence can be the biggest lie of all. We have a responsibility to speak +up; and whenever the occasion calls for it, we have a responsibility to +raise bloody hell. + -- Herbert Block +% +Silence is the element in which great things fashion themselves. + -- Thomas Carlyle +% +Silence is the only virtue you have left. +% +sillema sillema nika su +[translation: look it up...hint-fin] +% +Silly is a state of Mind, Stupid is a way of Life. +% +Silly Sally was baby sitting. But Silly Sally was getting bored. Thinking +a walk would help, she put the baby in his carriage. Silly Sally pushed the +carriage and pushed the carriage up this hill and down that one. She pushed +the carriage up the highest hill in town, and ALL OF A SUDDEN! It slipped out +of her hands (OH! NO!) and it was headed at high speed for the busiest +intersection in town. BUT! + +Silly Sally just laughed and la.....ug.......h....e....d........... +BECAUSE! SHE KNEW THERE WAS A STOP SIGN AT THE BOTTOM OF THE HILL! + +Silly Sally was playing in the garage. And she was being disobedient. +She was playing with matches... AND... She burned down the garage. +(OHHHHHH) Silly Sally's mother said, "Silly Sally! You have been naughty! +And when your father gets home, you are going to get a good licking!" BUT! + +Silly Sally just laughed and la.....ug.......h....e....d........... +BECAUSE! SHE KNEW HER FATHER WAS IN THE GARAGE WHEN SHE BURNED IT DOWN! +% +Silverman's Law: + If Murphy's Law can go wrong, it will. +% +Simon's Law: + Everything put together falls apart sooner or later. +% +Simplicity does not precede complexity, but follows it. +% +Simulations are like miniskirts, they show a lot and hide the essentials. + -- Hubert Kirrman +% +Sin boldly. + -- Martin Luther +% +Sin has many tools, but a lie is the handle which fits them all. +% +Sin lies only in hurting other people unnecessarily. +All other "sins" are invented nonsense. +(Hurting yourself is not sinful -- just stupid). + -- Lazarus Long +% +Since a politician never believes what he says, he is surprised +when others believe him. + -- Charles DeGaulle +% +Since aerosols are forbidden, the police are using roll-on Mace! +% +Since before the Earth was formed and before the sun burned hot in space, +cosmic forces of inexorable power have been working relentlessly toward +this moment in space-time -- your receiving this fortune. +% +Since everything in life is but an experience perfect in being what it is, +having nothing to do with good or bad, acceptance or rejection, one may well +burst out in laughter. + -- Long Chen Pa +% +Since I hurt my pendulum +My life is all erratic. +My parrot who was cordial +Is now transmitting static. +The carpet died, a palm collapsed, +The cat keeps doing poo. +The only thing that keeps me sane +Is talking to my shoe. + -- My Shoe +% +Since we cannot hope for order, let us withdraw with style from the chaos. + -- Tom Stoppard +% +Since we have to speak well of the dead, let's knock them while they're +alive. + -- John Sloan +% +Sink or Swim with Teddy! +% +Sinners can repent, but stupid is forever. +% +Sir, it's very possible this asteroid is not stable. + -- CP30 +% +[Sir Stafford Cripps] has all the virtues +I dislike and none of the vices I admire. + -- Winston Churchill +% +Six days after the Creation, Adam was still alone in the Garden of +Eden, and getting pretty desperate. "God!" he cried, "rescue me from +loneliness and despair! Send some company for Your sake!" + +God replied "OK, I have just the thing. Keep you warm and relaxed all +the days of your life. Never complains. Looks up to you in every way. +It'll cost you though". + +"Sounds ideal" said Adam. "The society of the beasts of the field and +the birds of the air palls after a while. What's the price?" + +"An arm and a leg", said God. + +Adam thought about it for a bit and finally sighed. "So, what can I get +for a rib?" +% +Skill without imagination is craftsmanship and gives us many useful +objects such as wickerwork picnic baskets. Imagination without skill +gives us modern art. + -- Tom Stoppard +% +Skinner's Constant (or Flannagan's Finagling Factor): + That quantity which, when multiplied by, divided by, added to, + or subtracted from the answer you got, gives you the answer you + should have gotten. +% +skldfjkljklsR%^&(IXDRTYju187pkasdjbasdfbuil +h;asvgy8p 23r1vyui135 2 +kmxsij90TYDFS$$b jkzxdjkl bjnk ;j nk;<[][;-==-<<<<<';[, + [hjioasdvbnuio;buip^&(FTSD$%*VYUI:buio;sdf}[asdf'] + sdoihjfh(_YU*G&F^*CTY98y + + +Now look what you've gone and done! You've broken it! +% +Slang is language that takes off its coat, +spits on its hands, and goes to work. +% +Slaves are generally expected to sing as well as to work ... I did not, when +a slave, understand the deep meanings of those rude, and apparently incoherent +songs. I was myself within the circle, so that I neither saw nor heard as +those without might see and hear. They told a tale which was then altogether +beyond my feeble comprehension: they were tones, loud, long and deep, +breathing the prayer and complaint of souls boiling over with the bitterest +anguish. Every tone was a testimony against slavery, and a prayer to God +for deliverance from chains. + -- Frederick Douglass +% +Sleep -- the most beautiful experience in life -- except drink. + -- W.C. Fields +% +Sleep is for the weak and sickly. +% +Slick's Three Laws of the Universe: + 1) Nothing in the known universe travels faster than a bad check. + 2) A quarter-ounce of chocolate = four pounds of fat. + 3) There are two types of dirt: the dark kind, which is + attracted to light objects, and the light kind, which is + attracted to dark objects. +% +Slous' Contention: + If you do a job too well, you'll get stuck with it. +% +Slow day. +Practice crawling. +% +SLURM: + The slime that accumulates on the underside of a soap bar when it + sits in the dish too long. + -- "Sniglets", Rich Hall & Friends +% +Small change can often be found under seat cushions. +% +Small is beautiful. + -- Schumacher's Dictum +% +Small things make base men proud. + -- William Shakespeare, "Henry VI" +% +Smartness runs in my family. When I went to school I was so smart my +teacher was in my class for five years. + -- George Burns +% +Smear the road with a runner!! +% +Smile! You're on Candid Camera. +% +Smile, Cthulu Loathes You. +% +Smoking is, as far as I'm concerned, the entire point of being an adult. + -- Fran Lebowitz +% +SMOKING IS NOW ALLOWED !!! + Anyone wishing to smoke, however, must file, in triplicate, the + U.S. government Environmental Impact Narrative Statement (EINS), + describing in detail the type of combustion proposed, impact on + the environment, and anticipated opposition. Statements must be + filed 30 days in advance. +% +Smoking is one of the leading causes of statistics. + -- Fletcher Knebel +% +Smoking Prohibited. Absolutely no ifs, ands, or butts. +% +Smuggling... It's not just a job, it's an adventure! + -- paid for by your local Colombian recruiting office +% +SNACKTREK: + The peculiar habit, when searching for a snack, of constantly + returning to the refrigerator in hopes that something new will + have materialized. + -- "Sniglets", Rich Hall & Friends +% +Snakes. Why did it have to be snakes? +% +SNAPPY REPARTEE: + What you'd say if you had another chance. +% +Snoopy: No problem is so big that it can't be run away from. +% +Snow and adolescence are the only problems +that disappear if you ignore them long enough. +% +Snow Day -- stay home. +% +Snow White has become a camera buff. She spends hours and hours +shooting pictures of the seven dwarfs and their antics. Then she +mails the exposed film to a cut rate photo service. It takes weeks +for the developed film to arrive in the mail, but that is all right +with Snow White. She clears the table, washes the dishes and sweeps +the floor, all the while singing "Someday my prints will come." +% +So... did you ever wonder, do garbagemen take showers before they +go to work? +% +So do the noble fall. For they are ever caught in a trap of their own making. +A trap -- walled by duty, and locked by reality. Against the greater force +they must fall -- for, against that force they fight because of duty, because +of obligations. And when the noble fall, the base remain. The base -- whose +only purpose is the corruption of what the noble did protect. Whose only +purpose is to destroy. The noble: who, even when fallen, retain a vestige of +strength. For theirs is a strength born of things other than mere force. +Theirs is a strength supreme... theirs is the strength -- to restore. + -- Gerry Conway, "Thor", #193 +% +So far as I can remember, there is not one +word in the Gospels in praise of intelligence. + -- Bertrand Russell +% +So far as we are human, what we do must be either evil or good: so far +as we do evil or good, we are human: and it is better, in a paradoxical +way, to do evil than to do nothing: at least we exist. + -- T.S. Eliot, essay on Baudelaire +% +So from the depths of its enchantment, Terra was able to calculate a course +of action. Here at last was an opportunity to consort with Dirbanu on a +friendly basis -- great Durbanu which, since it had force fields which Earth +could not duplicate, must of necessity have many other things Earth could +use; mighty Durbanu before whom we would kneel in supplication (with purely- +for-defense bombs hidden in our pockets) with lowered heads (making invisible +the knife in our teeth) and ask for crumbs from their table (in order to +extrapolate the location of their kitchens). + -- T. Sturgeon, "The World Well Lost" +% +So... how come the Corinthians never wrote back? +% +So, if there's no God, who changes the water? + -- New Yorker cartoon of two goldfish in a bowl +% +So I'm ugly. So what? I never saw anyone hit with his face. + -- Yogi Berra +% +So, is the glass half empty, half full, or just twice as +large as it needs to be? +% +So little time, so little to do. + -- Oscar Levant +% +So live that you wouldn't be ashamed +to sell the family parrot to the town gossip. +% +So many beautiful women and so little time. + -- John Barrymore +% +So many men and so little time. +% +So many men, so many opinions; every one his own way. + -- Publius Terentius Afer (Terence) +% +So many women, and so little time! +% +So many women, so little nerve. +% +So much food, and so little time! +% +So much +depends +upon +a red + +wheel +barrow +glazed with + +rain +water +beside +the white +chickens. + -- William Carlos Williams, "The Red Wheel Barrow" +% +So now +that you have- + +you know, whoever + +you're trying +to do + +a favor +for + +-you've done it- + +and I'm sure +you had + +a smirk +on your mouth + +as you got me +into this. + -- "To Linda", from The Poetry Of H. Ross Perot, + composed for Linda Wertheimer of National Public Radio. + From SPY Magazine, November 1992 +% +So she went into the garden to cut a cabbage leaf to make an apple pie; +and at the same time a great she-bear, coming up the street pops its head +into the shop. "What! no soap?" So he died, and she very imprudently +married the barber; and there were present the Picninnies, and the Grand +Panjandrum himself, with the little round button at top, and they all +fell to playing the game of catch as catch can, till the gunpowder ran +out at the heels of their boots. + -- Samuel Foote +% +So so is good, very good, very excellent good: +and yet it is not; it is but so so. + -- William Shakespeare, "As You Like It" +% +So... so you think you can tell +Heaven from Hell? +Blue skies from pain? Did they get you to trade +Can you tell a green field Your heroes for ghosts? +From a cold steel rail? Hot ashes for trees? +A smile from a veil? Hot air for a cool breeze? +Do you think you can tell? Cold comfort for change? + Did you exchange + A walk on part in a war + For the lead role in a cage? + -- Pink Floyd, "Wish You Were Here" +% +So the documentary-makers stick with sharks. Generally, their procedure is +to scatter bleeding fish pieces around their boat, so as to infest the +waters. I would estimate that the primary food source of sharks today is +bleeding fish pieces scattered by people making documentaries. Once the +sharks arrive, they are generally fairly listless. The general shark attitude +seems to be: "Oh God, another documentary." So the divers have to somehow +goad them into attacking, under the guise of Scientific Research. "We know +very little about the effect of electricity on sharks," the narrator will +say, in a deeply scientific voice. "That is why Todd is going to jab this +Great White in the testicles with a cattle prod." The divers keep this kind +of thing up until the shark finally gets irritated and snaps at them, and +then they act as though this was a totally unexpected and very dangerous +development, although clearly it is what they wanted all along. + -- Dave Barry +% +So this it it. We're going to die. +% +So, what's with this guy Gideon, anyway? +And why can't he ever remember his Bible? +% +So, you better watch out! +You better not cry! +You better not pout! +I'm telling you why, +Santa Claus is coming, to town. + +He knows when you've been sleeping, +He know when you're awake. +He knows if you've been bad or good, +He has ties with the CIA. +So... +% +"So you don't have to, Cindy, but I was wondering if you might + want to go to someplace, you know, with me, sometime." +"Well, I can think of a lot of worse things, David." +"Friday, then?" +"Why not, David, it might even be fun." + -- Dating in Minnesota +% +So you see Antonio, why worry about one little core dump, eh? In reality +all core dumps happen at the same instant, so the core dump you will have +tomorrow, why, it already happened. You see, it's just a little universal +recursive joke which threads our lives through the infinite potential of +the instant. So go to sleep, Antonio, your thread could break any moment +and cast you out of the safe security of the instant into the dark void of +eternity, the anti-time. So go to sleep... +% +So you think that money is the root of all evil. +Have you ever asked what is the root of money? + -- Ayn Rand +% +So you're back... about time... +% +Soap and education are not as sudden as a +massacre, but they are more deadly in the long run. + -- Mark Twain +% +SOCIALISM: + You have two cows. Give one to your neighbour. +COMMUNISM: + You have two cows. + Give both to the government. The government gives you milk. +CAPITALISM: + You sell one cow and buy a bull. +FACISM: + You have two cows. Give milk to the government. + The government sells it. +NAZISM: + The government shoots you and takes the cows. +NEW DEALISM: + The government shoots one cow, + milks the other, and pours the milk down the sink. +ANARCHISM: + Keep the cows. Steal another one. Shoot the government. +CONSERVATISM: + Freeze the milk. Embalm the cows. +% +Software production is assumed to be a line function, but it is run +like a staff function." + -- Paul Licker +% +Software suppliers are trying to make their software packages more +"user-friendly". ... Their best approach, so far, has been to take all +the old brochures, and stamp the words, "user-friendly" on the cover. + -- Bill Gates, Microsoft, Inc. +% +Soldiers who wish to be a hero +Are practically zero, +But those who wish to be civilians, +They run into the millions. +% +Solipsists of the World... you are already united. + -- Kayvan Sylvan +% +Solutions are obvious if one only has the +optical power to observe them over the horizon. + -- K.A. Arsdall +% +Some books are to be tasted, others to be swallowed, +and some few to be chewed and digested. + -- Francis Bacon + [As anyone who has ever owned a puppy already knows. Ed.] +% +Some changes are so slow, you don't notice them. +Others are so fast, they don't notice you. +% +Some circumstantial evidence is very strong, +as when you find a trout in the milk. + -- Thoreau +% +Some husbands are living proof that a woman can take a joke. +% +Some marriages are made in heaven -- but so are thunder and lightning. +% +Some men are alive simply because it is against the law to kill them. + -- Ed Howe +% +Some men are all right in their place -- if they only the knew the right +places! + -- Mae West +% +Some men are born mediocre, some men achieve mediocrity, +and some men have mediocrity thrust upon them. + -- Joseph Heller, "Catch-22" +% +Some men are discovered; others are found out. +% +Some men are heterosexual, and some are bisexual, and some men don't think +about sex at all... they become lawyers. + -- Woody Allen +% +Some men are so interested in their wives continued happiness +that they hire detectives to find out the reason for it. +% +Some men are so macho they'll get you pregnant just to kill a rabbit. + -- Maureen Murphy +% +Some men feel that the only thing they owe +the woman who marries them is a grudge. + -- Helen Rowland +% +Some men love truth so much that they seem to be in continual fear +lest she should catch a cold on overexposure. + -- Samuel Butler +% +Some men rob you with a six-gun -- others with a fountain pen. + -- Woodie Guthrie +% +Some men who fear that they are playing +second fiddle aren't in the band at all. +% +Some of my readers ask me what a "Serial Port" is. +The answer is: I don't know. +Is it some kind of wine you have with breakfast? +% +Some of the most interesting documents from Sweden's middle ages are the +old county laws (well, we never had counties but it's the nearest equivalent +I can find for "landskap"). These laws were written down sometime in the +13th century, but date back even down into Viking times. The oldest one is +the Vastgota law which clearly has pagan influences, thinly covered with some +Christian stuff. In this law, we find a page about "lekare", which is the +Old Norse word for a performing artist, actor/jester/musician etc. Here is +an approximate translation, where I have written "artist" as equivalent of +"lekare". + "If an artist is beaten, none shall pay fines for it. If an artist + is wounded, one such who goes with hurdie-gurdie or travels with + fiddle or drum, then the people shall take a wild heifer and bring + it out on the hillside. Then they shall shave off all hair from the + heifer's tail, and grease the tail. Then the artist shall be given + newly greased shoes. Then he shall take hold of the heifer's tail, + and a man shall strike it with a sharp whip. If he can hold her, he + shall have the animal. If he cannot hold her, he shall endure what + he received, shame and wounds." +% +Some of the things that live the longest +in peoples' memories never really happened. +% +Some of them want to use you, +Some of them want to be used by you, +...Everybody's looking for something. + -- Eurythmics +% +Some of us are becoming the men we wanted to marry. + -- Gloria Steinem +% +Some parts of the past must be preserved, +and some of the future prevented at all costs. +% +Some people are afraid of heights. I'm afraid of widths. + -- Stephen Wright +% +Some people around here wouldn't recognize +subtlety if it hit them on the head. +% +Some people call them "cars" or "trucks"; I call them "dimensional +transmogrifiers" because they change three-dimensional cats into +two-dimensional ones. + -- F. Frederick Skitty +% +Some people carve careers, others chisel them. +% +Some people cause happiness wherever +they go; others, whenever they go. +% +Some people claim that the UNIX learning curve is steep, +but at least you only have to climb it once. +% +Some people have a great ambition: to build something +that will last, at least until they've finished building it. +% +Some people have a way about them that seems to say: "If I have +only one life to live, let me live it as a jerk." +% +Some people have no respect for age unless it's bottled. +% +Some people have parts that are so private +they themselves have no knowledge of them. +% +Some people live life in the fast lane. +You're in oncoming traffic. +% +Some people manage by the book, even though they +don't know who wrote the book or even what book. +% +Some people need a good imaginary cure +for their painful imaginary ailment. +% +Some people only open up to tell you that they're closed. +% +Some people pray for more than they are willing to work for. +% +Some people say a front-engine car handles best. Some people say a +rear-engine car handles best. I say a rented car handles best. + -- P.J. O'Rourke +% +Some peoples mouths work faster than their brains. +They say things they haven't even thought of yet. +% +Some rise by sin and some by virtue fall. +% +Some say the world will end in fire, +Some say in ice. +From what I've tasted of desire +I hold with those who favor fire. +But if it had to perish twice +I think I know enough of hate +To say that for destruction, ice +Is also great +And would suffice + -- Robert Frost, "Fire and Ice" +% +Some scholars are like donkeys, they merely carry a lot of books. + -- Folk saying +% +Some things have to be believed to be seen. +% +Somebody left the cork out of my lunch. + -- W.C. Fields +% +Somebody ought to cross ball point pens with coat hangers +so that the pens will multiply instead of disappear. +% +Somebody's moggy, by the side of the road, +Somebody's pussy, who forgot his highway code, +Somebody's favourite feline, who ran clean out of luck, +When he ran onto the road, and tried to argue with a truck. + +Yesterday he purred and played, in his pussy paradise, +Decapitating tweety birds, and masticating mice. +Now he's just six pounds of raw mince meat, +That don't smell very nice -- +He's nobody's moggy now. + +Oh you who love your pussy, +Be sure to keep him in. +Don't let him argue with a truck, If he tries to play +The truck is bound to win. On the road way +And upon the busy road, I'm afraid that will be that, +Don't let him play or frolic. There will be one last despairing +If you do, I'm warning you, "Meow!" +It could be cat-astrophic! And a sort of squelchy Splat! + And your pussy will be slightly dead, +He's nobody's moggy -- And very, very flat! +Just red and squashed and soggy -- +He's nobody's moggy now. + -- Eric Bogle, "Scraps of Paper" +% +Somebody's terminal is dropping bits. +I found a pile of them over in the corner. +% +Someday somebody has got to decide whether the +typewriter is the machine, or the person who operates it. +% +Someday, Weederman, we'll look back on all this and laugh... It will +probably be one of those deep, eerie ones that slowly builds to a +blood-curdling maniacal scream... but still it will be a laugh. + -- Mister Boffo +% +Someday we'll look back on this moment and plow into a parked car. + -- Evan Davis +% +Someday you'll get your big chance -- or have you already had it? +% +Someday your prints will come. + -- Kodak +% +Somehow I reached excess without ever noticing +when I was passing through satisfaction. + -- Ashleigh Brilliant +% +Somehow, the world always affects you more than you affect it. +% +Someone did a study of the three most-often-heard phrases in New York +City. One is "Hey, taxi." Two is, "What train do I take to get to +Bloomingdale's?" And three is, "Don't worry. It's just a flesh wound." + -- David Letterman +% +Someone is speaking well of you. +% +Someone is speaking well of you. +How unusual! +% +Someone is unenthusiastic about your work. +% +Someone whom you reject today, will reject you tomorrow. +% +Someone will try to honk your nose today. +% +Something better... + + 1 (obvious): Excuse me. Is that your nose or did a bus park on your face? + 2 (meteorological): Everybody take cover. She's going to blow. + 3 (fashionable): You know, you could de-emphasize your nose if you wore + something larger. Like ... Wyoming. + 4 (personal): Well, here we are. Just the three of us. + 5 (punctual): Alright gentlemen. Your nose was on time but you were fifteen + minutes late. + 6 (envious): Oooo, I wish I were you. Gosh. To be able to smell your + own ear. + 7 (naughty): Pardon me, Sir. Some of the ladies have asked if you wouldn't + mind putting that thing away. + 8 (philosophical): You know. It's not the size of a nose that's important. + It's what's in it that matters. + 9 (humorous): Laugh and the world laughs with you. Sneeze and its goodbye + Seattle. +10 (commercial): Hi, I'm Earl Schibe and I can paint that nose for $39.95. +11 (polite): Ah. Would you mind not bobbing your head. The orchestra keeps + changing tempo. +12 (melodic): Everybody! "He's got the whole world in his nose." + -- Steve Martin, "Roxanne" +% +Something unpleasant is coming when men are anxious to tell the truth. + -- Benjamin Disraeli +% +Something's rotten in the state of Denmark. + -- Shakespeare +% +Sometime when you least expect it, Love will tap you on the shoulder... +and ask you to move out of the way because it still isn't your turn. + -- N.V. Plyter +% +Sometimes a cigar is just a cigar. + -- Sigmund Freud +% +Sometimes a man who deserves to be looked down upon because he is a +fool is despised only because he is a lawyer. + -- Montesquieu +% +Sometimes, at the end of the day, when I'm +smiling and shaking their hands, I want to kick them. + -- Richard M. Nixon +% +Sometimes even to live is an act of courage. + -- Seneca +% +Sometimes I feel like I'm fading away, +Looking at me, I got nothin' to say. +Don't make me angry with the things games that you play, +Either light up or leave me alone. +% +Sometimes I get the feeling that I went to a party on Perry Lane in 1962, and +the party spilled out of the house, and came down the street, and covered the +world. + -- Robert Stone +% +Sometimes I live in the country, +And sometimes I live in town. +And sometimes I have a great notion, +To jump in the river and drown. +% +Sometimes I simply feel that the whole +world is a cigarette and I'm the only ashtray. +% +Sometimes I wonder if I'm in my right mind. +Then it passes off and I'm as intelligent as ever. + -- Samuel Beckett, "Endgame" +% +Sometimes I worry about being a success in a mediocre world. + -- Lily Tomlin +% +Sometimes it happens. People just explode. Natural causes. + -- Repo Man +% +Sometimes love ain't nothing but a misunderstanding between two fools. +% +SOMETIMES THE BEAUTY OF THE WORLD is so overwhelming, I just want to throw +back my head and gargle. Just gargle and gargle and I don't care who hears +me because I am beautiful. + -- Jack Handley, The New Mexican, 1988. +% +Sometimes the best medicine is to stop taking something. +% +Sometimes the light is all shining on me, +Other times I can hardly see. +Lately it occurs to me +What a long strange trip it's been. + -- The Grateful Dead, "American Beauty" +% +Sometimes, too long is too long. + -- Joe Crowe +% +Sometimes when I get up in the morning, I feel very peculiar. I feel +like I've just got to bite a cat! I feel like if I don't bite a cat +before sundown, I'll go crazy! But then I just take a deep breath and +forget about it. That's what is known as real maturity. + -- Snoopy +% +Sometimes, when I think of what that girl means +to me, it's all I can do to keep from telling her. + -- Andy Capp +% +Sometimes when you look into his eyes you get the feeling that someone +else is driving. + -- David Letterman +% +Sometimes you get an almost irresistible urge to go on living. +% +Somewhere, just out of sight, the unicorns are gathering. +% +Somewhere on this globe, every ten seconds, there is a +woman giving birth to a child. She must be found and stopped. + -- Sam Levenson +% +Somewhere, something incredible is waiting to be known. + -- Carl Sagan +% +Son, someday a man is going to walk up to you with a deck of cards on which +the seal is not yet broken. And he is going to offer to bet you that he can +make the Ace of Spades jump out of the deck and squirt cider in your ears. +But son, do not bet this man, for you will end up with a ear full of cider. + -- Sky Masterson's Father +% +Sooner or later you must pay for your sins. +(Those who have already paid may disregard this cookie). +% +Sorry. Nice try. +% +Sorry never means having you're say to love. +% +Space is big. You just won't believe how vastly, hugely, mind-bogglingly +big it is. I mean, you may think it's a long way down the road to the +drug store, but that's just peanuts to space. + -- The Hitchhiker's Guide to the Galaxy +% +Space is to place as eternity is to time. + -- Joseph Joubert +% +Space tells matter how to move and matter tells space how to curve. + -- Wheeler +% +Space: the final frontier. These are the voyages of the starship Enterprise. +Its five-year mission: to explore strange new worlds; to seek out new life +and new civilizations; to boldly go where no man has gone before. + -- Captain James T. Kirk +% +SPAGMUMPS: + Any of the millions of Styrofoam wads that accompany mail-order items. + -- "Sniglets", Rich Hall & Friends +% +Speak roughly to your little boy, + And beat him when he sneezes: +He only does it to annoy + Because he knows it teases. + + Wow! wow! wow! + +I speak severely to my boy, + And beat him when he sneezes: +For he can thoroughly enjoy + The pepper when he pleases! + + Wow! wow! wow! +% +Speak roughly to your little Vax, +And boot it when it crashes; +It knows that one cannot relax +Because the paging thrashes! + +I speak severely to my Vax, +And boot it when it crashes; +In spite of all my favorite hacks, +My jobs it always trashes! +% +Speak softly and carry a +6 two-handed sword. +% +"Speak, thou vast and venerable head," muttered Ahab, "which, though +ungarnished with a beard, yet here and there lookest hoary with mosses; speak, +mighty head, and tell us the secret thing that is in thee. Of all divers, +thou has dived the deepest. That head upon which the upper sun now gleams has +moved amid the world's foundations. Where unrecorded names and navies rust, +and untold hopes and anchors rot; where in her murderous hold this frigate +earth is ballasted with bones of millions of the drowned; there, in that awful +water-land, there was thy most familiar home. Thou hast been where bell or +diver never went; has slept by many a sailer's side, where sleepless mothers +would give their lives to lay them down. Thou saw'st the locked lovers when +leaping from their flaming ship; heart to heart they sank beneath the exulting +wave; true to each other, when heaven seemed false to them. Thou saw'st the +murdered mate when tossed by pirates from the midnight deck; for hours he fell +into the deeper midnight of the insatiate maw; and his murderers still sailed +on unharmed -- while swift lightnings shivered the neighboring ship that would +have borne a righteous husband to outstretched, longing arms. O head! thou has +seen enough to split the planets and make an infidel of Abraham, and not one +syllable is thine!" + -- H. Melville, "Moby Dick" +% +Speaking as someone who has delved into the intricacies of PL/I, I am sure +that only Real Men could have written such a machine-hogging, cycle-grabbing, +all-encompassing monster. Allocate an array and free the middle third? +Sure! Why not? Multiply a character string times a bit string and assign the +result to a float decimal? Go ahead! Free a controlled variable procedure +parameter and reallocate it before passing it back? Overlay three different +types of variable on the same memory location? Anything you say! Write a +recursive macro? Well, no, but Real Men use rescan. How could a language +so obviously designed and written by Real Men not be intended for Real Man use? +% +Speaking of love, one problem that recurs more and more frequently these +days, in books and plays and movies, is the inability of people to communicate +with the people they love; Husbands and wives who can't communicate, children +who can't communicate with their parents, and so on. And the characters in +these books and plays and so on (and in real life, I might add) spend hours +bemoaning the fact that they can't communicate. I feel that if a person can't +communicate, the very least he can do is to shut up! + -- Tom Lehrer, "That Was the Year that Was" +% +Speaking of purchasing a dog, never buy a watchdog that's +on sale. After all, everyone knows a bargain dog never bites! +% +Special tonight, the best toot in town at prices you won't believe!! +Also, the finest dope, brought all the way from Columbia by spirited +young adventurers. All available tonight, as usual, in the graduate +students bullpen from 11: pm on, usual terms and conditions. +Faculty members especially welcome. +% +Speed upon county roads will be limited to ten miles an hour unless the +motorist sees a bailiff who does not appear to have had a drink in 30 days, +when the driver will be permitted to make what he can. + -- Proposed legislation, Illinois State Legislature, May, 1907 +% +Spence's Admonition: + Never stow away on a kamikaze plane. +% +Spend extra time on hobby. Get plenty of rolling papers. +% +SPINSTER: + A bachelor's wife. +% +SPIRTLE: + The fine stream from a grapefruit that always lands + right in your eye. + -- "Sniglets", Rich Hall & Friends +% +Spock: The odds of surviving another +attack are 13562190123 to 1, Captain. +% +Spock: We suffered 23 casualties in that attack, Captain. +% +SPOUSE: + Someone who'll stand by you through all the + trouble you wouldn't have had if you'd stayed single. +% +Spring is here, spring is here, +Life is skittles and life is beer. +% +SQUATCHO: + The button at the top of a baseball cap. + -- "Sniglets", Rich Hall & Friends +% +Squirrels eating squirrels, my God, that's sick. +% +St. Patrick was a gentleman +who through strategy and stealth +drove all the snakes from Ireland. +Here's a toasting to his health -- +but not too many toastings +lest you lose yourself and then +forget the good St. Patrick +and see all those snakes again. +% +Stability itself is nothing else than a more sluggish motion. +% +Staff meeting in the conference room in 3 minutes. +% +Stalin was dying, and summoned Khruschev to his bedside. Wheezing his last +words with difficulty, Stalin tells Khruschev, "The reins of the country are +now in your hands. But before I go, I want to give you some advice." + "Yes, yes, what is it?" says Khruschev, impatiently. Reaching under +his pillow, Stalin produced two envelopes labeled #1 and #2. + "Take these letters," he tells Khruschev. "Keep them safely -- don't +open them. Only if the country is in turmoil and things aren't going well, +open the first one. That'll give you some advice on what to do. And, if +after that, if things start getting REALLY bad, open the second one." And +with a gasp Stalin breathed his last. + Well, within a few years Khruschev started having problems -- +unemployment increased, crops failed, people became restless. He decided it +was time to open the first letter. All it said was: "Blame everything on me!" +So Khruschev launched a massive deStalinization campaign, and blamed Stalin +for all the excesses and purges and ills of the present system. + But things continued on the downslide, and, finally, after much +deliberation, Khruschev opened the second letter. + All it said was: "Write two letters." +% +Stamp out organized crime!! Abolish the IRS. +% +Stamp out philately. +% +STANDARDS: + The principles we use to reject other people's code. +% +Standards are different for all things, so the standard set by man is by +no means the only 'certain' standard. If you mistake what is relative for +something certain, you have strayed far from the ultimate truth. + -- Chuang Tzu +% +Standing on head makes smile of frown, but rest of face also upside down. +% +Stanford women are responsible for the success of many Stanford men: +they give them "just one more reason" to stay in and study every night. +% +Star Wars is adolescent nonsense; Close Encounters is obscurantist drivel; +Star Trek can turn your brains to puree of bat guano; and the greatest +science fiction series of all time is Doctor Who! And I'll take you all +on, one-by-one or all in a bunch to back it up! + -- Harlan Ellison +% +Start every day off with a smile and get it over with. + -- W.C. Fields +% +Start the day with a smile. +After that you can be your nasty old self again. +% +State license plates we'd like to see: + + NEVADA MASSACHUSETTS + LVME 10DR OW-A CAH +LAND OF 10,00 ELVIS IMPERSONATORS THE GOOFY ACCENT STATE + + HAWAII WISCONSIN + L-O HA CHEDDAR +FRUITY UMBRELLA COCKTAIL WONDERLAND EAT CHEESE OR DIE +% +State license plates we'd like to see: + + ALABAMA ARIZONA + IC1 NOW 120 F +THE UFO SIGHTING STATE THE HEAT PROSTRATION STATE + + CONNECTICUT MISSISSIPPI + 5:36 EXP 4I4S2PS +WHERE THE SMART NY WORK FORCE LIVES THE MOST OFTEN MISSPELLED STATE + + TEXAS FLORIDA + 1-2-3 HIKE ZON KED + PLAY FOOTBALL OR DIE AMERICA'S DRUG DEALER +% +State license plates we'd like to see: + + MICHIGAN CALIFORNIA + 4-GET 74-77 EGO-MN-E-X +EMBARRASSED HOME STATE OF GERALD FORD THE SERIAL KILLER STATE + + NORTH CAROLINA NEW JERSEY + WL-GOLLY ARG GGH +HOME OF GOMER, GOOBER AND JESSE HELMS FIRST IN TOXIC WASTE + + KANSAS WASHINGTON DC + TOTO -2 $10000000 ETC +THE NOT MUCH SINCE THE WIZARD OF OZ WASTING YOUR MONEY SINCE 1810 + MOVIE STATE +% +STATISTICS: + A system for expressing your political + prejudices in convincing scientific guise. +% +Statistics are no substitute for judgement. + -- Henry Clay +% +Statistics means never having to say you're certain. +% +Stay away from flying saucers today. +% +Stay away from hurricanes for a while. +% +Stay the curse. +% +Stay together, drag each other down. +% +Stayed in bed all morning just to pass the time, +There's something wrong here, there can be no more denying, +One of us is changing, or maybe we just stopped trying, + +And it's too late, baby, now, it's too late, +Though we really did try to make it, +Something inside has died and I can't hide and I just can't fake it... + +It used to be so easy living here with you, +You were light and breezy and I knew just what to do +Now you look so unhappy and I feel like a fool. + +There'll be good times again for me and you, +But we just can't stay together, don't you feel it too? +But I'm glad for what we had and that I once loved you... + +But it's too late baby... +It's too late, now darling, it's too late... + -- Carol King, "Tapestry" +% +Steady movement is more important than speed, much of the time. So +long as there is a regular progression of stimuli to get your mental +hooks into, there is room for lateral movement. Once this begins, +its rate is a matter of discretion. + -- Corwin, "Prince of Amber" +% +Stealing a rhinoceros should not be attempted lightly. +% +Steckel's Rule to Success: + Good enough is never good enough. +% +Steele's Plagiarism of Somebody's Philosophy: + Everybody should believe in something -- + I believe I'll have another drink. +% +Stellar rays prove fibbing never pays. +Embezzlement is another matter. +% +Stenderup's Law: + The sooner you fall behind, the more time you will have to catch up. +% +Step back, unbelievers! +Or the rain will never come. +Somebody keep the fire burning, someone come and beat the drum. +You may think I'm crazy, you may think that I'm insane, +But I swear to you, before this day is out, + you folks are gonna see some rain! +% +Still a few bugs in the system... Someday I have to tell you about Uncle +Nahum from Maine, who spent years trying to cross a jellyfish with a shad +so he could breed boneless shad. His experiment backfired too, and he +wound up with bony jellyfish... which was hardly worth the trouble. There's +very little call for those up there. + -- Allucquere R. "Sandy" Stone +% +Still looking for the glorious results of my misspent youth. +Say, do you have a map to the next joint? +% +Stinginess with privileges is kindness in disguise. + -- Guide to VAX/VMS Security, Sep. 1984 +% +Stock's Observation: + You no sooner get your head above water + but what someone pulls your flippers off. +% +Stone's Law: + One man's "simple" is another man's "huh?" +% +Stop! There was first a game of blindman's buff. Of course there was. +And I no more believe Topper was really blind than I believe he had eyes +in his boots. My opinion is, that it was a done thing between him and +Scrooge's nephew; and that the Ghost of Christmas Present knew it. The +way he went after that plump sister in the lace tucker, was an outrage +on the credulity of human nature. +% +Stop me, before I kill again! +% +Stop searching. Happiness is right next to you. +% +Stop searching. Happiness is right next to you. +Now, if they'd only take a bath... +% +Stop searching forever. Happiness is just next to you. +% +Stop searching forever. Happiness is unattainable. +% +Strange things are done to be number one +In selling the computer The Druids were entrepreneurs, +IBM has their strategem And they built a granite box +Which steadily grows acuter, It tracked the moon, warned of monsoons, +And Honeywell competes like Hell, And forecast the equinox +But the story's missing link Their price was right, their future +Is the system old at Stonemenge sold bright, +By the firm of Druids, Inc. The prototype was sold; + From Stonehenge site their bits and byte + Would ship for Celtic gold. +The movers came to crate the frame; +It weighed a million ton! +The traffic folk thought it a joke The man spoke true, and thus to you +(the wagon wheels just spun); A warning from the ages; +"They'll nay sell that," the foreman Your stock will slip if you can't ship + spat, What's in your brochure's pages. +"Just leave the wild weeds grow; See if it sells without the bells +"It's Druid-kind, over-designed, And strings that ring and quiver; +"And belly up they'll go." Druid repute went down the chute + Because they couldn't deliver. + -- Edward C. McManus, "The Computer at Stonehenge" +% +STRATEGY: + A comprehensive plan of inaction. +% +Strategy: + A long-range plan whose merit cannot be evaluated until sometime + after those creating it have left the organization. +% +Straw? No, too stupid a fad. I put soot on warts. +% +Stress has been pinpointed as a major cause of illness. To avoid overload +and burnout, keep stress out of your life. Give it to others instead. Learn +the "Gaslight" treatment, the "Are you talking to me?" technique, and the +"Do you feel okay? You look pale." approach. Start with negotiation and +implication. Advance to manipulation and humiliation. Above all, relax +and have a nice day. +% +Stuckness shouldn't be avoided. It's the psychic predecessor of all +real understanding. An egoless acceptance of stuckness is a key to an +understanding of all Quality, in mechanical work as in other endeavors. + -- R. Pirsig, "Zen and the Art of Motorcycle Maintenance" +% +Stult's Report: + Our problems are mostly behind us. + What we have to do now is fight the solutions. +% +STUPID: + Losing $25 on the tackle and $25 on the instant replay. +% +Stupidity is its own reward. +% +Style may not be the answer, but at least it's a workable alternative. +% +Suaviter in modo, fortiter in re. +Se non e vero, e ben trovato. +% +Substitute 'damn' every time you're inclined to write 'very'; your +editor will delete it and the writing will be just as it should be. + -- Mark Twain +% +Subtlety is the art of saying what you think and getting out of the +way before it is understood. +% +Suburbia is where the developer bulldozes out the trees, then names +the streets after them. + -- Bill Vaughn +% +Success is a journey, not a destination. +% +Success is getting what you want; happiness is wanting what you get. +% +Success is in the minds of Fools. + -- William Wrenshaw, 1578 +% +Success is relative: It is what we can make of the mess we have +made of things. + -- T.S. Eliot, "The Family Reunion" +% +Success is something I will dress for when I get there, and not until. +% +Success is the sole earthly judge of right and wrong. + -- Adolph Hitler, "Mein Kampf" +% +Succumb to natural tendencies. Be hateful and boring. +% +Such a fine first dream! +But they laughed at me; they said +I had made it up. +% +Such a foolish notion, that war is called devotion, +when the greatest warriors are the ones who stand for peace. +% +Such efforts are almost always slow, laborious, political, +petty, boring, ponderous, thankless, and of the utmost criticality. + -- Leonard Kleinrock, on standards efforts +% +Such evil deeds could religion prompt. + -- Titus Lucretius Carus +% +Sudden Death Dating: + +Quote, female: + Am I worried about taking his last name? Forget it, + at this point I'll take his first name, too. +% +Suffering alone exists, none who suffer; +The deed there is, but no doer thereof; +Nirvana is, but no one is seeking it; +The Path there is, but none who travel it. + -- "Buddhist Symbolism", Symbols and Values +% +Suggest you just sit there and wait till life gets easier. +% +Suicide is simply a case of mistaken identity. +% +Suicide is the sincerest form of self-criticism. + -- Donald Kaul +% +Sum quod eris. +% +Sun in the night, everyone is together, +Ascending into the heavens, life is forever. + -- Brand X, "Moroccan Roll/Sun in the Night" +% +SUN Microsystems: + The Network IS the Load Average. +% +SUNSET: + Pronounced atmospheric scattering of shorter wavelengths, + resulting in selective transmission below 650 nanometers with + progressively reducing solar elevation. +% +Superstition, idolatry, and hypocrisy +have ample wages, but truth goes a-begging. + -- Martin Luther +% +Supervisor: Do you think you understand the basic ideas of Quantum Mechanics? +Supervisee: Ah! Well, what do we mean by "to understand" in the context of + Quantum Mechanics? +Supervisor: You mean "No", don't you? +Supervisee: Yes. + -- Overheard at a supervision. +% +Support Bingo, keep Grandma off the streets. +% +Support mental health or I'LL KILL YOU!!!! +% +Support the American Kidney Foundation. +Don't wear your motorcycle helmet. +% +Support the Girl Scouts! + (Today's Brownie is tomorrow's Cookie!) +% +Support the right of unborn males to bear arms! + -- A public service announcement from Phyllis Schlafly, + the Catholic Church, and the National Rifle Association +% +Support your local church or synagogue. +Worship at Bank of America. +% +Support your right to arm bears!! +% +Support your right to bare arms! + -- A message from the National Short-Sleeved Shirt Association +% +Suppose for a moment that the automobile industry had developed at the same +rate as computers and over the same period: how much cheaper and more +efficient would the current models be? If you have not already heard the +analogy, the answer is shattering. Today you would be able to buy a +Rolls-Royce for $2.75, it would do three million miles to the gallon, and +it would deliver enough power to drive the Queen Elizabeth II. And if you +were interested in miniaturization, you could place half a dozen of them on +a pinhead. + -- Christopher Evans +% +Sure, Reagan has promised to take senility tests. +But what if he forgets? +% +Sure there are dishonest men in local government. But there are dishonest +men in national government too. + -- Richard M. Nixon +% +Sure there are dishonest men in local government. But there are +dishonest men in national government too. + -- Richard Nixon +% +"Surely you can't be serious." +"I am serious, and don't call me Shirley." +% +Surly to bed, surly to rise, makes you about average. +% +Surprise! You are the lucky winner of random I.R.S Audit! +Just type in your name and social security number. +Please remember that leaving the room is punishable under law: + +Name # + + +% +Surprise due today. Also the rent. +% +Surprise your boss. Get to work on time. +% +sushi, n: + When that-which-may-still-be-alive is put on top of rice and + strapped on with electrical tape. +% +Sushido, n: + The way of the tuna. +% +Suspicion always haunts the guilty mind. + -- Wm. Shakespeare +% +Swap read error. You lose your mind. +% +SWEATER: + A garment worn by a child when their mother feels chilly. +% +Sweet April showers do spring May flowers. + -- Thomas Tusser +% +Sweet sixteen is beautiful Bess, +And her voice is changing -- from "No" to "Yes". +% +Swerve me? The path to my fixed purpose is laid with iron rails, +whereon my soul is grooved to run. Over unsounded gorges, through +the rifled hearts of mountains, under torrents' beds, unerringly +I rush! + -- Captain Ahab, "Moby Dick" +% +Swipple's Rule of Order: + He who shouts the loudest has the floor. +% +Symptom: Drinking fails to give taste and satisfaction, beer is + unusually pale and clear. +Problem: Glass empty. +Action Required: Find someone who will buy you another beer. + +Symptom: Drinking fails to give taste and satisfaction, + and the front of your shirt is wet. +Fault: Mouth not open when drinking or glass applied to + wrong part of face. +Action Required: Buy another beer and practice in front of mirror. + Drink as many as needed to perfect drinking technique. + + -- Bar Troubleshooting +% +Symptom: Everything has gone dark. +Fault: The Bar is closing. +Action Required: Panic. + +Symptom: You awaken to find your bed hard, cold and wet. + You cannot see the bathroom light. +Fault: You have spent the night in the gutter. +Action Required: Check your watch to see if bars are open yet. If not, + treat yourself to a lie-in. + + -- Bar Troubleshooting +% +Symptom: Feet cold and wet, glass empty. +Fault: Glass being held at incorrect angle. +Action Required: Turn glass other way up so that open end points + toward ceiling. + +Symptom: Feet warm and wet. +Fault: Improper bladder control. +Action Required: Go stand next to nearest dog. After a while complain + to the owner about its lack of house training and + demand a beer as compensation. + + -- Bar Troubleshooting +% +Symptom: Floor blurred. +Fault: You are looking through bottom of empty glass. +Action Required: Find someone who will buy you another beer. + +Symptom: Floor moving. +Fault: You are being carried out. +Action Required: Find out if you are taken to another bar. If not, + complain loudly that you are being kidnapped. + + -- Bar Troubleshooting +% +Symptom: Floor swaying. +Fault: Excessive air turbulence, perhaps due to air-hockey + game in progress. +Action Required: Insert broom handle down back of jacket. + +Symptom: Everything has gone dim, strange taste of peanuts + and pretzels or cigarette butts in mouth. +Fault: You have fallen forward. +Action Required: See above. + +Symptom: Opposite wall covered with acoustic tile and several + flourescent light strips. +Fault: You have fallen over backward. +Action Required: If your glass is full and no one is standing on your + drinking arm, stay put. If not, get someone to help + you get up, lash yourself to bar. + + -- Bar Troubleshooting +% +Syntactic sugar causes cancer of the semicolon. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +System checkpoint complete. +% +System going down at 1:45 this afternoon for disk crashing. +% +System going down at 5 this afternoon to install scheduler bug. +% +System going down in 5 minutes. +% +System restarting, wait... +% +System/3! System/3! +See how it runs! See how it runs! + Its monitor loses so totally! + It runs all its programs in RPG! + It's made by our favorite monopoly! +System/3! +% +SYSTEM-INDEPENDENT: + Works equally poorly on all systems. +% +Systems have sub-systems and sub-systems have sub-systems and so on ad +infinitum -- which is why we're always starting over. + -- Epigrams in Programming, ACM SIGPLAN Sept. 1982 +% +Systems programmer: + A person in sandals who has been in the elevator with the senior + vice president and is ultimately responsible for a phone call you + are to receive from your boss. +% +Systems programmers are the high priests of a low cult. + -- R.S. Barton +% +T: One big monster, he called TROLL. + He don't rock, and he don't roll; + Drink no wine, and smoke no stogies. + He just Love To Eat Them Roguies. + -- The Roguelet's ABC +% +TACKY: + Serving grape kool-aid at religious functions. +% +TACT: + The unsaid part of what you're thinking. +% +Tact consists in knowing how far to go in going too far. + -- Jean Cocteau +% +Tact in audacity is knowing how far you can go without going too far. + -- Jean Cocteau +% +Tact is the ability to tell a man he has +an open mind when he has a hole in his head. +% +Tact is the art of making a point without making an enemy. +% +Take a lesson from the whale; the only time +he gets speared is when he raises to spout. +% +Take an astronaut to launch. +% +Take care of the luxuries and the +necessities will take care of themselves. + -- L. Long +% +Take Care of the Molehills, and the Mountains Will Take Care of Themselves. + -- Motto of the Federal Civil Service +% +Take everything in stride. +Trample anyone who gets in your way. +% +TAKE FORCEFUL ACTION: + Do something that should have been done a long time ago. +% +Take it easy, we're in a hurry. +% +Take me drunk, +I'm home again! +% +Take my word for it, the silliest woman can manage a clever man, +but it needs a very clever woman to manage a fool. + -- Kipling +% +Take time to reflect on all the things you have, not as a result of your +merit or hard work or because God or chance or the efforts of other people +have given them to you. +% +Take what you can use and let the rest go by. + -- Ken Kesey +% +Take your dying with some seriousness, however. +Laughing on the way to your execution is not generally understood +by less-advanced life-forms, and they'll call you crazy. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Take your Senator to lunch this week. +% +Take your work seriously but never take yourself seriously; and do not +take what happens either to yourself or your work seriously. + -- Booth Tarkington +% +Taking drugs in the 60's, I tried to reach Nirvana, but all I ever +got were re-runs of The Mickey Mouse Club. + -- Rev. Jim +% +Talent does what it can. +Genius does what it must. +You do what you get paid to do. +% +Talk is cheap because supply always exceeds demand. +% +Talk sense to a fool and he calls you foolish. + -- Euripides +% +Talkers are no good doers. + -- William Shakespeare, "Henry VI" +% +Talking about music is like dancing about architecture. + -- Laurie Anderson +% +Talking much about oneself can also be a means to conceal oneself. + -- Friedrich Nietzsche +% +Tallulah Bankhead barged down the +Nile last night as Cleopatra and sank. + -- John Mason Brown, drama critic +% +Tan me hide when I'm dead, Fred, +Tan me hide when I'm dead. +So we tanned his hide when he died, Clyde, +It's hanging there on the shed. + +All together now... + Tie me kangaroo down, sport, + Tie me kangaroo down. + Tie me kangaroo down, sport, + Tie me kangaroo down. +% +Tart words make no friends; a spoonful of honey +will catch more flies than a gallon of vinegar. + -- B. Franklin +% +TAURUS (Apr 20 - May 20) + You are practical and persistent. You have a dogged determination + and work like hell. Most people think you are stubborn and bull + headed. You are a Communist. +% +TAURUS (Apr. 20 to May 20) + Let your self-confidence and determination shine, and people will + find you boorish and headstrong. Travel, promotion, and romance + highlighted, if you live long enough. Don't take any wooden nickels. +% +TAURUS (Apr.20 - May 20) + Take advantage of this opportunity to get a little extra sleep, + because you're going to miss the bus again today anyway. You will + decide to lose weight today, just like yesterday. +% +TAX OFFICE: + Den of inequity. +% +Tax reform means "Don't tax you, don't +tax me, tax that fellow behind the tree." + -- Russell Long +% +TAXES: + Of life's two certainties, + the only one for which you can get an extension. +% +Taxes are not levied for the benefit of the taxed. +% +TCP/IP Slang Glossary, #1: + +Gong, n: Medieval term for privvy, or what pased for them in that era. +Today used whimsically to describe the aftermath of a bogon attack. Think +of our community as the Galapagos of the English language. + +"Vogons may read you bad poetry, but bogons make you study obsolete RFCs." + -- Dave Mills +% +Teach children to be polite and courteous in the home, and, +when they grow up, they won't be able to edge a car onto a freeway. +% +Teachers have class. +% +TEAMWORK: + Having someone to blame. +% +Teamwork is essential -- it allows you to blame someone else. +% +Technicality, n. In an English court a man named Home was tried for +slander in having accused a neighbor of murder. His exact words were: +"Sir Thomas Holt hath taken a cleaver and stricken his cook upon the +head, so that one side of his head fell on one shoulder and the other +side upon the other shoulder." The defendant was acquitted by +instruction of the court, the learned judges holding that the words did +not charge murder, for they did not affirm the death of the cook, that +being only an inference. + -- Ambrose Bierce, "The Devil's Dictionary" +% +Technique?" said the programmer turning from his terminal, "What I follow +is Tao -- beyond all technique! When I first began to program I would see +before me the whole problem in one mass. After three years I no longer saw +this mass. Instead, I used subroutines. But now I see nothing. My whole +being exists in a formless void. My senses are idle. My spirit, free to +work without plan, follows its own instinct. In short, my program writes +itself. True, sometimes there are difficult problems. I see them coming, I +slow down, I watch silently. Then I change a single line of code and the +difficulties vanish like puffs of idle smoke. I then compile the program. +I sit still and let the joy of the work fill my being. I close my eyes for +a moment and then log off. +% +Technological progress has merely provided us +with more efficient means for going backwards. + -- Aldous Huxley +% +Technology is dominated by those who manage what they do not understand. +% +Tehee quod she, and clapte the wyndow to. + -- Geoffrey Chaucer +% +Telephone books are like dictionaries -- if you know the answer before +you look it up, you can eventually reaffirm what you thought you knew +but weren't sure. But if you're searching for something you don't +already know, your fingers could walk themselves to death. + -- Erma Bombeck +% +telephone, n.: + An invention of the devil which abrogates some of the advantages of +making a disagreeable person keep his distance. + -- Ambrose Bierce +% +TELEPRESSION: + The deep-seated guilt which stems from knowing that you did not try + hard enough to look up the number on your own and instead put the + burden on the directory assistant. + -- "Sniglets", Rich Hall & Friends +% +Television -- a medium. So called because it is neither rare nor well done. + -- Ernie Kovacs +% +Television -- the longest amateur night in history. + -- Robert Carson +% +Television has brought back murder into the home -- where it belongs. + -- Alfred Hitchcock +% +Television has proved that people will look at anything rather than +each other. + -- Ann Landers +% +Television is a medium because anything well done is rare. + -- attributed to both Fred Allen and Ernie Kovacs +% +Television is now so desperately hungry for material +that it is scraping the top of the barrel. + -- Gore Vidal +% +Television only proves that people will look at anything -- +rather than each other. +% +Tell a man there are 300 billion stars in the universe and he'll +believe you. Tell him a bench has wet paint on it and he'll have +to touch to be sure. +% +Tell me, O Octopus, I begs, +Is those things arms, or is they legs? +I marvel at thee, Octopus; +If I were thou, I'd call me us. + -- Ogden Nash +% +Tell me what to think!!! +% +Tell me why the stars do shine, +Tell me why the ivy twines, +Tell me why the sky's so blue, +And I will tell you just why I love you. + + Nuclear fusion makes stars to shine, + Phototropism makes ivy twine, + Rayleigh scattering makes sky so blue, + Sexual hormones are why I love you. +% +Telling the truth to people who misunderstand you is generally +promoting a falsehood, isn't it? + -- A. Hope +% +Tempt me with a spoon! +% +Tempt not a desperate man. + -- William Shakespeare, "Romeo and Juliet" +% +Ten of the meanest cons in the state pen met in the corner of the yard to +shoot some craps. The stakes were enormous, the tension palpable. + When his turn came to shoot, Dutsky nervously plunked down his +entire wad, shook the dice and rolled. A smile crossed his face as a seven +showed up, but it quickly changed to horror as a third die slipped out of +his sleeve and fell to the ground with the two others. No one said a word. +Finally, Killer Lucci picked up the third die, put it in his pocket and +handed the others to Dutsky. + "Roll 'em," Lucci said. "Your point is thirteen." +% +Ten of the meanest cons in the state pen met in the corner of the yard to +shoot some craps. The stakes were enormous, the tension palpable. + When his turn came to shoot, Dutsky nervously plunked down his +entire wad, shook the dice and rolled. A smile crossed his face as a +seven showed up, but it quickly changed to horror as third die slipped out +of his sleeve and fell to the ground with the two others. No one said a +word. Finally, Killer Lucci picked up the third die, put it in his pocket +and handed the others to Dutsky. + "Roll 'em," Lucci said. "Your point is thirteen." +% +Ten persons who speak make more noise than ten thousand who are silent. + -- Napoleon I +% +Ten years of rejection slips is nature's +way of telling you to stop writing. + -- R. Geis +% +Terence, this is stupid stuff: +You eat your victuals fast enough; +There can't be much amiss, 'tis clear, +To see the rate you drink your beer. +But oh, good Lord, the verse you make, +It gives a chap the belly-ache. +The cow, the old cow, she is dead; +It sleeps well the horned head: +We poor lads, 'tis our turn now +To hear such tunes as killed the cow. +Pretty friendship 'tis to rhyme +Your friends to death before their time. +Moping, melancholy mad: +Come, pipe a tune to dance to, lad. + -- A.E. Housman +% +Term, holidays, term, holidays, till we leave +school, and then work, work, work till we die. + -- C.S. Lewis +% +Termiter's argument that God is His own grandmother generated a surprising +amount of controversy among Church leaders, who on the one hand considered +the argument unsupported by scripture but on the other hand were unwilling +to risk offending God's grandmother. + -- Len Cool, "American Pie" +% +Tertullian was born in Carthage somewhere about 160 A.D. He was a pagan, +and he abandoned himself to the lascivious life of his city until about +his 35th year, when he became a Christian. [...] To him is ascribed the +sublime confession: Credo quia absurdum est (I believe because it is absurd). +This does not altogether accord with historical fact, for he merely said: + "And the Son of God died, which is immediately credible because it + is absurd. And buried he rose again, which is certain because it + is impossible." +Thanks to the acuteness of his mind, he saw through the poverty of +philosophical and Gnostic knowledge, and contemptuously rejected it. + -- C.G. Jung, "Psychological Types" + [Teruillian was one of the founders of the Catholic Church. Ed.] +% +Test for paraquat: + Take amount of grass used in one joint, and wash in 5 cc's + of water, agitating gently for 15 minutes. Strain out leaves, + leaving a brownish-yellow solution. Add 100 mg each of sodium + bicarbonate and sodium dithionite. If paraquat is present, + the solution will turn blue-green. +% +Testing can show the presence of bugs, but not their absence. + -- Edsger W. Dijkstra +% +Test-tube babies shouldn't throw stones. +% +TEUTONIC: + Not enough gin. +% +TEX is potentially the most significant invention in typesetting in this +century. It introduces a standard language for computer typography, and in +terms of importance could rank near the introduction of the Gutenberg press. + -- Gordon Bell +% +Texas A&M football coach Jackie Sherrill went to the office of the Dean +of Academics because he was concerned about his players' mental abilities. +"My players are just too stupid for me to deal with them", he told the +unbelieving dean. At this point, one of his players happened to enter +the dean's office. "Let me show you what I mean", said Sherrill, and he +told the player to run over to his office to see if he was in. "OK, Coach", +the player replied, and was off. "See what I mean?" Sherrill asked. +"Yeah", replied the dean. "He could have just picked up this phone and +called you from here." +% +Texas is Hell on woman and horses. + -- Wayne Oakes +% +Thank God I've always avoided persecuting my enemies. + -- Adolf Hitler +% +Thank you for observing all safety precautions. +% +That all men should be brothers is the dream of people who have no brothers. + -- Charles Chincholles, "Pensees de tout le monde" +% +That does not compute. +% +That feeling just came over me. + -- Albert DeSalvo, the "Boston Strangler" +% +That government is best which governs least. + -- Henry David Thoreau, "Civil Disobedience" +% +That is the true season of love, when we believe that we alone can love, +that no one could have loved so before us, and that no one will love +in the same way as us. + -- Johann Wolfgang von Goethe +% +That money talks, +I'll not deny, +I heard it once, +It said "Good-bye. + -- Richard Armour +% +That must be wonderful: I don't understand it at all. + -- Moliere +% +That segment of the community with which one has the greatest +sympathy as a liberal, inevitably turns out to be one of the most +narrow-minded and bigoted segments of the community. +% +That that is is that that is not is not. +% +That, that is, is. +That, that is not, is not. +That, that is, is not that, that is not. +That, that is not, is not that, that is. +% +...that the notions of "hardware", and "software" should be extended by +the notion of LIVEWARE - being that which produces software for use on +hardware. This produces an obvious extension to the concept of MONITORS. +A liveware monitor is a person dedicated to the task of ensuring that the +liveware does not interfere with the real-time processes, invoking the +REAL-TIME EXECUTIONER to delete liveware that adversely affects ... + -- Linden and Wihelminalaan +% +That which is not good for the swarm, neither is it good for the bee. +% +That woman speaks eight languages and can't say "no" in any of them. + -- Dorothy Parker +% +That Xanthippe's husband should have become so great a philosopher is +remarkable. Amid all the scolding, to be able to think! But he could not +write: that was impossible. Socrates has not left us a single book. + -- Heine +% +That's always the way when you discover +something new; everyone thinks you're crazy. + -- Evelyn E. Smith +% +That's life. + What's life? +A magazine. + How much does it cost? +Two-fifty. + I only have a dollar. +That's life. +% +That's life for you, said McDunn. Someone always waiting for someone +who never comes home. Always someone loving something more than that +thing loves them. And after awhile you want to destroy whatever that +thing is, so it can't hurt you no more. + -- R. Bradbury, "The Fog Horn" +% +"That's no answer," Job said, "And for someone who's supposed to be +omnipotent, let me tell you 'tabernacle' has only one l." + -- Woody Allen, "Without Feathers" +% +That's no moon... + -- Obi-wan Kenobi +% +That's odd. That's very odd. +Wouldn't you say that's very odd? +% +That's one small step for a man; one giant leap for mankind. + -- Neil Armstrong +% +That's the most fun I've had without laughing. + -- Woody Allen, on sex +% +That's the thing about people who think they hate computers. What they +really hate is lousy programmers. + -- Larry Niven and Jerry Pournelle in "Oath of Fealty" +% +That's the true harbinger of spring, not crocuses or swallows +returning to Capistrano, but the sound of a bat on a ball. + -- Bill Veeck +% +That's what she said. +% +That's where the money was. + -- Willie Sutton, on being asked why he robbed a bank + +It's a rather pleasant experience to be alone in a bank at night. + -- Willie Sutton +% +The White Rabbit put on his spectacles. + "Where shall I begin, please your Majesty ?" he asked. + "Begin at the beginning,", the King said, very gravely, +"and go on till you come to the end: then stop." + -- Lewis Carroll +% +The 11 is for people with the pride of a 10 and the pocketbook of an 8. + -- R.B. Greenberg +% +The 357.73 Theory -- + Auditors always reject expense accounts + with a bottom line divisible by 5. +% +The 80's -- when you can't tell hairstyles from chemotherapy. +% +The 'A' is for content, the 'minus' is for not typing it. +Don't ever do this to my eyes again. + -- Professor Ronald Brady, Philosophy, Ramapo State College +% +The Abrams' Principle: + The shortest distance between two points is off the wall. +% +The absence of labels [in ECL] is probably a good thing. + -- T. Cheatham +% +The absent ones are always at fault. +% +The absurd is the essential concept and the first truth. + -- A. Camus +% +The abuse of greatness is when it disjoins remorse from power. + -- William Shakespeare, "Julius Caesar" +% +The adjective is the banana peel of the parts of speech. + -- Clifton Fadiman +% +The adjuration to be "normal" seems shockingly repellent to me; I see neither +hope nor comfort in sinking to that low level. I think it is ignorance that +makes people think of abnormality only with horror and allows them to remain +undismayed at the proximity of "normal" to average and mediocre. For surely +anyone who achieves anything is, essentially, abnormal. + -- Dr. Karl Menninger, "The Human Mind", 1930 +% +The advantage of being celibate is that when one sees a pretty girl one +does not need to grieve over having an ugly one back home. + -- Paul Leautaud, "Propos dun jour" +% +The aim of a joke is not to degrade the human being but to remind him that +he is already degraded. + -- George Orwell +% +The aim of science is to seek the simplest explanations of complex +facts. Seek simplicity and distrust it. + -- Whitehead. +% +The alarm clock that is louder than God's own +belongs to the roommate with the earliest class. +% +The algorithm for finding the longest path in a graph is NP-complete. +For you systems people, that means it's *real slow*. + -- Bart Miller +% +The all-softening overpowering knell, +The tocsin of the soul, -- the dinner bell. + -- Lord Byron +% +The Almighty in His infinite wisdom did not see +fit to create Frenchmen in the image of Englishmen. + -- Winston Churchill, 1942 +% +The American Dental Association announced today that most plaque tends +to form on teeth around 4:00 PM in the afternoon. + +Film at 11:00. +% +The American nation in the sixth ward is a fine people; they love the +eagle -- on the back of a dollar. + -- Finlay Peter Dunne +% +The American system of ours, call it Americanism, call it Capitalism, +call it what you like, gives each and every one of us a great +opportunity if we only seize it with both hands and make the most of it. + -- Al Capone +% +The amount of time between slipping on the peel and landing on the +pavement is precisely 1 bananosecond. +% +The amount of weight an evangelist carries with the almighty is measured +in billigrahams. +% +The Analytical Engine weaves Algebraical patterns +just as the Jacquard loom weaves flowers and leaves. + -- Ada Augusta, Countess of Lovelace, the first programmer +% +The Anarchists' [national] anthem is an international anthem that consists +of 365 raspberries blown in very quick succession to the tune of "Camptown +Races". Nobody has to stand up for it, nobody has to listen to it, and, +even better, nobody has to play it. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The Ancient Doctrine of Mind Over Matter: + I don't mind... and you don't matter. + + -- As revealed to reporter G. Rivera by Swami Havabanana +% +The Angels want to wear my red shoes. + -- E. Costello +% +The anger of a woman is the greatest evil +with which you can threaten your enemies. + -- Bonnard +% +The Anglo-Saxon conscience does not prevent the Anglo-Saxon from +sinning, it merely prevents him from enjoying his sin. + --Salvador De Madariaga +% +The angry man always thinks he can do more than he can. + -- Albertano of Brescia +% +The animals are not as stupid as one thinks -- they have neither +doctors nor lawyers. + -- L. Docquier +% +The annual meeting of the "You Have To Listen To Experience" Club is now in +session. Our Achievement Awards this year are in the fields of publishing, +advertising and industry. For best consistent contribution in the field of +publishing our award goes to editor, R.L.K., [...] for his unrivalled alle- +giance without variation to the statement: "Personally I'd love to do it, +we'd ALL love to do it. But we're not going to do it. It's not the kind of +book our house knows how to handle." Our superior performance award in the +field of advertising goes to media executive, E.L.M., [...] for the continu- +ally creative use of the old favorite: "I think what you've got here could be +very exciting. Why not give it one more try based on the approach I've out- +lined and see if you can come up with something fresh." Our final award for +courageous holding action in the field of industry goes to supervisor, R.S., +[...] for her unyielding grip on "I don't care if they fire me, I've been +arguing for a new approach for YEARS but are we SURE that this is the right +time--" I would like to conclude this meeting with a verse written specially +for our prospectus by our founding president fifty years ago -- and now, as +then, fully expressive of the emotion most close to all our hearts -- + Treat freshness as a youthful quirk, + And dare not stray to ideas new, + For if t'were tried they might e'en work + And for a living what woulds't we do? +% +The answer to the question of Life, the Universe, and Everything is... + + Four day work week, + Two ply toilet paper! +% +The answer to the Ultimate Question of Life, the Universe, and Everything was +released with the kind permission of the Amalgamated Union of Philosophers, +Sages, Luminaries, and Other Professional Thinking Persons. +% +The ark lands after The Flood. Noah lets all the animals out. Says he, "Go +and multiply." Several months pass. Noah decides to check up on the animals. +All are doing fine except a pair of snakes. "What's the problem?" says Noah. +"Cut down some trees and let us live there", say the snakes. Noah follows +their advice. Several more weeks pass. Noah checks on the snakes again. +Lots of little snakes, everybody is happy. Noah asks, "Want to tell me how +the trees helped?" "Certainly", say the snakes. "We're adders, and we need +logs to multiply." +% +The arms business is founded on human folly, that is why its depths will +never be plumbed and why it will go on forever. All weapons are defensive +and all spare parts are non-lethal. The plainest print cannot be read +through a solid gold sovereign, or a ruble or a golden eagle. + -- Sam Cummings, American arms dealer +% +The Army has carried the American ... ideal to its logical conclusion. +Not only do they prohibit discrimination on the grounds of race, creed +and color, but also on ability. + -- T. Lehrer +% +The Army needs leaders the way a foot needs a big toe. + -- Bill Murray +% +The assertion that "all men are created equal" was of no practical use in +effecting our separation from Great Britain and it was placed in the +Declaration not for that, but for future use. + -- Abraham Lincoln +% +The astronomer Francesco Sizi, a contemporary of Galileo, argues that +Jupiter can have no satellites: + + There are seven windows in the head, two nostrils, two ears, two +eyes, and a mouth; so in the heavens there are two favorable stars, two +unpropitious, two luminaries, and Mercury alone undecided and indifferent. +From which and many other similar phenomena of nature such as the seven +metals, etc., which it were tedious to enumerate, we gather that the number +of planets is necessarily seven. [...] + Moreover, the satellites are invisible to the naked eye and +therefore can have no influence on the earth and therefore would be useless +and therefore do not exist. +% +The attacker must vanquish; the defender need only survive. +% +The average girl would rather have beauty than brains because she +knows that the average man can see much better than he can think. + -- Ladies' Home Journal +% +The average, healthy, well-adjusted adult gets up at seven-thirty in +the morning feeling just terrible. + -- Jean Kerr +% +The average income of the modern teenager is about 2AM. +% +The average individual's position in any hierarchy is a lot like pulling +a dogsled -- there's no real change of scenery except for the lead dog. +% +The average nutritional value of promises is roughly zero. +% +The average Ph.D thesis is nothing but the transference of bones from +one graveyard to another. + -- J. Frank Dobie, "A Texan in England" +% +The average woman must inevitably view her actual husband with a certain +disdain; he is anything but her ideal. In consequence, she cannot help +feeling that her children are cruelly handicapped by the fact that he is +their father. + -- Mencken +% +The avocation of assessing the failures of better men can be turned +into a comfortable livelihood, providing you back it up with a Ph.D. + -- Nelson Algren, "Writers at Work" +% +The avoidance of taxes is the only intellectual pursuit that +carries any reward. + -- John Maynard Keynes +% +The bank called to tell me that I'm overdrawn, +Some freaks are burning crosses out on my front lawn, +And I *can't*believe* it, all the Cheetos are gone, + It's just ONE OF THOSE DAYS! + -- Weird Al Yankovic, "One of Those Days" +% +The bank sent our statement this morning, +The red ink was a sight of great awe! +Their figures and mine might have balanced, +But my wife was too quick on the draw. +% +The basic idea behind malls is that they are more convenient than cities. +Cities contain streets, which are dangerous and crowded and difficult to +park in. Malls, on the other hand, have parking lots, which are also +dangerous and crowded and difficult to park in, but -- here is the big +difference -- in mall parking lots, THERE ARE NO RULES. You're allowed to +do anything. You can drive as fast as you want in any direction you want. +I was once driving in a mall parking lot when my car was struck by a pickup +truck being driven backward by a squat man with a tattoo that said "Charlie" +on his forearm, who got out and explained to me, in great detail, why the +accident was my fault, his reasoning being that he was violent and muscular, +whereas I was neither. This kind of reasoning is legally valid in mall +parking lots. + -- Dave Barry +% +The bay-trees in our country are all wither'd +And meteors fright the fixed stars of heaven; +The pale-faced moon looks bloody on the earth +And lean-look'd prophets whisper fearful change. +These signs forerun the death or fall of kings. + -- Wm. Shakespeare, "Richard II" +% +THE BEATLES: + Paul McCartney's old back-up band. +% +The beauty of a pun is in the "Oy!" of the beholder. +% +The beer-cooled computer does not harm the ozone layer. + -- John M. Ford, a.k.a. Dr. Mike + + [If I can read my notes from the Ask Dr. Mike session at Baycon, I + believe he added that the beer-cooled computer uses "Forget Only + Memory". Ed.] +% +The best audience is intelligent, well-educated and a little drunk. + -- Maurice Baring +% +The best book on programming for the layman is "Alice in Wonderland"; +but that's because it's the best book on anything for the layman. +% +The best case: Get salary from America, build a house in England, + live with a Japanese wife, and eat Chinese food. +Pretty good case: Get salary from England, build a house in America, + live with a Chinese wife, and eat Japanese food. +The worst case: Get salary from China, build a house in Japan, + live with a British wife, and eat American food. + + --Bungei Shunju, a popular Japanese magazine +% +The best cure for insomnia is to get a lot of sleep. + -- W.C. Fields +% +The best defense against logic is ignorance. +% +The best definition of a gentleman is a man who can play the accordion -- +but doesn't. + -- Tom Crichton +% +The best diplomat I know is a fully activated phaser bank. + -- Scotty +% +The best equipment for your work is, of course, the most expensive. +However, your neighbor is always wasting money that should be yours +by judging things by their price. +% +The best executive is one who has sense enough to pick good people to do +what he wants done, and self-restraint enough to keep from meddling with +them while they do it. + -- Theodore Roosevelt +% +The best laid plans of mice and men are held up in the legal department. +% +The best laid plans of mice and men are usually about equal. + -- Blair +% +The best man for the job is often a woman. +% +The best number for a dinner party is two -- myself and a damn good +head waiter. + -- Nubar Gulbenkian +% +The best portion of a good man's life, his little, +nameless, unremembered acts of kindness and love. + -- Wordsworth +% +The best prophet of the future is the past. +% +The best rebuttal to this kind of statistical argument came from the +redoubtable John W. Campbell: + + The laws of population growth tell us that approximately half the + people who were ever born in the history of the world are now + dead. There is therefore a 0.5 probability that this message is + being read by a corpse. +% +The best that we can do is to be kindly and helpful toward our friends and +fellow passengers who are clinging to the same speck of dirt while we are +drifting side by side to our common doom. + -- Clarence Darrow +% +The best thing about being bald is, that, when unexpected +company arrives, all you have to do is straighten your tie. +% +The best thing about growing older is that it takes such a long time. +% +The best thing that comes out of Iowa is I-80. +% +The best things in life are for a fee. +% +The best things in life go on sale sooner or later. +% +The best way to accelerate a Macintoy is at 9.8 meters per second, squared. +% +The best way to avoid responsibility is to say, "I've got responsibilities." +% +The best way to get rid of worries is to let them die of neglect. +% +The best way to keep your friends is not to give them away. +% +The best way to preserve a right is to exercise it, and the right to +smoke is a right worth dying for. +% +The best ways are the most straightforward ways. When you're sitting around +scamming these things out, all kinds of James Bondian ideas come forth, but +when it gets down to the reality of it, the simplest and most straightforward +way is usually the best, and the way that attracts the least attention. +Also, pouring gasoline on the water and lighting it like James Bond doesn't +work either.... They tried it during Prohibition. + -- Thomas King Forcade, marijuana smuggler +% +The best you get is an even break. + -- Franklin Adams +% +The better part of valor is discretion. + -- William Shakespeare, "Henry IV" +% +The better the state is established, the fainter is humanity. +To make the individual uncomfortable, that is my task. + -- Nietzsche +% +The Bible contains six admonishments to homosexuals and 362 admonishments +to heterosexuals. That doesn't mean that God doesn't love heterosexuals. +It's just that they need more supervision. +% +The Bible is not my Book and Christianity is not my religion. I could +never give assent to the long complicated statements of Christian dogma. + -- Abraham Lincoln +% +The Bible on letters of reference: + + Are we beginning all over again to produce our credentials? Do +we, like some people, need letters of introduction to you, or from you? +No, you are all the letter we need, a letter written on your heart; any +man can see it for what it is and read it for himself. + -- 2 Corinthians 3:1-2, New English translation +% +The big cities of America are becoming Third World countries. + -- Nora Ephron +% +The big mistake that men make is that when they turn thirteen or fourteen +and all of a sudden they've reached puberty, they believe that they like +women. Actually, you're just horny. It doesn't mean you like women any +more at twenty-one than you did at ten. + -- Jules Feiffer +% +The big question is why in the course of evolution the males permitted +themselves to be so totally eclipsed by the females. Why do they tolerate +this total subservience, this wretched existence as outcasts who are +hungry all the time? +% +The bigger they are, the harder they hit. +% +The biggest difference between time and space is that you can't reuse time. + -- Merrick Furst +% +The biggest mistake you can make is to believe that you are +working for someone else. +% +The biggest problem with communication is the illusion that it has +occurred. +% +The Bird of Time has but a little way to fly ... +and the bird is on the wing. + -- Omar Khayyam +% +The black bear used to be one of the most commonly seen large animals +because in Yosemite and Sequoia national parks they lived off of garbage +and tourist handouts. This bear has learned to open car doors in +Yosemite, where damage to automobiles caused by bears runs into the tens +of thousands of dollars a year. Campaigns to bearproof all garbage +containers in wild areas have been difficult, because as one biologist +put it, "There is a considerable overlap between the intelligence levels +of the smartest bears and the dumbest tourists." +% +The bland leadeth the bland and they both shall fall into the kitsch. +% +The bomb will never go off. I speak as an expert in explosives. + -- Admiral William Leahy, U.S. Atomic Bomb Project +% +The bone-chilling scream split the warm summer night in two, the first +half being before the scream when it was fairly balmy and calm and +pleasant, the second half still balmy and quite pleasant for those who +hadn't heard the scream at all, but not calm or balmy or even very nice +for those who did hear the scream, discounting the little period of time +during the actual scream itself when your ears might have been hearing it +but your brain wasn't reacting yet to let you know. + -- Winning sentence, 1986 Bulwer-Lytton bad fiction contest. +% +The boy stood on the burning deck, +Eating peanuts by the peck. +His father called him, but he could not go, +For he loved those peanuts so. +% +The brain is a wonderful organ; it starts working the moment +you get up in the morning, and does not stop until you get to work. +% +The Briggs - Chase Law of Program Development: + To determine how long it will take to write and debug a + program, take your best estimate, multiply that by two, add + one, and convert to the next higher units. +% +The British are coming! The British are coming! +% +The broad mass of a nation... will more easily +fall victim to a big lie than to a small one. + -- Adolf Hitler, "Mein Kampf" +% +The brotherhood of man is not a mere poet's dream; it is a most depressing +and humiliating reality. + -- Oscar Wilde +% +The Buddha, the Godhead, resides quite as comfortably in the circuits of a +digital computer or the gears of a cycle transmission as he does at the top +of a mountain or in the petals of a flower. To think otherwise is to demean +the Buddha -- which is to demean oneself. + -- Robert Pirsig, "Zen and the Art of Motorcycle Maintenance" +% +The bugs you have to avoid are the ones that give the user not only +the inclination to get on a plane, but also the time. + -- Kay Bostic +% +The Bulwer-Lytton fiction contest is held ever year at San Jose State +Univ. by Professor Scott Rice. It is held in memory of Edward George +Earle Bulwer-Lytton (1803-1873), a rather prolific and popular (in his +time) novelist. He is best known today for having written "The Last +Days of Pompeii." + +Whenever Snoopy starts typing his novel from the top of his doghouse, +beginning "It was a dark and stormy night..." he is borrowing from Lord +Bulwer-Lytton. This was the line that opened his novel, "Paul Clifford," +written in 1830. The full line reveals why it is so bad: + + It was a dark and stormy night; the rain fell in torrents -- except + at occasional intervals, when it was checked by a violent gust of + wind which swept up the streets (for it is in London that our scene + lies), rattling along the housetops, and fiercely agitating the scanty + flame of the lamps that struggled against the darkness. +% +The cable TV sex channels don't expand our horizons, don't make us better +people, and don't come in clearly enough. + -- Bill Maher +% +The camel died quite suddenly on the second day, and Selena fretted +sullenly and, buffing her already impeccable nails -- not for the first +time since the journey begain -- pondered snidely if this would dissolve +into a vignette of minor inconveniences like all the other holidays spent +with Basil. + -- Winning sentence, 1983 Bulwer-Lytton bad fiction contest. +% +The carbonyl is polarized, +The delta end is plus. +The nucleophile will thus attack, +The carbon nucleus. +Addition makes an alcohol, +Of types there are but three. +It makes a bond, to correspond, +From C to shining C. + -- Prof. Frank Westheimer, to "America the Beautiful" +% +The cart has no place where a fifth wheel could be used. + -- Herbert von Fritzlar +% +The Celts invented two things, Whiskey and self-distruction. +% +The chains of marriage are so heavy that it takes two to carry them, and +sometimes three. + -- Alexandre Dumas +% +The chicken that clucks the loudest is the one most likely to show up +at the steam fitters picnic. +% +The chief cause of problems is solutions. + -- Eric Sevareid +% +The chief enemy of creativity is "good" sense + -- Picasso +% +The church is near but the road is icy, +the bar is far away but I will walk carefully. + -- Russian Proverb +% +The church saves sinners, but science seeks to stop their manufacture. + -- Elbert Hubbard +% +The City of Palo Alto, in its official description of parking lot standards, +specifies the grade of wheelchair access ramps in terms of centimeters of +rise per foot of run. A compromise, I imagine... +% +The clash of ideas is the sound of freedom. +% +The clearest way into the Universe is through a forest wilderness. + -- John Muir +% +The clergy successfully preached the doctrines of patience and pusillanimity; +the active virtues of society were discouraged; and the last remains of a +military spirit were buried in the cloister: a large portion of public and +private wealth was consecrated to the specious demands of charity and devotion; +and the soldiers' pay was lavished on the useless multitudes of both sexes +who could only plead the merits of abstinence and chastity. + -- Edward Gibbons, "The Decline and Fall of the Roman Empire" +% +The climate of Bombay is such that its inhabitants have to live elsewhere. +% +The closest to perfection a person ever comes is when they fill out a +job application. +% +The closest to perfection a person ever comes +is when he fills out a job application form. + -- Stanley J. Randall +% +The clothes have no emperor. + -- C.A.R. Hoare, commenting on ADA. +% +The coast was clear. + -- Lope de Vega +% +The college graduate is presented with a sheepskin to cover his +intellectual nakedness. + -- Robert M. Hutchins +% +The Commandments of the EE: + +1: Beware of lightning that lurketh in an uncharged condenser + lest it cause thee to bounce upon thy buttocks in a most + embarrassing manner. +2: Cause thou the switch that supplieth large quantities of juice to + be opened and thusly tagged, that thy days may be long in this + earthly vale of tears. +3: Prove to thyself that all circuits that radiateth, and upon + which the worketh, are grounded and thusly tagged lest they lift + thee to a radio frequency potential and causeth thee to make like + a radiator too. +4: Tarry thou not amongst these fools that engage in intentional + shocks for they are not long for this world and are surely + unbelievers. +% +The Commandments of the EE: + +5: Take care that thou useth the proper method when thou takest the + measures of high-voltage circuits too, that thou dost not incinerate + both thee and thy test meter, for verily, though thou has no company + property number and can be easily surveyed, the test meter has + one and, as a consequence, bringeth much woe unto a purchasing agent. +6: Take care that thou tamperest not with interlocks and safety devices, + for this incurreth the wrath of the chief electrician and bring + the fury of the engineers on his head. +7: Work thou not on energized equipment for if thou doest so, thy + friends will surely be buying beers for thy widow and consoling + her in certain ways not generally acceptable to thee. +8: Verily, verily I say unto thee, never service equipment alone, + for electrical cooking is a slow process and thou might sizzle in + thy own fat upon a hot circuit for hours on end before thy maker + sees fit to end thy misery and drag thee into his fold. +% +The Commandments of the EE: + +9: Trifle thee not with radioactive tubes and substances lest thou + commence to glow in the dark like a lightning bug, and thy wife be + frustrated and have not further use for thee except for thy wages. +10: Commit thou to memory all the words of the prophets which are + written down in thy Bible which is the National Electrical Code, + and giveth out with the straight dope and consoleth thee when + thou hast suffered a ream job by the chief electrician. +11: When thou muckest about with a device in an unthinking and/or + unknowing manner, thou shalt keep one hand in thy pocket. Better + that thou shouldest keep both hands in thy pockets than + experimentally determine the electrical potential of an + innocent-seeming device. +% +The common cormorant, or shag, lays eggs inside a paper bag. +% +The computer industry is journalists in their 20's standing in awe of +entrepreneurs in their 30's who are hiring salesmen in their 40's and +50's and paying them in the 60's and 70's to bring their marketing into +the 80's. + -- Marty Winston +% +The computer is to the information industry roughly what the +central power station is to the electrical industry. + -- Peter Drucker +% +The computing field is always in need of new cliches. + -- Alan Perlis +% +The concept seems to be clear by now. It has been +defined several times by examples of what it is not. +% +The connection between the language in which we think/program and the problems +and solutions we can imagine is very close. For this reason restricting +language features with the intent of eliminating programmer errors is at best +dangerous. + -- Bjarne Stroustrup +% +The Constitution may not be perfect, but it's a lot better +than what we've got! +% +The control of the production of wealth +is the control of human life itself. + -- Hilaire Belloc +% +The correct way to punctuate a sentence that starts: "Of course it is +none of my business, but --" is to place a period after the word "but." +Don't use excessive force in supplying such a moron with a period. +Cutting his throat is only a momentary pleasure and is bound to get +you talked about. + -- Lazarus Long +% +The cost of feathers has risen, even down is up! +% +The cost of living has just gone up another dollar a quart. + -- W.C. Fields +% +The cost of living hasn't affected its popularity. +% +The cost of living is going up, and the chance of living is going down. +% +The countdown had stalled at 'T' minus 69 seconds when Desiree, the first +female ape to go up in space, winked at me slyly and pouted her thick, +rubbery lips unmistakably -- the first of many such advances during what +would prove to be the longest, and most memorable, space voyage of my +career. + -- Winning sentence, 1985 Bulwer-Lytton bad fiction contest. +% +The course of true anything never does run smooth. + -- Samuel Butler +% +The courtroom was pregnant (pun intended) with anxious silence as the +judge solemnly considered his verdict in the paternity suit before him. +Suddenly, he reached into the folds of his robes, drew out a cigar and +cermoniously handed it to the defendant. + "Congratulations!" declaimed the jurist. "You have just become a +father!" +% +The covers of this book are too far apart. + -- Book review by Ambrose Bierce. +% +The cow is nothing but a machine which makes grass fit for us people to eat. + -- John McNulty +% +The Crown is full of it! + -- Nate Harris, 1775 +% +The cry has been that when war is declared, all opposition should therefore +be hushed. A sentiment more unworthy of a free country could hardly be +propagated. If the doctrine be admitted, rulers have only to declare war +and they are screened at once from scrutiny. ... In war, then, as in peace, +assert the freedom of speech and of the press. Cling to this as the bulwark +of all our rights and privileges. + -- William Ellery Channing + +% +The curse of the Irish is not that they don't know the +words to a song -- it's that they know them *all*. + -- Susan Dooley +% +The "cutting edge" is getting rather dull. + -- Andy Purshottam +% +The Czechs announced after Sputnik that they, too, would launch +a satellite. Of course, it would orbit Sputnik, not Earth! +% +The danger is not that a particular class is unfit to govern. +Every class is unfit to govern. + -- Lord Acton +% +The dangerous Lego Bomb, which targets shag rugs and scatters pieces of +plastic that hurt like hell when you step on them is banned entirely.... +Hiring David Copperfield to pretend to saw the missiles in half will not +be permitted... In order to reduce risk of accidental war, both sides +agree to ban the popular but dangerous 'Simon Says' training drill at +nuclear launch sites... Under no circumstances will either side reveal +that it hammered out the treaty in one afternoon, but spent the last nine +years arguing the Monty Hall and the three doors problem. + -- Little known provisions of the START treaty by James Lileks +% +The day advanced as if to light some work of mine; it was morning, +and lo! now it is evening, and nothing memorable is accomplished. + -- H.D. Thoreau +% +The day will come when the mystical generation of Jesus, by the Supreme Being +as his Father, in the womb of a virgin will be classified with the fable of +the generation of Minerva in the brain of Jupiter. But we may hope that the +dawn of reason and freedom of thought in these United States will do away with +this artificial scaffolding and restore to us the primitive and genuine +doctrines of this most venerated Reformer of human errors. + -- Thomas Jefferson +% +The days are all empty and the nights are unreal. +% +The days just prior to marriage are like a snappy introduction +to a tedious book. +% +The day-to-day travails of the IBM programmer are so amusing to most of us +who are fortunate enough never to have been one -- like watching Charlie +Chaplin trying to cook a shoe. +% +The debate rages on: Is PL/I Bachtrian or Dromedary? +% +The decision doesn't have to be logical; it was unanimous. +% +The default Magic Word, "Abracadabra", actually is a corruption of the +Hebrew phrase "ha-Bracha dab'ra" which means "pronounce the blessing". +% +The degree of civilization in a society +can be judged by entering its prisons. + -- F. Dostoyevski +% +The degree of technical confidence is inversely +proportional to the level of management. +% +The denunciation of the young is a necessary part of the hygiene of older +people, and greatly assists in the circulation of the blood. + -- Logan Pearsall Smith +% +The departing division general manager met a last time with his young +successor and gave him three envelopes. "My predecessor did this for me, +and I'll pass the tradition along to you," he said. "At the first sign +of trouble, open the first envelope. Any further difficulties, open the +second envelope. Then, if problems continue, open the third envelope. +Good luck." The new manager returned to his office and tossed the envelopes +into a drawer. + Six months later, costs soared and earnings plummeted. Shaken, the +young man opened the first envelope, which said, "Blame it all on me." + The next day, he held a press conference and did just that. The +crisis passed. + Six months later, sales dropped precipitously. The beleagured +manager opened the second envelope. It said, "Reorganize." + He held another press conference, announcing that the division +would be restructured. The crisis passed. + A year later, everything went wrong at once and the manager was +blamed for all of it. The harried executive closed his office door, sank +into his chair, and opened the third envelope. + "Prepare three envelopes..." it said. +% +The descent to Hades is the same from every place. + -- Anaxagoras +% +The devil can cite Scripture for his purpose. + -- William Shakespeare, "The Merchant of Venice" +% +The devil finds work for idle circuits to do. +% +The devil finds work for idle glands. +% +The die is cast. + -- Gaius Julius Caesar +% +The difference between a career and a job is about 20 hours a week. +% +The difference between a good haircut and a bad one is seven days. +% +The difference between a Miracle and a Fact is +exactly the difference between a mermaid and a seal. + -- Mark Twain +% +The difference between a misfortune and a calamity? If Gladstone fell into +the Thames, it would be a misfortune. But if someone dragged him out again, +it would be a calamity. + -- Benjamin Disraeli +% +The difference between America and England is, the English think 100 +miles is a long distance and the Americans think 100 years is a long time. +% +The difference between art and science is that science is what we +understand well enough to explain to a computer. Art is everything else. + -- Donald Knuth, "Discover" +% +The difference between common-sense and paranoia is that common-sense is +thinking everyone is out to get you. That's normal -- they are. Paranoia +is thinking that they're conspiring. + -- J. Kegler +% +The difference between dogs and cats is that dogs come when they're +called. Cats take a message and get back to you. +% +The difference between genius and stupidity is that genius has its limits. +% +The difference between legal separation and divorce is +that legal separation gives the man time to hide his money. +% +The difference between reality and unreality +is that reality has so little to recommend it. + -- Allan Sherman +% +The difference between science and the fuzzy subjects is that science +requires reasoning while those other subjects merely require scholarship. + -- Robert Heinlein +% +The difference between sentiment and being sentimental is the following: +Sentiment is when a driver swerves out of the way to avoid hitting a +rabbit on the road. Being sentimental is when the same driver, when +swerving away from the rabbit hits a pedestrian. + -- Frank Herbert, "The White Plague" +% +The difference between sentiment and sentimentality is easy to see. When +you avoid killing somebody's pet on the glazeway, that's sentiment. If you +swerve to avoid the pet and that causes you to kill pedestrians, THAT is +sentimentality. + -- Frank Herbert, "Chapterhouse: Dune" +% +The difference between the right word and the almost right word +is the difference between lightning and the lightning bug. + -- Mark Twain +% +The difference between this place and yogurt +is that yogurt has a live culture. +% +The difference between us is not very far, +cruising for burgers in daddy's new car. +% +The difference between waltzes and disco is mostly one of volume. + -- T.K. +% +The difficult we do today; the impossible takes a little longer. +% +The dirty work at political conventions is almost always done in +the grim hours between midnight and dawn. Hangmen and politicians +work best when the human spirit is at its lowest ebb. + -- Russell Baker +% +The discerning person is always at a disadvantage. +% +The disks are getting full; purge a file today. +% +The distinction between Freedom and Liberty is not accurately known; +naturalists have been unable to find a living specimen of either. + -- Ambrose Bierce +% +The distinction between true and false appears to become +increasingly blurred by... the pollution of the language. + -- Arne Tiselius +% +The divinity of Jesus is made a convenient cover for absurdity. Nowhere in +the Gospels do we find a precept for Creeds, Confessions, Oaths, Doctrines, +and whole carloads of other foolish trumpery that we find in Christianity. + -- John Adams +% +The door is the key. +% +The duck hunter trained his retriever to walk on water. Eager to show off +this amazing accomplishment, he asked a friend to go along on his next +hunting trip. Saying nothing, he fired his first shot and, as the duck fell, +the dog walked on the surface of the water, retrieved the duck and returned +it to his master. + "Notice anything?" the owner asked eagerly. + "Yes," said his friend, "I see that fool dog of yours can't swim." +% +The duration of passion is proportionate with the original resistance +of the woman. + -- Honore de Balzac +% +The eagle may soar, but the weasel never gets sucked into a jet engine. +% +The early bird gets the coffee left over from the night before. +% +The early bird who catches the worm works for someone who comes in late +and owns the worm farm. + -- Travis McGee +% +The early worm gets the bird. +% +The early worm gets the late bird. +% +The earth is like a tiny grain of sand, only much, much heavier. +% +"The easy confidence with which I know another man's religion is folly +teaches me to suspect that my own is also." + +"I would not interfere with any one's religion, either to strengthen it +or to weaken it. I am not able to believe one's religion can affect his +hereafter one way or the other, no matter what that religion may be. +But it may easily be a great comfort to him in this life -- hence it is a +valuable posession to him." + +"I do not see how eternal punishment hereafter could accomplish any good +end, therefore I am not able to believe in it. To chasten a man in order +to perfect him might be reasonable enough; to annihilate him when he shall +have proved himself incapable of reaching perfection mught be reasonable +enough; but to roast him forever for the mere satisfaction of seeing him +roast would not be reasonable -- even the atrocious God imagined by the Jews +would tire of the spectacle eventually." + -- Mark Twain +% +The egg cream is psychologically the opposite of circumcision -- it +*pleasurably* reaffirms your Jewishness. + -- Mel Brooks +% +The elder gods went to Yuggoth, and all you got was this lousy fortune. +% +The Encyclopaedia Galactica defines a robot as a mechanical apparatus designed +to do the work of a man. The marketing division of Sirius Cybernetics +Corporation defines a robot as 'Your Plastic Pal Who's Fun To Be With'. +The Hitch Hiker's Guide to the Galaxy defines the marketing division of the +Sirius Cybernetics Corporation as 'a bunch of mindless jerks who'll be the +first against the wall when the revolution comes', with a footnote to effect +that the editors would welcome applications from anyone interested in taking +over the post of robotics correspondent. + Curiously enough, an edition of the Encyclopaedia Galactica that +had the good fortune to fall through a time warp from a thousand years in +the future defined the marketing division of the Sirius Cybernetics +Corporation as 'a bunch of mindless jerks who were the first against the +wall when the revolution came'. +% +The end move in politics is always to pick up a gun. + -- Buckminster Fuller +% +The end of labor is to gain leisure. +% +The end of the world will occur at three p.m., this Friday, +with symposium to follow. +% +The ends justify the means. + -- after Matthew Prior +% +The energy produced by the breaking down of the atom is a very poor kind +of thing. Anyone who expects a source of power from the transformation +of these atoms is talking moonshine. + -- Ernest Rutherford, after he had split the atom for + the first time +% +The English country gentleman galloping after a fox -- the unspeakable +in full pursuit of the uneatable. + -- Oscar Wilde, "A Woman of No Importance" +% +The English have no respect for their language, +and will not teach their children to speak it. + -- G.B. Shaw +% +The English instinctively admire any man +who has no talent and is modest about it. + -- James Agate, British film and drama critic +% +The entire work force of the Communist countries is sunjected to periodic +purges (called verifications in Newspeak). One of the most severe took +place in 1957 when Novotny, rattled by the Hungarian Revolution the year +before, tried hard to weed out "radishes" (red outside, white inside) from +all but insignificant positions. Any one of the following would often +result in the loss of one's job: Bourgeois or Jewish family background, +relatives abroad, contacts with former capitalists, having lived in a +Western country, insufficient knowledge of Communist literature, and others. + + A man is interviewed by a "Verification Committee." + "What kind of family do you come from?" + "A rich, Jewish family." + "And your wife?" + "A German aristocrat." + "Have you ever been to the West?" + "I spent most of my life in England." + "How did you make a living there?" + "A friend supported me." + "Where did you get the money from?" + "He owned a textile factory." + "Who was Lenin?" + "Never heard of him." + "What is your name?" + "Karl Marx." +% +[The ERA] encourages women to leave their husbands, kill their children, +practice witchcraft, destroy capitalism and become lesbians. + -- Pat Robertson, Man of God and serious Republican + presidential aspirant. +% +The error of youth is to believe that intelligence is a substitute +for experience, while the error of age is to believe experience is +a substitute for intelligence. + -- Lyman Bryson +% +The eternal feminine draws us upward. + -- Goethe +% +The executioner is, I hear, very expert, and my neck is very slender. + -- Anne Boleyn +% +The explanation requiring the fewest assumptions +is the most likely to be correct. + -- William of Occam +% +The eye is a menace to clear sight, the ear is a menace to subtle hearing, +the mind is a menace to wisdom, every organ of the senses is a menace to its +own capacity. ... Fuss, the god of the Southern Ocean, and Fret, the god +of the Northern Ocean, happened once to meet in the realm of Chaos, the god +of the center. Chaos treated them very handsomely and they discussed together +what they could do to repay his kindness. They had noticed that, whereas +everyone else had seven apertures, for sight, hearing, eating, breathing and +so on, Chaos had none. So they decided to make the experiment of boring holes +in him. Every day they bored a hole, and on the seventh day, Chaos died. + -- Chuang Tzu +% +The eyes of taxes are upon you. +% +The eyes of Texas are upon you, +All the livelong day; +The eyes of Texas are upon you, +You cannot get away; +Do not think you can escape them +From night 'til early in the morn; +The eyes of Texas are upon you +'Til Gabriel blows his horn. + -- University of Texas' school song +% +The fact that an opinion has been widely held is no evidence that it is not +utterly absurd; indeed, in view of the silliness of the majority of mankind, +a widespread belief is more often likely to be foolish than sensible. + -- Bertrand Russell, in "Marriage and Morals", 1929 +% +The fact that Hitler was a political genius unmasks the nature of politics +in general as no other can. + -- Wilhelm Reich +% +The fact that it works is immaterial. + -- L. Ogborn +% +The fact that people are poor or discriminated against doesn't necessarily +endow them with any special qualities of justice, nobility, charity or +compassion. + -- Saul Alinsky +% +The famous politician was trying to save both his faces. +% +The farther you go, the less you know. + -- Lao Tsu, "Tao Te Ching" +% +The fashion wears out more apparel than the man. + -- William Shakespeare, "Much Ado About Nothing" +% +The fashionable drawing rooms of London have always been happy to accept +outsiders -- if only on their own, albeit undemanding terms. That is to +say, artists, so long as they are not too talented, men of humble birth, +so long as they have since amassed several million pounds, and socialists +so long as they are Tories. + -- Christopher Booker +% +The faster I go, the behinder I get. + -- Lewis Carroll +% +The Fastest Defeat In Chess + The big name for us in the world of chess is Gibaud, a French chess +master. + In Paris during 1924 he was beaten after only four moves by a +Monsieur Lazard. Happily for posterity, the moves are recorded and so +chess enthusiasts may reconstruct this magnificent collapse in the comfort +of their own homes. + Lazard was black and Gibaud white: + 1: P-Q4, Kt-KB3 + 2: Kt-Q2, P-K4 + 3: PxP, Kt-Kt5 + 4: P-K6, Kt-K6/ + White then resigns on realizing that a fifth move would involve +either a Q-KR5 check or the loss of his queen. + -- Stephen Pile, "The Book of Heroic Failures" +% +The father, passing through his son's college town late one evening on a +business trip, thought he would pay his boy a surprise visit. Arriving at the +lad's fraternity house, dad rapped loudly on the door. After several minutes +of knocking, a sleepy voice drifted down from a second-floor window, + "Whaddaya want?" + "Does Ramsey Duncan live here?" asked the father. + "Yeah," replied the voice. "Dump him on the front porch." +% +The feeling persists that no one can simultaneously be a respectable writer +and understand how a refrigerator works, just as no gentleman wears a brown +suit in the city. Colleges may be to blame. English majors are encouraged, +I know, to hate chemistry and physics, and to be proud because they are not +dull and creepy and humorless and war-oriented like the engineers across the +quad. And our most impressive critics have commonly been such English majors, +and they are squeamish about technology to this very day. So it is natural +for them to despise science fiction. + -- Kurt Vonnegut Jr., "Science Fiction" +% +The fellow sat down at a bar, ordered a drink and asked the bartender if he +wanted to hear a dumb-jock joke. + "Hey, buddy," the bartender replied, "you see those two guys next to +you? They used to be with the Chicago Bears. The two dudes behind you made +the U.S. Olympic wrestling team. And for you information, I used to play +center at Notre Dame." + "Forget it," the customer said. "I don't want to explain it five +times." +% +"The feminist agenda," Pat Robertson observed in a recent letter to his +supporters, "is not about equal rights for women. It is about a socialist, +anti-family political movement that encourages women to leave their +husbands, kill their children, practice witchcraft, destroy capitalism +and become lesbians." +% +The Fifth Rule: + You have taken yourself too seriously. +% +The final delusion is the belief that one has lost all delusions. + -- Maurice Chapelain, "Main courante" +% +The finest eloquence is that which gets things done. +% +The first and almost the only Book deserving of universal attention is +the Bible. + -- John Quincy Adams + +All the good from the Saviour of the world is communicated through this Book; +but for the Book we could not know right from wrong. All the things desirable +to man are contained in it. + -- Abraham Lincoln + +... the Bible ... is the one supreme source of revelation of the meaning of +life, the nature of God and spirtual nature and need of men. It is the only +guide of life which really leads the spirit in the way of peace and salvation. + -- Woodrow Wilson +% +The first duty of a revolutionary is to get away with it. + -- Abbie Hoffman +% +The first Great Steward, Parrafin the Climber, was employed in King +Chloroplast's kitchen as second scullery boy when the old King met a tragic +death. He apparently fell backward by accident on a dozen salad forks. +Simultaneously the true heir, his son Carotene, mysteriously fled the city, +complaining of some sort of plot and a lot of threatening notes left on his +breakfast tray. At the time, this looked suspicious what with his father's +death, and Carotene was suspected of foul play. Then the rest of the King's +relatives began to drop dead one after the other in an odd fashion. Some +were found strangled with dishrags and some succumbed to food poisoning. A +few were found drowned in the soup vats, and one was attacked by assailants +unknown and beaten to death with a pot roast. At least three appear to have +thrown themselves backward on salad forks, perhaps in a noble gesture of +grief over the King's untimely end. Finally there was no one left in Minas +Troney who was either eligible or willing to wear the accursed crown, and +the rule of Twodor was up for grabs. The scullery slave Parrafin bravely +accepted the Stewardship of Twodor until that day when a lineal descendant +of Carotene's returns to reclaim his rightful throne, conquer Twodor's +enemies, and revamp the postal system. + -- Bored of the Rings, "Harvard Lampoon" +% +The first guy that rats gets a bellyful of slugs in the head. Understand? + -- Joey Glimco, trade unionist +% +The first guy that rats gets a belly-full of slugs in the head. +Understand? + -- Joey Glimco +% +The first half of our lives is ruined by our parents and the second half +by our children. + -- Clarence Darrow +% +The first marriage is the triumph of imagination over intelligence, +and the second the triumph of hope over experience. +% +The first myth of management is that it exists. +% +The first requisite for immortality is death. + -- Stanislaw Lem +% +The first riddle I ever heard, one familiar to almost every Jewish child, +was propounded to me by my father: + + "What is it that hangs on the wall, is green, wet -- and whistles?" +I knit my brow and thought and thought, and in final perplexity gave up. + "A herring," said my father. + "A herring," I echoed. "A herring doesn't hang on the wall!" + "So hang it there." + "But a herring isn't green!" I protested. + "Paint it." + "But a herring isn't wet." + "If it's just painted it's still wet." + "But -- " I sputtered, summoning all my outrage, + "a herring doesn't whistle!!" + "Right, " smiled my father. "I just put that in to make it hard." + -- Leo Rosten +% +The first Rotarian was the first man to call John the Baptist "Jack." + -- H.L. Mencken +% +The first rule of intelligent tinkering is to save all the parts. + -- Ehrlich +% +The first rule of intelligent tinkering is to save all the parts. + -- Paul Erlich +% +The First Rule of Program Optimization: + Don't do it. + +The Second Rule of Program Optimization (for experts only!): + Don't do it yet. + -- Michael Jackson +% +The first thing I do in the morning +is brush my teeth and sharpen my tongue. + -- Dorothy Parker +% +The first thing we do, let's kill all the lawyers. + -- Wm. Shakespeare, "Henry VI", Part IV +% +The first version always gets thrown away. +% +The five rules of Socialism: + + 1. Don't think. + 2. If you do think, don't speak. + 3. If you think and speak, don't write. + 4. If you think, speak and write, don't sign. + 5. If you think, speak, write and sign, don't be surprised. + + -- being told in Poland, 1987 +% +...the flaw that makes perfection perfect. +% +The flow chart is a most thoroughly oversold piece of program documentation. + -- Frederick Brooks, "The Mythical Man Month" +% +The flush toilet is the basis of Western civilization. + -- Alan Coult +% +The following statement is not true. +The previous statement is true. +% +The Following Subsume All Physical and Human Laws: + + 1. You can't push on a string. + 2. Ain't no free lunches. + 3. Them as has, gets. + 4. You can't win them all, but you sure as hell can lose them all. +% +The Force is what holds everything together. +It has its dark side, and it has its light side. +It's sort of like cosmic duct tape. +% +The [Ford Foundation] is a large body of money +completely surrounded by people who want some. + -- Dwight MacDonald +% +The forest is safe because a lion lives therein and the lion is safe +because it lives in a forest. Likewise the friendship of persons +rests on mutual help. + -- Laukikanyay. +% +The fortune program is supported, in part, by user contributions +and by a major grant from the National Endowment for the Inanities. +% +The founding fathers tried to set up a judicial system where the accused +received a fair trial, not a system to insure an acquittal on technicalities. +% +The founding fathers tried to set up a system where a man got a fair +trial, not a system to get let him get off on technicalities. +% +The fountain code has been tightened slightly so you can no longer dip +objects into a fountain or drink from one while you are floating in mid-air +due to levitation. + Teleporting to hell via a teleportation trap will no longer occur +if the character does not have fire resistance. + -- README file from the NetHack game +% +[The French Riviera is] a sunny place for shady people. + -- W. Somerset Maugham +% +The full impact of parenthood doesn't hit you until you multiply the +number of your kids by thirty-two teeth. +% +The full potentialities of human fury cannot be reached until a friend +of both parties tactfully interferes. + -- G.K. Chesterton +% +The function of the expert is not to be more right than other people, +but to be wrong for more sophisticated reasons. + -- Dr. David Butler, British psephologist +% +The future is a myth created by insurance +salesmen and high school counselors. +% +The future is a race between education and catastrophe. + -- H.G. Wells +% +The future isn't what it used to be. (It never was.) +% +The future lies ahead. +% +The future not being born, my friend, +we will abstain from baptizing it. + -- George Meredith +% +The garden is in mourning; +The rain falls cool among the flowers. +Summer shivers quietly +On its way towards its end. + +Golden leaf after leaf +Falls from the tall acacia. +Summer smiles, astonished, feeble, +In this dying dream of a garden. + +For a long while, yet, in the roses, +She will linger on, yearning for peace, +And slowly +Close her weary eyes. + -- Hermann Hesse, "September" +% +The generation of random numbers is too important to be left to chance. +% +The genius of our ruling class is that it has kept a majority of the +people from ever questioning the inequity of a system where most people +drudge along paying heavy taxes for which they get nothing in return. + -- Gore Vidal +% +The gent who wakes up and finds himself a success hasn't been asleep. +% +The gentlemen looked one another over with microscopic carelessness. +% +The girl who remembers her first kiss now has a daughter who can't even +remember her first husband. +% +The girl who stoops to conquer usually wears a low-cut dress. +% +The girl who swears no one has ever made love to her has a right to swear. + -- Sophia Loren +% +The glances over cocktails +That seemed to be so sweet +Don't seem quite so amorous +Over Shredded Wheat +% +The goal of Computer Science is to build something +that will at least last until we've finished building it. +% +The goal of science is to build better mousetraps. +The goal of nature is to build better mice. +% +The gods gave man fire and he invented fire engines. +They gave him love and he invented marriage. +% +The Golden Rule is of no use to you whatever unless you realize it +is your move. + -- Frank Crane +% +The Golden Rule of Arts and Sciences: + He who has the gold makes the rules. +% +The good die young -- because they see it's no use living if you've got +to be good. + -- John Barrymore +% +The good (I am convinced, for one) +Is but the bad one leaves undone. +Once your reputation's done +You can live a life of fun. + -- Wilhelm Busch +% +The good life was so elusive +It really got me down +I had to regain some confidence +So I got into camaflouge +% +The good time is approaching, +The season is at hand. +When the merry click of the two-base lick +Will be heard throughout the land. +The frost still lingers on the earth, and +Budless are the trees. +But the merry ring of the voice of spring +Is borne upon the breeze. + -- Ode to Opening Day, "The Sporting News", 1886 +% +The Gordian Maxim: +If a string has one end, it has another. +% +The government has just completed work on a missile that turned out +to be a bit of a boondoggle; nicknamed "Civil Servant", it won't work +and they can't fire it. +% +The Government just announced today the creation of the Neutron Bomb II. +Similar to the Neutron Bomb, the Neutron Bomb II not only kills people +and leaves buildings standing, but also does a little light housekeeping. +% +The government of the United States is not in any sense founded on the +Christian Religion + -- George Washington +% +The government was contemplating the dispatch of an expedition to Burma, +with a view to taking Rangoon, and a question arose as to who would be the +fittest general to be sent in command of the expedition. The Cabinet sent +for the Duke of Wellington, and asked his advice. He instantly replied, +"Send Lord Combermere." + "But we have always understood that your Grace thought Lord +Combermere a fool." + "So he is a fool, and a damned fool; but he can take Rangoon." + -- G.W.E. Russell +% +The goys have proven the following theorem... + -- Physicist John von Neumann, at the start of a classroom + lecture. +% +The grass is always greener on the other side of your sunglasses. +% +The grave's a fine and private place, +but none, I think, do there embrace. + -- Andrew Marvell +% +The graveyards are full of indispensable men. + -- Charles de Gaulle +% +The Great Bald Swamp Hedgehog: + The Gerat Bald Swamp Hedgehog of Billericay displays, in courtship, + his single prickle and does impressions of Holiday Inn desk clerks. + Since this means him standing motionless for enormous periods of + time he is often eaten in full display by The Great Bald Swamp + Hedgehog Eater. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The great merit of society is to make one appreciate solitude. + -- Charles Chincholles, "Reflections on the Art of Life" +% +The Great Movie Posters: + +*A Giggle Gurgling Gulp of Glee* +With Pretty Girls, Peppy Scenes, and Gorgeous Revues -- plus a good story. + -- Tea with a Kick (1924) + +Whoopie! Let's go!... Hand-picked Beauties doing cute tricks! +GET IN THE KNOW FOR THE HEY-HEY WHOOPIE! + -- The Wild Party (1929) + +YOU HEAR HIM MAKE LOVE! +DIX -- the dashing soldier! + DIX -- the bold adventurer! + DIX -- the throbbing lover! + -- The Wheel of Life (1929) + +SEE CHARLES BUTTERWORTH DRIVE A STREETCAR AND SING LOVE +SONGS TO HIS MARE "MITZIE"! + -- The Night is Young (1934) +% +The Great Movie Posters: + +A mis-spawned murderous abomination from the nether reaches of an +unimaginable hell. + -- The Killer of Castle Brood (1967) + +NEW -- SICKENING HORROR to make your STOMACH TURN and FLESH CRAWL! + -- Frankenstein's Bloody Terror (1968) + +LUST-MAD MEN AND LAWLESS WOMEN IN A VICIOUS AND SENTUOUS ORGY OF +SLAUGHTER! + -- Five Bloody Graves (1969) + +The family that slays together stays together. + -- Bloody Mama (1970) +% +The Great Movie Posters: + +An AVALANCHE of KILLER WORMS! + -- Squirm (1976) + +Most Movies Live Less Than Two Hours. +This Is One of Everlasting Torment! + -- The New House on the Left (1977) + +WE ARE GOING TO EAT YOU! + -- Zombie (1980) + +It's not human and it's got an axe. + -- The Prey (1981) +% +The Great Movie Posters: + +Different! Daring! Dynamic! Defying! Dumbfounding! +SEE Uncle Tom lead the Negroes to FREEDOM! +... Now, all the SENSUAL and VIOLENT passions Roots couldn't show on TV! + -- Uncle Tom's Cabin (1972) + +An appalling amalgam of carnage and carnality! + -- Flesh and Blood Show (1973) + +WHEN THE CATS ARE HUNGRY... +RUN FOR YOUR LIVES! +Alone, only a harmless pet... + One Thousand Strong, They Become a Man-Eating Machine! + -- The Night of a Thousand Cats (1972) + +They're Over-Exposed +But Not Under-Developed! + -- Cover Girl Models (1976) +% +The Great Movie Posters: + +HOODLUMS FROM ANOTHER WORLD ON A RAY-GUN RAMPAGE! + -- Teenagers from Outher Space (1959) + +Which will be Her Mate... MAN OR BEAST? +Meet Velda -- the Kind of Woman -- Man or Gorilla would kill... to Keep. + -- Untamed Mistress (1960) + +NOW AN ALL-MIGHTY ALL-NEW MOTION PICTURE BRINGS THEM TOGETHER FOR THE +FIRST TIME... HISTORY'S MOST GIGANTIC MONSTERS IN COMBAT ATOP MOUNT FUJI! + -- King Kong vs. Godzilla (1963) +% +The Great Movie Posters: + +HOT STEEL BETWEEN THEIR LEGS! + -- The Cycle Savages (1969) + +The Hand that Rocks the Cradle... Has no Flesh on It! + + -- Who Slew Auntie Roo? (1971) + +TWO GREAT BLOOD HORRORS TO RIP OUT YOUR GUTS! + -- I Eat Your Skin & I Drink Your Blood (1971 double-bill) + +They Went In People and Came Out Hamburger! + -- The Corpse Grinders (1971) +% +The Great Movie Posters: + +KATHERINE HEPBURN as the lying, stealing, singing, preying witch girl +of the Ozarks... "Low down white trash"? Maybe so -- but let her hear +you say it and she'll break your head to prove herself a lady! + -- Spitfire (1934) + +Do Native Women Live With Apes? + -- Love Life of a Gorilla (1937) + +JUNGLE KISS!! + When she looked into his eyes, felt his arms around her -- she +was no longer Tura, mysterious white goddess of the jungle tribes -- +she was no longer the frozen-harted high priestess under whose hypnotic +spell the worshippers of the great crocodile god meekly bowed -- she +was a girl in love! + SEE the ravening charge of the hundred scared CROCODILES! + -- Her Jungle Love (1938) + +LOVE! HATE! JOY! FEAR! TORMENT! PANIC! SHAME! RAGE! + -- Intermezzo (1939) +% +The Great Movie Posters: + +POWERFUL! SHOCKING! RAW! ROUGH! CHALLENGING! SEE A LITTLE GIRL MOLESTED! + -- Never Take Candy from a Stranger (1963) + +She Sins in Mobile -- +Marries in Houston -- +Loses Her Baby in Dallas -- +Leaves Her Husband in Tuscon -- +MEETS HARRU IN SAN DIEGO!... +FIRST -- HARLOW! +THEN -- MONROE! +NOW -- McCLANAHAN!!! + -- The Rotton Apple (1963), Rue McClanahan + +*NOT FOR SISSIES! DON'T COME IF YOU'RE CHICKEN! +A Horrifying Movie of Wierd Beauties and Shocking Monsters... +1001 WIERDEST SCENES EVER!! MOST SHOCKING THRILLER OF THE CENTURY! + -- Teenage Psycho meets Bloody Mary (1964) (Alternate Title: + The Incredibly Strange Creatures Who Stopped Living and + Became Mixed Up Zombies) +% +The Great Movie Posters: + +SCENES THAT WILL STAGGER YOUR SIGHT! +-- DANCING CALLED GO-GO +-- MUSIC CALLED JU-JU +-- NARCOTICS CALLED BANGI! +-- FIRES OF PUBERTY! + SEE the burning of a virgin! + SEE power of witch doctor over women! + SEE pygmies with fantastic Physical Endowments!!! + -- Kwaheri (1965) + +The Big Comedy of Nineteen-Sexty-Sex! + -- Boeing-Boeing (1965) + +AN ASTRONAUT WENT UP- +A "GUESS WHAT" CAME DOWN! + The picture that comes complete with a 10-foot tall monster to +give you the wim-wams! + -- Monster a Go-Go (1965) +% +The Great Movie Posters: + +SEE rebel guerrillas torn apart by trucks! +SEE corpses cut to pieces and fed to dogs and vultures! +SEE the monkey trained to perform nursing duties for her paralyzed owner! + -- Sweet and Savage (1983) + +What a Guy! What a Gal! What a Pair! + -- Stroker Ace (1983) + +It's always better when you come again! + -- Porky's II: The Next Day (1983) + +You Don't Have to Go to Texas for a Chainsaw Massacre! + -- Pieces (1983) +% +The Great Movie Posters: + +SHE TOOK ON A WHOLE GANG! A howling hellcat humping a hot steel hog +on a roaring rampage of revenge! + -- Bury Me an Angel (1972) + +WHAT'S THE SECRET INGREDIENT USED BY THE MAD BUTCHER FOR HIS SUPERB +SAUSAGES? + -- Meat is Meat (1972) + +TODAY the Pond! +TOMORROW the World! + -- Frogs (1972) +% +The Great Movie Posters: + +She's got the biggest six-shooters in the West! + -- The Beautiful Blonde from Bashful Bend (1949) + +CAST OF 3,000! +4 WRITERS, +2 DIRECTORS, +3 CAMERAMEN, +3 PRODUCERS! +1 YEAR TO MAKE THIS FILM -- +24 YEARS TO REHEARSE -- +20 YEARS TO DISTRIBUTE! + BEAUTIFUL BEYOND WORDS! + AWE-INSPIRING! VITAL! +THE PRINCE OF PEACE PROVIDES THE ANSWER TO EVERY PROBLEM! +Be Brave-bring your troubles and your family to: + HISTORY'S MOST SUBLIME EVENT! YOU'LL FIND GOD RIGHT IN THERE! + -- The Prince of Peace (1948). Starring members of the + Wichita Mountain Pageant featuring Millard Coody as Jesus. +% +The Great Movie Posters: + +The Miracle of the Age!!! A LION in your lap! A LOVER in your arms! + -- Bwana Devil (1952) + +OVERWHELMING! ELECTRIFYING! BAFFLING! +Fire Can't Burn Them! Bullets Can't Kill Them! See the Unfolding of +the Mysteries of the Moon as Murderous Robot Monsters Descend Upon the +Earth! You've Never Seen Anything Like It! Neither Has the World! + SEE... Robots from Space in All Their Glory!!! + -- Robot Monster (1953) + +1,965 pyramids, 5,337 dancing girls, one million swaying bullrushes, +802 scared bulls! + -- The Egyptian (1954) +% +The Great Movie Posters: + +The nightmare terror of the slithering eye that unleashed agonizing +horror on a screaming world! + -- The Crawling Eye (1958) + +SEE a female colossus... her mountainous torso, scyscraper limbs, +giant desires! + -- Attack of the Fifty-Foot Woman (1958) + +Here Is Your Chance To Know More About Sex. +What Should a Movie Do? Hide It's Head in the Sand Like an Ostrich? +Or Face the JOLTING TRUTH as does... + -- The Desperate Women (1958) +% +The Great Movie Posters: + +They hungered for her treasure! And died for her pleasure! +SEE Man-Fish Battle Shark-Man-Killer! + -- The Golden Mistress (1954) + +See Jane Russell in 3-D; She'll Knock Both Your Eyes Out! + -- The French Line (1954) + +See Jane Russell Shake Her Tamborines... and Drive Cornel WILDE! + -- Hot Blood (1956) +% +The Great Movie Posters: + +When You're Six Tons -- And They Call You Killer -- It's Hard To Make +Friends... + -- Namu, the Killer Whale (1966) + +Meet the Girls with the Thermo-Nuclear Navels! + -- Dr. Goldfoot and the Girl Bombs (1966) + +A GHASTLY TALE DRENCHED WITH GOUTS OF BLOOD SPURTING FROM THE VICTIMS +OF A CRAZED MADMAN'S LUST. + -- A Taste of Blood (1967) +% +The great nations have always acted like gangsters and the small nations +like prostitutes. + -- Stanley Kubrick +% +The great question that has never been answered and which I have not +yet been able to answer despite my thirty years of research into the +feminine soul is: WHAT DOES A WOMAN WANT? + -- Sigmund Freud +% +The great secret in life ... [is] not to open your letters for a fortnight. +At the expiration of that period you will find that nearly all of them have +answered themselves. + -- Arthur Binstead +% +The greatest disloyalty one can offer to great pioneers +is to refuse to move an inch from where they stood. +% +The greatest griefs are those we cause ourselves. + -- Sophocles +% +The greatest joy a man can know is to conquer his enemies and drive them +before him. To ride their horses and take away their possessions. To see +the faces of those who were dear to them bedewed with tears, and to clasp +their wives and daughters to his arms. + -- Genghis Khan +% +The greatest love is a mother's, then a dog's, then a sweetheart's. + -- Polish proverb +% +The Greatest Mathematical Error + The Mariner I space probe was launched from Cape Canaveral on 28 +July 1962 towards Venus. After 13 minutes' flight a booster engine would +give acceleration up to 25,820 mph; after 44 minutes 9,800 solar cells +would unfold; after 80 days a computer would calculate the final course +corrections and after 100 days the craft would cirlce the unknown planet, +scanning the mysterious cloud in which it is bathed. + However, with an efficiency that is truly heartening, Mariner I +plunged into the Atlantic Ocean only four minutes after takeoff. + Inquiries later revealed that a minus sign had been omitted from +the instructions fed into the computer. "It was human error", a launch +spokesman said. + This minus sign cost L4,280,000. + -- Stephen Pile, "The Book of Heroic Failures" +% +The greatest of faults is to be conscious of none. +% +The greatest productive force is human selfishness. + -- Robert Heinlein +% +The greatest remedy for anger is delay. +% +The groundhog is like most other prophets; +it delivers its message and then disappears. +% +The happiest time in any man's life is just after the first divorce. + -- Galbraith +% +The happiest time of a person's life is after his first divorce. + -- J.K. Galbraith +% +The hardest part of climbing the ladder of +success is getting through the crowd at the bottom. +% +The hardest thing in the world to understand is the income tax. + -- Albert Einstein +% +The hardest thing is to disguise your feelings when +you put a lot of relatives on the train for home. +% +The hater of property and of government takes care to have his warranty +deed recorded, and the book written against fame and learning has the +author's name on the title page. + -- Ralph Waldo Emerson, Journals, 1831 +% +The hatred of relatives is the most violent. + -- Tacitus (c.55 - c.117) +% +The health of a democratic society may be measured by the quality +of functions performed by private citizens. + -- Alexis de Tocqueville +% +The hearing ear is always found close to the speaking tongue, a custom +whereof the memory of man runneth not howsomever to the contrary, nohow. +% +The heart has its reasons which reason knows nothing of. + -- Blaise Pascal +% +The heart is wiser than the intellect. +% +...the heat come 'round and busted me for smiling on a cloudy day. +% +The heaviest object in the world is the +body of the woman you have ceased to love. + -- Marquis de Lac de Clapiers Vauvenargues +% +The Heineken Uncertainty Principle: + You can never be sure how many beers you had last night. +% +"The hell with the prime directive! Let's kill something!" +% +The help people need most urgently is +help in admitting that they need help. +% +The herd instinct among economists +makes sheep look like independent thinkers. +% +The heroic hours of life do not announce their presence by drum and trumpet, +challenging us to be true to ourselves by appeals to the martial spirit that +keeps the blood at heat. Some little, unassuming, unobtrusive choice presents +itself before us slyly and craftily, glib and insinuating, in the modest garb +of innocence. To yield to its blandishments is so easy. The wrong, it seems, +is venial... Then it is that you will be summoned to show the courage of +adventurous youth. + -- Benjamin Cardozo +% +The higher you climb, the more you show your ass. + -- Alexander Pope, "The Dunciad" +% +The History of every major Galactic Civilization tends to pass through +three distinct and recognizable phases, those of Survival, Inquiry, and +Sophistication, otherwise known as the How, Why, and Where phases. For +instance, the first phase is characterized by the question "How can we +eat?" the second by "Why do we eat?" and the third by "Where shall we +have lunch?". + -- Hitchhiker's Guide to the Galaxy +% +The history of warfare is similarly subdivided, although here the phases +are Retribution, Anticipation, and Diplomacy. Thus: + +Retribution: + I'm going to kill you because you killed my brother. +Anticipation: + I'm going to kill you because I killed your brother. +Diplomacy: + I'm going to kill my brother and then kill you on the + pretext that your brother did it. +% +The Hollywood tradition I like best is called "sucking up to the stars." + -- Johnny Carson +% +The honeymoon is not actually over until we cease +to stifle our sighs and begin to stifle our yawns. + -- Helen Rowland +% +The honeymoon is over when he phones to say he'll be late for supper and +she's already left a note that it's in the refrigerator. + -- Bill Lawrence +% +The horror... the horror! +% +The human animal differs from the lesser +primates in his passion for lists of "Ten Best". + -- H. Allen Smith +% +The human brain is a wonderful thing. It starts working the moment +you are born, and never stops until you stand up to speak in public. + -- Sir George Jessel +% +The human mind ordinarily operates at only ten percent of +its capacity -- the rest is overhead for the operating system. +% +The human mind treats a new idea the way the +body treats a strange protein: it rejects it. + -- P. Medawar +% +The human race has been fascinated by sharks for as long as I can remember. +Just like the bluebird feeding its young, or the spider struggling to weave +its perfect web, or the buttercup blooming in spring, the shark reveals to +us yet another of the infinite and wonderful facets of nature, namely the +facet that it can bite your head off. This causes us humans to feel a +certain degree of awe. + -- Dave Barry, "The Wonders of Sharks on TV" +% +The human race has one really effective weapon, and that is laughter. + -- Mark Twain +% +The human race never solves any of its problems. It merely outlives them. + -- David Gerrold +% +The husband who doesn't tell his wife everything probably reasons +that what she doesn't know won't hurt him. + -- Leo J. Burke +% +The IBM 2250 is impressive ... +if you compare it with a system selling for a tenth its price. + -- D. Cohen +% +The IBM purchase of ROLM gives new meaning to the term "twisted pair". + -- Howard Anderson, "Yankee Group" +% +The idea that an arbitrary naive human should be able to properly use a given +tool without training or understanding is even more wrong for computing than +it is for other tools (e.g. automobiles, airplanes, guns, power saws). + -- Doug Gwyn +% +The ideal voice for radio may be defined as showing no substance, +no sex, no owner, and a message of importance for every housewife. + -- Harry V. Wade +% +The ideas of economists and political philosophers, both when they +are right and when they are wrong, are more powerful than is generally +understood. Indeed, the world is ruled by little else. + -- John Maynard Keyes +% +The idle man does not know what it is to enjoy rest. +% +The idle mind knows not what it is it wants. + -- Quintus Ennius +% +The illegal we do immediately. The unconstitutional takes a little longer. + -- Henry Kissinger +% +The Illiterati Programus Canto 1: + A program is a lot like a nose: + Sometimes it runs, and sometimes it blows. +% +The important thing is not to stop questioning. +% +The important thing to remember about walking on eggs is not to hop. +% +The income tax has made more liars out of the American people than +golf has. + -- The Best of Will Rogers +% +The individual choice of garnishment of a burger can be an important +point to the consumer in this day when individualism is an increasingly +important thing to people. + -- Donald N. Smith, president of Burger King +% +The infliction of cruelty with a good conscience is +a delight to moralists. That is why they invented hell. + -- Bertrand Russell +% +The inherent vice of capitalism is the unequal sharing of blessings; +the inherent virtue of socialism is the equal sharing of misery. + -- Churchill +% +The instruments of science do not in themselves discover truth. And +there are searchings that are not concluded by the coincidence of a +pointer and a mark. + -- Fred Saberhagen, "The Berserker Wars" +% +The introduction of a new kind of music must be shunned as imperiling +the whole state, for styles of music are never disturbed without +affecting the most important political institutions. ... The new +style, gradually gaining a lodgement, quitely insinuates itself into +manners and customs, and from it ... goes on to attack laws and +constitutions, displaying the utmost impudence, until it ends by +overturning everything. + -- Plato, "Republic", 370 B.C. +% +The IQ of the group is the lowest IQ of a member of +the group divided by the number of people in the group. +% +The Israelis are the Doberman pinschers of the Middle East. They +treat the Arabs like postmen. + -- Franklyn Ajaye +% +The Israelites were all waiting anxiously at the foot of the mountain, +knowing that Moses had had a tough day negotiating with God over the +Commandments. Finally a tired Moses came into sight. + "I've got some good news and some bad news, folks," he said. "The +good news is that I got Him down to ten. The bad news is that adultery's +still in." +% +"The jig's up, Elman." +"Which jig?" + -- Jeff Elman +% +The Junior God now heads the roll +In the list of heaven's peers; +He sits in the House of High Control, +And he regulates the spheres. +Yet does he wonder, do you suppose, +If, even in gods divine, +The best and wisest may not be those +Who have wallowed awhile with the swine? + -- R.W. Service +% +The justifications for drug testing are part of the presently fashionable +debate concerning restoring America's "competitiveness." Drugs, it has been +revealed, are responsible for rampant absenteeism, reduced output, and poor +quality work. But is drug testing in fact rationally related to the +resurrection of competitiveness? Will charging the atmosphere of the +workplace with the fear of excretory betrayal honestly spur productivity? +Much noise has been made about rehabilitating the worker using drugs, but +to date the vast majority of programs end with the simple firing or the not +hiring of the abuser. This practice may exacerbate, not alleviate, the +nation's productivity problem. If economic rehabilitation is the ultimate +goal of drug testing, then criteria abandoning the rehabilitation of the +drug-using worker is the purest of hypocrisy and the worst of rationalization. + -- The concluding paragraph of "Constitutional Law: The + Fourth Amendment and Drug Testing in the Workplace," + Tim Moore, Harvard Journal of Law & Public Policy, vol. + 10, No. 3 (Summer 1987), pp. 762-768. +% +The Kennedy Constant: + Don't get mad -- get even. +% +The key elements in human thinking are not numbers but labels of fuzzy sets. + -- L. Zadeh +% +The key to building a superstar is to keep their mouth shut. To reveal +an artist to the people can be to destroy him. It isn't to anyone's +advantage to see the truth. + -- Bob Ezrin, rock music producer +% +The Killer Ducks are coming!!! +% +The kind of danger people most enjoy is +the kind they can watch from a safe place. +% +The King and his advisor are overlooking the battle field: + +King: "How goes the battle plan?" +Advisor: "See those little black specks running to the right?" +K: "Yes." +A: "Those are their guys. And all those little red specks running + to the left are our guys. Then when they collide we wait till + the dust clears." +K: "And?" +A: "If there are more red specks left than black specks, we win." +K: "But what about the +^#!!$% battle plan?" +A: "So far, it seems to be going according to specks." +% +The knowledge that makes us cherish +innocence makes innocence unattainable. + -- Irving Howe +% +The Kosher Dill was invented in 1723 by Joe Kosher and Sam Dill. It is +the single most popular pickle variety today, enjoyed throughout the free +world by man, woman and child alike. An astounding 350 billion kosher +dills are eaten each year, averaging out to almost 1/4 pickle per person +per day. New York Times food critic Mimi Sheraton says "The kosher dill +really changed my life. I used to enjoy eating McDonald's hamburgers and +drinking Iron City Lite, and then I encountered the kosher dill pickle. +I realized that there was far more to haute cuisine then I'd ever imagined. +And now, just look at me." +% +The ladies men admire, I've heard, +Would shudder at a wicked word. +Their candle gives a single light; +They'd rather stay at home at night. +They do not keep awake till three, +Nor read erotic poetry. +They never sanction the impure, +Nor recognize an overture. +They shrink from powders and from paints... +So far, I've had no complaints. + -- Dorothy Parker +% +The language of politics is poetry, not prose. Jackson is poetry. +Cuomo is poetry. Dukakis is a word processor. + -- Richard M. Nixon, on Meet the Press, April, 1988 +% +The last person that quit or was fired will be held responsible for +everything that goes wrong -- until the next person quits or is fired. +% +The last person that quit or was fired will be the held responsible +for everything that goes wrong -- until the next person quits or is +fired. +% +The last person who said that (God rest his soul) lived to regret it. +% +The last thing one knows in constructing a work is what to put first. + -- Blaise Pascal +% +The last time I saw him he was walking down Lover's Lane holding his own +hand. + -- Fred Allen +% +The last time somebody said, "I find I can write much better with a word +processor.", I replied, "They used to say the same thing about drugs." + -- Roy Blount, Jr. +% +The last vestiges of the old Republic have been swept away. + -- Governor Tarkin +% +The Law, in its majestic equality, forbids the rich, as well as the poor, +to sleep under the bridges, to beg in the streets, and to steal bread. + -- Anatole France +% +The Law of Probable Dispersal: + That which hits the fan will not be evenly distributed. +% +The Law of the Letter: + The best way to inspire fresh thoughts is to seal the envelope. +% +The Law of the Perversity of Nature: + You cannot determine beforehand which side of the bread to butter. +% +The lawgiver, of all beings, most owes the law allegiance. He of all men +should behave as though the law compelled him. But it is the universal +weakness of mankind that what we are given to administer we presently imagine +we own. + -- H.G. Wells +% +The Least Perceptive Literary Critic + The most important critic in our field of study is Lord Halifax. A +most individual judge of poetry, he once invited Alexander Pope round to +give a public reading of his latest poem. + Pope, the leading poet of his day, was greatly surprised when Lord +Halifax stopped him four or five times and said, "I beg your pardon, Mr. +Pope, but there is something in that passage that does not quite please me." + Pope was rendered speechless, as this fine critic suggested sizeable +and unwise emendations to his latest masterpiece. "Be so good as to mark +the place and consider at your leisure. I'm sure you can give it a better +turn." + After the reading, a good friend of Lord Halifax, a certain Dr. +Garth, took the stunned Pope to one side. "There is no need to touch the +lines," he said. "All you need do is leave them just as they are, call on +Lord Halifax two or three months hence, thank him for his kind observation +on those passages, and then read them to him as altered. I have known him +much longer than you have, and will be answerable for the event." + Pope took his advice, called on Lord Hallifax and read the poem +exactly as it was before. His unique critical faculties had lost none of +their edge. "Ay", he commented, "now they are perfectly right. Nothing can +be better." + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Animal Rescue + The firemen's strike of 1978 made possible one of the great animal +rescue attempts of all time. Valiantly, the British Army had taken over +emergency firefighting and on 14 January they were called out by an elderly +lady in South London to retrieve her cat which had become trapped up a +tree. They arrived with impressive haste and soon discharged their duty. +So grateful was the lady that she invited them all in for tea. Driving off +later, with fond farewells completed, they ran over the cat and killed it. + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Collector + Betsy Baker played a central role in the history of collecting. She +was employed as a servant in the house of John Warburton (1682-1759) who had +amassed a fine collection of 58 first edition plays, including most of the +works of Shakespeare. + One day Warburton returned home to find 55 of them charred beyond +legibility. Betsy had either burned them or used them as pie bottoms. The +remaining three folios are now in the British Museum. + The only comparable literary figure was the maid who in 1835 burned +the manuscript of the first volume of Thomas Carlyle's "The Hisory of the +French Revolution", thinking it was wastepaper. + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Defrosting Device + The all-time record here is held by Mr. Peter Rowlands of Lancaster +whose lips became frozen to his lock in 1979 while blowing warm air on it. + "I got down on my knees to breathe into the lock. Somehow my lips +got stuck fast." + While he was in the posture, an old lady passed an inquired if he +was all right. "Alra? Igmmlptk", he replied at which point she ran away. + "I tried to tell her what had happened, but it came out sort of... +muffled," explained Mr. Rowlands, a pottery designer. + He was trapped for twenty minutes ("I felt a bit foolish") until +constant hot breathing brought freedom. He was subsequently nicknamed "Hot +Lips". + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Equal Pay Advertisement + In 1976 the European Economic Community pointed out to the Irish +Government that it had not yet implemented the agreed sex equality +legislation. The Dublin Government immediately advertised for an equal pay +enforcement officer. The advertisement offered different salary scales for +men and women. + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Executions + History has furnished us with two executioners worthy of attention. +The first performed in Sydney in Australia. In 1803 three attempts were +made to hang a Mr. Joseph Samuels. On the first two of these the rope +snapped, while on the third Mr. Samuels just hung there peacefully until he +and everyone else got bored. Since he had proved unsusceptible to capital +punishment, he was reprieved. + The most important British executioner was Mr. James Berry who +tried three times in 1885 to hang Mr. John Lee at Exeter Jail, but on each +occasion failed to get the trap door open. + In recognition of this achievement, the Home Secretary commuted +Lee's sentence to "life" imprisonment. He was released in 1917, emigrated +to America and lived until 1933. + -- Stephen Pile, "The Book of Heroic Failures" +% +The Least Successful Police Dogs + America has a very strong candidate in "La Dur", a fearsome looking +schnauzer hound, who was retired from the Orlando police force in Florida +in 1978. He consistently refused to do anything which might ruffle or +offend the criminal classes. + His handling officer, Rick Grim, had to admit: "He just won't go up +and bite them. I got sick and tired of doing that dog's work for him." + The British contenders in this category, however, took things a +stage further. "Laddie" and "Boy" were trained as detector dogs for drug +raids. Their employment was terminated following a raid in the Midlands in +1967. + While the investigating officer questioned two suspects, they +patted and stroked the dogs who eventually fell asleep in front of the +fire. When the officer moved to arrest the suspects, one dog growled at +him while the other leapt up and bit his thigh. + -- Stephen Pile, "The Book of Heroic Failures" +% +The less a statesman amounts to, the more he loves the flag. + -- Kin Hubbard +% +The less time planning, the more time programming. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #10 -- SIMPLE + + SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming +Language Environment. This language, developed at the Hanover College +for Technological Misfits, was designed to make it impossible to write +code with errors in it. The statements are, therefore, confined to BEGIN, +END and STOP. No matter how you arrange the statements, you can't make a +syntax error. Programs written in SIMPLE do nothing useful, thus achieving +the results of programs written in other languages without the tedious, +frustrating process of testing and debugging. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #12 -- LITHP + + This otherwise unremarkable language, originally developed in San +Francisco, is distinguished by the absence of an "S" in its character set; +users must substitute "TH". LITHP is thaid to be utheful in protheththing +lithtth. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #13 -- SLOBOL + + SLOBOL is best known for the speed, or lack of it, of its compiler. +Although many compilers allow you to take a coffee break while they compile, +SLOBOL compilers allow you to travel to Bolivia to pick the beans. Forty- +three programmers are known to have died of boredom sitting at their terminals +while waiting for a SLOBOL program to compile. Weary SLOBOL programmers +often turn to a related (but infinitely faster) language, COCAINE. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #14 -- VALGOL + + VALGOL is enjoying a dramatic surge of popularity across the +industry. VALGOL commands include REALLY, LIKE, WELL, and Y*KNOW. +Variables are assigned with the =LIKE and =TOTALLY operators. Other +operators include the "California booleans", AX and NOWAY. Loops are +accomplished with the FOR SURE construct. A simple example: + + LIKE, Y*KNOW(I MEAN)START + IF PIZZA =LIKE BITCHEN AND + GUY =LIKE TUBULAR AND + VALLEY GIRL =LIKE GRODY**MAX(FERSURE)**2 + THEN + FOR I =LIKE 1 TO OH*MAYBE 100 + DO*WAH - (DITTY**2); BARF(I)=TOTALLY GROSS(OUT) + SURE + LIKE, BAG THIS PROGRAM; REALLY; LIKE TOTALLY(Y*KNOW); IM*SURE + GOTO THE MALL + + VALGOL is also characterized by its unfriendly error messages. For +example, when the user makes a syntax error, the interpreter displays the +message GAG ME WITH A SPOON! A successful compile may be termed MAXIMALLY +AWESOME! +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #17 -- DOGO + + Developed at the Massachusetts Institute of Obedience Training, DOGO +DOGO heralds a new era of computer-literate pets. DOGO commands include +SIT, STAY, HEEL, and ROLL OVER. An innovative feature of DOGO is "puppy +graphics", a small cocker spaniel that occasionally leaves a deposit as +it travels across the screen. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #17 -- SARTRE + + Named after the late existential philosopher, SARTRE is an extremely +unstructured language. Statements in SARTRE have no purpose; they just are. +Thus SARTRE programs are left to define their own functions. SARTRE +programmers tend to be boring and depressed, and are no fun at parties. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #18 -- C- + + This language was named for the grade received by its creator when +he submitted it as a class project in a graduate programming class. C- is +best described as a "low-level" programming language. In fact, the language +generally requires more C- statements than machine-code statements to execute +a given task. In this respect, it is very similar to COBOL. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #18 -- FIFTH + + FIFTH is a precision mathematical language in which the data types +refer to quantity. The data types range from CC, OUNCE, SHOT, and JIGGER to +FIFTH (hence the name of the language), LITER, MAGNUM and BLOTTO. Commands +refer to ingredients such as CHABLIS, CHARDONNAY, CABERNET, GIN, VERMOUTH, +VODKA, SCOTCH, BOURBON, and WHATEVERSAROUND. + The many versions of the FIFTH language reflect the sophistication and +financial status of its users. Commands in the ELITE dialect include VSOP and +LAFITE, while commands in the GUTTER dialect include HOOTCH, THUNDERBIRD, +RIPPLE and HOUSERED. The latter is a favorite of frustrated FORTH programmers +who end up using this language. +% +THE LESSER-KNOWN PROGRAMMING LANGUAGES #5 -- LAIDBACK + + LAIDBACK was developed at the (now defunct) Marin County Center for +T'ai Chi, Mellowness and Computer Programming, as an alternative to the more +intense languages of nearby Silicon Valley. + The Center was ideal for programmers who liked to soak in hot tubs +while they worked. Unfortunately, few programmers could survive there long, +since the Center outlawed pizza and RC Cola in favor of bean curd and Perrier. + Many mourn the demise of LAIDBACK because of its reputation as a +gentle and nonthreatening language. For example, LAIDBACK responded to +syntax errors with the message SORRY MAN, I JUST CAN'T DEAL BEHIND THAT. +% +The liberals can understand everything but people who don't understand them. + -- Lenny Bruce +% +The life which is unexamined is not worth living. + -- Plato +% +The light of a hundred stars does not equal the light of the moon. +% +The lion and the calf shall lie down +together but the calf won't get much sleep. + -- Woody Allen +% +The little girl expects no declaration of tenderness from her doll. +She loves it -- and that's all. It is thus that we should love. + -- DeGourmont +% +The little pieces of my life I give to you, +with love, to make a quilt to keep away the cold. +% +The little town that time forgot, +Where all the women are strong, +The men are good-looking, +And the children above-average. + -- Prairie Home Companion +% +The local minister noticed a little girl standing outside of his +door with a basket of kittens. + "Hello, little girl, what do you have there?" + "These are my Democratic kittens," she replied. +Amused, the pastor said nothing. Two weeks later he saw the same little +girl with (apparently) the same basket of kittens. + "My, I see you still have your Democratic kittens.", he said. + "No, you see, these are Republican kittens," she answered. + "Two weeks ago they were Democratic kittens," he replied, puzzled. + "Two weeks ago they had their eyes closed." +% +The `loner' may be respected, but he is always resented by his colleagues, +for he seems to be passing a critical judgment on them, when he may be +simply making a limiting statement about himself. + -- Sidney Harris +% +The longer I am out of office, the more infallible I appear to myself. + -- Henry Kissinger +% +The longer the title, the less important the job. +% +The longest part of the journey is said to be the passing of the gate. + -- Marcus Terentius Varro +% +The Lord gave us farmers two strong hands so we +could grab as much as we could with both of them. + -- Major Major's father +% +The Lord giveth and the Lord taketh away. +Indian Giver be the name of the Lord. +% +The Lord prefers common-looking people. That is the reason that He makes +so many of them. + -- Abraham Lincoln +% +The louder he talked of his honour, the faster we counted our spoons. + -- Ralph Waldo Emerson +% +The lovely woman-child Kaa was mercilessly chained to the cruel post of +the warrior-chief Beast, with his barbarian tribe now stacking wood at +her nubile feet, when the strong clear voice of the poetic and heroic +Handsomas roared, 'Flick your Bic, crisp that chick, and you'll feel my +steel through your last meal!' + -- Winning sentence, 1984 Bulwer-Lytton bad fiction contest. +% +The luck that is ordained for you will be coveted by others. +% +The lunatic, the lover, and the poet, +Are of imagination all compact... + -- Wm. Shakespeare, "A Midsummer Night's Dream" +% +The Macintosh is Xerox technology at its best. +% +The magic of our first love is our ignorance that it can ever end. + -- Benjamin Disraeli +% +The main problem I have with cats is, they're not dogs. + -- Kevin Cowherd +% +The major advances in civilization are processes +that all but wreck the societies in which they occur. + -- A.N. Whitehead +% +The major difference between bonds and bond traders is that the +bonds will eventually mature. +% +The major sin is the sin of being born. + -- Samuel Beckett +% +The majority of husbands remind me of an orangutang trying to play +the violin. + -- Honore de Balzac +% +The majority of the stupid is invincible and guaranteed for all time. +The terror of their tyranny, however, is alleviated by their lack of +consistency. + -- Albert Einstein +% +The makers may make, +And the users may use, +But the fixers must fix +With but minimal clues. +% +The man she had was kind and clean +And well enough for every day, +But oh, dear friends, you should have seen +The one that got away. + -- Dorothy Parker, "The Fisherwoman" +% +The Man Who Almost Invented The Vacuum Cleaner + The man officially credited with inventing the vacuum cleaner is +Hubert Cecil Booth. However, he got the idea from a man who almost +invented it. + In 1901 Booth visited a London music-hall. On the bill was an +American inventor with his wonder machine for removing dust from carpets. + The machine comprised a box about one foot square with a bag on top. +After watching the act -- which made everyone in the front six rows sneeze +-- Booth went round to the inventor's dressing room. + "It should suck not blow," said Booth, coming straight to the +point. "Suck?", exclaimed the enraged inventor. "Your machine just moves +the dust around the room," Booth informed him. "Suck? Suck? Sucking is +not possible," was the inventor's reply and he stormed out. Booth proved +that it was by the simple expedient of kneeling down, pursing his lips and +sucking the back of an armchair. "I almost choked," he said afterwards. + -- Stephen Pile, "The Book of Heroic Failures" +% +The man who follows the crowd will usually get no further than the crowd. +The man who walks alone is likely to find himself in places no one has ever +been. + -- Alan Ashley-Pitt +% +The man who has never been flogged has never been taught. + -- Menander +% +The man who laughs has not yet been told the terrible news. + -- Bertolt Brecht +% +The man who raises a fist has run out of ideas. + -- H.G. Wells, "Time After Time" +% +The man who runs may fight again. + -- Menander +% +The man who sees, on New Year's day, Mount +Fuji, a hawk, and an eggplant is forever blessed. + -- Old Japanese proverb +% +The man who sets out to carry a cat by its tail learns something that +will always be useful and which never will grow dim or doubtful. + -- Mark Twain +% +The man who understands one woman is +qualified to understand pretty well everything. + -- Yeats +% +The man with the best job in the country is the Vice President. All he has +to do is get up every morning and say, "How's the President?" + -- Will Rogers + +The vice-presidency ain't worth a pitcher of warm spit. + -- Vice President John Nance Garner +% +The Marines: + The few, the proud, the dead on the beach. +% +The Marines: + The few, the proud, the not very bright. +% +The mark of a good party is that you wake up the next morning +wanting to change your name and start a new life in different city. + -- Vance Bourjaily, "Esquire" +% +The mark of the immature man is that he wants to die nobly for a cause, +while the mark of a mature man is that he wants to live humbly for one. + -- Wilhelm Stekel +% +The mark of your ignorance is the depth of your belief in injustice +and tragedy. What the caterpillar calls the end of the world, the +master calls a butterfly. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +The marriage of Marxism and feminism has been like the marriage of +husband and wife depicted in English common law: Marxism and feminism +are one, and that one is marxism. + -- Heidi Hartmann, + "The Unhappy Marriage of Marxism and Feminism" +% +The Martian Canals were clearly the Martian's last ditch effort! +% +The marvels of today's modern technology include the development of a +soda can, which, when discarded will last forever -- and a $7,000 car +which, when properly cared for, will rust out in two or three years. +% +The mate for beauty should be a man and not a money chest. + -- Bulwer +% +The mature bohemian is one whose woman works full time. +% +The means-and-ends moralists, or non-doers, +always end up on their ends without any means. + -- Saul Alinsky +% +The meat is rotten, but the booze is holding out. +Computer translation of "The spirit is willing, but the flesh is weak." +% +The meek don't want it. +% +The meek inherit the earth -- usually in small sections... about 6 by 3. +% +The meek shall inherit the earth -- they are too weak to refuse. +% +The meek shall inherit the earth; but by that +time there won't be anything left worth inheriting. +% +The meek shall inherit the earth, but *not* its mineral rights. + -- J.P. Getty +% +The meek shall inherit the earth; the rest of us, the Universe. +% +The meek shall inherit the earth; the rest of us will go to the stars. +% +The meek shall inherit the Earth. +(But they're gonna have to fight for it.) +% +The meek will inherit the earth -- if that's OK with you. +% +The meeting of two personalities is like the contact of two +chemical substances: if there is any reaction, both are transformed. + -- Carl Jung +% +[The members of the Chamberlain government] are decided only to be +undecided, resolved to be irresolute, adamant for drift, all-powerful +for impotency. + -- W. Churchill +% +The men sat sipping their tea in silence. After a while the klutz said, + "Life is like a bowl of sour cream." + "Like a bowl of sour cream?" asked the other. "Why?" + "How should I know? What am I, a philosopher?" +% +The minute a man is convinced that he is interesting, he isn't. +% +The mirror sees the man as beautiful, the mirror loves the man; another +mirror sees the man as frightful and hates him; and it is always the same +being who produces the impressions. + -- Marquis D.A.F. de Sade +% +The misnaming of fields of study is so common as to lead to what might be +general systems laws. For example, Frank Harary once suggested the law that +any field that had the word "science" in its name was guaranteed thereby +not to be a science. He would cite as examples Military Science, Library +Science, Political Science, Homemaking Science, Social Science, and Computer +Science. Discuss the generality of this law, and possible reasons for its +predictive power. + -- Gerald Weinberg, "An Introduction to General Systems + Thinking" +% +The Modelski Chain Rule: +1: Look intently at the problem for several minutes. Scratch your + head at 20-30 second intervals. Try solving the problem on your + Hewlett-Packard. +2: Failing this, look around at the class. Select a particularly + bright-looking individual. +3: Procure a large chain. +4: Walk over to the selected student and threaten to beat him severely + with the chain unless he gives you the answer to the problem. + Generally, he will. It may also be a good idea to give him a sound + thrashing anyway, just to show you mean business. +% +"The molars, I'm sure, will be all right, the molars can take care of +themselves," the old man said, no longer to me. "But what will become +of the bicuspids?" + -- The Old Man and his Bridge +% +The mome rath isn't born that could outgrabe me. + -- Nicol Williamson +% +The moon is made of green cheese. + -- John Heywood +% +The moon may be smaller than Earth, but it's further away. +% +The Moral Majority is neither. +% +The more complex the mind, the greater +the need for the simplicity of play. + -- Captain Kirk, "Shore Leave" +% +The more control, the more that requires control. +% +The more cordial the buyers secretary, the greater +the odds that the competition already has the order. +% +The more crap you put up with, the more crap you are going to get. +% +The more data I punch in this card, the lighter it becomes, and the +lower the mailing cost. + -- S. Kelly-Bootle, "The Devil's DP Dictionary" +% +The more he talked of his honor the faster we counted our spoons. + -- Ralph Waldo Emerson +% +The more I know men the more I like my horse. +% +The more I see of men the more I admire dogs. + -- Mme De Sevigne, 1626-1696 +% +The more I want to get something done, the less I call it work. + -- Richard Bach, "Illusions" +% +The more laws and order are made prominent, +the more thieves and robbers there will be. + -- Lao Tsu +% +The more pretentious a corporate name, the smaller the organization. (For +instance, The Murphy Center for Codification of Human and Organizational Law, +contrasted to IBM, GM, AT&T ...) +% +The more the merrier. + -- John Heywood +% +The more they over-think the plumbing +the easier it is to stop up the drain. +% +The more things change, the more they remain the same. + -- Alphonse Karr +% +The more things change, the more they stay insane. +% +The more things change, the more they'll never be the same again. +% +The more we disagree, the more chance +there is that at least one of us is right. +% +The more you complain, the longer God lets you live. +% +The more you sweat in peace, the less you bleed in war. +% +The Moscow Evening News advertised a contest for the best political joke. +First prize was ten years in prison; second prize, five years; third prize, +three years; and there were six honorable mentions of one year each. +% +The mosquito exists to keep the mighty humble. +% +The moss on the tree does not fear the talons of the hawk. +% +The most advantageous, pre-eminent thing thou canst do is not to +exhibit nor display thyself within the limits of our galaxy, but +rather depart instantaneously whence thou even now standest and +flee to yet another rotten planet in the universe, if thou canst +have the good fortune to find one. + -- Carlyle +% +The most common given name in the world is Mohammad; the most common +family name in the world is Chang. Can you imagine the enormous number +of people in the world named Mohammad Chang? + -- Derek Wills +% +The most costly of all follies is to believe passionately +in the palpably not true. It is the chief occupation of mankind. + -- H.L. Mencken +% +The most dangerous food is wedding cake. + -- American proverb +% +The most dangerous organization in America today is: + + a) The KKK + b) The American Nazi Party + c) The Delta Frequent Flyer Club +% +The most delightful day after the one on which you buy a cottage in +the country is the one on which you resell it. + -- J. Brecheux +% +The most difficult thing about surviving AIDS +is trying to convince your parents that you're Haitian. +% +The most difficult thing in the world is to know how to do a +thing and to watch someone else doing it wrong, without commenting. + -- T.H. White +% +The most difficult years of marriage are those following the wedding. +% +The most disagreeable thing that your worst enemy says to your face does +not approach what your best friends say behind your back. + -- Alfred De Musset +% +The most exciting phrase to hear in science, the one that heralds new +discoveries, is not "Eureka!" (I found it!) but "That's funny ..." + -- Isaac Asimov +% +The most exquisite peak in culinary art is conquered when you do right by a +ham, for a ham, in the very nature of the process it has undergone since last +it walked on its own feet, combines in its flavor the tang of smoky autumnal +woods, the maternal softness of earthy fields delivered of their crop children, +the wineyness of a late sun, the intimate kiss of fertilizing rain, and the +bite of fire. You must slice it thin, almost as thin as this page you hold +in your hands. The making of a ham dinner, like the making of a gentleman, +starts a long, long time before the event. + -- W.B. Courtney, "Reflections of Maryland Country Ham", + from "Congress Eate It Up" +% +...the most exquisitely squalid hells known to middle-class man: +freshman English at a Midwestern university. + -- Tom Wolfe +% +The most happy marriage I can imagine to myself would be the union +of a deaf man to a blind woman. + -- Samuel Taylor Coleridge +% +The most hopelessly stupid man is he who is not aware that he is wise. +% +The most important early product on the way +to developing a good product is an imperfect version. +% +The most important service rendered by the press is that of educating +people to approach printed matter with distrust. +% +The most important thing in a relationship between a man and a woman +is that one of them be good at taking orders. + -- Linda Festa +% +The most important things, each person must do for himself. +% +The most popular labor-saving device today is still a husband with money. + -- Joey Adams, "Cindy and I" +% +The most recent attempt to revive the moribund campus left, a national +conference held at Rutgers University February 5-7, ended when the +participants decided that they were too racist to found a new national +organization. + The stated goal of the conference was the formation of a national +organization that would "give expression to a shared consciousness." The +orientation materials declared that this was "a historic moment" -- you +know, like Port Huron and the Sixties -- and the Rutgers host committee had +every reason to expect their goal would be accomplished. + But it was not to be. Given that this was a conference of *New* +New Leftists, reason had nothing to do with it. + A revealing article by Vania del Borgo and Maria Margaronis in "The +Nation", ["Beyond the Fragments," 3/26/88] says "The defining moment of the +weekend came when the conference was almost at its end. On Sunday morning, +a twenty-five-member students of color caucus confronted the assembled body +with its overwhelming whiteness..." Joined by the Gay & Bisexual Caucus, the +Students of Color Caucus declared that the founding of such an overwhelmingly +white organization would itself constitute a racist act. The four hundred or +so leftist activists were told that they had no right to ratify a constitution +or elect any officers. While recognizing "the need to examine the real +possibilities of a broad-based, racially diverse student movement" and paying +lip service to the need for "dialogue," they threatened to walk out if their +demands were not met. As *The Nation* article describes the scene: "To their +astonishment, their intervention was greeted with a standing ovation." Handed +an ultimatum which demanded that they disband, this would-be successor to the +radical student movements of the Sixties promptly voted itself out of +existence. As del Borgo and Margaronis put it, "After much chaotic discussion +and a confused voice vote, the convention suspended all its other work and +broke into regional groups to discuss 'outreach.'" + -- Libertarian Agenda, May 1988 +% +The most remarkable thing about my mother is that for thirty years she +served the family nothing but leftovers. The original meal has never +been found. + -- Calvin Trillin +% +The most serious doubt that has been thrown on the authenticity of the +biblical miracles is the fact that most of the witnesses in regard to +them were fishermen. + -- Arthur Binstead +% +The Most Unsuccessful Version Of The Bible + The most exciting version of the Bible was printed in 1631 by Robert +Barker and Martin Lucas, the King's printers at London. It contained +several mistakes, but one was inspired -- the word "not" was omitted from +the Seventh Commandment and enjoined its readers, on the highest authority, +to commit adultery. + Fearing the popularity with which this might be received in remote +country districts, King Charles I called all 1,000 copies back in and fined +the printers L3,000. + -- Stephen Pile, "The Book of Heroic Failures" +% +The most winning woman I ever knew was hanged for poisoning three little +children for their insurance money. + -- Sherlock Holmes +% +The moving cursor writes, and having written, blinks on. +% +The Moving Finger writes; and, having writ, + Moves on: nor all they Piety nor Wit +Shall lure it back to cancel half a Line, + Nor all thy Tears wash out a Word of it. +% +The myth of romantic love holds that once you've fallen in love with the +perfect partner, you're home free. Unfortunately, falling out of love +seems to be just as involuntary as falling into it. +% +The naked truth of it is, I have no shirt. + -- William Shakespeare, "Love's Labour's Lost" +% +The nation that controls magnetism controls the universe. + -- Chester Gould/Dick Tracy +% +The nearer to the church, the further from God. + -- John Heywood +% +The net is like a vast sea of lutefisk with tiny dinosaur brains embedded +in it here and there. Any given spoonful will likely have an IQ of 1, but +occasional spoonfuls may have an IQ more than six times that! + -- James 'Kibo' Parry +% +The net of law is spread so wide, +No sinner from its sweep may hide. +Its meshes are so fine and strong, +They take in every child of wrong. +O wondrous web of mystery! +Big fish alone escape from thee! + -- James Jeffrey Roche +% +The new Congressmen say they're going to turn the government around. +I hope I don't get run over again. +% +The New England Journal of Medicine reports that 9 out of 10 +doctors agree that 1 out of 10 doctors is an idiot. +% +THE NEW RIGHT: + A javelin team that elects to receive. +% +The New Testament offers the basis for modern computer coding theory, +in the form of an affirmation of the binary number system. + + But let your communication be Yea, yea; nay, nay: + for whatsoever is more than these cometh of evil. + + -- Matthew 5:37 +% +The next person to mention spaghetti stacks +to me is going to have his head knocked off. + -- Bill Conrad +% +The next thing I say to you will be true. +The last thing I said was false. +% +The nice thing about egotists is that they don't talk about other people. + -- Lucille S. Harper +% +The nice thing about standards +is that there are so many of them to choose from. + -- Andrew S. Tanenbaum +% +The nicest thing about the Alto is that it doesn't run faster at night. +% +The night passes quickly when you're asleep +But I'm out shufflin' for something to eat +... +Breakfast at the Egg House, +Like the waffle on the griddle, +I'm burnt around the edges, +But I'm tender in the middle. + -- Adrian Belew +% +The notes blatted skyward as the rose over the Canada geese, feathered +rumps mooning the day, webbed appendages frantically pedaling unseen +bicycles in their search for sustenance, driven by cruel Nature's maxim, +'Ya wanna eat, ya gotta work,' and at last I knew Pittsburgh. + -- Winning sentence, 1987 Bulwer-Lytton bad fiction contest. +% +The notion of a "record" is an obsolete +remnant of the days of the 80-column card. + -- D.M. Ritchie +% +The number of computer scientists in a room is inversely +proportional to the number of bugs in their code. +% +The number of feet in a yard is directly proportional to the success +of the barbecue. +% +The number of licorice gumballs you get out of a gumball machine +increases in direct proportion to how much you hate licorice. +% +The number of UNIX installations has grown to 10, with more expected. + -- The Unix Programmer's Manual, 2nd Edition, June 1972 +% +The NY Times is read by the people who run the country. The Washington Post +is read by the people who think they run the country. The National Enquirer +is read by the people who think Elvis is alive and running the country. + -- Robert Woodhead +% +The objective of all dedicated employees should be to thoroughly analyze +all situations, anticipate all problems prior to their occurrence, have +answers for these problems, and move swiftly to solve these problems +when called upon. + However... +When you are up to your ass in alligators it is difficult to remind +yourself your initial objective was to drain the swamp. +% +The odds are a million to one against your being one in a million. +% +The Official Colorado State Vegetable is now the "state legislator". +% +The Official MBA Handbook on business cards: + + Avoid overly pretentious job titles such as "Lord of the + Realm, Defender of the Faith, Emperor of India" or "Director + of Corporate Planning." +% +The Official MBA Handbook on doing company business on an airplane: + + Do not work openly on top-secret company cost documents unless + you have previously ascertained that the passenger next to you + is blind, a rock musician on mood-ameliorating drugs, or the + unfortunate possessor of a forty-seventh chromosome. +% +The Official MBA Handbook on the use of sunlamps: + + Use a sunlamp only on weekends. That way, if the office wise guy + remarks on the sudden appearance of your tan, you can fabricate + some story about a sun-stroked weekend at some island Shangri-La + like Caneel Bay. Nothing is more transparent than leaving the + office at 11:45 on a Tuesday night, only to return an Aztec sun + god at 8:15 the next morning. +% +The old complaint that mass culture is designed for eleven-year-olds +is of course a shameful canard. The key age has traditionally been +more like fourteen. + -- Robert Christgau, "Esquire" +% +The old man had lived all his life in a little house on the Vermont side of the +New Hampshire-Vermont border. One day, the surveyors came to inform him that +they had just discovered that he lived in New Hampshire, not Vermont. + "Thank heavens!" was his heartfelt reply. "I don't think I could have +taken another one of those damned Vermont winters!" +% +THE OLD POOL SHOOTER had won many a game in his life. But now it was time +to hang up the cue. When he did, all the other cues came crashing go the +floor. + +"Sorry," he said with a smile. + -- Jack Handley, The New Mexican, 1988. +% +The older a man gets, the farther he had to walk to school as a boy. +% +The older I grow, the less important the comma becomes. +Let the reader catch his own breath. + -- Elizabeth Clarkson Zwart +% +The older I grow, the more I distrust the +familiar doctrine that age brings wisdom. + -- H.L. Mencken +% +The one charm of marriage is that it makes a life of deception a neccessity. + -- Oscar Wilde +% +The one day you'd sell your soul for something, souls are a glut. +% +The one good thing about repeating your +mistakes is that you know when to cringe. +% +The one L lama, he's a priest +The two L llama, he's a beast +And I will bet my silk pyjama +There isn't any three L lllama. + -- O. Nash, to which a fire chief replied that occasionally + his department responded to something like a "three L lllama." +% +The One Page Principle: + A specification that will not fit on one page of 8.5x11 inch paper + cannot be understood. + -- Mark Ardis +% +The one sure way to make a lazy man look +respectable is to put a fishing rod in his hand. +% +The only alliance I would make with the Women's Liberation Movement is in bed. + -- Abbey Hoffman +% +The only certainty is that nothing is certain. + -- Pliny the Elder +% +The only constant is change. +% +The only cultural advantage LA has over NY is that you can make a +right turn on a red light. + -- Woody Allen +% +The only difference between a car salesman and a computer salesman is +that the car salesman knows he's lying. +% +The only difference between a rut and a grave is their dimensions. +% +The only difference between the saint and the sinner is that +every saint has a past and every sinner has a future. + -- Oscar Wilde +% +The only difference in the game of love over the last few +thousand years is that they've changed trumps from clubs to diamonds. + -- The Indianapolis Star +% +The only function of economic forecasting is to make astrology look +respectable. + -- John Kenneth Galbraith +% +The only happiness lies in reason; all the rest of the world is dismal. +The highest reason, however, I see in the work of the artist, and he may +experience it as such. Happiness lies in the swiftness of feeling and +thinking: all the rest of the world is slow, gradual and stupid. Whoever +could feel the course of a light ray would be very happy, for it is very +swift. Thinking of oneself gives little happiness. If, however, one feels +much happiness in this, it is because at bottom one is not thinking of +oneself but of one's ideal. This is far, and only the swift shall reach +it and are delighted. + -- Nietzsche +% +The only "ism" Hollywood believes in is plagiarism. + -- Dorothy Parker +% +The only justification for our concepts and systems of concepts is +that they serve to represent the complex of our experiences; +beyond this they have not legitimacy. + -- Einstein. +% +The only one of your children who does not grow up and move away +is your husband. +% +The only people for me are the mad ones -- the ones who are mad to live, +mad to talk, mad to be saved, desirous of everything at the same time, +the ones who never yawn or say a commonplace thing, but burn, burn, burn +like fabulous yellow Roman candles. + -- Jack Kerouac, "On the Road" +% +The only people who make love all the time are liars. + -- Louis Jordan +% +The only perfect science is hind-sight. +% +The only person to get all of his work done by Friday was Robinson Crusoe. +% +The only person who always got his work done by Friday was Robinson Crusoe. +% +The only possible interpretation of any research +whatever in the "social sciences" is: some do, some don't. +% +The only possible interpretation of any research +whatever in the 'social sciences' is: some do, some don't. + -- Ernest Rutherford +% +The only problem with being a man of leisure +is that you can never stop and take a rest. +% +The only problem with seeing too much is that it makes you insane. + -- Phaedrus +% +The only promotion rules I can think of are that a sense of shame is to +be avoided at all costs and there is never any reason for a hustler to +be less cunning than more virtuous men. Oh yes ... whenever you think +you've got something really great, add ten per cent more. + -- Bill Veeck +% +The only qualities for real success in journalism are ratlike cunning, a +plausible manner and a little literary ability. The capacity to steal +other people's ideas and phrases ... is also invaluable. + -- Nicolas Tomalin, "Stop the Press, I Want to Get On" +% +The only real advantage to punk music is that nobody can whistle it. +% +The only real argument for marriage is that it remains the best method +for getting acquainted. + -- Heywood Broun +% +The only real way to look younger is not to be born so soon. + -- C. Schultz +% +The only really masterful noise a man makes in a house is the noise +of his key, when he is still on the landing, fumbling for the lock. + -- Colette +% +The only reward of virtue is virtue. + -- Ralph Waldo Emerson +% +The only rose without thorns is friendship. +% +The only thing better than love is milk. +% +The only thing cheaper than hardware is talk. +% +The only thing that experience teaches us is that experience teaches +us nothing. + -- Andre Maurois (Emile Herzog) +% +The only thing that stops God from sending a second Flood is that +the first one was useless. + -- Nicolas Chamfort +% +The only thing to do with good advice is pass it on. +It is never any use to oneself. + -- Oscar Wilde +% +The only thing we learn from history is that we do not learn. + -- Earl Warren + +That men do not learn very much from history is the most important of all +the lessons that history has to teach. + -- Aldous Huxley + +We learn from history that we do not learn from history. + -- Georg Hegel + +HISTORY: Papa Hegel he say that all we learn from history is that we learn +nothing from history. I know people who can't even learn from what happened +this morning. Hegel must have been taking the long view. + -- Chad C. Mulligan, "The Hipcrime Vocab" +% +The only time a dog gets complimented is when he doesn't do anything. + -- C. Schultz +% +The only two things that motivate me and that matter to me are revenge +and guilt. + -- Elvis Costello +% +The only way to amuse some people +is to slip and fall on an icy pavement. +% +The only way to get rid of a temptation is to yield to it. + -- Oscar Wilde +% +The only way to keep you health is to eat what you don't want, +drink what you don't like, and do what you'd rather not. + -- Mark Twain +% +The only winner in the War of 1812 was Tchaikovsky. + -- David Gerrold +% +The onset and the waning of love make themselves felt +in the uneasiness experienced at being alone together. + -- Jean de la Bruyere +% +The opossum is a very sophisticated animal. It doesn't even get up +until 5 or 6 PM. +% +The opossum is a very sophisticated animal. +It doesn't even get up until 5 or 6 pm. +% +The opposite of a correct statement is a false statement. But the opposite +of a profound truth may well be another profound truth. + -- Niels Bohr +% +The opposite of a profound truth may well be another profound truth. + -- Bohr +% +The opposite of talking isn't listening. The opposite of talking is +waiting. + -- Fran Lebowitz, "Social Studies" +% +The optimist thinks that this is the best of all possible worlds, +and the pessimist knows it. + -- J. Robert Oppenheimer, "Bulletin of Atomic Scientists" + +Yet creeds mean very little, Coth answered the dark god, still speaking +almost gently. The optimist proclaims that we live in the best of all +possible worlds; and the pessimist fears this is true. + -- James Cabell, "The Silver Stallion" +% +The optimum committee has no members. + -- Norman Augustine +% +The opulence of the front office door varies +inversely with the fundamental solvency of the firm. +% +The orders come down and they march us away. +There's a battle outside and we join in the fray. +God, it's hell when you know this could be your last day, +But it's better than working for Xerox. + -- Frank Hayes, "Don't Ask" +% +The other day I... uh, no, that wasn't me. + -- Steven Wright +% +The other line moves faster. +% +The owner of a large furniture store in the mid-west arrived in France on +a buying trip. As he was checking into a hotel he struck up an acquaintance +with a beautiful young lady. However, she only spoke French and he only spoke +English, so each couldn't understand a word the other spoke. He took out a +pencil and a notebook and drew a picture of a coach. She smiled, nodded her +head and they went for a ride in the park. Later, he drew a picture of a +table in a restaurant with a question mark and she nodded, so they went to +dinner. After dinner he sketched two dancers and she was delighted. They +went to several nightclubs, drank champagne, danced and had a glorious +evening. It had gotten quite late when she motioned for the pencil and drew +a picture of a four-poster bed. He was dumbfounded, and to this day has +never be able to understand how she knew he was in the furniture business. +% +The part of the world that people find most puzzling is the part called "Me". +% +The party adjourned to a hot tub, yes. Fully clothed, I might add. + -- IBM employee, testifying in California State Supreme Court +% +The passionate young thing was having a difficult time getting across what +she wanted from her rather dense boyfriend. Finally she asked, + "Would you like to see where I was operated on for appendicitis?" + "Gosh, no!" he replied. "I hate hospitals." +% +The past always looks better than it was. +It's only pleasant because it isn't here. + -- Finley Peter Dunne (Mr. Dooley) +% +The people sensible enough to give +good advice are usually sensible enough to give none. +% +The perfect friend sees the best in you -- sees it constantly -- +not just when you occasionally are that way, but also when you +waver, when you forget yourself, act like less than you are. +In time, you become more like his vision of you -- which is the +person you have always wanted to be. + -- Nancy Friday +% +The perfect lover is one who turns into a pizza at 4:00 A.M. + -- Charles Pierce +% +The perfect man is the true partner. Not a bed partner nor a fun partner, +but a man who will shoulder burdens equally with [you] and possess that +quality of joy. + -- Erica Jong +% +The person who can smile when something +goes wrong has thought of someone to blame it on. +% +The person who makes no mistakes does not usually make anything. +% +The person who marries for money usually earns every penny of it. +% +The person who's taking you to lunch has no intention of paying. +% +The person you rejected yesterday could make you happy, if you say yes. +% +The personal computer market is about the same size as the total potato chip +market. Next year it will be about half the size of the pet food market and +is fast approaching the total worldwide sales of pantyhose" + -- James Finke, Commodore Int'l Ltd., 1982 +% +The perversity of nature is nowhere better demonstrated by the fact that, +when exposed to the same atmosphere, bread becomes hard while crackers +become soft. +% +The philosopher's treatment of a question +is like the treatment of an illness. + -- Wittgenstein. +% +The Phone Booth Rule: + A lone dime always gets the number nearly right. +% +The Pig, if I am not mistaken, +Gives us ham and pork and Bacon. +Let others think his heart is big, +I think it stupid of the Pig. +% +The pitcher wound up and he flang the ball at the batter. The batter swang +and missed. The pitcher flang the ball again and this time the batter +connected. He hit a high fly right to the center fielder. The center +fielder was all set to catch the ball, but at the last minute his eyes were +blound by the sun and he dropped it. + -- Dizzy Dean +% +The plural of spouse is spice. +% +The Poems, all three hundred of them, +may be summed up in one of their phrases: +"Let our thoughts be correct". + -- Confucius +% +The Poet Whose Badness Saved His Life + The most important poet in the seventeenth century was George +Wither. Alexander Pope called him "wretched Wither" and Dryden said of his +verse that "if they rhymed and rattled all was well". + In our own time, "The Dictionary of National Biography" notes that his +work "is mainly remarkable for its mass, fluidity and flatness. It usually +lacks any genuine literary quality and often sinks into imbecile doggerel". + High praise, indeed, and it may tempt you to savour a typically +rewarding stanza: It is taken from "I loved a lass" and is concerned with +the higher emotions. + She would me "Honey" call, + She'd -- O she'd kiss me too. + But now alas! She's left me + Falero, lero, loo. + Among other details of his mistress which he chose to immortalize +was her prudent choice of footwear. + The fives did fit her shoe. + In 1639 the great poet's life was endangered after his capture by +the Royalists during the English Civil War. When Sir John Denham, the +Royalist poet, heard of Wither's imminent execution, he went to the King and +begged that his life be spared. When asked his reason, Sir John replied, +"Because that so long as Wither lived, Denham would not be accounted the +worst poet in England." + -- Stephen Pile, "The Book of Heroic Failures" +% +The poetry of heroism appeals irresitably to those who don't go to a war, +and even more so to those whom the war is making enormously wealthy." + -- Celine +% +The point is, you see, that there is no point in driving yourself mad +trying to stop yourself going mad. You might just as well give in and +save your sanity for later. +% +The polite thing to do has always been to address people as they wish to be +addressed, to treat them in a way they think dignified. But it is equally +important to accept and tolerate different standards of courtesy, not +expecting everyone else to adapt to one's own preferences. Only then can +we hope to restore the insult to its proper social function of expressing +true distaste. + -- Judith Martin, "Miss Manners' Guide to Excruciatingly + Correct Behavior" +% +The politician is someone who deals in man's problems of adjustment. +To ask a politician to lead us is to ask the tail of a dog to lead the dog. + -- Buckminster Fuller +% +The pollution's at that awkward stage. +Too thick to navigate and too thin to cultivate. + -- Doug Sneyd +% +The possession of a book becomes a substitute for reading it. + -- Anthony Burgess +% +The powers not delegated to the United States by the Constitution, nor +prohibited by it to the States, are reserved to the States respectively, +or to the people. + -- U.S. Constitution, Amendment 10. (Bill of Rights) +% +The Preacher, the Politician, the Teacher, + Were each of them once a kiddie. +A child, indeed, is a wonderful creature. + Do I want one? God Forbiddie! + -- Ogden Nash +% +The president publicly apologized today to all those offended by his brother's +remark, "There's more Arabs in this country than there is Jews!". Those +offended include Arabs, Jews, and English teachers. + -- Channel 11 News, Baltimore, on Billy Carter +% +The prettiest women are almost always the most +boring, and that is why some people feel there is no God. + -- Woody Allen, "Without Feathers" +% +The price of greatness is responsibility. +% +The price of success in philosophy is triviality. + -- C. Glymour. +% +The price one pays for pursuing any profession, or calling, is an intimate +knowledge of its ugly side. + -- James Baldwin +% +The primary function of the design engineer is to make things +difficult for the fabricator and impossible for the serviceman. +% +The primary purpose of the DATA statement is to give names to constants; +instead of referring to pi as 3.141592653589793 at every appearance, the +variable PI can be given that value with a DATA statement and used instead +of the longer form of the constant. This also simplifies modifying the +program, should the value of pi change. + -- FORTRAN manual for Xerox Computers +% +The primary theme of SoupCon is communication. The acronym "LEO" +represents the secondary theme: + + Law Enforcement Officials + +The overall theme of SoupCon shall be: + + Avoiding Communication with Law Enforcement Officials + -- M. Gallaher +% +The probability of someone watching you is directly +proportional to the stupidity of your action. +% +The problem that we thought was a problem was, indeed, +a problem, but not the problem we thought was the problem. + -- Mike Smith +% +The problem with any unwritten law is that +you don't know where to go to erase it. + -- Glaser and Way +% +The problem with graduate students, in general, is that they have +to sleep every few days. +% +The problem with me is that I am fifty or one hundred years ahead of my +time. My speed is very fast. Some ministers have had to drop out of my +government because they could not keep up. + -- Idi Amin Dada +% +The problem with most conspiracy theories is that they seem to believe that +for a group of people to behave in a way detrimental to the common good +requires intent. +% +The problem with people who have no vices is that generally you can +be pretty sure they're going to have some pretty annoying virtues. + -- Elizabeth Taylor +% +The problem with the gene pool is that there is no lifeguard. +% +The problem with this country is that there is no death penalty +for incompetence. +% +The problems of business administration in general, and database management in +particular are much to difficult for people that think in IBMese, compounded +with sloppy english. + -- Edsger W. Dijkstra +% +The profession of book writing makes horse racing seem like a solid, +stable business. + -- John Steinbeck +% +The program isn't debugged until the last user is dead. +% +The programmers of old were mysterious and profound. We cannot fathom their +thoughts, so all we do is describe their appearance. + Aware, like a fox crossing the water. Alert, like a general on the +battlefield. Kind, like a hostess greeting her guests. Simple, like uncarved +blocks of wood. Opaque, like black pools in darkened caves. + Who can tell the secrets of their hearts and minds? + The answer exists only in the Tao. +% +The proof of the pudding is in the eating. + -- Miguel de Cervantes +% +The proof that IBM didn't invent the car is that it has a steering wheel +and an accelerator instead of spurs and ropes, to be compatible with a +horse. + -- Jac Goudsmit +% +The propriety of some persons seems to consist in having improper +thoughts about their neighbours. + -- F.H. Bradley +% +The Psblurtex is an 18-inch long anaconda that hides in the gentlemen's +outfitting departments of Amazonian stores and is often bought by mistake +since its colors are those of the London Reform Club. Once tied around its +victim's neck, it strangles him gently and then claims the insurance before +running off to Germany where it lives in hiding. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The public demands certainties; it must be told definitely and a bit +raucously that this is true and that is false. But there are no +certainties. + -- H.L. Mencken, "Prejudice" +% +The Public is merely a multiplied "me." + -- Mark Twain +% +The Puritan hated bear-baiting, not because it gave pain to the bear, but +because it gave pleasure to the spectators. + -- Thomas Macaulay, "History of England" +% +The purpose of Physics 7A is to make the engineers realize that they're +not perfect, and to make the rest of the people realize that they're not +engineers. +% +"The pyramid is opening!" +"Which one?" +"The one with the ever-widening hole in it!" +% +The quality of a pun is in the "Oy!" of the beholder. +% +The Queen is most anxious to enlist every one who can speak or write to +join in checking this mad, wicked folly of "Woman's Rights", with all its +attendant horrors, on which her poor feeble sex is bent, forgetting every +sense of womanly feeling and propriety. Lady-- ought to get a good +whipping. It is a subject which makes the Queen so furious that she cannot +contain herself. God created men and women different -- then let them +remain each in their own position. + -- Letter to Sir Theodore Martin, 29 May 1870, from + Queen Victoria +% +The question of whether computers can think is just like the question of +whether submarines can swim. + -- Edsger W. Dijkstra +% +The questions remain the same. +The answers are eternally variable. +% +The Rabbits The Cow +Here is a verse about rabbits The cow is of the bovine ilk; +That doesn't mention their habits. One end is moo, the other, milk. + -- Ogden Nash +% +The race is not always to the swift, nor the +battle to the strong, but that's the way to bet. + -- Damon Runyon +% +The rain it raineth on the just +And also on the unjust fella: +But chiefly on the just, because +The unjust steals the just's umbrella. + -- Lord Bowen +% +The Ranger isn't gonna like it, Yogi. +% +The rate at which a disease spreads through a corn field is a precise +measurement of the speed of blight. +% +The ratio of literacy to illiteracy is a constant, but nowadays the +illiterates can read. + -- Alberto Moravia +% +The real man's Bloody Mary: + Ingredients: vodka, tomato juice, Tobasco, Worcestershire + sauce, A-1 steak sauce, ice, salt, pepper, celery. + + Fill a large tumbler with vodka. + Throw all the other ingredients away. +% +The real problem with hunting elephants carrying the decoys. +% +The real purpose of books is to trap the mind into doing its own thinking. + -- Christopher Morley +% +The real reason large families benefit society is because at least +a few of the children in the world shouldn't be raised by beginners. +% +The real reason psychology is hard is that +psychologists are trying to do the impossible. +% +The real trouble with reality is that there's no background music. +% +The reason computer chips are so small is computers don't eat much. +% +The reason people sweat is so they won't catch fire when making love. + -- Don Rose +% +The reason that every major university maintains a department of +mathematics is that it's cheaper than institutionalizing all those +people. +% +The reason they're called wisdom teeth +is that the experience makes you wise. +% +The reason why worry kills more people +than work is that more people worry than work. +% +The reasonable man adapts himself to the world; the unreasonable one +persists in trying to adapt the world to himself. Therefore all progress +depends on the unreasonable man. + -- George Bernard Shaw +% +The reasons that each of these countries has had to renege on its +financial commitments were all somewhat different: Argentina because of +a war, Poland because of its vast misguided overinvestment in heavy +industry, Honduras because the coffeee price went sour, Zaire because +nobody in the government there has a clue as to how to run a country. + -- Paul Erdman's Money Book +% +The relative importance of files depends on their cost +in terms of the human effort needed to regenerate them. + -- T.A. Dolotta +% +The requirements of romantic love are difficult to satisfy in the trunk +of a Dodge Dart. + -- Lisa Alther +% +The Reverend Henry Ward Beecher +Called a hen a most elegant creature. + The hen, pleased with that, + Laid an egg in his hat -- +And thus did the hen reward Beecher. + -- Oliver Wendell Holmes +% +The reverse side also has a reverse side. + -- Japanese proverb +% +The revolution will not be televised. +% +The reward for working hard is more hard work. +% +The reward of a thing well done is to have done it. + -- Emerson +% +The rich get rich, and the poor get poorer. +The haves get more, the have-nots die. +% +The right half of the brain controls the left half of the body. +This means that only left handed people are in their right mind. +% +The right to be heard does not automatically include the right to be +taken seriously. + -- Hubert Humphrey +% +The right to be let alone is indeed the beginning of all freedom. + -- Justice Douglas +% +The rights and interests of the laboring man will be protected and cared +for not by our labor agitators, but by the Christian men to whom God in his +infinite wisdom has given control of property interests of the country, and +upon the successful management of which so much remains. + -- George F. Baer, railroad industrialist +% +The rights you have are the rights given you by this Committee [the +House Un-American Activities Committee]. We will determine what rights +you have and what rights you have not got. + -- J. Parnell Thomas +% +The ripest fruit falls first. + -- William Shakespeare, "Richard II" +% +The road to Hades is easy to travel. + -- Bion +% +The road to hell is paved with NAND gates. + -- J. Gooding +% +The road to ruin is always in good repair, +and the travellers pay the expense of it. + -- Josh Billings +% +The Roman Rule + The one who says it cannot be done should never interrupt the + one who is doing it. +% +The root of all superstition is that men +observe when a thing hits, but not when it misses. + -- Francis Bacon +% +The rose of yore is but a name, mere names are left to us. +% +The Ruffed Pandanga of Borneo and Rotherham spreads out his feathers in +his courtship dance and imitates Winston Churchill and Tommy Cooper on +one leg. The padanga is dying out because the female padanga doesn't +take it too seriously. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +The rule is, jam to-morrow and jam yesterday, but never jam today. + -- Lewis Carroll +% +The rule on staying alive as a forecaster is to give 'em a number or +give 'em a date, but never give 'em both at once. + -- Jane Bryant Quinn +% +The rules: + +1: Thou shalt not worship other computer systems. +2: Thou shalt not impersonate Liberace or eat watermelon while sitting at + the console keyboard. +3: Thou shalt not slap users on the face, nor staple their silly little + card decks together. +4: Thou shalt not get physically involved with the computer system, + especially if you're already married. +5: Thou shalt not use magnetic tapes as frisbees, nor use a disk pack as + a stool to reach another disk pack. +6: Thou shalt not stare at the blinking lights for more than one 8 hour + shift. +7: Thou shalt not tell users that you accidentally destroyed their + files/backup just to see the look on their little faces. +8: Thou shalt not enjoy cancelling a job. +9: Thou shalt not display firearms in the computer room. +10: Thou shalt not push buttons "just to see what happens". +% +The Russians have put a small ball up in the air. +That does not raise my apprehensions one iota. + -- Dwight D. Eisenhower +% +The salary of the chief executive of the large corporation is not a market +award for achievement. It is frequently in the nature of a warm personal +gesture by the individual to himself. + -- John Kenneth Galbraith, "Annals of an Abiding Liberal" +% +The San Diego Freeway. Official Parking Lot of the 1984 Olympics! +% +The savior becomes the victim. +% +The scene: in a vast, painted desert, a cowboy faces his horse. + +Cowboy: "Well, you've been a pretty good hoss, I guess. Hardworkin'. + Not the fastest critter I ever come acrost, but..." + +Horse: "No, stupid, not feed*back*. I said I wanted a feed*bag*. +% +The Schwine-Kitzenger Institute study of 47 men over the age of 100 +showed that all had these things in common: + + 1) They all had moderate appetites. + 2) They all came from middle class homes. + 3) All but two of them were dead. +% +The search for the perfect martini is a fraud. The perfect martini is +a belt of gin from the bottle; anything else is the decadent trappings +of civilization. + -- T.K. +% +The second best policy is dishonesty. +% +The Second Law of Thermodynamics: + If you think things are in a mess now, just wait! + -- Jim Warner +% +The secret of happiness is total disregard of everybody. +% +The secret of healthy hitchhiking is to eat junk food. +% +The secret of success is sincerity. Once you can fake that, +you've got it made. + -- Jean Giraudoux +% +The secret source of humor is not joy but sorrow; +there is no humor in Heaven. + -- Mark Twain +% +The sendmail configuration file is one of those files that looks like someone +beat their head on the keyboard. After working with it... I can see why! + -- Harry Skelton +% +The seven eyes of Ningauble the Wizard floated back to his hood as he +reported to Fafhrd: "I have seen much, yet cannot explain all. The Gray +Mouser is exactly twenty-five feet below the deepest cellar in the palace +of Gilpkerio Kistomerces. Even though twenty-four parts in twenty-five of +him are dead, he is alive. + Now about Lankhmar. She's been invaded, her walls breached +everywhere and desperate fighting is going on in the streets, by a fierce +host which out-numbers Lankhamar's inhabitants by fifty to one -- and +equipped with all modern weapons. Yet you can save the city." + "How?" demanded Fafhrd. + Ningauble shrugged. "You're a hero. You should know." + -- Fritz Leiber, "The Swords of Lankhmar" +% +The seven year itch comes from fooling around during the fourth, fifth, +and sixth years. +% +The sheep died in the wool. +% +The shifts of Fortune test the reliability of friends. + -- Marcus Tullius Cicero +% +The shortest distance between any two puns is a straight line. +% +The shortest distance between two points is under construction. + -- Noelie Altito +% +The Shuttle is now going five times the sound of speed. + -- Dan Rather, first landing of Columbia +% +The six great gifts of an Irish girl are beauty, soft +voice, sweet speech, wisdom, needlework, and chastity. + -- Theodore Roosevelt, 1907 +% +The sixth shiek's sixth sheep's sick. + -- [just say that five times...] +% +The sky is blue so we know where to stop mowing. + -- Judge Harold T. Stone +% +The smallest worm will turn being trodden on. + -- William Shakespeare, "Henry VI" +% +The smiling Spring comes in rejoicing, +And surly Winter grimly flies. +Now crystal clear are the falling waters, +And bonnie blue are the sunny skies. +Fresh o'er the mountains breaks forth the morning, +The ev'ning gilds the oceans's swell: +All creatures joy in the sun's returning, +And I rejoice in my bonnie Bell. + +The flowery Spring leads sunny Summer, +The yellow Autumn presses near; +Then in his turn come gloomy Winter, +Till smiling Spring again appear. +Thus seasons dancing, life advancing, +Old Time and Nature their changes tell; +But never ranging, still unchanging, +I adore my bonnie Bell. + -- Robert Burns, "My Bonnie Bell" +% +The so-called "desktop metaphor" of today's workstations is instead an +"airplane-seat" metaphor. Anyone who has shuffled a lap full of papers +while seated between two portly passengers will recognize the difference -- +one can see only a very few things at once. + -- Fred Brooks +% +The so-called lessons of history are for the most part the +rationalizations of the victors. History is written by the survivors. + -- Max Lerner +% +The society which scorns excellence in plumbing as a humble activity and +tolerates shoddiness in philosophy because it is an exalted activity will +have neither good plumbing nor good philosophy... neither its pipes nor +its theories will hold water. +% +The soldier came knocking upon the queen's door +He said, "I am not fighting for you anymore" +The queen knew she had seen his face someplace before +And slowly she let him inside. + +He said, "I see you now, and you're so very young +But I've seen more battles lost than I have battles won +And I have this intuition that it's all for your fun +And now will you tell me why?" + -- Suzanne Vega, "The Queen and The Soldier" +% +The solution of problems is the most characteristic +and peculiar sort of voluntary thinking. + -- William James +% +The solution of this problem is trivial +and is left as an exercise for the reader. +% +The solution to a problem changes the nature of the problem. + -- Peer +% +The somewhat old and crusty vicar was taking a well-earned retirement from +his rather old and crusty parish. As is usual in these cases, a locum was +sent to cover the transition period. This particular man was young and +active, and had the strange notion that church should also be avtive and +exciting. As a consequence he was more than a little dissapointed with the +dull and tradition-bound church. He decided to do something about it. + For his first Sunday, he didn't wear the traditional robes and +vestments, but lead the service wearing a nice 2-piece suit. The congregation +was horrified! He changed the order of the service. The congregation was +horrified! Then came the children's lesson. + For this he came out of the pulpit, and sat on the communion table. +The congregation was mortified! He sat there swinging his legs against +the table as the children gathered around him. + He asked the children, "What's small, brown, furry and eats nuts?" + There was total silence. + He asked again, "What's small, brown, furry and eats nuts?" + Total silence. + Eventually, one timid youngster put up his hand and said, "Please, +sir, I know the answer is Jesus, but it sure sounds like a squirrel to me." +% +The sooner all the animals are dead, the sooner we'll find their money. + -- Ed Bluestone, The National Lampoon +% +The sooner all the animals are extinct, the sooner we'll find their money. + -- Ed Bluestone +% +The sooner you fall behind, the more time you have to catch up. +% +The soul would have no rainbow had the eyes no tears. +% +The sounds of the nouns are mostly unbound. +In town a noun might wear a gown, +or further down, might dress a clown. +A noun that's sound would never clown, +but unsound nouns jump up and down. +The sound of a noun could distrub the plowing, +and then, my dear, you'd be put in the pound. +But please don't let that get you down, +the renown of your gown is the talk of the town. + -- A. Nonnie Mouse +% +The Soviet Union, which has complained recently about alleged anti-Soviet +themes in American advertising, lodged an official protest this week +against the Ford Motor Company's new campaign: "Hey you stinking, fat +Russian, get off my Ford Escort." + -- Dennis Miller +% +The speed of anything depends on the flow of everything. +% +The spirit of Plato dies hard. We have been unable to escape the +philosophical tradition that what we can see and measure in the world +is merely the superficial and imperfect representation of an underlying +reality. + -- S.J. Gould, "The Mismeasure of Man" +% +The star of riches is shining upon you. +% +The startling truth finally became apparent, and it was this: Numbers +written on restaurant checks within the confines of restaurants do not +follow the same mathematical laws as numbers written on any other pieces +of paper in any other parts of the Universe. This single statement took +the scientific world by storm. So many mathematical conferences got held +in such good restaurants that many of the finest minds of a generation +died of obesity and heart failure, and the science of mathematics was put +back by years. + -- Douglas Adams +% +The state of innocence contains the germs of all future sin. + -- Alexandre Arnoux, "Etudes et caprices" +% +The steady state of disks is full. + -- Ken Thompson +% +The story of the butterfly: + "I was in Bogota and waiting for a lady friend. I was in love, +a long time ago. I waited three days. I was hungry but could not go +out for food, lest she come and I not be there to greet her. Then, on +the third day, I heard a knock." + "I hurried along the old passage and there, in the sunlight, +there was nothing." + "Just," Vance Joy said, "a butterfly, flying away." + -- Peter Carey, BLISS +% +The story you are about to hear is true. +Only the names have been changed to protect the innocent. +% +The street preacher looked so baffled +When I asked him why he dressed +With forty pounds of headlines +Stapled to his chest. +But he cursed me when I proved to him +I said, "Not even you can hide. +You see, you're just like me. +I hope you're satisfied." + -- Bob Dylan +% +The streets were dark with something more than night. + -- Raymond Chandler +% +The strong give up and move away, while the weak give up and stay. +% +The strong give up and move on, while the weak give up and stay. +% +The strong individual loves the earth so much he lusts for recurrence. He +can smile in the face of the most terrible thought: meaningless, aimless +existance recurring eternally. The second characteristic of such a man is +that he has the strength to recognise -- and to live with the recognition -- +that the world is valueless in itself and that all values are human ones. +He creates himself by fashoning his own values; he has the pride to live +by the values he wills. + -- Nietzsche +% +The sudden sight of me causes panic in the streets. They have +yet to learn - only the savage fears what he does not understand. + -- The Silver Surfer +% +The sum of the intelligence of the world is constant. +The population is, of course, growing. +% +The sun never sets on those who ride into it. + -- RKO +% +The sun was shining on the sea, +Shining with all his might: +He did his very best to make +The billows smooth and bright -- +And this was very odd, because it was +The middle of the night. + -- Lewis Carroll +% +The sunlights differ, but there is only one darkness. + -- Ursula K. LeGuin, "The Dispossessed" +% +The superfluous is very necessary. + -- Voltaire +% +The superior man understands what is right; +the inferior man understands what will sell. + -- Confucius +% +The superpowers often behave like two heavily armed blind men feeling their +way around a room, each believing himself in mortal peril from the other, +whom he assumes to have perfect vision. Each tends to ascribe to the other +side a consistency, foresight and coherence that its own experience belies. +Of course, even two blind men can do enormous damage to each other, not to +speak of the room. + -- Henry Kissinger +% +The Supreme Court does it with all deliberate speed. +% +The surest sign that a man is in love is when he divorces his wife. +% +The surest way to corrupt a youth is to instruct him to hold in higher +esteem those who think alike than those who think differently. + -- Nietzsche +% +The surest way to remain a winner is to +win once, and then not play any more. +% +The sweeter the apple, the blacker the core -- +Scratch a lover and find a foe! + -- Dorothy Parker, "Ballad of a Great Weariness" +% +The system was down for backups from 5am to 10am last Saturday. +% +The system will be down for 10 days for preventative maintenance. +% +The Tao doesn't take sides; +it gives birth to both wins and losses. +The Guru doesn't take sides; +she welcomes both hackers and lusers. + +The Tao is like a stack: +the data changes but not the structure. +the more you use it, the deeper it becomes; +the more you talk of it, the less you understand. + +Hold on to the root. +% +The Tao is like a glob pattern: +used but never used up. +It is like the extern void: +filled with infinite possibilities. + +It is masked but always present. +I don't know who built to it. +It came before the first kernel. +% +The tao that can be tar(1)ed +is not the entire Tao. +The path that can be specified +is not the Full Path. + +We declare the names +of all variables and functions. +Yet the Tao has no type specifier. + +Dynamically binding, you realize the magic. +Statically binding, you see only the hierarchy. + +Yet magic and hierarchy +arise from the same source, +and this source has a null pointer. + +Reference the NULL within NULL, +it is the gateway to all wizardry. +% +The telephone is a good way to talk to people without having to offer +them a drink. + -- Fran Lebowitz, "Interview" +% +The temperature of Heaven can be rather accurately computed from available +data. Our authority is Isaiah 30:26, "Moreover, the light of the Moon +shall be as the light of the Sun and the light of the Sun shall be sevenfold, +as the light of seven days." Thus Heaven receives from the Moon as much +radiation as we do from the Sun, and in addition seven times seven (49) times +as much as the Earth does from the Sun, or fifty times in all. The light we +receive from the Moon is one ten-thousandth of the light we receive from the +Sun, so we can ignore that. With these data we can compute the temperature +of Heaven. The radiation falling on Heaven will heat it to the point where +the heat lost by radiation is just equal to the heat received by radiation, +i.e., Heaven loses fifty times as much heat as the Earth by radiation. Using +the Stefan-Boltzmann law for radiation, (H/E)^4 = 50, where E is the absolute +temperature of the earth (-300K), gives H as 798K (525C). The exact +temperature of Hell cannot be computed, but it must be less than 444.6C, the +temperature at which brimstone or sulphur changes from a liquid to a gas. +Revelations 21:8 says "But the fearful, and unbelieving ... shall have their +part in the lake which burneth with fire and brimstone." A lake of molten +brimstone means that its temperature must be at or below the boiling point, +or 444.6C (Above this point it would be a vapor, not a lake.) We have, +then, that Heaven, at 525C is hotter than Hell at 445C. + -- "Applied Optics", vol. 11, A14, 1972 +% +The temperature of the aqueous content of an unremittingly ogled +culinary vessel will not achieve 100 degrees on the Celsius scale. +% +The Ten Commandments for Technicians: + 1: Beware the lightening that lurketh in the undischarged + capacitor, lest it cause thee to bounce upon thy buttocks in a + most untechnician-like manner. + + 7: Work thou not on energized equipment, for if thou dost, thy + fellow workers will surely buy beers for thy widow and console + her in other ways. +% +The term "fire" brings up visions of violence and mayhem and the ugly scene +of shooting employees who make mistakes. We will now refer to this process +as "deleting" an employee (much as a file is deleted from a disk). The +employee is simply there one instant, and gone the next. All the terrible +temper tantrums, crying, and threats are eliminated. + -- Kenny's Korner +% +The test of a first-rate intelligence is the ability to hold two opposed +ideas in the mind at the same time and still retain the ability to function. + -- F. Scott Fitzgerald +% +The test of intelligent tinkering is to save all the parts. + -- Aldo Leopold +% +The thing that takes up the least amount of time +and causes the most amount of trouble is sex. +% +The things that interest people most are usually none of their business. +% +The Third Law of Photography: + If you did manage to get any good shots, they will be ruined + when someone inadvertently opens the darkroom door and all of + the dark leaks out. +% +The thought of being President fightens me and I do not think I +want the job. + -- Ronald Reagan in 1973 + +Reagan won because he ran against Jimmy Carter. Had he run unopposed he +would have lost. + -- Mort Sahl + +Ronald Reagan is a triumph of the embalmer's art. + -- Gore Vidal + +Ronald Reagan's platform seems to be: Hey, I'm a big good-looking guy and +I need a lot of sleep. + -- Roy G. Blount, Jr. + +You've got to be careful quoting Ronald Reagan, because when you quote him +accurately it's called mudslinging. + -- Walter Mondale +% +The Thought Police are here. They've come +To put you under cardiac arrest. +And as they drag you through the door +They tell you that you've failed the test. + -- Buggles, "Living in the Plastic Age" +% +The three best things about going to school are June, July, and August. +% +The three biggest software lies: + + 1: *Of course* we'll give you a copy of the source. + 2: *Of course* the third party vendor we bought that from + will fix the microcode. + 3: Beta test site? No, *of course* you're not a beta test site. +% +The three laws of thermodynamics: + (1) You can't get anything without working for it. + (2) The most you can accomplish by working is to break even. + (3) You can only break even at absolute zero. +% +THE THREE MOST COMMONLY-ASKED QUESTIONS AT DISNEYLAND: + +1) Where's the bathroom? +2) What time does the parade start? +3) Do you sell anything without that damn mouse on it? +% +The three questions of greatest concern are -- 1. Is it attractive? +2. Is it amusing? 3. Does it know its place? + -- Fran Lebowitz, "Metropolitan Life" +% +The three rules of international air travel: + +(1) Never fly on Aeroflot if you can possibly avoid it (this used + to be Braniff or Aeroflot). +(2) Never bet a whole lot of money on two little pairs unless you + know *exactly* what you're doing. +(3) Never sleep with anyone whose troubles are worse than your own. +% +The thrill is here, but it won't last long +You'd better have your fun before it moves along... +% +The time for action is past! +Now is the time for senseless bickering. +% +The time is right to make new friends. +% +The time spent on any item of the agenda [of a finance +committee] will be in inverse proportion to the sum involved. + -- C.N. Parkinson +% +The time was the 19th of May, 1780. The place was Hartford, Connecticut. +The day has gone down in New England history as a terrible foretaste of +Judgement Day. For at noon the skies turned from blue to grey and by +mid-afternoon had blackened over so densely that, in that religious age, +men fell on their knees and begged a final blessing before the end came. +The Connecticut House of Representatives was in session. And, as some of +the men fell down and others clamored for an immediate adjournment, the +Speaker of the House, one Col. Davenport, came to his feet. He silenced +them and said these words: "The day of judgment is either approaching or +it is not. If it is not, there is no cause for adjournment. If it is, I +choose to be found doing my duty. I wish therefore that candles may be +brought." + -- Alistair Cooke +% +The tree in which the sap is stagnant remains fruitless. + -- Hosea Ballou +% +The Tree of Learning bears the noblest fruit, but noble fruit tastes bad. +% +The tree of research must from time to time +be refreshed with the blood of bean counters. + -- Alan Kay +% +The trouble is, there is an endless supply of White Men, +but there has always been a limited number of Human Beings. + -- Little Big Man +% +The trouble with a lot of self-made men is that they worship their creator. +% +The trouble with being poor is that it takes up all your time. +% +The trouble with being punctual is that people +think you have nothing more important to do. +% +The trouble with computers is that they do +what you tell them, not what you want. + -- D. Cohen +% +The trouble with doing something right the first +time is that nobody appreciates how difficult it was. +% +The trouble with eating Italian food is that +five or six days later you're hungry again. + -- George Miller +% +The trouble with heart disease is that the first +symptom is often hard to deal with: death. + -- Michael Phelps +% +The trouble with incest is that it gets you involved with relatives. + -- George S. Kaufman +% +The trouble with money is it costs too much! +% +The trouble with opportunity is that it +always comes disguised as hard work. + -- Herbert V. Prochnow +% +The trouble with some women is that they get +all excited about nothing -- and then marry him. + -- Cher +% +The trouble with telling a good story is that it invariably reminds +the other fellow of a dull one. + -- Sid Caesar +% +The trouble with the rat-race is that even if you win, you're still a rat. + -- Lily Tomlin +% +The trouble with this country is that there are too many politicians +who believe, with a conviction based on experience, that you can fool +all of the people all of the time. + -- Franklin Adams +% +The trouble with you +Is the trouble with me. +Got two good eyes +But we still don't see. + -- Robert Hunter, "Workingman's Dead" +% +The true way goes over a rope which is not stretched at any great +height but just above the ground. It seems more designed to make +people stumble than to be walked upon. + -- Franz Kafka +% +The truth about a man lies first and foremost in what he hides. + -- Andre Malraux +% +The truth is rarely pure, and never simple. + -- Oscar Wilde +% +The truth of a proposition has nothing to do with its credibility. +And vice versa. +% +The truth of a thing is the feel of it, not the think of it. + -- Stanley Kubrick +% +The Truth Shall Rape You Over. + -- Caltech +% +The truth you speak has no past and no future. +It is, and that's all it needs to be. +% +The turtle lives 'twixt plated decks +Which practically conceal its sex. +I think it clever of the turtle +In such a fix to be so fertile. + -- O. Nash +% +The two most beautiful words in the English language are "Cheque Enclosed." + -- Dorothy Parker +% +The two most common things in the universe are hydrogen and stupidity. +% +The two most common things in the Universe are hydrogen and stupidity. + -- Harlan Ellison +% +The two oldest professions in the world have been ruined by amateurs. + -- G.B. Shaw +% +The two party system ... is a triumph of the dialectic. It showed that +two could be one and one could be two and had probably been fabricated +by Hegel for the American market on a subcontract from General Dynamics. + -- I.F. Stone +% +The two things that can get you into trouble +quicker than anything else are fast women and slow horses. +% +The typewriting machine, when played with expression, is no more +annoying than the piano when played by a sister or near relation. + -- Oscar Wilde +% +The, uh, snowy mountains are like really cold, eh? +And the, um, plains stretch out like my moms girdle, eh? +There's lotsa beers and doughnuts for everyone, eh? +So the last one to be peaceful and everything is a big idiot, +Eh? +So shut yer face up and dry yer mucklucks by the fire, eh? +And dream about girls with their high beams on, eh? +They may be cold, but that's okay! Beer's better that way! +Eh? + -- A, like, Tribute to the Great White North, eh? +Beauty! +% +The ultimate game show will be the one +where somebody gets killed at the end. + -- Chuck Barris, creator of "The Gong Show" +% +The unfacts, did we have them, are too +imprecisely few to warrant out certitude. +% +The United States Army; 194 years of proud service, unhampered by progress. +% +The universe is all a spin-off of the Big Bang. +% +The universe is an island, +surrounded by whatever it is that surrounds universes. +% +The universe is laughing behind your back. +% +The Universe is populated by stable things. + -- Richard Dawkins +% +The universe is ruled by letting things take their course. +It cannot be ruled by interfering. + -- Chinese proverb +% +The universe seems neither benign nor hostile, merely indifferent. + -- Sagan +% +The University of California Bears announced the signing of Reggie +Philbin to a letter of intent to attend Cal next Fall. Philbin is +said to make up for no talent by cheating well. Says Philbin of +his decision to attend Cal, "I'm in it for the free ride." +% +The University of California Statistics Department; where mean is normal, +and deviation standard. +% +The UNIX philosophy basically involves giving you enough rope to +hang yourself. And then a couple of feet more, just to be sure. +% +The urge to gamble is so universal and its practice so pleasurable +that I assume it must be evil. + -- Heywood Broun +% +The USA is so enormous, and so numerous are its schools, colleges and +religious seminaries, many devoted to special religious beliefs ranging +from the unorthodox to the dotty, that we can hardly wonder at its +yielding a more bounteous harvest of gobbledegook than the rest of the +world put together. + -- Sir Peter Medawar +% +The use of anthropomorphic terminology when dealing with computing systems +is a symptom of professional immaturity. + -- Edsger W. Dijkstra +% +The use of COBOL cripples the mind; its teaching should, therefore, be +regarded as a criminal offence. + -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5 +% +The use of COBOL cripples the mind; +its teaching should, therefore, be regarded as a criminal offense. + -- Edsger W. Dijkstra +% +The use of money is all the advantage there is to having money. + -- B. Franklin +% +The value of a program is proportional to the weight of its output. +% +The very first essential for success is a perpetually +constant and regular employment of violence. + -- Adolph Hitler, "Mein Kampf" +% +The very powerful and the very stupid have one thing in common. Instead of +altering their views to fit the facts, they alter the facts to fit their +views ... which can be very uncomfortable if you happen to be one of the +facts that needs altering. + -- Doctor Who, "Face of Evil" +% +The very remembrance of my former misfortune proves a new one to me. + -- Miguel de Cervantes +% +The Vet Who Surprised A Cow + In the course of his duties in August 1977, a Dutch veterinary +surgeon was required to treat an ailing cow. To investigate its internal +gases he inserted a tube into that end of the animal not capable of facial +expression and struck a match. The jet of flame set fire first to some +bales of hay and then to the whole farm causing damage estimate at L45,000. +The vet was later fined L140 for starting a fire in a manner surprising to +the magistrates. The cow escaped with shock. + -- Stephen Pile, "The Book of Heroic Failures" +% +The VFW represents many who died to give this country a second chance +to make it what it is supposed to be -- God's guest house on earth. + -- John Wayne +% +The volume of paper expands to fill the available briefcases. + -- Jerry Brown +% +The voluptuous blond was chatting with her handsome escort in a posh +restaurant when their waiter, stumbling as he brought their drinks, +dumped a martini on the rocks down the back of the blonde's dress. She +sprang to her feet with a wild rebel yell, dashed wildly around the table, +then galloped wriggling from the room followed by her distraught boyfriend. +A man seated on the other side of the room with a date of his own beckoned +to the waiter and said, "We'll have two of whatever she was drinking." +% +The wages of sin are unreported. +% +The War on Drugs is just a small part of the War on the United States +Constitution. +% +The warning message we sent the Russians was a +calculated ambiguity that would be clearly understood. + -- Alexander Haig +% +The water was not fit to drink. +To make it palatable, we had to add whiskey. +By diligent effort, I learned to like it. + -- W. Churchill +% +The way I understand it, the Russians are sort of a combination of evil and +incompetence... sort of like the Post Office with tanks. + -- Emo Philips +% +The way of the world is to praise dead saints and prosecute live ones. + -- Nathaniel Howe +% +The way some people find fault, you'd think there was some kind of reward. +% +The way to a man's heart is through his +wife's belly, and don't you forget it. + -- Edward Albee, "Who's Afraid of Virginia Woolf?" +% +The way to a man's heart is through the left ventricle. +% +The way to a man's stomach is through his esophagus. +% +The way to fight a woman is with your hat. Grab it and run. +% +The way to love anything is to realize that it might be lost. +% +The way to make a small fortune in the +commodities market is to start with a large fortune. +% +The weather is here. Wish you were beautiful. +% +The weather is here, I wish you were beautiful. +My thoughts aren't too clear, but don't run away. +My girlfriend's a bore; my job is too dutiful. +Hell nobody's perfect, would you like to play? +I feel together today! + -- Jimmy Buffet, "Coconut Telegraph" +% +The weed of crime bears bitter fruit. +% +The weed of crime bears bitter fruit... +but the leaves are good to smoke! + -- The Shadow +% +The white race is the cancer of history. + -- Susan Sontag +% +The whole earth is in jail and we're plotting this incredible jailbreak. + -- Wavy Gravy +% +The whole of life is futile unless you +consider it as a sporting proposition. +% +The whole world is a scab. The point is to pick it constructively. + -- Peter Beard +% +The whole world is a tuxedo and you are a pair of brown shoes. + -- George Gobel +% +The whole world is about three drinks behind. + -- Humphrey Bogart +% +The wise and intelligent are coming belatedly to realize that alcohol, and +not the dog, is man's best friend. Rover is taking a beating -- and he +should. + -- W.C. Fields +% +The wise man seeks everything in himself; +the ignorant man tries to get everything from somebody else. +% +The wise shepherd never trusts his flock to a smiling wolf. +% +The woman hurried home from her doctor's appointment, devastated by the +medical report she had just received. When her husband came in from work, +she told him, "Darling, the doctor said I have only twelve more hours to +live. So I've decided I want to go to bed and make passionate love to you +throughout the night. How does that sound, dearest?" + "Hey, that's fine for *you*," replied the husband. "You don't have +to get up in the morning!" +% +The wonderful thing about a dancing bear +is not how well he dances, but that he dances at all. +% +The work [of software development] is becoming far easier (i.e. the tools +we're using work at a higher level, more removed from machine, peripheral +and operating system imperatives) than it was twenty years ago, and because +of this, knowledge of the internals of a system may become less accessible. +We may be able to dig deeper holes, but unless we know how to build taller +ladders, we had best hope that it does not rain much. + -- Paul Licker +% +The world has many unintentionally cruel mechanisms that are not +designed for people who walk on their hands. + -- John Irving, "The World According to Garp" +% +The world is a comedy to those who think, +and a tragedy to those who feel. + -- Horace Walpole +% +The world is coming to an end... SAVE YOUR BUFFERS!! +% +The world is coming to an end! +Repent and return those library books! +% +The world is full of people who have never, since +childhood, met an open doorway with an open mind. + -- E.B. White +% +The world is moving so fast these days that the man who says +it can't be done is generally interrupted by someone doing it. + -- E. Hubbard +% +The world is not octal despite DEC. +% +The world is your exercise-book, the pages on which you do your sums. +It is not reality, although you can express reality there if you wish. +You are also free to write nonsense, or lies, or to tear the pages. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +The world needs more people like us and fewer like them. +% +The world really isn't any worse. +It's just that the news coverage is so much better. +% +The world wants to be deceived. + -- Sebastian Brant +% +The world will end in 5 minutes. Please log out. +% +The world's as ugly as sin, +And almost as delightful + -- Frederick Locker-Lampson +% +The world's great men have not commonly been great scholars, +nor its great scholars great men. + -- Oliver Wendell Holmes +% +The Worst American Poet + Julia Moore, "the Sweet Singer of Michigan" (1847-1920) was so bad that +Mark Twain said her first book gave him joy for 20 years. + Her verse was mainly concerned with violent death -- the great fire +of Chicago and the yellow fever epidemic proved natural subjects for her +pen. + Whether death was by drowning, by fits or by runaway sleigh, the +formula was the same: + Have you heard of the dreadful fate + Of Mr. P.P. Bliss and wife? + Of their death I will relate, + And also others lost their life + (in the) Ashbula Bridge disaster, + Where so many people died. + Even if you started out reasonably healthy in one of Julia's poems, +the chances are that after a few stanzas you would be at the bottom of a +river or struck by lightning. A critic of the day said she was "worse than +a Gatling gun" and in one slim volume counted 21 killed and 9 wounded. + Incredibly, some newspapers were critical of her work, even +suggesting that the sweet singer was "semi-literate". Her reply was +forthright: "The Editors that has spoken in this scandalous manner have went +beyond reason." She added that "literary work is very difficult to do". + -- Stephen Pile, "The Book of Heroic Failures" +% +THE WORST ANIMAL RESCUE + +During the firemen's strike of 1978, the British Army had taken over +emergency firefighting and on 14 January they were called out by an +elderly lady in South London to retrieve her cat which had become trapped +up a tree. They arrived with impressive haste and soon discharged their +duty. So grateful was the lady that she invited them all in for tea. +Driving off later, with fond farewells completed, they ran over the cat +and killed it. + -- Stephen Pile, "The Book of Heroic Failures" +% +THE WORST BANK ROBBERY + +In August 1975 three men were on their way in to rob the Royal Bank of +Scotland at Rothesay, when they got stuck in the revolving doors. They +had to be helped free by the staff and, after thanking everyone, +sheepishly left the building. +A few minutes later they returned and announced their intention of +robbing the bank, but none of the staff believed them. When they demanded +5,000 pounds in cash, the head cashier laughed at them, convinced that it +was a practical joke. +Then one of the men jumped over the counter, but fell to the floor +clutching his ankle. The other two tried to make their getaway, but got +trapped in the revolving doors again. +% +The Worst Car Hire Service + When David Schwartz left university in 1972, he set up Rent-a-wreck +as a joke. Being a natural prankster, he acquired a fleet of beat-up +shabby, wreckages waiting for the scrap heap in California. + He put on a cap and looked forward to watching people's faces as he +conducted them round the choice of bumperless, dented junkmobiles. + To his lasting surprise there was an insatiable demand for them and +he now has 26 thriving branches all over America. "People like driving +round in the worst cars available," he said. Of course they do. + "If a driver damages the side of a car and is honest enough to +admit it, I tell him, `Forget it'. If they bring a car back late we +overlook it. If they've had a crash and it doesn't involve another vehicle +we might overlook that too." + "Where's the ashtray?" asked on Los Angeles wife, as she settled +into the ripped interior. "Honey," said her husband, "the whole car's the +ash tray." + -- Stephen Pile, "The Book of Heroic Failures" +% +The worst cliques are those which consist of one man. + -- G.B. Shaw +% +THE WORST HOMING PIGEON + +This historic bird was released in Pembrokeshire in June 1953 and was +expected to reach its base that evening. It was returned by post, dead, +in a cardboard box eleven years later from Brazil. + -- Stephen Pile, "The Book of Heroic Failures" +% +The worst is enemy of the bad. +% +The worst is not so long as we can say "This is the worst." + -- King Lear +% +The Worst Jury + A murder trial at Manitoba in February 1978 was well advanced, when +one juror revealed that he was completely deaf and did not have the +remotest clue what was happening. + The judge, Mr. Justice Solomon, asked him if he had heard any +evidence at all and, when there was no reply, dismissed him. + The excitement which this caused was only equalled when a second +juror revealed that he spoke not a word of English. A fluent French +speaker, he exhibited great surprised when told, after two days, that he +was hearing a murder trial. + The trial was abandoned when a third juror said that he suffered +from both conditions, being simultaneously unversed in the English language +and nearly as deaf as the first juror. + The judge ordered a retrial. + -- Stephen Pile, "The Book of Heroic Failures" +% +The Worst Lines of Verse +For a start, we can rule out James Grainger's promising line: + "Come, muse, let us sing of rats." +Grainger (1721-67) did not have the courage of his convictions and deleted +these words on discovering that his listeners dissolved into spontaneous +laughter the instant they were read out. + No such reluctance afflicted Adam Lindsay Gordon (1833-70) who was +inspired by the subject of war. + "Flash! flash! bang! bang! and we blazed away, + And the grey roof reddened and rang; + Flash! flash! and I felt his bullet flay + The tip of my ear. Flash! bang!" +By contrast, Cheshire cheese provoked John Armstrong (1709-79): + "... that which Cestria sends, tenacious paste of solid milk..." +While John Bidlake was guided by a compassion for vegetables: + "The sluggard carrot sleeps his day in bed, + The crippled pea alone that cannot stand." +George Crabbe (1754-1832) wrote: + "And I was ask'd and authorized to go + To seek the firm of Clutterbuck and Co." +William Balmford explored the possibilities of religious verse: + "So 'tis with Christians, Nature being weak + While in this world, are liable to leak." +And William Wordsworth showed that he could do it if he really tried when +describing a pond: + "I've measured it from side to side; + Tis three feet long and two feet wide." + -- Stephen Pile, "The Book of Heroic Failures" +% +The Worst Musical Trio + There are few bad musicians who have a chance to give a recital at +a famous concert hall while still learning the rudiments of their +instrument. This happened about thirty years ago to the son of a Rumanian +gentleman who was owed a personal favour by Georges Enesco, the celebrated +violinist. Enesco agreed to give lessons to the son who was quite +unhampered by great musical talent. + Three years later the boy's father insisted that he give a public +concert. "His aunt said that nobody plays the violin better than he does. +A cousin heard him the other day and screamed with enthusiasm." Although +Enesco feared the consequences, he arranged a recital at the Salle Gaveau +in Paris. However, nobody bought a ticket since the soloist was unknown. + "Then you must accompany him on the piano," said the boy's father, +"and it will be a sell out." + Reluctantly, Enesco agreed and it was. On the night an excited +audience gathered. Before the concert began Enesco became nervous and +asked for someone to turn his pages. + In the audience was Alfred Cortot, the brilliant pianist, who +volunteered and made his way to the stage. + The soloist was of uniformly low standard and next morning the +music critic of Le Figaro wrote: "There was a strange concert at the Salle +Gaveau last night. The man whom we adore when he plays the violin played +the piano. Another whom we adore when he plays the piano turned the pages. +But the man who should have turned the pages played the violin." + -- Stephen Pile, "The Book of Heroic Failures" +% +The worst part of having success is trying +to find someone who is happy for you. + -- Bette Midler +% +The worst part of valor is indiscretion. +% +The Worst Prison Guards + The largest number of convicts ever to escape simultaneously from a +maximum security prison is 124. This record is held by Alcoente Prison, +near Lisbon in Portugal. + During the weeks leading up to the escape in July 1978 the prison +warders had noticed that attendances had fallen at film shows which +included "The Great Escape", and also that 220 knives and a huge quantity +of electric cable had disappeared. A guard explained, "Yes, we were +planning to look for them, but never got around to it." The warders had +not, however, noticed the gaping holes in the wall because they were +"covered with posters". Nor did they detect any of the spades, chisels, +water hoses and electric drills amassed by the inmates in large quantities. +The night before the breakout one guard had noticed that of the 36 +prisoners in his block only 13 were present. He said this was "normal" +because inmates sometimes missed roll-call or hid, but usually came back +the next morning. + "We only found out about the escape at 6:30 the next morning when +one of the prisoners told us," a warder said later. [...] When they +eventually checked, the prison guards found that exactly half of the gaol's +population was missing. By way of explanation the Justice Minister, Dr. +Santos Pais, claimed that the escape was "normal" and part of the +"legitimate desire of the prisoner to regain his liberty." + -- Stephen Pile, "The Book of Heroic Failures" +% +The worst sin towards our fellow creatures is not to hate them, +but to be indifferent to them; that's the essence of inhumanity. + -- G.B. Shaw +% +The worst thing about some men is that when they are not drunk they +are sober. + -- William Butler Yeats +% +The worst thing one can do is not to try, to be aware of what one +wants and not give in to it, to spend years in silent hurt wondering +if something could have materialized -- and never knowing. + -- David Viscott +% +The Wright Brothers weren't the first to fly. +They were just the first not to crash. +% +The yankees, son, are up north. +The damnyankees are down here. +% +The years of peak mental activity are undoubtedly between the ages of +four and eighteen. At four we know all the questions, at eighteen all +the answers. +% +The young Georgia miss came to the hospital for a checkup. + "Have you been X-rayed?" asked the doctor. + "Nope," she said, "but ah've been ultraviolated." +% +The young lady had an unusual list, +Linked in part to a structural weakness. +She set no preconditions. +% +The young man-about-town enjoyed luxury but didn't always have the means +to buy it, and so he huffily walked out of the Miami Beach hotel when he +found out the charges for room, meals and golf privileges were $300 a day. +He registered across the street at an equally elegant hotel, where the +rates were only $70. The following morning he went down to the hotel's +golf course and asked Scotty, the pro, to sell him a couple of golf balls. +"Sure," said Scotty. "That'll be $25 apiece." + "What?" screamed the bachelor. "In the hotel across the street +they only charge $1 a ball!" + "Naturally," replied the pro. "Over there they get you by the +rooms." +% +THEGODDESSOFTHENETHASTWISTINGFINGERSANDHERVOICEISLIKEAJAVALININTHENIGHTDUDE +% +Their idea of an offer you can't refuse is an offer... +and you'd better not refuse. +% +Them as has, gets. +% +Then, gently touching my face, she hesitated for a moment as her +incredible eyes poured forth into mine love, joy, pain, tragedy, +acceptance, and peace. "'Bye for now," she said warmly. + -- Thea Alexander, "2150 A.D." +% +Then there was LSD, which was supposed to make you think you could fly. +I remember it made you think you couldn't stand up, and mostly it was +right. + -- P.J. O'Rourke +% +Then there was the Formosan bartender named Taiwan-On. +% +Then there was the ScoutMaster who got a fantastic deal on this case of +Tates brand compasses for his troup; only $1.25 each! Only problem was, +when they got them out in the woods, the compasses were all stuck pointing +to the "W" on the dial. + +Moral: + He who has a Tates is lost! +% +"Then you admit confirming not denying you ever said that?" +"NO! ... I mean Yes! WHAT?" +"I'll put `maybe.'" + -- Bloom County +% +Theology is an attempt to explain a subject by men who do not understand +it. The intent is not to tell the truth but to satisfy the questioner. + -- Elbert Hubbard +% +Theorem: a cat has nine tails. +Proof: + No cat has eight tails. A cat has one tail more than no cat. + Therefore, a cat has nine tails. +% +Theorem: All positive integers are equal. +Proof: Sufficient to show that for any two positive integers, A and B, A = B. + Further, it is sufficient to show that for all N > 0, if A and B + (positive integers) satisfy (MAX(A, B) = N) then A = B. + +Proceed by induction: + If N = 1, then A and B, being positive integers, must both be 1. + So A = B. + +Assume that the theorem is true for some value k. Take A and B with + MAX(A, B) = k+1. Then MAX((A-1), (B-1)) = k. And hence + (A-1) = (B-1). Consequently, A = B. +% +Theorem: All programs are dull. + +Proof: Assume the contrary; i.e., the set of interesting programs is +nonempty. Arrange them (or it) in order of interest (note that all +sets can be well ordered, so do it properly). The minimal element is +the "least interesting program", the obvious dullness of which provides +the contradictory denouement we so devoutly seek. + -- Stan Kelly-Bootle, "The Devil's DP Dictionary" +% +THEORY: + System of ideas meant to explain something, chosen with a view to + originality, controversialism, incomprehensibility, and how good + it will look in print. +% +Theory is gray, but the golden tree of life is green. + -- Goethe +% +Theory of Selective Supervision: + The one time in the day that you lean back and relax is + the one time the boss walks through the office. +% +There appears before you a threatening figure clad all over in heavy black +armor. His legs seem like the massive trunk of the oak tree. His broad +shoulders and helmeted head loom high over your own puny frame and you +realize that his powerful arms could easily crush the very life from your +body. There hangs from his belt a veritable arsenal of deadly weapons: +sword, mace, ball and chain, dagger, lance, and trident. +He speaks with a commanding voice: + + "YOU SHALL NOT PASS" + +As he grabs you by the neck all grows dim about you. +% +There appears to be irrefutable evidence that +the mere fact of overcrowding induces violence. + -- Harvey Wheeler +% +There are a few things that never go out of style, +and a feminine woman is one of them. + -- Ralston +% +There are a lot of lies going around.... and half of them are true. + -- Winston Churchill +% +There are bad times just around the corner, +There are dark clouds hurtling through the sky +And it's no good whining +About a silver lining +For we know from experience that they won't roll by... + -- Noel Coward +% +There are few people more often in the wrong +than those who cannot endure to be thought so. +% +There are few virtues that the Poles do not possess -- +and there are few mistakes they have ever avoided. + -- W. Churchill, Parliament, August, 1945 +% +There are four kinds of homicide: felonious, +excusable, justifiable, and praiseworthy... + -- Ambrose Bierce +% +There are four stages to a marriage. First there's the affair, then there's +the marriage, then children and finally the fourth stage, without which you +cannot know a woman, the divorce. + -- Norman Mailer +% +There are in this country two very large monopolies. The larger of the +two has the following record: The Vietnam War, Watergate, double-digit +inflation, fuel and energy shortages, bankrupt airlines, and the 8-cent +postcard. The second is responsible for such things as the transistor, +the solar cell, lasers, synthetic crystals, high fidelity stereo recording, +sound motion pictures, radio astronomy, negative feedback, magnetic tape, +magnetic "bubbles", electronic switching systems, microwave radio and TV +relay systems, information theory, the first electrical digital computer, +and the first communications satellite. Guess which one is going to tell +the other how to run the telephone business? I can hardly wait for the +results. +% +There are many intelligent species in +the universe, and they all own cats. +% +There are many of us in this old world of ours who hold that things break +about even for all of us. I have observed, for example, that we all get +about the same amount of ice. The rich get it in the summer and the poor +get it in the winter. + -- Bat Masterson +% +There are many people today who literally do not have a close personal +friend. They may know something that we don't. They are probably +avoiding a great deal of pain. +% +There are more dead people than living, and their numbers are increasing. + -- Eugene Ionesco +% +There are more old drunkards than old doctors. +% +There are more things in heaven and earth than any place else. +% +There are more things in heaven and earth, +Horatio, than are dreamt of in your philosophy. + -- Hamlet +% +There are more ways of killing a cat than choking her with cream. +% +There are never any bugs you haven't found yet. +% +There are new messages. +% +There are no accidents whatsoever in the universe. + -- Baba Ram Dass +% +There are no answers, only cross-references. + -- Weiner +% +There are no emotional victims, only volunteers. +% +There are no great men, buster. There are only men. + -- Elaine Stewart, "The Bad and the Beautiful" +% +There are no great men, only great challenges that +ordinary men are forced by circumstances to meet. + -- Admiral William Halsey +% +There are no manifestos like cannon and musketry. + -- The Duke of Wellington +% +There are no physicists in the hottest parts of hell, because the existence +of a "hottest part" implies a temperature difference, and any marginally +competent physicist would immediately use this to run a heat engine and make +some other part of hell comfortably cool. This is obviously impossible. + -- Richard Davisson +% +There are no rules for March. March is spring, sort +of, usually, March means maybe, but don't bet on it. +% +There are no winners in life, only survivors. +% +There are only two kinds of men -- the dead and the deadly. + -- Helen Rowland +% +There are only two kinds of tequila. Good and better. +% +There are only two things in this world that I am sure of, death and +taxes, and we just might do something about death one of these days. + -- shades +% +There are people so addicted to exaggeration +that they can't tell the truth without lying. + -- Josh Billings +% +There are people who find it odd to eat four or five Chinese meals +in a row; in China, I often remind them, there are a billion or so +people who find nothing odd about it. + -- Calvin Trillin +% +There are places I'll remember +All my life though some have changed. +Some forever not for better +Some have gone and some remain. +All these places had their moments +With lovers and friends I still recall. +Some are dead and some are living, +In my life I've loved them all. + +But of all these friends and lovers, +There is no one compared with you, +All these memories lose their meaning +When I think of love as something new. +Though I know I'll never lose affection +For people and things that went before, +I know I'll often stop and think about them +In my life I'll love you more. + -- Lennon/McCartney, "In My Life", 1965 +% +There are running jobs. +Why don't you go chase them? +% +There are some micro-organisms that exhibit characteristics of both +plants and animals. When exposed to light they undergo photosynthesis; +and when the lights go out, they turn into animals. But then again, +don't we all. +% +There are strange things done in the midnight sun + By the men who moil for gold; +The Arctic trails have their secret tales + That would make your blood run cold; +The Northern Lights have seen queer sights, + But the queerest they ever did see +Was that night on the marge of Lake Lebarge + I cremated Sam McGee. + -- Robert W. Service +% +There are ten or twenty basic truths, and life +is the process of discovering them over and over and over. + -- David Nichols +% +There are those who claim that magic is like the tide; that it swells and +fades over the surface of the earth, collecting in concentrated pools here +and there, almost disappearing from other spots, leaving them parched for +wonder. There are also those who believe that if you stick your fingers up +your nose and blow, it will increase your intelligence. + -- The Teachings of Ebenezum, Volume VII +% +There are three kinds of lies: lies, damned lies and statistics. + -- Benjamin Disraeli +% +There are three kinds of people: men, women, and unix. +% +There are three possibilities: +Pioneer's solar panel has turned away from the sun; +there's a large meteor blocking transmission; +someone loaded Star Trek 3.2 into our video processor. +% +There are three possible parts to a date, of which at least two must be +offered: entertainment, food, and affection. It is customary to begin a +series of dates with a great deal of entertainment, a moderate amount of +food, and the merest suggestion of affection. As the amount of affection +increases, the entertainment can be reduced proportionately. When the +affection IS the entertainment, we no longer call it dating. Under no +circumstances can the food be omitted. + -- Miss Manners' Guide to Excruciatingly Correct Behaviour +% +There are three reasons for becoming a writer: the first is that you need +the money; the second that you have something to say that you think the +world should know; the third is that you can't think what to do with the +long winter evenings. + -- Quentin Crisp +% +There are three rules for writing a novel. +Unfortunately, no one knows what they are. + -- Maugham +% +There are three schools of magic. One: State a tautology, then ring the +changes on its corollaries; that's philosophy. Two: Record many facts. +Try to find a pattern. Then make a wrong guess at the next fact; that's +science. Three: Be aware that you live in a malevolent Universe controlled +by Murphy's Law, sometimes offset by Brewster's Factor; that's engineering. +% +There are three things I always forget. Names, faces -- the third I +can't remember. + -- Italo Svevo +% +There are three things I have always loved +and never understood -- art, music, and women. +% +There are three things men can do with women: +love them, suffer for them, or turn them into literature. + -- Stephen Stills +% +There are three ways to get something done: + + 1: Do it yourself. + 2: Hire someone to do it for you. + 3: Forbid your kids to do it. +% +There are three ways to get something done: +do it yourself, hire someone, or forbid your kids to do it. +% +There are twenty-five people left in the world, +and twenty-seven of them are hamburgers. + -- Ed Sanders +% +There are two jazz musicians who are great buddies. They hang out and play +together for years, virtually inseparable. Unfortunately, one of them is +struck by a truck and killed. About a week later his friend wakes up in +the middle of the night with a start because he can feel a presence in the +room. He calls out, "Who's there? Who's there? What's going on?" + "It's me -- Bob," replies a faraway voice. + Excitedly he sits up in bed. "Bob! Bob! Is that you? Where are +you?" + "Well," says the voice, "I'm in heaven now." + "Heaven! You're in heaven! That's wonderful! What's it like?" + "It's great, man. I gotta tell you, I'm jamming up here every day. +I'm playing with Bird, and 'Trane, and Count Basie drops in all the time! +Man it is smokin'!" + "Oh, wow!" says his friend. "That sounds fantastic, tell me more, +tell me more!" + "Let me put it this way," continues the voice. "There's good news +and bad news. The good news is that these guys are in top form. I mean +I have *never* heard them sound better. They are *wailing* up here." + "The bad news is that God has this girlfriend that sings..." +% +There are two kinds of fool. One says, "This is old, and therefore good." +And one says, "This is new, and therefore better" + -- John Brunner, "The Shockwave Rider" +% +There are two kinds of pedestrians... the quick and the dead. + -- Lord Thomas Rober Dewar +% +There are two major products that come out of Berkeley: LSD and UNIX. +We don't believe this to be a coincidence. + -- Jeremy S. Anderson +% +There are two problems with a major hangover. You feel +like you are going to die and you're afraid that you won't. +% +There are two times when a man doesn't understand a woman -- before +marriage and after marriage. +% +There are two ways of constructing a software design. One way is to make +it so simple that there are obviously no deficiencies and the other is to +make it so complicated that there are no obvious deficiencies. + -- C.A.R. Hoare +% +There are two ways of disliking art. +One is to dislike it. +The other is to like it rationally. + -- Oscar Wilde +% +There are two ways of disliking poetry; +one way is to dislike it, the other is to read Pope. + -- Oscar Wilde +% +There are two ways to write error-free +programs; only the third one works. +% +There are very few personal problems that cannot be +solved through a suitable application of high explosives. +% +There are worse things in life than death. Have you ever spent an evening +with an insurance salesman? + -- Woody Allen +% +There be sober men a'plenty, and drunkards barely twenty; there are men +of over ninety who have never yet kissed a girl. But give me the rambling +rover, from Orkney down to Dover, we will roam the whole world over, and +together we'll face the world. + -- Andy Stewart, "After the Hush" +% +There but for the grace of God, goes God. + -- Winston Churchill, speaking of Sir Stafford Cripps. +% +There can be no daily democracy without daily citizenship. + -- Ralph Nader +% +There cannot be a crisis next week. My schedule is already full. + -- Henry Kissinger +% +There comes a time in the affairs of a man when he +has to take the bull by the tail and face the situation. + -- W.C. Fields +% +There comes a time to stop being angry. + -- A Small Circle of Friends +% +There exist tasks which cannot be done +by more than 10 men or fewer than 100. + -- Steele's Law +% +There goes the good time that was had by all. + -- Bette Davis, remarking on a passing starlet +% +There has also been some work to allow the interesting use of macro names. +For example, if you wanted all of your "creat()" calls to include read +permissions for everyone, you could say + + #define creat(file, mode) creat(file, mode | 0444) + + I would recommend against this kind of thing in general, since it +hides the changed semantics of "creat()" in a macro, potentially far away +from its uses. + To allow this use of macros, the preprocessor uses a process that +is worth describing, if for no other reason than that we get to use one of +the more amusing terms introduced into the C lexicon. While a macro is +being expanded, it is temporarily undefined, and any recurrence of the macro +name is "painted blue" -- I kid you not, this is the official terminology +-- so that in future scans of the text the macro will not be expanded +recursively. (I do not know why the color blue was chosen; I'm sure it +was the result of a long debate, spread over several meetings.) + -- From Ken Arnold's "C Advisor" column in Unix Review +% +There has been a little distress selling on the stock exchange. + -- Thomas W. Lamont, October 29, 1929 +% +There has been an alarming increase in the +number of things you know nothing about. +% +There is a 20% chance of tomorrow. +% +There is a building with four floors. On the first floor, there +is a convention of architects. On the second floor, there is a +vinyl manufacturing plant. On the third floor there is a fast food +stand, and on the fourth floor there is a library. + +Q: What would happen if a librarian traveled down in a small + elevator with one other person from each floor? +A: The elevator would be full. +% +There is a certain frame of mind to which a cemetery +is, if not an antidote, at least an alleviation. If +you are in a fit of the blues, go nowhere else. + --Robert Louis Stevenson: Immortelles +% +There is a certain impertinence in allowing oneself to be burned for an +opinion. + -- Anatole France +% +There is a fly on your nose. +% +There is a good deal of solemn cant about the common interests of capital +and labour. As matters stand, their only common interest is that of cutting +each other's throat. + -- Brooks Atkinson, "Once Around the Sun" +% +There is a great discovery still to be made in Literature: +that of paying literary men by the quantity they do NOT write. +% +There is a green, multi-legged creature crawling on your shoulder. +% +There is a limit to the admiration we may hold for a man who spends +his waking hours poking the contents of chickens with a stick. + -- Tom Robbins, "Jitterbug Perfume" +% +There is a new anti-communist organization that advocates the use of +wooden toilet seats. + +It's called the Birch John Society. +% +There is a road to freedom. Its milestones are Obedience, Endeavor, Honesty, +Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and love of the +Fatherland. + -- Adolf Hitler +% +There is a theory which states that if ever anyone discovers exactly +what the Universe is for and why it is here, it will instantly disappear +and be replaced by something even more bizarre and inexplicable. There +is another theory which states that this has already happened. + -- The Hitchhiker's Guide to the Galaxy +% +There is a time in the tides of men, +Which, taken at its flood, leads on to success. +On the other hand, don't count on it. + -- T.K. Lawson +% +There is a vast difference between the savage and civilized man, but it +is never apparent to their wives until after breakfast. + -- Helen Rowland +% +There is always more hell that needs raising. + -- Lauren Leveut +% +There is always one thing to remember: writers are always selling +somebody out. + -- Joan Didion, "Slouching Towards Bethlehem" +% +There is always someone worse off than yourself. +% +There is always something new out of Africa. + -- Gaius Plinius Secundus +% +There is an innocence in admiration; it is found in those to whom it +has not yet occurred that they, too, might be admired some day. + -- Friedrich Nietzsche +% +There is an old time toast which is golden for its beauty. +"When you ascend the hill of prosperity may you not meet a friend." + -- Mark Twain +% +There is brutality and there is honesty. +There is no such thing as brutal honesty. +% +There is grandeur in this view of life, with its several powers, +having been originally breathed into a few forms or into one; and that, +whilst this planet has gone cycling on according to the fixed law of +gravity, from so simple a beginning endless forms most beautiful and +most wonderful have been, and are being, evolved. + -- Darwin +% +There is hardly a thing in the world that some man can +not make a little worse and sell a little cheaper. +% +There is hopeful symbolism in the fact that flags do not wave in a vacuum. + -- Arthur C. Clarke +% +There is in certain living souls +A quality of loneliness unspeakable, +So great it must be shared +As company is shared by lesser beings. +Such a loneliness is mine; so know by this +That in immensity +There is one lonelier than you. +% +There is, in fact, no reason to believe that any given natural phenomenon, +however marvelous it may seem today, will remain forever inexplicable. +Soon or late the laws governing the production of life itself will be +discovered in the laboratory, and man may set up business as a creator +on his own account. The thing, indeed, is not only conceivable; it is +even highly probable. + -- H.L. Mencken, 1930 +% +There is is no reason for any individual to have a computer in their home. + -- Ken Olsen (President of Digital Equipment Corporation), + Convention of the World Future Society, in Boston, 1977 +% +There is Jackson standing like a stone wall. Let us determine to die, +and we will conquer. Follow me. + -- General Barnard E. Bee (CSA) +% +There is more simplicity in a man who eats caviar on impulse than in a +man who eats Grapenuts on principle. + -- G.K. Chesterton +% +There is more simplicity in the man who eats caviar on impulse than in the +man who eats Grap-Nuts on principle. + -- G.K. Chesterton +% +There is more to life than increasing its speed. + -- Mahatma Gandhi +% +There is more to life than increasing its speed. + -- Mohandis K. Gandhi +% +There is much Obi-Wan did not tell you. + -- Darth Vader +% +There is never enough time to do it right the first time, but there is +always enough time to do it over. +% +There is never time to do it right, but always time to do it over. +% +There is no act of treachery or mean-ness of which a political party +is not capable; for in politics there is no honour. + -- Benjamin Disraeli, "Vivian Grey" +% +There is no better way of exercising the imagination than the study of law. +No poet ever interpreted nature as freely as a lawyer interprets truth. + -- Jean Giraudoux, "Tiger at the Gates" +% +There is no better way to exercise the imagination than the study of the law. +No artist ever interpreted nature as freely as a lawyer interprets the truth. + -- Jean Giradoux +% +"There is no choice before us. Either we must Succeed in providing +the rational coordination of impulses and guts, or for centuries +civilization will sink into a mere welter of minor excitements. +We must provide a Great Age or see the collapse of the upward +striving of the human race" + -- Alfred North Whitehead +% +There is no comfort without pain; thus +we define salvation through suffering. + -- Cato +% +There is no cure for birth and death other than to enjoy the interval. + -- George Santayana +% +There is no delight the equal of dread. +As long as it is somebody else's. + --Clive Barker +% +There is no distinction between any AI program and some existent game. +% +There is no distinctly native American criminal class except Congress. + -- Mark Twain +% +There is no doubt that my lawyer is honest. For example, when he +filed his income tax return last year, he declared half of his salary +as 'unearned income.' + -- Michael Lara +% +There is no education that is not political. An apolitical +education is also political because it is purposely isolating. +% +There is no Father Christmas. It's just a marketing ploy to make low income +parents' lives a misery. ... I want you to picture the trusting face of a +child, streaked with tears because of what you just said. I want you to +picture the face of its mother, because one week's dole won't pay for one +Master of the Universe Battlecruiser! + -- Filthy Rich and Catflap +% +There is no fear in love; but perfect love casteth out fear. +% +There is no fool to the old fool. + -- John Heywood +% +There is no future in time travel. +% +There is no grief which time does not lessen and soften. +% +There is no hunting like the hunting of man, and those who have hunted +armed men long enough and liked it, never care for anything else thereafter. + -- Ernest Hemingway +% +There is no likelihood man can ever tap the power of the atom. + -- Robert Millikan, Nobel Prize in Physics, 1923 +% +There is no ox so dumb as the orthodox. + -- George Francis Gillette +% +There is no point in waiting. +The train stopped running years ago. +All the schedules, the brochures, +The bright-colored posters full of lies, +Promise rides to a distant country +That no longer exists. +% +There is no proverb that is not true. + -- Cervantes +% +There is no realizable power that man cannot, in time, fashion the tools +to attain, nor any power so secure that the naked ape will not abuse it. +So it is written in the genetic cards -- only physics and war hold him in +check. And also the wife who wants him home by five, of course. + -- Encyclopadia Apocryphia, 1990 ed. +% +There is no royal road to geometry. + -- Euclid +% +There is no sadder sight than a young pessimist. +% +There is no satisfaction in hanging a man who does not object to it. + -- G.B. Shaw +% +There is no security on this earth. There is only opportunity. + -- General Douglas MacArthur +% +There is no sin but ignorance. + -- Christopher Marlowe +% +There is no sincerer love than the love of food. + -- George Bernard Shaw +% +There is no statute of limitations on stupidity. +% +There is no substitute for good manners, except, perhaps, fast reflexes. +% +There *is* no such thing as a civil engineer. +% +There is no such thing as a free lunch. +% +There is no such thing as a problem without a gift for you in its hands. +% +There is no such thing as an ugly woman -- there are only +the ones who do not know how to make themselves attractive. + -- Christian Dior +% +There is no such thing as inner peace. There is only nervousness or death. +Any attempt to prove otherwise constitutes unacceptable behaviour. + -- Fran Lebowitz, "Metropolitan Life" +% +There is no such thing as pure pleasure; +some anxiety always goes with it. +% +There is no time like the pleasant. +% +There is no time like the present +for postponing what you ought to be doing. +% +There is not a man in the country that can't make a living for himself and +family. But he can't make a living for them *and* his government, too, +the way his government is living. What the government has got to do is +live as cheap as the people. + -- The Best of Will Rogers +% +There is not much to choose between a woman who deceives +us for another, and a woman who deceives another for ourselves. + -- Augier +% +There is not opinion so absurd that some philosopher will not express it. + -- Marcus Tullius Cicero, "Ad familiares" +% +There is nothing more exhilarating than to be shot at without result. + -- Churchill +% +There is nothing more silly than a silly laugh. + -- Gaius Valerius Catullus +% +There is nothing new except what has been forgotten. + -- Marie Antoinette +% +There is nothing so easy but that it becomes difficult +when you do it reluctantly. + -- Publius Terentius Afer (Terence) +% +There is nothing stranger in a strange land than the stranger who +comes to visit. +% +There is nothing which cannot be answered by means of my doctrine," said +a monk, coming into a teahouse where Nasrudin sat. + "And yet just a short time ago, I was challenged by a scholar with +an unanswerable question," said Nasrudin. + "I could have answered it if I had been there." + "Very well. He asked, 'Why are you breaking into my house in +the middle of the night?'" +% +There is nothing wrong with abstinence, in moderation. +% +There is nothing wrong with writing ... as long as it +is done in private and you wash your hands afterward. +% +There is one difference between a tax collector and +a taxidermist -- the taxidermist leaves the hide. + -- Mortimer Caplan +% +There is one way to find out if a man is honest -- ask him. If he says +"Yes" you know he is crooked. + -- Groucho Marx +% +There is only one thing in the world worse than being +talked about, and that is not being talked about. + -- Oscar Wilde +% +There is only one way to be happy by means of the heart -- to have none. + -- Paul Bourget +% +There is only one way to console a widow. But remember the risk. + -- Robert Heinlein +% +There is only one way to kill capitalism -- +by taxes, taxes, and more taxes. + -- Karl Marx +% +There is only one word for aid that is genuinely without strings, +and that word is blackmail. + -- Colm Brogan +% +There is perhaps in every thing of any consequence, secret history, which +it would be amusing to know, could we have it authentically communicated. + -- James Boswell +% +There is something fascinating about science. One gets such wholesale +returns of conjecture out of such a trifling investment of fact. + -- Mark Twain +% +There is something in the pang of change +More than the heart can bear, +Unhappiness remembering happiness. + -- Euripides +% +There is very little future in being right when your boss is wrong. +% +There isn't room enough in this dress for both of us! +% +There may be said to be two classes of people in the world; those who +constantly divide the people of the world into two classes and those +who do not. + -- Robert Benchley +% +There must be at least 500,000,000 rats in the United +States; of course, I never heard the story before. +% +There must be more to life than having everything. + -- Maurice Sendak +% +There never was a good war or a bad peace. + -- B. Franklin +% +There once was a king who ruled his country long, wisely, and well. The +king had a son whom he hoped would someday rule the land. He also wished +in his heart that the son ould be wise and compassionate. One day he said +to the prince: + "If you promised that you would give a certain women anything, even +half of your kingdom, and then she demanded the life of your best friend, +what would your decision be, my son?" + The young prince thought for a moment and then said, "I would tell +her that she was my best friend, and cut her head off." + The king knew that his son would be a great king. +% +There once was a king who ruled his country long, wisely, and well. The +king had a son whom he hoped would someday rule the land. He also wished +in his heart that the son ould be wise and compassionate. One day he said +to the prince: + "If you promised that you would give a certain women anything, even +half of your kingdom, and then she demanded the life of your best friend, +what would your decision be, my son?" + The young prince thought for a moment and then said, "I would tell +her that the life of my best friend did not lie in the half of the kingdom +that I had promised." + The king knew that his son would be a great king. +% +There seems no plan because it is all plan. + -- C.S. Lewis +% +There was a boy called Eustace Clarence Scrubb, and he almost deserved it." + -- C.S. Lewis, "The Chronicles of Narnia" +% +There was a little girl +Who had a little curl +Right in the middle of her forehead. +When she was good, she was very, very good +And when she was bad, she was very, very popular. + -- Max Miller, "The Max Miller Blue Book" +% +There was a man who enjoyed playing golf, and could occasionallly put up +with taking in a round with his wife. One time (with his wife along) he +was having an extremely bad round. On the 12th hole, he sliced a drive +over by a grounds-keepers' shack. Although he did not have a clear shot +to the green, his wife noticed that there were two doors on the shack, +and there was a possibility that, if both doors were opened, he might be +able to hit through. Without hesitation, he instructed his wife to go +around to the other side and open the far door. Sure enough, this gave +him a clear path to the green. He stepped up to his ball and prepared +to hit. His wife had been standing by the far door waiting for him to +hit through. After a moment, she became curious and stuck her head in +the doorway, to see what he was doing. At that exact moment, the husband +cracked a three-wood that hit his wife square on the forehead, killing +her instantly. A few weeks later, the man was playing a round at the same +course, this time with a friend of his. Once again on the 12th hole, he +sliced his drive to the shack. His friend suggested that he might be able +to hit through, if he was to open both doors. + "Nah", replied the man, "Last time I did that I took a 7". +% +There was a phone call for you. +% +There was a plane crash over mid-ocean, and only three survivors were +left in the life-raft: the Pope, the President, and Mayor Daley. +Unfortunately, it was a one-man life-raft, and quickly sinking, so +they started debating who should be allowed to stay. The Pope pointed +out that he was the spiritual leader of millions all over the world, +the President explained that if he died then America would be stuck +with the Vice-President, and so forth. Then Mayor Daley said, "Look! +We're not solving anything like this! The only fair thing to do is +to vote on it." So they did, and Mayor Daley won by 97 votes. +% +There was a writer in 'Life' magazine ... who claimed that rabbits have +no memory, which is one of their defensive mechanisms. If they recalled +every close shave they had in the course of just an hour life would become +insupportable. + -- Kurt Vonnegut +% +There was a young man from Brazil, +And a lady who'd not take the pill, + They lay on the sofa, + And a <$H12{ot]{ok]{ob{o[]{oR{oK{oDpo~po~pot~poe~{ o!po~po~poq~ +n~po_~{o[po ~poz~pok~po\~{o +8]{o/pomF~po^~{opoh~poY~{opoc~poT~{op~po^~poO~{o[~poY~ poJ~{oF~poT~poE~{o1~ +% +There was a young man from LeDoux, +Whose limericks stopped at line two. + +There was a young man from Verdunne. + + [Actually, there are three limericks in this series, the third one + is about some guy named Nero. If anyone has a copy of it, please + mail it to "fortune". Ed.] +% +There was an old Indian belief that by making love on the hide of +their favorite animal, one could guarantee the health and prosperity +of the offspring conceived thereupon. And so it goes that one Indian +couple made love on a buffalo hide. Nine months later, they were +blessed with a healthy baby son. Yet another couple huddled together +on the hide of a deer and they too were blessed with a very healthy +baby son. But a third couple, whose favorite animal was a hippopotamus, +were blessed with not one, but TWO very healthy baby sons at the conclusion +of the nine month interval. All of which proves the old theorem that: +The sons of the squaw of the hippopotamus are equal to the sons of +the squaws of the other two hides. +% +There was, it appeared, a mysterious rite of initiation through which, +in one way or another, almost every member of the team passed. The term +that the old hands used for this rite -- West invented the term, not the +practice -- was `signing up.' By signing up for the project you agreed +to do whatever was necessary for success. You agreed to forsake, if +necessary, family, hobbies, and friends -- if you had any of these left +(and you might not, if you had signed up too many times before). + -- Tracy Kidder, "The Soul of a New Machine" +% +There was this New Yorker that had a lifelong ambition to be an Texan. +Fortunately, he had an Texan friend and went to him for advice. "Mike, +you know I've always wanted to be a Texan. You're a *real* Texan, what +should I do?" + "Well," answered Mike, "The first thing you've got to do is look +like a Texan. That means you have to dress right. The second thing +you've got to do is speak in a southern drawl." + "Thanks, Mike, I'll give it a try," replied the New Yorker. + A few weeks passed and the New Yorker saunters into a store dressed +in a ten-gallon hat, cowboy boots, Levi jeans and a bandanna. "Hey, there, +pardner, I'd like some beef, not too rare, and some of them fresh biscuits," +he tells the counterman. + The guy behind the counter takes a long look at him and then says, +"You must be from New York." + The New Yorker blushes, and says, "Well, yes, I am. How did +you know?" + "Because this is a hardware store." +% +There will always be beer cans rolling on the floor of your car when +the boss asks for a lift home from office. +% +There will always be beer cans rolling on the floor of your car when +the boss asks for a lift home from the office. +% +There will be big changes for you but you will be happy. +% +There will be sex after death, we just won't be able to feel it. + -- Lily Tomlin +% +Therefore it is necessary to learn how not to be good, and to use +this knowledge and not use it, according to the necessity of the cause. + -- Machiavelli +% +There's a couple of million dollars worth of baseball talent on the loose, +ready for the big leagues, yet unsigned by any major league. There are +pitchers who would win 20 games a season ... and outfielders [who] could +hit .350, infielders who could win recognition as stars, and there's at +least one catcher who at this writing is probably superior to Bill Dickey, +Josh Gibson. Only one thing is keeping them out of the big leagues, the +pigmentation of their skin. They happen to be colored. + -- Shirley Povich, 1941 +% +There's a fine line between courage and foolishness. +Too bad it's not a fence. +% +There's a lesson that I need to remember +When everything is falling apart +In life, just like in loving +There's such a thing as trying to hard + +You've gotta sing +Like you don't need the money +Love like you'll never get hurt +You've gotta dance +Like nobody's watching +It's gotta come from the heart +If you want it to work. + -- Kathy Mattea +% +There's a lot to be said for not saying a lot. +% +There's a man deeply in debt, see, and he takes the money he has left +and goes to Monte Carlo to try to recoup at the roulette tables. Won a +little, lost a lot, and was down to his last franc. Prayed for help. +A voice whispered in his ear: "Le rouge..." Man looked around; nobody +there. What the hell -- he puts his last franc on the red, and it won. +The voice immediately said, "Encore le rouge..." Played red again, and +it won again. The voice said, "Impair..." Played odd, and it won. Voice +said, "Quinze..." so he put all the money on 15, and it won. This went +on for hours, the voice telling him what to bet, and the man putting all +his money on what the voice said, and winning. Finally when the voice +spoke, the man protested that he'd won millions of dollars and wanted to +quit. The voice was inexorable: "Douze..." The man put the money on 12, +and 11 came up -- he had lost everything -- the voice murmured "Merde!!" +% +There's a thrill in store for all for we're about to toast +The corporation that we represent. +We're here to cheer each pioneer and also proudly boast, +Of that man of men our sterling president +The name of T.J. Watson means +A courage none can stem +And we feel honored to be here to toast the IBM. + -- Ever Onward, from the 1940 IBM Songbook +% +There's a trick to the Graceful Exit. It begins with the vision to +recognize when a job, a life stage, a relationship is over -- and to +let go. It means leaving what's over without denying its validity +or its past importance in our lives. It involves a sense of future, +a belief that every exit line is an entry, that we are moving on, +rather than out. The trick of retiring well may be the trick of +living well. It's hard to recognize that life isn't a holding +action, but a process. It's hard to learn that we don't leave the +best parts of ourselves behind, back in the dugout or the office. +We own what we learned back there. The experiences and the growth +are grafted onto our lives. And when we exit, we can take ourselves +along -- quite gracefully. + -- Ellen Goodman +% +There's a whole WORLD in a mud puddle! + -- Doug Clifford +% +There's always free cheese in a mousetrap. +% +There's an old proverb that says just about whatever you want it to. +% +There's been no top authority saying what marijuana does to you. +I really don't know that much about it. I tried it once but it +didn't do anything to me. + -- John Wayne +% +There's got to be more to life than compile-and-go. +% +There's just something I don't like about Virginia; the state. +% +There's little in taking or giving, + There's little in water or wine: +This living, this living, this living, + Was never a project of mine. +Oh, hard is the struggle, and sparse is + The gain of the one at the top, +For art is a form of catharsis, + And love is a permanent flop, +And work is the provence of cattle, + And rest's for a clam in a shell, +So I'm thinking of throwing the battle -- + Would you kindly direct me to hell? + -- Dorothy Parker +% +There's no future in time travel. +% +There's no heavier burden than a great potential. +% +There's no justice in this world. + -- Frank Costello, on the prosecution of "Lucky" Luciano by + New York district attorney Thomas Dewey after Luciano had + saved Dewey from assassination by Dutch Schultz (by ordering + the assassination of Schultz instead) +% +There's no point in being grown up if you can't be childish sometimes. + -- Dr. Who +% +There's no room in the drug world for amateurs. + -- Raoul Duke +% +There's no saint like a reformed sinner. +% +There's no sense in being precise when you don't even know +what you're talking about. + -- John von Neumann +% +There's no such thing as a free lunch. + -- Milton Friendman +% +There's no such thing as an original sin. + -- Elvis Costello +% +There's no such thing as pure pleasure; some anxiety always goes with it. +% +There's no time like the pleasant. +% +There's no trick to being a humorist when you have the whole government +working for you. + -- Will Rodgers +% +There's no use being precise about something +when you don't even know what you're talking about. + -- John von Neumann +% +There's no use in having a dog and doing your own barking. +% +There's nothing in the middle of the road but yellow stripes and dead +armadillos. + -- Jim Hightower, Texas Agricultural Commissioner +% +There's nothing like a girl with a plunging +neckline to keep a man on his toes. +% +There's nothing like a good does of another woman to make a man appreciate +his wife. + -- Clare Booth Luce +% +There's nothing like good food, good wine, and a bad girl. +% +There's nothing like the face of a kid eating a Hershey bar. +% +There's nothing remarkable about it. All one has to do is hit the right +keys at the right time and the instrument plays itself. + -- J.S. Bach +% +There's nothing to writing. All you do is sit at a typewriter +and open a vein. + -- Red Smith +% +There's nothing very mysterious about you, except that +nobody really knows your origin, purpose, or destination. +% +There's nothing worse for your business than +extra Santa Clauses smoking in the men's room. + -- W. Bossert +% +There's nothing wrong with teenagers that +reasoning with them won't aggravate. +% +There's one consolation about matrimony. When you look around you can +always see somebody who did worse. + -- Warren H. Goldsmith +% +There's one fool at least in every married couple. +% +There's only one everything. +% +There's only one way to have a happy marriage +and as soon as I learn what it is I'll get married again. + -- Clint Eastwood +% +There's small choice in rotten apples. + -- William Shakespeare, "The Taming of the Shrew" +% +There's so much plastic in this culture that +vinyl leopard skin is becoming an endangered synthetic. + -- Lily Tomlin +% +There's so much to say but your eyes keep interrupting me. +% +There's something different about us -- different from people of Europe, +Africa, Asia ... a deep and abiding belief in the Easter Bunny. + -- G. Gordon Liddy +% +There's something the technicians need to learn from the artists. +If it isn't aesthetically pleasing, it's probably wrong. +% +There's such a thing as too much point on a pencil. + -- H. Allen Smith, "Let the Crabgrass Grow" +% +There's too much beauty upon this earth for lonely men to bear. + -- Richard Le Gallienne +% +These activities have their own rules and methods +of concealment which seek to mislead and obscure. + -- Dwight D. Eisenhower, 1960 +% +These days the necessities of life cost you about three times what +they used to, and half the time they aren't even fit to drink. +% +They also serve who only stand and wait. + -- John Milton +% +They also surf who only stand on waves. +% +They are called computers simply because computation is +the only significant job that has so far been given to them. +% +They are cold-blooded. They are completely ruthless about protecting +what they have. The only thing they connect to is the money aspect of +life. Let's face it: That's the American way. + -- Jeffery M. Johnson, regional chairman of the District + of Columbia United Way, speaking of drug dealers. +% +They are ill discoverers that think there is no land, +when they can see nothing but sea. + -- Francis Bacon +% +They are relatively good but absolutely terrible. + -- Alan Kay, commenting on Apollos +% +They call them "squares" because it's the +most complicated shape they can deal with. +% +They can't stop us... we're on a mission from God! + -- The Blues Brothers +% +They couldn't hit an elephant at this dist... + -- Civil War General John Sedgwick, his last + words, Battle of Spotsylvania Court House, 1864 +% +They [District Attorneys] learn in District Attorney School that there +are two sure-fire ways to get a lot of favorable publicity: + +(1) Go down and raid all the lockers in the local high school and confiscate + 53 marijuana cigarettes and put them in a pile and hold a press + conference where you announce that they have a street value of $850 + million. These raids never fail, because ALL high schools, including + brand-new, never-used ones, have at least 53 marijuana cigarettes in + the lockers. As far as anyone can tell, the locker factory puts them + there. +(2) Raid an "adult book store" and hold a press conference where you announce + you are charging the owner with 850 counts of being a piece of human + sleaze. This also never fails, because you always get a conviction. + A juror at a pornography trial is not about to state for the record + that he finds nothing obscene about a movie where actors engage in + sexual activities with live snakes and a fire extinguisher. He is + going to convict the bookstore owner, and vote for the death penalty + just to make sure nobody gets the wrong impression. + -- Dave Barry, "Pornography" +% +They don't know how the world is shaped. And so they give it a shape, and +try to make everything fit it. They separate the right from the left, the +man from the woman, the plant from the animal, the sun from the moon. They +only want to count to two. + -- Emma Bull, "Bone Dance" +% +They don't suffer. They can't even speak English. + -- George F. Baer, answering a reporter's + question about the suffering of starving miners. +% +They finally got King Midas, I hear. Gild by association. +% +They have been at a great feast of languages, and stolen the scraps. + -- William Shakespeare, "Love's Labour's Lost" +% +They just buzzed and buzzed...buzzed. +% +They say it's the responsibility of the media to look at government -- +especially the president -- with a microscope. I don't argue with that, +but when they use a proctoscope, it's going too far. + -- Richard Nixon +% +They seem to have learned the habit of cowering before authority even when +not actually threatened. How very nice for authority. I decided not to +learn this particular lesson. + -- Richard Stallman +% +They sentenced me to twenty years of boredom for trying to change the +system from within. I'm coming now I'm coming to reward them. First +we take Manhattan, then we take Berlin. + +I'm guided by a signal in the heavens. I'm guided by this birthmark on +my skin. I'm guided by the beauty of our weapons. First we take Manhattan, +then we take Berlin. + +I'd really like to live beside you, baby. I love your body and your spirit +and your clothes. But you see that line there moving throug the station? +I told you I told you I told you I was one of those. + -- Leonard Cohen, "First We Take Manhattan" +% +They spell it Vinci and pronounce it Vinchy. +Foreigners always spell better than they pronounce. + -- Mark Twain +% +They told me you had proven it When they discovered our results +About a month before. Their hair began to curl +The proof was valid, more or less Instead of understanding it +But rather less than more. We'd run the thing through PRL. + +He sent them word that we would try Don't tell a soul about all this +To pass where they had failed For it must ever be +And after we were done, to them A secret, kept from all the rest +The new proof would be mailed. Between yourself and me. + +My notion was to start again +Ignoring all they'd done +We quickly turned it into code +To see if it would run. +% +They told me you had proven it + About a month before. +The proof was valid, more or less He sent them word that we would try + But rather less than more. To pass where they had failed + And after we were done, to them + The new proof would be mailed. +My notion was to start again + Ignoring all they'd done +We quickly turned it into code When they discovered our results + To see if it would run. Their hair began to curl + Instead of understanding it + We'd run the thing through PRL. +Don't tell a soul about all this +For it must ever be +A secret, kept from all the rest +Between yourself and me. +% +They took some of the Van Goghs, most +of the jewels, and all of the Chivas! +% +They Tore Out My Heart and Stomped That Sucker Flat + -- Book title by Lewis Grizzard +% +They use different words for things in America. +For instance they say elevator and we say lift. +They say drapes and we say curtains. +They say president and we say brain damaged git. + -- Alexie Sayle +% +They went rushing down that freeway, +Messed around and got lost. +They didn't care... they were just dying to get off, +And it was life in the fast lane. + -- Eagles, "Life in the Fast Lane" +% +They will only cause the lower classes to move about needlessly. + -- The Duke of Wellington, on early steam railroads. +% +They wouldn't listen to the fact that I was a genius, +The man said "We got all that we can use", +So I've got those steadily-depressin', low-down, mind-messin', +Working-at-the-car-wash blues. + -- Jim Croce +% +They're an insidious bunch, your killer pianos. Had one get loose on me +back in '62. It slipped out of the cables while we were lowering it out +of its twelfth story apartment, and crushed six innocents in an insane bid +for freedom. + -- Stig's Inferno +% +They're giving bank robbing a bad name. + -- John Dillinger, on Bonnie and Clyde +% +They're just jealous because they don't have three +wise men and a virgin in the whole organization. + -- Mayor Vincent J. `Buddy' Cianci, on the + ACLU's suit to have a city nativity scene removed. +% +They're only trying to make me LOOK paranoid! +% +Thieves respect property; they merely wish the property to become +their property that they may more perfectly respect it. + -- G.K. Chesterton, "The Man Who Was Thursday" +% +Things are more like they are today than they ever were before. + -- Dwight Eisenhower +% +Things are more like they used to be than they are new. +% +Things are not always what they seem. + -- Phaedrus +% +Things equal to nothing else are equal to each other. +% +Things fall apart; the centre cannot hold. +% +Things past redress and now with me past care. + -- William Shakespeare, "Richard II" +% +Things will be bright in P.M. +A cop will shine a light in your face. +% +Things will get better despite our efforts to improve them. + -- Will Rogers +% +Things worth having are worth cheating for. +% +Think big. +Pollute the Mississippi. +% +Think honk if you're a telepath. +% +Think lucky. If you fall in a pond, check your pockets for fish. + -- Darrell Royal +% +Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.! +% +Think of your family tonight. +Try to crawl home after the computer crashes. +% +Think sideways! + -- Ed De Bono +% +Think twice before speaking, but don't say "think think click click". +% +Thinking you know something is a sure way to blind yourself. + -- Frank Herbert, "Chapterhouse: Dune" +% +Thinks't thou existence doth depend on time? +It doth; but actions are our epochs; mine +Have made my days and nights imperishable, +Endless, and all alike, as sands on the shore, +Innumerable atoms; and one desert, +Barren and cold, on which the wild waves break, +But nothing rests, save carcasses and wrecks, +Rocks, and the salt-surf weeds of bitterness. +% +Thirteen at a table is unlucky only +when the hostess has only twelve chops. + -- Groucho Marx +% +Thirty white horses on a red hill, +First they champ, +Then they stamp, +Then they stand still. + -- Tolkien +% +This ae nighte, this ae nighte, +Everye nighte and alle, +Fire and sleet and candlelyte, +And Christe receive thy saule. + -- The Lykewake Dirge +% +This "brain-damaged" epithet is getting sorely overworked. When we can +speak of someone or something being flawed, impaired, marred, spoiled; +batty, bedlamite, bonkers, buggy, cracked, crazed, cuckoo, daft, demented, +deranged, loco, lunatic, mad, maniac, mindless, non compos mentis, nuts, +Reaganite, screwy, teched, unbalanced, unsound, witless, wrong; senseless, +spastic, spasmodic, convulsive; doped, spaced-out, stoned, zonked; {beef, +beetle,block,dung,thick}headed, dense, doltish, dull, duncical, numskulled, +pinhead; asinine, fatuous, foolish, silly, simple; brute, lumbering, oafish; +half-assed, incompetent; backward, retarded, imbecilic, moronic; when we have +a whole precisely nuanced vocabulary of intellectual abuse to draw upon, +individually and in combination, isn't it a little to be +limited to a single, now quite trite, adjective? +% +This door is baroquen, please wiggle Handel. +(If I wiggle Handel, will it wiggle Bach?) + -- Found on a door in the MSU music building +% +This dungeon is owned and operated by Frobazz Magic Co., Ltd. +% +This file will self-destruct in five minutes. +% +This fortune cookie program out of order. For those in desperate +need, please use the program "randchar". This program generates +random characters, and, given enough time, will undoubtedly come +up with something profound. It will, however, take it no time at +all to be more profound than THIS program has ever been. +% +This fortune intentionally not included. +% +This fortune intentionally says nothing. +% +This fortune is dedicated to your mother, without whose +invaluable assistance last night would never have been possible. +% +This fortune is encrypted -- get your decoder rings ready! +% +This fortune is inoperative. Please try another. +% +This fortune soaks up 47 times its own weight in excess memory. +% +This fortune was brought to you by the people at Hewlett-Packard. +% +This fortune would be seven words long if it were six words shorter. +% +This generation doesn't have emotional baggage. +We have emotional moving vans. + -- Bruce Feirstein +% +This guy runs into his house and yells to his wife, "Kathy, pack up your +bags! I just won the California lottery!" + "Honey!", Kathy exclaims, "Shall I pack for warm weather or cold?" + "I don't care," responds the husband. "just so long as you're out +of the house by dinner!" +% +This is a country where people are free to practice their religion, +regardless of race, creed, color, obesity, or number of dangling keys... +% +This is a good time to punt work. +% +This is a test of the emergency broadcast system. +Had there been an actual emergency, then you would no longer be here. +% +This is Betty Frenel. I don't know who to call but I can't reach my +Food-a-holics partner. I'm at Vido's on my second pizza with sausage +and mushroom. Jim, come and get me! +% +This is clearly another case of too many mad scientists, +and not enough hunchbacks. +% +This is for all ill-treated fellows + Unborn and unbegot, +For them to read when they're in trouble + And I am not. + -- A.E. Housman +% +This is Jim Rockford. +At the tone leave your name and message; I'll get back to you. +% +This is Maria, Liberty Bail Bonds. Your client, Todd Lieman, skipped and +his bail is forfeit. That's the pink slip on your '74 Firebird, I believe. +Sorry, Jim, bring it on over. +% +This is Marilyn Reed, I wanta talk to you... Is this a machine? +I don't talk to machines! [Click] +% +This is National Non-Dairy Creamer Week. +% +This is NOT a repeat. +% +This is not the age of pamphleteers. It is the age of the engineers. The +spark-gap is mightier than the pen. Democracy will not be salvaged by men +who talk fluently, debate forcefully and quote aptly. + -- Lancelot Hogben, Science for the Citizen, 1938 +% +This is supposed to be a happy occasion. +Let's not BICKER and ARGUE over who killed who! +% +This is the Baron. Angel Martin tells me you buy information. Ok, +meet me at one a.m. behind the bus depot, bring five-hundred dollars +and come alone. I'm serious! +% +This is the first age that's paid much attention to the future, +which is a little ironic since we may not have one. + -- Arthur Clarke +% +This is the first numerical problem I ever did. It demonstrates the +power of computers: + +Enter lots of data on calorie & nutritive content of foods. Instruct the +thing to maximize a function describing nutritive content, with a minimum +level of each component, for fixed caloric content. The results are that +one should eat each day: + + 1/2 chicken + 1 egg + 1 glass of skim milk + 27 heads of lettuce. + -- Rev. Adrian Melott +% +This is the sort of English up with which I will not put. + -- Winston Churchill +% +This is the theory that Jack built. +This is the flaw that lay in the theory that Jack built. +This is the palpable verbal haze that hid the flaw that lay in... +% +This is the tomorrow you worried about yesterday. +And now you know why. +% +This is the way the world ends, +This is the way the world ends, +This is the way the world ends, +Not with a bang but with a whimper. + -- T.S. Eliot, "The Hollow Men" +% +This isn't right. This isn't even wrong. + -- Wolfgang Pauli, on a colleague's paper +% +This isn't true in practice -- what we've missed out is Stradivarius's +constant. And then the aside: "For those of you who don't know, that's +been called by others the fiddle factor..." + -- From a 1B Electrical Engineering lecture. +% +This land is my land, and only my land, +I've got a shotgun, and you ain't got one, +If you don't get off, I'll blow your head off, +This land is private property. + -- Apologies to Woody Guthrie +% +This life is a test. It is only a test. Had this been an +actual life, you would have received further instructions as +to what to do and where to go. +% +This life is yours. Some of it was given +to you; the rest, you made yourself. +% +This login session: $13.76, but for you $11.88. +% +This login session: $13.99 +% +This must be morning. I never could get the hang of mornings. +% +This night methinks is but the daylight sick. + -- William Shakespeare, "The Merchant of Venice" +% +This novel is not to be tossed lightly aside, but to be hurled with +great force. + -- Dorothy Parker +% +This one is for all you military types. For those who don't know, Rangers +are *extremely* well trained members of the U.S. Army. Marines are people +who start out as normal soldiers and then are made to believe that bullets +don't actually hurt. + One day a platoon of Marines are on patrol when they come upon a +Ranger relaxing on top of a small hill. The Ranger puts his hands on his +hips and screams out, "Do any of you seaweed sucking jarheads think you're +man enough to take me on?" + The biggest Marine comes running up the hill, screaming back at the +Ranger. When he gets to the top he simply plows into his foe and the two +tumble down the other side of the hill, out of sight. There is the sound of +a horrendous fight for a moment or two, and then all is quiet. Soon, the +Ranger reappears, quite untouched. He puts his hands on his hips and sneers, +"Well, looks to me like one of you couldn't do it, how about the rest?" + The enraged Marine platoon leader sends his entire platoon (30+men) +charging after the Ranger. They all go tumbling down the far side of the hill. +After 15 minutes of screaming and yelling and cursing a lone, bloodied Marine +crawls over the top of the hill. The platoon leader yells up to his man, +"What's going on up there?" The wounded Marine, with his last bit of breath, +replies, "Sir, it's a... a trap, sir. They're two of them!" +% +This place just isn't big enough for all of us. We've +got to find a way off this planet. +% +This planet has -- or rather had -- a problem, which was this: most of +the people living on it were unhappy for pretty much of the time. Many +solutions were suggested for this problem, but most of these were +largely concerned with the movements of small green pieces of paper, +which is odd because on the whole it wasn't the small green pieces of +paper that were unhappy. + -- Douglas Adams +% +This process can check if this value is zero, and if it is, it does +something child-like. + -- Forbes Burkowski, CS, University of Washington +% +This product is meant for educational purposes only. Any resemblance to real +persons, living or dead is purely coincidental. Void where prohibited. Some +assembly may be required. Batteries not included. Contents may settle during +shipment. Use only as directed. May be too intense for some viewers. If +condition persists, consult your physician. No user-serviceable parts inside. +Breaking seal constitutes acceptance of agreement. Not responsible for direct, +indirect, incidental or consequential damages resulting from any defect, error +or failure to perform. Slippery when wet. For office use only. Substantial +penalty for early withdrawal. Do not write below this line. Your cancelled +check is your receipt. Avoid contact with skin. Employees and their families +are not eligible. Beware of dog. Driver does not carry cash. Limited time +offer, call now to insure prompt delivery. Use only in well-ventilated area. +Keep away from fire or flame. Some equipment shown is optional. Price does +not include taxes, dealer prep, or delivery. Penalty for private use. Call +toll free before digging. Some of the trademarks mentioned in this product +appear for identification purposes only. All models over 18 years of age. Do +not use while operating a motor vehicle or heavy equipment. Postage will be +paid by addressee. Apply only to affected area. One size fits all. Many +suitcases look alike. Edited for television. No solicitors. Reproduction +strictly prohibited. Restaurant package, not for resale. Objects in mirror +are closer than they appear. Decision of judges is final. This supersedes +all previous notices. No other warranty expressed or implied. +% +This sad little lizard told me that he was a brontosaurus on his +mother's side. I did not laugh; people who boast of ancestry +often have little else to sustain them. Humoring them costs nothing and +adds happiness in a world in which happiness is always in short supply. + -- Lazarus Long +% +This screen intentionally left blank. +% +This sentence does in fact not have the property it claims not to have. +% +This sentence no verb. +% +This system will self-destruct in five minutes. +% +This thing all things devours: +Birds, beasts, trees, flowers; +Gnaws iron, bites steel; +Grinds hard stones to meal; +Slays king, ruins town, +And beats high mountain down. +% +This unit... must... survive. +% +This universe shipped by weight, not by volume. Some expansion of the +contents may have occurred during shipment. +% +This was a Golden Age, a time of high adventure, rich living, and hard +dying... but nobody thought so. This was a future of fortune and theft, +pillage and rapine, culture and vice... but nobody admitted it. + -- Alfred Bester, "The Stars My Destination" +% +This was the most unkindest cut of all. + -- William Shakespeare, "Julius Caesar" +% +This wasn't just plain terrible, this was fancy terrible. +This was terrible with raisins in it. + -- Dorothy Parker +% +This week only, all our fiber-fill jackets are marked down! +% +This will be a memorable month -- no matter how hard you try to forget it. +% +This yuppie, see, was in a car wreck. His BMW was mangled, and so was he. +The paramedic was leaning over him getting his vitals, and all the yup +could groan was "My BMW! My BMW!" + The paramedic tried to quiet the man, pointing out that his car +wasn't his chief concern at the moment, especially as he'd been rearranged +pretty badly himself -- for example, his left arm was severed at the elbow +and was lying about twenty feet away. + There was a moment of stunned silence from the yup followed by +"Oh no! My Rolex! My Rolex!" +% +Those lovable Brits department: + They also have trouble pronouncing `vitamin'. +% +Those of you who think you know everything +are annoying those of us who do. +% +Those of you who think you know it all upset those of us who do. +% +Those parts of the system that you can hit with a hammer (not advised) +are called hardware; those program instructions that you can only curse +at are called software. + -- Levitating Trains and Kamikaze Genes: Technological + Literacy for the 1990's. +% +Those who are mentally and emotionally healthy are those who have +learned when to say yes, when to say no and when to say whoopee. + -- W.S. Krabill +% +Those who believe in astrology are living in houses with foundations of +Silly Putty. + -- Dennis Rawlins +% +Those who can, do; those who can't, simulate. +% +Those who can, do; those who can't, write. +Those who can't write work for the Bell Labs Record. +% +Those who cannot remember the past are condemned to repeat it. + -- George Santayana +% +Those who can't write, write manuals. +% +Those who claim the dead never return +to life haven't ever been around here at quitting time. +% +Those who do not do politics will be done in by politics. +% +Those who do not understand Unix are condemned to reinvent it, poorly. + -- Henry Spencer +% +Those who do things in a noble spirit of +self-sacrifice are to be avoided at all costs. + -- N. Alexander. +% +Those who educate children well are more to be honored than +parents, for these only gave life, those the art of living well. + -- Aristotle +% +Those who have had no share in the good fortunes of the mighty +Often have a share in their misfortunes. + -- Bertolt Brecht, "The Caucasian Chalk Circle" +% +Those who have some means think that the most important thing in the +world is love. The poor know that it is money. + -- Gerald Brenan +% +Those who in quarrels interpose, must often wipe a bloody nose. +% +Those who make peaceful revolution impossible +will make violent revolution inevitable. + -- John Fitzgerald Kennedy +% +Those who profess to favor freedom, and yet depreciate agitation, are +men who want rain without thunder and lightning. They want the ocean +without the roar of its many waters. + -- Frederick Douglass +% +Those who sweat in flames of hell, Leaden eared, some thought their bowels +Here's the reason that they fell: Lispeth forth the sweetest vowels. +While on earth they prayed in SAS, These they offered up in praise +PL/1, or other crass, Thinking all this fetid haze +Vulgar tongue. A rapsody sung. + +Some the lord did sorely try Jabber of the mindless horde +Assembling all their pleas in hex. Sequel next did mock the lord +Speech as crabbed as devil's crable Slothful sequel so enfangled +Hex that marked on Tower Babel Its speaker's lips became entangled +The highest rung. In his bung. + +Because in life they prayed so ill +And offered god such swinish swill +Now they sweat in flames of hell +Sweat from lack of APL +Sweat dung! +% +Those who talk don't know. Those who don't talk, know. +% +Thou hast seen nothing yet. + -- Miguel de Cervantes +% +Thou shalt not omit adultery. +% +Though a program be but three lines long, someday it will have to +be maintained. + -- The Tao of Programming +% +Though I respect that a lot +I'd be fired if that were my job +After killing Jason off and +Countless screaming argonauts + +Bluebird of friendliness +Like guardian angels it's +Always near + +Blue canary in the outlet by the light switch +Who watches over you +Make a little birdhouse in your soul +Not to put too fine a point on it +Say I'm the only bee in your bonnet +Make a little birdhouse in your soul + + -- "Birdhouse in your Soul", They Might Be Giants +% +Thrashing is just virtual crashing. +% +Three great scientific theories of the structure of the universe are +the molecular, the corpuscular and the atomic. A fourth affirms, with +Haeckel, the condensation or precipitation of matter from ether -- +whose existence is proved by the condensation or precipitation... +A fifth theory is held by idiots, but it is doubtful if they know any +more about the matter than the others. +% +Three hours a day will produce as much as a man ought to write. + -- Trollope +% +Three may keep a secret, if two of them are dead. + -- Benjamin Franklin +% +Three Midwesterners, a Kansan, a Missourian and an Iowan, +all appearing on a quiz program, were asked to complete this sentence: +"Old MacDonald had a . . ." + + "Old MacDonald had a carburetor," answered the Kansan. + "Sorry, that's wrong," the game show host said. + "Old MacDonald had a free brake alignment down at the + service station," said the Missourian. + "Wrong." + "Old MacDonald had a farm," said the Iowan. + "CORRECT!" shouts the quizmaster. "Now for $100,000, spell 'farm.'" + "Easy," said the Iowan. "E-I-E-I-O." +% +Three minutes' thought would suffice to find this out; but thought +is irksome and three minutes is a long time. + -- A.E. Houseman +% +Three o'clock in the afternoon is always just a little too +late or a little too early for anything you want to do. + -- Jean-Paul Sartre +% +Three Rings for the Elven-kings under the sky, +Seven for the Dwarf-lords in their halls of stone, +Nine for Mortal Men doomed to die, +One for the Dark Lord on his dark throne +In the Land of Mordor where the Shadows lie. +One Ring to rule them all, One Ring to find them, +One Ring to bring them all and in the darkness bind them +In the Land of Mordor where the Shadows lie. + -- J.R.R. Tolkien, "The Lord of the Rings" +% +Three rules for sounding like an expert: + 1. Oversimplify your explanations to the point of uselessness. + 2. Always point out second-order effects, + but never point out when they can be ignored. + 3. Come up with three rules of your own. +% +Throw away documentation and manuals, +and users will be a hundred times happier. +Throw away privileges and quotas, +and users will do the Right Thing. +Throw away proprietary and site licenses, +and there won't be any pirating. + +If these three aren't enough, +just stay at your home directory +and let all processes take their course. +% +Thus mathematics may be defined as the subject in which we never know +what we are talking about, nor whether what we are saying is true. + -- Bertrand Russell +% +Thus spake the master programmer: + "A well-written program is its own heaven; a poorly-written program +is its own hell." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "After three days without programming, life becomes meaningless." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "Let the programmer be many and the managers few -- then all will + be productive." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "Though a program be but three lines long, someday it will have to + be maintained." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "Time for you to leave." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "When program is being tested, it is too late to make design changes." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "When you have learned to snatch the error code from + the trap frame, it will be time for you to leave." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "Without the wind, the grass does not move. Without software, + hardware is useless." + -- Geoffrey James, "The Tao of Programming" +% +Thus spake the master programmer: + "You can demonstrate a program for a corporate executive, but you + can't make him computer literate." + -- Geoffrey James, "The Tao of Programming" +% +Thyme's Law: + Everything goes wrong at once. +% +Ticking away the moments that make up a dull day +Fritter and waste the hours in an offhand way +Kicking around on a piece of ground in your hometown +Waiting for someone or something to show you the way + +Tired of lying in the sunshine And then one day you find +Staying home to watch the rain Ten years have got behind you +You are young and life is long No one told you when to run +And there is time to kill today You missed the starting gun + +And you run and you run to catch up with the sun but it's sinking +And racing around to come up behind you again +The sun is the same in a relative way but you're older +Shorter of breath and one day closer to death + +Every year is getting shorter Hanging on in quiet desperation + is the English way +Never seem to find the time The time is gone, the song is over +Plans that either come to nought Thought I'd something more to say... +Or half a page of scribbled lines + -- Pink Floyd, "Time" +% +Tiddely Quiddely +Edward M. Kennedy +Quite unaccountably +Drove in a stream. + +Pleas of amnesia +Incomprehensible +Possibly shattered +Political dream. +% +Tiger got to hunt, +Bird got to fly; +Man got to sit and wonder, "Why, why, why?" + +Tiger got to sleep, +Bird got to land; +Man got to tell himself he understand. + -- The Books of Bokonon +% +Time and tide wait for no man. +% +Time as he grows old teaches all things. + -- Aeschylus +% +Time flies like an arrow. Fruit flies like a banana. +% +Time goes, you say? +Ah no! +Time stays, *we* go. + -- Austin Dobson +% +Time is a great teacher, but unfortunately it kills all its pupils. + -- Hector Berlioz +% +Time is an illusion; lunch-time doubly so. + -- Ford Prefect +% +Time is an illusion, lunchtime doubly so. + -- The Hitchhiker's Guide to the Galaxy +% +Time is an illusion perpetrated by the manufacturers of space. +% +Time is but the stream I go a-fishing in. + -- Henry David Thoreau +% +Time is nature's way of making sure that +everything doesn't happen at once. + +Space is nature's way of making sure that +everything doesn't happen to you. +% +Time is the most valuable thing a man can spend. + -- Theophrastus +% +Time sharing: The use of many people by the computer. +% +Time sure flies when you don't know what you're doing. +% +Time to be aggressive. Go after a tattooed Virgo. +% +Time to take stock. +Go home with some office supplies. +% +Time washes clean +Love's wounds unseen. +That's what someone told me; +But I don't know what it means. + -- Linda Ronstadt, "Long Long Time" +% +Time will end all my troubles, +but I don't always approve of Time's methods. +% +Time-sharing is the junk-mail part of the computer business. + -- H.R.J. Grosch (attributed) +% +timesharing, n: + An access method whereby one computer abuses many people. +% +Timing must be perfect now. +Two-timing must be better than perfect. +% +Tip of the Day: + Never fry bacon in the nude. +% +Tip O'Neill is just like Congress; old, fat and out of control. + -- J. LeBoutillier +% +Tip the world over on its side and +everything loose will land in Los Angeles. + -- Frank Lloyd Wright +% +TIPS FOR PERFORMERS: + Playing cards have the top half upside-down to help cheaters. + There are a finite number of jokes in the universe. + Singing is a trick to get people to listen to music longer than + they would ordinarily. + There is no music in space. + People will pay to watch people make sounds. + Everything on stage should be larger than in real life. +% +TIRED of calculating components of vectors? Displacements along direction of +force getting you down? Well, now there's help. Try amazing "Dot-Product", +the fast, easy way many professionals have used for years and is now available +to YOU through this special offer. Three out of five engineering consultants +recommend "Dot-Product" for their clients who use vector products. Mr. +Gumbinowitz, mechanical engineer, in a hidden-camera interview... + "Dot-Product really works! Calculating Z-axis force components has + never been easier." +Yes, you too can take advantage of the amazing properties of Dot-Product. Use +it to calculate forces, velocities, displacements, and virtually any vector +components. How much would you pay for it? But wait, it also calculates the +work done in Joules, Ergs, and, yes, even BTU's. Divide Dot-Product by the +magnitude of the vectors and it becomes an instant angle calculator! Now, how +much would you pay? All this can be yours for the low, low price of $19.95!! +But that's not all! If you order before midnight, you'll also get "Famous +Numbers of Famous People" as a bonus gift, absolutely free! Yes, you'll get +Avogadro's number, Planck's, Euler's, Boltzmann's, and many, many, more!! +Call 1-800-DOT-6000. Operators are standing by. That number again... +1-800-DOT-6000. Supplies are limited, so act now. This offer is not +available through stores and is void where prohibited by law. +% +Tis man's perdition to be safe, when for the truth he ought to die. +% +'Tis more blessed to give than receive; for example, wedding presents. + -- H.L. Mencken +% +To a Californian, a person must prove himself criminally insane before he +is allowed to drive a taxi in New York. For New York cabbies, honesty and +stopping at red lights are both optional. + -- From "East vs. West: The War Between the Coasts +% +To a Californian, all New Yorkers are cold; even in heat they rarely go +above fifty-eight degrees. If you collapse on a street in New York, plan +to spend a few days there. + -- From "East vs. West: The War Between the Coasts +% +To a Californian, the basic difference between the people and the pigeons +in New York is that the pigeons don't shit on each other. + -- From "East vs. West: The War Between the Coasts +% +To a New Yorker, all Californians are blond, even the blacks. There are, +in fact, whole neighborhoods that are zoned only for blond people. The +only way to tell the difference between California and Sweden is that the +Swedes speak better English." + -- From "East vs. West: The War Between the Coasts +% +To a New Yorker, the only California houses on the market for less than +a million dollars are those on fire. These generally go for six hundred +thousand. + -- From "East vs. West: The War Between the Coasts +% +To accuse others for one's own misfortunes is a sign of want of education. +To accuse oneself shows that one's education has begun. To accuse neither +oneself nor others shows that one's education is complete. + -- Epictetus +% +To add insult to injury. + -- Phaedrus +% +To any truly impartial person, it would +be obvious that I am always right. +% +To avoid criticism, do nothing, say nothing, be nothing. + -- Elbert Hubbard +% +To be a kind of moral Unix, he touched the hem of Nature's shift. + -- Shelley +% +To be beautiful is enough! if a woman can do that well who +should demand more from her? You don't want a rose to sing. + -- Thackeray +% +To be considered successful, a woman must be much better at her job +than a man would have to be. Fortunately, this isn't difficult. +% +To be excellent when engaged in administration is to be like the North +Star. As it remains in its one position, all the other stars surround it. + -- Confucius +% +To be great is to be misunderstood. + -- Ralph Waldo Emerson +% +To be happy one must be a) well fed, unhounded by sordid cares, at ease in +Zion, b) full of a comfortable feeling of superiority to the masses of one's +fellow men, and c) delicately and unceasingly amused according to one's taste. +It is my contention that, if this definition be accepted, there is no country +in the world wherein a man constituted as I am -- a man of my peculiar +weaknesses, vanities, appetites, and aversions -- can be so happy as he can +be in the United States. Going further, I lay down the doctrine that it is +a sheer physical impossibility for such a man to live in the United States +and not be happy. + -- H.L. Mencken, "On Being An American" +% +To be is to be related. + -- C.J. Keyser. +% +To be is to do. + -- I. Kant +To do is to be. + -- A. Sartre +Do be a Do Bee! + -- Miss Connie, Romper Room +Do be do be do! + -- F. Sinatra +Yabba-Dabba-Doo! + -- F. Flintstone +% +To be loved is very demoralizing. + -- Katharine Hepburn +% +to be nobody but yourself in a world +which is doing its best night and day +to make you like everybody else +means to fight the hardest battle +any human being can fight and +never stop fighting. + -- e.e. cummings +% +To be nobody-but-yourself in a world which is doing its best to, +night and day, to make you everybody else -- means to fight the hardest +battle which any human being can fight; and never stop fighting. + -- E.E. Cummings, "A Miscellany" +% +To be or not to be. + -- Shakespeare +To do is to be. + -- Nietzsche +To be is to do. + -- Sartre +Do be do be do. + -- Sinatra +% +To be or not to be, that is the bottom line. +% +To be patriotic, hate all nations but your own; to be religious, all sects +but your own; to be moral, all pretences but your own. + -- Lionel Strachey +% +To be successful, a woman has to be much better at her job than a man. + -- Golda Meir +% +To be successful, a woman must do her job ten times +as well as a man. Fortunately, this is not difficult. +% +To be sure of hitting the target, shoot first +and, whatever you hit, call it the target. +% +To be trusted is a greater compliment than to be loved. +% +To be who one is, is not to be someone else. +% +To be wise, the only thing you really need +to know is when to say "I don't know." +% +To believe your own thought, to believe that what is true for +you in your private heart is true for all men -- that is genius. + -- Ralph Waldo Emerson +% +To code the impossible code, This is my quest -- +To bring up a virgin machine, To debug that code, +To pop out of endless recursion, No matter how hopeless, +To grok what appears on the screen, No matter the load, + To write those routines +To right the unrightable bug, Without question or pause, +To endlessly twiddle and thrash, To be willing to hack FORTRAN IV +To mount the unmountable magtape, For a heavenly cause. +To stop the unstoppable crash! And I know if I'll only be true + To this glorious quest, +And the queue will be better for this, That my code will run CUSPy and calm, +That one man, scorned and When it's put to the test. + destined to lose, +Still strove with his last allocation +To scrap the unscrappable kludge! + -- To "The Impossible Dream", from Man of La Mancha +% +To communicate is the beginning of understanding. + -- AT&T +% +To converse at the distance of the Indes by means of sympathetic contrivances +may be as natural to future times as to us is a literary correspondence. + -- Joseph Glanvill, 1661 +% +To craunch a marmoset. + -- Pedro Carolino, "English as She is Spoke" +% +To criticize the incompetent is easy; +it is more difficult to criticize the competent. +% +To defend the Saigon regime is not worth one more human life. + -- Senator Edmund Muskie +% +To do nothing is to be nothing. +% +To do two things at once is to do neither. + -- Publilius Syrus +% +To doubt everything or to believe everything are two equally +convenient solutions; both dispense with the necessity of reflection. + -- H. Poincare +% +To err is human -- but it feels divine. + -- Mae West +% +To err is human -- to blame it on a computer is even more so. +% +To err is human, but I can REALLY foul things up. +% +To err is human, but to really foul things up requires a computer. +% +To err is human, but when the eraser wears out +before the pencil, you're overdoing it a little. +% +To err is human; to admit it, a blunder. +% +To err is human, to forgive, infrequent. +% +To err is human, to forgive is against company policy. +% +To err is human, to forgive is not company policy. +% +To err is human; to forgive is simply not our policy. + -- MIT Assasination Club +% +To err is human, to forgive unusual. +% +To err is human, to purr feline. +To err is human, two curs canine. +To err is human, to moo bovine. +% +To err is human, to repent, divine, to persist, devilish. + -- Benjamin Franklin +% +To err is human. +To blame someone else for your mistakes is even more human. +% +To err is human, +To purr feline. + -- Robert Byrne +% +To err is humor. +% +To everything there is a season, a time for every pupose under heaven: +A time to be born, and a time to die; +A time to plant, and a time to pluck what is planted; +A time to kill, and a time to heal; +A time to break down, and a time to build up; +A time to weep, and a time to laugh; +A time to mourn, and a time to dance; +A time to cast away stones, and a time to gather stones; +A time to embrace, and a time to refrain from embracing; +A time to gain, and a time to lose; +A time to keep, and a time to throw away; +A time to tear, and a time to sew; +A time to keep silence, and a time to speak; +A time to love, and a time to hate; +A time of war, and a time of peace. + Ecclesiastes 3:1-9 +% +To fear love is to fear life, and those +who fear life are already three parts dead. + -- Bertrand Russell +% +To find a friend one must close one eye; to keep him -- two. + -- Norman Douglas +% +To find out a girl's faults, praise her to her girl friends. + -- Benjamin Franklin +% +To get back on your feet, miss two car payments. +% +To get something clean, one has to get something dirty. +To get something dirty, one does not have to get anything clean. +% +To get something done, a committee should consist of no more than three +persons, two of them absent. +% +To give happiness is to deserve happiness. +% +To give of yourself, you must first know yourself. +% +To have died once is enough. + -- Publius Vergilius Maro (Virgil) +% +To hell with the Prime Directive; +Let's KILL something! +% +To invent, you need a good imagination and a pile of junk. + -- Thomas Edison +% +To iterate is human, to recurse, divine. + -- Robert Heller +% +To jaw-jaw is better than to war-war. + -- W. Churchill, on Korean War negotiations +% +To keep your friends treat them kindly; +to kill them, treat them often. +% +To know Edina is to reject it. + -- Dudley Riggs, "The Year the Grinch Stole the Election" +% +To laugh at men of sense is the privilege of fools. +% +To lead people, you must follow behind. + -- Lao Tsu +% +To listen to some devout people, +one would imagine that God never laughs. + -- Sri Aurobindo +% +To love is good, love being difficult. +% +To make an enemy, do someone a favor. +% +To make tax forms true they should +read "Income Owed Us" and "Incommode You". +% +To many, total abstinence is easier than perfect moderation. + -- St. Augustine +% +TO ME, CLOWNS AREN'T FUNNY. In fact, they're kinda scary. I've wondered +where this started, and I think it goes back to the time I went to the +circus and a clown killed my dad. + -- Jack Handley, The New Mexican, 1988. +% +To one large turkey add one gallon of vermouth and a demijohn of Angostura +bitters. Shake. + -- F. Scott Fitzgerald, recipe for turkey cocktail. +% +To our sweethearts and wives. May they never meet. + -- 19th century toast +% +To refuse praise is to seek praise twice. +% +To restore a sense of reality, I think +Walt Disney should have a Hardluckland. + -- Jack Paar +% +To save a single life is better than to build a seven story pagoda. +% +To say that UNIX is doomed is pretty rabid, OS/2 will certainly play a role, +but you don't build a hundred million instructions per second multiprocessor +micro and then try to run it on OS/2. I mean, get serious. + -- William Zachmann, International Data Corp +% +To say you got a vote of confidence +would be to say you needed a vote of confidence. + -- Andrew Young +% +To see a need and wait to be asked, is to already refuse. +% +To see the butcher slap the steak, before he laid it on the block, +and give his knife a sharpening, was to forget breakfast instantly. It was +agreeable, too -it really was- to see him cut it off, so smooth and juicy. +There was nothing savage in the act, although the knife was large and keen; +it was a piece of art, high art; there was delicacy of touch, clearness of +tone, skilful handling of the subject, fine shading. It was the triumph of +mind over matter; quite. + -- Dickens, "Martin Chuzzlewit" +% +To see you is to sympathize. +% +To spot the expert, pick the one who predicts +the job will take the longest and cost the most. +% +To stand and be still, +At the Birkenhead drill, +Is a damned tough bullet to chew. + -- Rudyard Kipling +% +To stay young requires unceasing cultivation +of the ability to unlearn old falsehoods. + -- Lazarus Long, "Time Enough For Love" +% +To stay youthful, stay useful. +% +To teach is to learn. +% +To teach is to learn twice. + -- Joseph Joubert +% +To the landlord belongs the doorknobs. +% +To Theodore Roosevelt: + You are like the Wind and I like the Lion. You form the Tempest. +The sand stings my eyes and the Ground is parched. I roar in defiance but +you do not hear. But between us there is a difference. I, like the lion, +must remain in my place. While you, like the wind, will never know yours. + Mulay Hamid El Raisuli + Lord of the Riff + Sultan to the Berbers + Last of the Barbary Pirates +% +To thine own self be true. +(If not that, at least make some money.) +% +To think contrary to one's era is heroism. But to speak against it is +madness. + -- Eugene Ionesco +% +To those accustomed to the precise, structured methods of conventional +system development, exploratory development techniques may seem messy, +inelegant, and unsatisfying. But it's a question of congruence: +precision and flexibility may be just as disfunctional in novel, +uncertain situations as sloppiness and vacillation are in familiar, +well-defined ones. Those who admire the massive, rigid bone structures +of dinosaurs should remember that jellyfish still enjoy their very +secure ecological niche. + -- Beau Sheil, "Power Tools for Programmers" +% +TO THOSE OF YOU WHO DESIRE IT, I GRANT YOU MADRAK'S BLESSING: + + Insofar as I may be heard by anything, which may or may not care +what I say, I ask, if it matters, that you be forgiven for anything you +may have done or failed to do which requires forgiveness. + Conversely, if not forgiveness but something else be required +to insure any possible benefit for which you may be eligible after the +destruction of your body, I ask that this, whatever it may be, be granted +or withheld, as the case may be, in such a manner as to insure your +receving said benefit. + I ask this in my capacity as your elected intermediary between +yourself and that which may have an interest in the matter of your receving +as much as it is possible for you to receive of this thing, and which may +in some way be influenced by this ceremony. + Amen. + -- Roger Zelazny, "Creatures of Light and Darkness" +% +To understand a program you must become both the machine and the program. +% +To understand the heart and mind of a person, look not at what +he has already achieved, but at what he aspires to do. +% +To use violence is to already be defeated. + -- Chinese proverb +% +To whom the mornings are like nights, +What must the midnights be! + -- Emily Dickinson (on hacking?) +% +To write a sonnet you must ruthlessly +strip down your words to naked, willing flesh. +Then bind them to a metaphor or three, +and take by force a satisfying mesh. +Arrange them to your will, each foot in place. +You are the master here, and they the slaves. +Now whip them to maintain a constant pace +and rhythm as they stand in even staves. +A word that strikes no pleasure? Cast it out! +What use are words that drive not to the heart? +A lazy phrase? Discard it, shrug off doubt, +and choose more docile words to take its part. +A well-trained sonnet lives to entertain, +by making love directly to the brain. +% +To you I'm an atheist; to God, I'm the loyal opposition. + -- Woody Allen +% +Tobacco is a filthy weed, +That from the devil does proceed; +It drains your purse, it burns your clothes, +And makes a chimney of your nose. + -- B. Waterhouse +% +TODAY: + A nice place to visit, but you can't stay here for long. +% +Today is a good day for information-gathering. +Read someone else's mail file. +% +Today is a good day to bribe a high-ranking public official. +% +Today is National Existential Ennui Awareness Day. +% +Today is the first day of the rest of the mess. +% +Today is the first day of the rest of your life. +% +Today is the first day of the rest of your lossage. +% +Today is the last day of your life so far. +% +Today is what happened to yesterday. +% +Today when a man gets married he gets a home, a housekeeper, a cook, a +cheering squad and another paycheck. When a woman marries, she gets a +boarder. +% +Today you'll start getting heavy metal radio on your dentures. +% +Today's thrilling story has been brought to you by Mushies, the great new +cereal that gets soggy even without milk or cream. Join us soon for more +spectacular adventure starring... Tippy, the Wonder Dog! + -- Bob & Ray +% +Todays weirdness is tomorrows reason why. + -- H.S. Thompson +% +Toddlers are the stormtroopers of the Lord of Entropy. +% +toilet toupee, n: + Any shag carpet that causes the lid to become top-heavy, thus + creating endless annoyance to male users. + -- Rich Hall, "Sniglets" +% +Tom Hayden is the kind of politician who gives opportunism a bad name. + -- Gore Vidal +% +Tomorrow, this will be part of the unchangeable past +but fortunately, it can still be changed today. +% +Tomorrow will be cancelled due to lack of interest. +% +Tomorrow, you can be anywhere. +% +Tomorrow's computers some time next month. + -- DEC +% +Tom's hungry, time to eat lunch. +% +Tonight you will pay the wages of sin; +Don't forget to leave a tip. +% +Tonight's the night: Sleep in a eucalyptus tree. +% +Toni's Solution to a Guilt-Free Life: + If you have to lie to someone, it's their fault. +% +Too bad all the people who know how to run the country are busy +driving cabs and cutting hair. + -- George Burns +% +TOO BAD YOU CAN'T BUY a voodoo globe so that you could make the earth spin +real fast and freak everybody out. + -- Jack Handley, The New Mexican, 1988. +% +Too clever is dumb. + -- Ogden Nash +% +Too cool to calypso, +Too tough to tango, +Too weird to watusi + -- The Only Ones +% +Too Late + A large number of turkies [sic] went to San Francisco yesterday by +the two o'clock boats. If their object in going down was to participate in +the Thanksgiving festivities of that city, they would arrive "the day after +the affair," and of course be sadly disappointed thereby. + -- Sacramento Daily Union, November 29, 1861 +% +Too many people are thinking of security instead of opportunity. +They seem more afraid of life than death. + -- James F. Byrnes +% +Too much is just enough. + -- Mark Twain, on whiskey +% +Too much is not enough. +% +Too much of a good thing is WONDERFUL. + -- Mae West +% +Too often people have come to me and said, "If I had just one wish for +anything in all the world, I would wish for more user-defined equations +in the HP-51820A Waveform Generator Software." + -- Instrument News + [Once is too often. Ed.] +% +Too ripped. Gotta go. +% +Toothpaste never hurts the taste of good scotch. +% +Top Ten Things Overheard At The ANSI C Draft Committee Meetings: + +10: Sorry, but that's too useful. + 9: Dammit, little-endian systems *are* more consistent! + 8: I'm on the committee and I *still* don't know what the hell + #pragma is for. + 7: Well, it's an excellent idea, but it would make the compilers too + hard to write. + 6: Them bats is smart; they use radar. + 5: All right, who's the wiseguy who stuck this trigraph stuff in here? + 4: How many times do we have to tell you, "No prior art!" + 3: Ha, ha, I can't believe they're actually going to adopt this sucker. + 2: Thank you for your generous donation, Mr. Wirth. + 1: Gee, I wish we hadn't backed down on 'noalias'. +% +Topologists are just plane folks. + Pilots are just plane folks. + Carpenters are just plane folks. + Midwest farmers are just plain folks. + Musicians are just playin' folks. + Whodunit readers are just Spillaine folks. +Some Londoners are just P. Lane folks. +% +Torque is cheap. +% +Total strangers need love, too; and I'm stranger than most. +% +TOTD (T-shirt Of The Day): + I'm the person your mother warned you about. +% +Toto, I don't think we're in Kansas anymore. + -- Judy Garland, "Wizard of Oz" +% +Tourists -- have some fun with New York's hard-boiled cabbies. When you +get to your destination, say to your driver, "Pay? I was hitch-hiking." + -- David Letterman +% +Tout choses sont dites deja, mais comme +personne n'ecoute, il faut toujours recommencer. + -- A. Gide +% +Traffic signals in New York are just rough guidelines. + -- David Letterman +% +TRANSACTION CANCELLED - FARECARD RETURNED +% +TRANSFER: + A promotion you receive on the condition that you leave town. +% +TRANSPARENT: + Being or pertaining to an existing, nontangible object. + "It's there, but you can't see it" + -- IBM System/360 announcement, 1964. + +VIRTUAL: + Being or pertaining to a tangible, nonexistent object. + "I can see it, but it's not there." + -- Lady Macbeth. +% +TRANSVESTITE: + Someone who spends his junior year at college abroad. +% +Trap full -- please empty. +% +TRAVEL: + Something that makes you feel like you're getting somewhere. +% +Travel important today; Internal Revenue men arrive tomorrow. +% +Traveling through hyperspace isn't like dusting crops, boy. + -- Han Solo +% +Traveling through New England, a motorist stopped for gas in a tiny village. +"What's this place called?" he asked the station attendant. + "All depends," the native drawled. "Do you mean by them that has +to live in this dad-blamed, moth-eaten, dust-covered, one-hoss dump, or +by them that's merely enjoying its quaint and picturesque rustic charms +for a short spell?" +% +Treat your friend as if he might become an enemy. + -- Publilius Syrus +% +Treaties are like roses and young girls -- they last while they last. + -- Charles DeGaulle +% +Trifles make perfection, and perfection is no trifle. + -- Michelangelo +% +Troglodytism does not necessarily imply a low cultural level. +% +Trouble always comes at the wrong time. +% +Trouble strikes in series of threes, but when working around the house the +next job after a series of three is not the fourth job -- it's the start of +a brand new series of three. +% +Troubled day for virgins over 16 who are +beautiful and wealthy and live in eucalyptus trees. +% +Troubles are like babies; they only grow by nursing. +% +True happiness will be found only in true love. +% +True leadership is the art of changing +a group from what it is to what it ought to be. + -- Virginia Allan +% +True to our past we work with an inherited, observed, and accepted vision of +personal futility, and of the beauty of the world. + -- David Mamet +% +Truly great madness can not be achieved without significant intelligence. + -- Henrik Tikkanen +% +Truly simple systems... require infinite testing. + -- Norman Augustine +% +Trust everybody, but cut the cards. + -- Finlay Peter Dunne, "Mr. Dooley's Philosophy" +% +Trust in Allah, but tie your camel. + -- Arabian proverb +% +TRUST ME: + Get me, give me, buy me, do me. +% +TRUST ME: + Translation of the Latin "caveat emptor." +% +Trust your husband, adore your husband, +and get as much as you can in your own name. + -- Joan Rivers +% +Truth can wait; he's used to it. +% +Truth has no special time of its own. Its hour is now -- always. + -- Albert Schweitzer +% +Truth is free, but information costs. +% +Truth is hard to find and harder to obscure. +% +"Truth is stranger than fiction, because fiction has to make sense." +% +Truth is the most valuable thing we have -- so let us economize it. + -- Mark Twain +% +Truth never comes into the world but like a bastard, to the ignominy +of him that brought her birth. + -- Milton +% +Truth will out this morning. (Which may really mess things up.) +% +TRUTHFUL: + Dumb and illiterate. +% +try again +% +Try not to have a good time ... +This is supposed to be educational. + -- Charles Schulz +% +Try not. +Do. +Or do not. +There is no try. +% +Try `stty 0' -- it works much better. +% +Try the Moo Shu Pork. It is especially good today. +% +Try to be the best of whatever you are, even if what you are is no good. +% +Try to divide your time evenly to keep others happy. +% +Try to find the real tense of the report you are reading: Was it done, is +it being done, or is something to be done? Reports are now written in four +tenses: past tense, present tense, future tense, and pretense. Watch for +novel uses of CONGRAM (CONtractor GRAMmer), defined by the imperfect past, +the insufficient present, and the absolutely perfect future. + -- Amrom Katz +% +Try to get all of your posthumous medals in advance. +% +Try to have as good a life as you can under the circumstances. +% +Try to relax and enjoy the crisis. + -- Ashleigh Brilliant +% +Try to value useful qualities in one who loves you. +% +Trying to be happy is like trying to build a machine for +which the only specification is that it should run noiselessly. +% +Trying to define yourself is like trying to bite your own teeth. + -- Alan Watts +% +Trying to get an education here is like +trying to take a drink from a fire hose. +% +T-shirt: + Life is *not* a Cabaret, and stop calling me chum! +% +Tuesday After Lunch is the cosmic time of the week. +% +Tuesday is the Wednesday of the rest of your life. +% +Turn on, tune in, and take over. + -- Tim Leary +% +Turn the other cheek. + -- Jesus Christ +% +Turnaucka's Law: + The attention span of a computer is only as long as its + electrical cord. +% +Tussman's Law: + Nothing is as inevitable as a mistake whose time has come. +% +TV is chewing gum for the eyes. + -- Frank Lloyd Wright +% +'Twas a woman who drove me to drink, +and I never even had the decency to thank her. + -- R.B. Gossling +% +"Twas bergen and the eirie road +Did mahwah into patterson: "Beware the Hopatcong, my son! +All jersey were the ocean groves, The teeth that bite, the nails +And the red bank bayonne. that claw! + Beware the bound brook bird, and shun +He took his belmar blade in hand: The kearney communipaw." +Long time the folsom foe he sought +Till rested he by a bayway tree And, as in nutley thought he stood, +And stood a while in thought. The Hopatcong with eyes of flame, + Came whippany through the englewood, +One, two, one, two, and through And garfield as it came. + and through +The belmar blade went hackensack! "And hast thou slain the Hopatcong? +He left it dead and with it's head Come to my arms, my perth amboy! +He went weehawken back. Hohokus day! Soho! Rahway!" + He caldwell in his joy. +Did mahwah into patterson: +All jersey were the ocean groves, +And the red bank bayonne. + -- Paul Kieffer +% +'Twas brillig, and the slithy toves And as in uffish thought he stood +Did gyre and gimble in the wabe. The Jabberwock, with eyes aflame +All mimsy were the borogroves Came whuffling through the tulgey wood +And the mome raths outgrabe. And burbled as it came! + +"Beware the Jabberwock, my son! One! Two! One! Two! +The jaws that bite, and through and through + the claws that catch! The vorpal blade went snicker-snack. +Beware the Jubjub bird, He left it dead, and took its head, +And shun the frumious Bandersnatch!" And went galumphing back. + +He took his vorpal sword in hand "Hast thou slain the Jabberwock? +Long time the manxome foe he sought. Come to my arms, my beamish boy! +So rested he by the tumtum tree Oh frabjous day! Calooh! Callay!" +And stood awhile in thought. He chortled in his joy. + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe. + All mimsy were the borogroves + -- Lewis Carroll +% +'Twas brillig, and the slithy toves +Did gyre and gimble in the wabe. "Beware the Jabberwock, my son! +All mimsy were the borogroves The jaws that bite, the claws +And the mome raths outgrabe. that catch! + Beware the Jubjub bird, +He took his vorpal sword in hand And shun the frumious Bandersnatch!" +Long time the manxome foe he sought. +So rested he by the tumtum tree And as in uffish thought he stood +And stood awhile in thought. The Jabberwock, with eyes aflame + Came whuffling through the tulgey wood +One! Two! One! Two! And through and And burbled as it came! + through +The vorpal blade went snicker-snack. "Hast thou slain the Jabberwock? +He left it dead, and took its head, Come to my arms, my beamish boy! +And went galumphing back. Oh frabjous day! Calooh! Callay!" + He chortled in his joy. +'Twas brillig, and the slithy toves +Did gyre and gimble in the wabe. +All mimsy were the borogroves +And the mome raths outgrabe. + -- Lewis Carroll, "Jabberwocky" +% +'Twas bullig, and the slithy brokers +Did buy and gamble in the craze "Beware the Jabberstock, my son! +All rosy were the Dow Jones stokers The cost that bites, the worth +By market's wrath unphased. that falls! + Beware the Econ'mist's word, and shun +He took his forecast sword in hand: The spurious Street o' Walls!" +Long time the Boesk'some foe he sought - +Sake's liquidity, so d'vested he, And as in bearish thought he stood +And stood awhile in thought. The Jabberstock, with clothes of tweed, + Came waffling with the truth too good, +Chip Black! Chip Blue! And through And yuppied great with greed! + and through +The forecast blade went snicker-snack! "And hast thou slain the Jabberstock? +It bit the dirt, and with its shirt, Come to my firm, V.P.ish boy! +He went rebounding back. O big bucks day! Moolah! Good Play!" + He bought him a Mercedes Toy. +'Twas panic, and the slithy brokers +Did gyre and tumble in the Crash +All flimsy were the Dow Jones stokers +And mammon's wrath them bash! + -- Peter Stucki, "Jabberstocky" +% +'Twas midnight, and the UNIX hacks +Did gyre and gimble in their cave +All mimsy was the CS-VAX +And Cory raths outgrave. + +"Beware the software rot, my son! +The faults that bite, the jobs that thrash! +Beware the broken pipe, and shun +The frumious system crash!" +% +'Twas midnight on the ocean, Her children all were orphans, +Not a streetcar was in sight, Except one a tiny tot, +So I stepped into a cigar store Who had a home across the way +To ask them for a light. Above a vacant lot. + +The man behind the counter As I gazed through the oaken door +Was a woman, old and gray, A whale went drifting by, +Who used to peddle doughnuts Its six legs hanging in the air, +On the road to Mandalay. So I kissed her goodbye. + +She said "Good morning, stranger", This story has a morale +Her eyes were dry with tears, As you can plainly see, +As she put her head between her feet Don't mix your gin with whiskey +And stood that way for years. On the deep and dark blue sea. + -- Midnight On The Ocean +% +'Twas the night before Christmas -- the very last one -- +When the blazing of lasers destroyed all our fun. +Just as Santa had lifted off, driving his sleigh, +A satellite spotted him making his way. +The Star Wars Defense System -- Reagan's desire +Was ready for action, and started to fire! +The laser beams criss-crossed and lit up the sky +Like a fireworks show on the Fourth of July. +I'd just finished wrapping the last of the toys +When out of my chimney there came a great noise. +I looked to the fireplace, hoping to see +St. Nick bringing presents for missus and me. +But what I saw next was disturbing and shocking: +A flaming red jacket setting fire to my stocking! +Charred reindeer remains and a melted sleigh-bell; +Outside burning toys like confetti they fell. +So now you know, children, why Christmas is gone: +The Star Wars computer had got something wrong. +Only programmed for battle, it hadn't a heart; +'Twas hardly a chance it would work from the start. +It couldn't be tested, and no one could tell, +If the crazy contraption would work very well. +So after a trillion or two had been spent +The system thought Santa a Red missle sent. +So kids dry your tears now, and get off to bed, +There won't be a Christmas -- since Santa is dead. +% +Twenty two thousand days. +Twenty two thousand days. +It's not a lot. +It's all you've got. +Twenty two thousand days. + -- Moody Blues, "Twenty Two Thousand Days" +% +Two battleships assigned to the training squadron had been at sea on maneuvers +in heavy weather for several days. I was serving on the lead battleship and +was on watch on the bridge as night fell. The visibility was poor with patchy +fog, so the Captain remained on the bridge keeping an eye on all activities. + Shortly after dark, the lookout on the wing of the bridge reported, +"Light, bearing on the starboard bow." + "Is it steady or moving astern?" the Captain called out. + Lookout replied, "Steady, Captain," which meant we were on a dangerous +collision course with that ship. + The Captain then called to the signalman, "Signal that ship: We are on +a collision course, advise you change course 20 degrees." + Back came a signal "Advisable for you to change course 20 degrees." + In reply, the Captain said, "Send: I'm a Captain, change course 20 +degrees!" + "I'm a seaman second class," came the reply, "You had better change +course 20 degrees." + By that time, the Captain was furious. He spit out, "Send: I'm a +battleship, change course 20 degrees." + Back came the flashing light: "I'm a lighthouse!" + We changed course. + -- The Naval Institute's "Proceedings" +% +Two can Live as Cheaply as One for Half as Long. + -- Howard Kandel +% +Two cars in every pot and a chicken in every garage. +% +Two Finns and a penguin are sitting on the front porch of a large house. The +penguin is dripping in sweat; his owner looks down and says to the other Finn, +"Hey Urho, I want that you should take the penguin to the zoo, okay?" The +owner then runs off to the sauna. When he gets out of the sauna, he looks +up at the porch, and sure enough, there is Urho and the penguin, sweating +away. So he yells out "Hey, Urho, I thought I told you to take the penguin to +the zoo, I did." And Urho yells back "Yup, and tomorrow we're going to +the movies!" +% +Two friends were out drinking when suddenly one lurched backward off his +barstool and lay motionless on the floor. + "One thing about Jim," the other said to the bartender, "he sure +knows when to stop." +% +Two heads are better than one. + -- John Heywood +% +Two heads are more numerous than one. +% +Two hundred years ago today, Irma Chine of White Plains, New York, was +performing her normal housekeeping routines. She was interrupted by +British soldiers who, rallying to the call of their supervisor, General +Hughes, sought to gain control of the voter registration lists kept in +her home. Masking her fear and thinking fast, Mrs. Chine quickly divided +a nearby apple in two and deftly stored the list in its center. Upon +entering, the British blatantly violated every conceivable convention, +and, though they went through the house virtually bit by bit, their +search was fruitless. They had to return empty handed. Word of the +incident propagated rapidly through the region. This historic event +became the first documented use of core storage for the saving of registers. +% +Two is company, three is an orgy. +% +Two is not equal to three, even for large values of two. +% +Two men are in a hot-air balloon. Soon, they find themselves lost in a +canyon somewhere. One of the three men says, "I've got an idea. We can +call for help in this canyon and the echo will carry our voices to the +end of the canyon. Someone's bound to hear us by then!" + So he leans over the basket and screams out, "Helllloooooo! Where +are we?" (They hear the echo several times). + Fifteen minutes later, they hear this echoing voice: "Helllloooooo! +You're lost!" + The shouter comments, "That must have been a mathematician." + Puzzled, his friend asks, "Why do you say that?" + "For three reasons. First, he took a long time to answer, second, +he was absolutely correct, and, third, his answer was absolutely useless." +% +Two men came before Nasrudin when he was magistrate. The first man said, +"This man has bitten my ear -- I demand compensation." The second man said, +"He bit it himself." Nasrudin withdrew to his chambers, and spent an hour +trying to bite his own ear. He succeeded only in falling over and bruising +his forehead. Returning to the courtroom, Nasrudin pronounced, "Examine +the man whose ear was bitten. If his forehead is bruised, he did it himself +and the case is dismissed. If his forehead is not bruised, the other man +did it and must pay three silver pieces." +% +Two men look out through the same bars; one sees mud, and one the stars. +% +Two men were sitting over coffee, contemplating the nature of things, +with all due respect for their breakfast. "I wonder why it is that +toast always falls on the buttered side," said one. + "Tell me," replied his friend, "why you say such a thing. Look +at this." And he dropped his toast on the floor, where it landed on the +dry side. + "So, what have you to say for your theory now?" + "What am I to say? You obviously buttered the wrong side." +% +Two peanuts were walking through the New York. One was assaulted. +% +Two percent of zero is almost nothing. +% +Two rights don't make a wrong, they make an airplane. +% +Two Russian friends happen to meet in Red Square. One of them says, "By +the way, did you hear that Romanov died?" + "No," replied the other, "I didn't even know he'd been arrested!" +% +Two sure ways to tell a REALLY sexy man; the first is, he has a bad memory. +I forget the second. +% +Two Swedish guys get of a ship and head for the nearest bars. Each one +orders two vodkas and immediately downs them. They they order two more +and once again quickly throw them back. They then order two more. When +they arrive, one of them picks up his glass, and, turning to the other, +toasts him, "Skoal!" + The other turns to the first man and scolds, "Hey! Did you come +here to screw around, or did you come here to drink?" +% +Two wrongs are only the beginning. + -- Kohn +% +Two wrongs don't make a right, but they make a good excuse. + -- Thomas Szasz +% +Tyger, Tyger, burning bright Where the hammer? Where the chain? +In the forests of the night, In what furnace was thy brain? +What immortal hand or eye What the anvil? What dread grasp +Dare frame thy fearful symmetry? Dare its deadly terrors clasp? + +Burnt in distant deeps or skies When the stars threw down their spears +The cruel fire of thine eyes? And water'd heaven with their tears +On what wings dare he aspire? Dare he laugh his work to see? +What the hand dare seize the fire? Dare he who made the lamb make thee? + +And what shoulder & what art Tyger, Tyger, burning bright +Could twist the sinews of they heart? In the forests of the night, +And when thy heart began to beat What immortal hand or eye +What dread hand & what dread feet Dare frame thy fearful symmetry? + +Could fetch it from the furnace deep +And in thy horrid ribs dare steep +In the well of sanguine woe? +In what clay & in what mould +Were thy eyes of fury roll'd? + -- William Blake, "The Tyger" +% +Type louder, please. +% +U: There's a U -- a Unicorn! + Run right up and rub its horn. + Look at all those points you're losing! + UMBER HULKS are so confusing. + -- The Roguelet's ABC +% +Udall's Fourth Law: + Any change or reform you make + is going to have consequences you don't like. +% +UFO's are for real: the Air Force doesn't exist. +% +Uh-oh -- I've let the cat out of the bag. Let me, then, +straightforwardly state the thesis I shall now elaborate: +Making variations on a theme is really the crux of creativity. + -- Douglas R. Hofstadter, "Metamagical Themas" +% +Ummm, well, OK. The network's the network, the computer's the computer. +Sorry for the confusion. + -- Sun Microsystems +% +Unbearably lovely music is heard as the curtain rises, and we see the +woods on a summer afternoon. A fawn dances on and nibbles at some +leaves. He drifts lazily through the soft foliage. Soon he starts +coughing and drops dead. + -- Woody Allen, "Without Feathers" +% +Uncle Cosmo, why do they call this a word processor? +It's simple, Skyler. You've seen what food processors do to food, right? +% +Uncle Ed's Rule of Thumb: + Never use your thumb for a rule. + You'll either hit it with a hammer or get a splinter in it. +% +Under any conditions, anywhere, whatever you are doing, there is some +ordinance under which you can be booked. + -- Robert D. Sprecht, Rand Corp. +% +Under capitalism, man exploits man. +Under communism, it's just the opposite. + -- J.K. Galbraith +% +Under deadline pressure for the next week. +If you want something, it can wait. +Unless it's blind screaming paroxysmally hedonistic... +% +Under every stone lurks a politician. + -- Aristophanes +% +Under the wide an starry sky, +Dig my grave and let me lie, +Glad did I live and gladly die, +And laid me down with a will, +And this be the verse that you grave for me, +Here he lies where he longed to be, +Home is the sailor home from the sea, +And the hunter home from the hill. + -- R. Kipling +% +Under the wide and heavy VAX +Dig my grave and let me relax +Long have I lived, and many my hacks +And I lay me down with a will. +These be the words that tell the way: +"Here he lies who piped 64K, +Brought down the machine for nearly a day, +And Rogue playing to an awful standstill." +% +Underlying Principle of Socio-Genetics: + Superiority is recessive. +% +understand, v: + To reach a point, in your investigation of some subject, at which + you cease to examine what is really present, and operate on the + basis of your own internal model instead. +% +Understanding is always the understanding of a smaller problem +in relation to a bigger problem. + -- P.D. Ouspensky +% +Unfair animal names: + +-- tsetse fly -- bullhead +-- booby -- duck-billed platypus +-- sapsucker -- Clarence + -- Gary Larson +% +UNFAIR COMPETITION: + Selling cheaper than we do. +% +Unfortunately, most programmers like to play with new toys. I have many +friends who, immediately upon buying a snakebite kit, would be tempted to +throw the first person they see to the ground, tie the tourniquet on him, +slash him with the knife, and apply suction to the wound. + -- Jon Bentley +% +Unhappy the land that needs heroes. + -- Bertolt Brecht +% +UNION: + A dues-paying club workers wield to strike management. +% +United Nations, New York, December 25. The peace and joy of the Christmas +season was marred by a proclamation of a general strike of all the military +forces of the world. Panic reigns in the hearts of all the patriots of +every persuasion. Meanwhile, fears of universal disaster sank to an all-time +low over the world. + -- Isaac Asimov +% +UNIVERSE: + The problem. +% +universe, n: + The problem. +% +Universities are places of knowledge. The freshman each bring a little +in with them, and the seniors take none away, so knowledge accumulates. +% +UNIVERSITY: + Like a software house, except the software's free, and it's + usable, and it works, and if it breaks they'll quickly tell + you how to fix it, and... + + [Okay, okay, I'll leave it in, but I think you're destroying + the credibility of the entire fortune program. Ed.] +% +University politics are vicious precisely because the stakes are so small. + -- Henry Kissinger +% +UNIX enhancements aren't. +% +Unix gives you just enough rope to hang yourself -- and then a couple +of more feet, just to be sure. + -- Eric Allman + +... We make rope. + -- Rob Gingell on Sun Microsystem's new virtual memory. +% +Unix is a lot more complicated (than CP/M) of course -- the typical Unix +hacker can never remember what the PRINT command is called this week -- +but when it gets right down to it, Unix is a glorified video game. +People don't do serious work on Unix systems; they send jokes around the +world on USENET or write adventure games and research papers. + -- E. Post + "Real Programmers Don't Use Pascal", Datamation, 7/83 +% +Unix is a Registered Bell of AT&T Trademark Laboratories. + -- Donn Seeley +% +UNIX is hot. It's more than hot. It's steaming. It's quicksilver +lightning with a laserbeam kicker. + -- Michael Jay Tucker +% +UNIX is many things to many people, +but it's never been everything to anybody. +% +Unix is the worst operating system; except for all others. + -- Berry Kercheval +% +Unix, n: + A computer operating system, once thought to be flabby and + impotent, that now shows a surprising interest in making off + with the workstation harem. +% +unix soit qui mal y pense +% +UNIX was not designed to stop you from doing stupid things, because that +would also stop you from doing clever things. + -- Doug Gwyn +% +Unix will self-destruct in five seconds... 4... 3... 2... 1... +% +Unknown person(s) stole the American flag from its pole in Etra Park sometime +between 3pm Jan 17 and 11:30 am Jan 20. The flag is described as red, white +and blue, having 50 stars and was valued at $40. + -- Windsor-Heights Herald "Police Blotter", Jan 28, 1987 +% +Unless hours were cups of sack, and minutes capons, and clocks the tongues +of bawds, and dials the signs of leaping houses, and the blessed sun himself +a fair, hot wench in flame-colored taffeta, I see no reason why thou shouldst +be so superfluous to demand the time of the day. I wasted time and now doth +time waste me. + -- William Shakespeare +% +Unless you love someone, nothing else makes any sense. + -- E.E. Cummings +% +Unnamed Law: + If it happens, it must be possible. +% +Unprovided with original learning, unformed in the habits of thinking, +unskilled in the arts of composition, I resolved to write a book. + -- Edward Gibbon +% +Unquestionably, there is progress. The average American now +pays out twice as much in taxes as he formerly got in wages. + -- H.L. Mencken +% +Until Eve arrived, this was a man's world. + -- Richard Amour +% +UNTOLD WEALTH: + What you left out on April 15th. +% +Up against the net, redneck mother, +Mother who has raised your son so well; +He's seventeen and hackin' on a Macintosh, +Flaming spelling errors and raisin' hell... +% +Uppers are no longer stylish, methedrine is almost as rare as pure acid +or DMT. "Consciousness Expansion" went out with LBJ and it is worth +noting, historically, that downers came in with Nixon. + -- Dr. Hunter S. Thompson +% +Usage: fortune -P [-f] -a [xsz] Q: file [rKe9] -v6[+] file1 ... +% +Use a pun, go to jail. +% +Use an accordion. Go to jail. + -- KFOG, San Francisco +% +Use what talents you possess: the woods would be very silent +if no birds sang there except those that sang best. + -- Henry Van Dyke +% +USENET would be a better laboratory is there were +more labor and less oratory. + -- Elizabeth Haley +% +USER: + A programmer who will believe anything you tell him. +% +User hostile. +% +user, n: + The word computer professionals use when they mean "idiot." + -- Dave Barry, "Claw Your Way to the Top" + +[I always thought "computer professional" was the phrase hackers used + when they meant "idiot." Ed.] +% +Using TSO is like kicking a dead whale down the beach. + -- S.C. Johnson +% +Using words to describe magic is like using a screwdriver to cut roast beef. + -- Tom Robbins +% +/usr/news/gotcha +% +Usually, when a lot of men get together, it's called a war. + -- Mel Brooks, "The Listener" +% +VACATION: + A two-week binge of rest and relaxation so intense that + it takes another 50 weeks of your restrained workaday + life-style to recuperate. +% +Van Roy's Law: + An unbreakable toy is useful for breaking other toys. +% +Van Roy's Law: + Honesty is the best policy - there's less competition. + +Van Roy's Truism: + Life is a whole series of circumstances beyond your control. +% +Variables don't; constants aren't. +% +Vax Vobiscum +% +Vegetables are what food eats. +Fruit are vegetables that fool you by tasting good. +Fish are fast moving vegetables. +Mushrooms are what grows on vegetables when food's done with them. + -- Meat Eater's Credo, according to Jim Williams +% +Vegeterians beware! You are what you eat. +% +Velilind's Laws of Experimentation: + 1. If reproducibility may be a problem, conduct the test only once. + 2. If a straight line fit is required, obtain only two data points. +% +Veni, Vidi, VISA: + I came, I saw, I did a little shopping. +% +Verba volant, scripta manent! +% +Vermouth always makes me brilliant unless it makes me idiotic. + -- E.F. Benson +% +Very few people do anything creative after the age of thirty-five. The +reason is that very few people do anything creative before the age of +thirty-five. + -- Joel Hildebrand +% +Very few profundities can be expressed in less than 80 characters. +% +Very few things actually get manufactured these days, because in an +infinitely large Universe, such as the one in which we live, most things one +could possibly imagine, and a lot of things one would rather not, grow +somewhere. A forest was discovered recently in which most of the trees grew +ratchet screwdrivers as fruit. The life cycle of the ratchet screwdriver is +quite interesting. Once picked it needs a dark dusty drawer in which it can +lie undisturbed for years. Then one night it suddenly hatches, discards its +outer skin that crumbles into dust, and emerges as a totally unidentifiable +little metal object with flanges at both ends and a sort of ridge and a hole +for a screw. This, when found, will get thrown away. No one knows what the +screwdriver is supposed to gain from this. Nature, in her infinite wisdom, +is presumably working on it. +% +Very few things happen at the right time, and the rest do not happen +at all. The conscientious historian will correct these defects. + -- Herodotus +% +Vests are to suits as seat-belts are to cars. +% +VI: + A hungry dog hunts best. + A hungrier dog hunts even better. +VII: + Decreased business base increases overhead. + So does increased business base. +VIII: + The most unsuccessful four years in the education of a cost-estimator + is fifth grade arithmetic. +IX: + Acronyms and abbreviations should be used to the maximum extent + possible to make trivial ideas profound. Q.E.D. +X: + Bulls do not win bull fights; people do. + People do not win people fights; lawyers do. + -- Norman Augustine +% +Victory uber allies! +% +Viking, n: + 1. Daring Scandinavian seafarers, explorers, adventurers, + entrepreneurs world-famous for their aggressive, nautical import + business, highly leveraged takeovers and blue eyes. + 2. Bloodthirsty sea pirates who ravaged northern Europe beginning + in the 9th century. + +Hagar's note: The first definition is much preferred; the second is used +only by malcontents, the envious, and disgruntled owners of waterfront +property. +% +Vini, vidi, vici. +[I came, I saw, I conquered]. + -- Gaius Julius Caesar +% +"Violence accomplishes nothing." What a contemptible lie! Raw, naked +violence has settled more issues throughout history than any other method +ever employed. Perhaps the city fathers of Carthage could debate the +issue, with Hitler and Alexander as judges? +% +Violence is a sword that has no handle -- you have to hold the blade. +% +Violence is molding. +% +Violence is the last refuge of the incompetent. + -- Salvador Hardin +% +Violence stinks, no matter which end of it you're on. But now and then +there's nothing left to do but hit the other person over the head with a +frying pan. Sometimes people are just begging for that frypan, and if we +weaken for a moment and honor their request, we should regard it as +impulsive philanthropy, which we aren't in any position to afford, but +shouldn't regret it too loudly lest we spoil the purity of the deed. + -- Tom Robbins +% +VIRGINIA: + A group of beautifully mounted hunters galloping behind + baying hounds in pursuit of a union organizer. +% +VIRGO (Aug 23 - Sept 22) + You are the logical type and hate disorder. This nitpicking is +sickening to your friends. You are cold and unemotional and sometimes +fall asleep while making love. Virgos make good bus drivers. +% +VIRGO (Aug.23 - Sept.22) + Learn something new today, like how to spell or how to count + to ten without using your fingers. Be careful dressing this + morning. You may be hit by a car later in the day and you + wouldn't want to be taken to the doctor's office in some of + that old underwear you own. +% +Virtue does not always demand a heavy sacrifice -- +only the willingness to make it when necessary. + -- Frederick Dunn +% +Virtue is its own punishment. + -- Denniston + +Righteous people terrify me ... virtue is its own punishment. + -- Aneurin Bevan +% +Virtue is not left to stand alone. +He who practices it will have neighbors. + -- Confucius +% +Virtue would go far if vanity did not keep it company. + -- La Rochefoucauld +% +Visit beautiful Vergas Minnesota. +% +Visit beautiful Wisconsin Dells. +% +Visits always give pleasure: if not on arrival, then on the departure. + -- Edouard Le Berquier, "Pensees des Autres" +% +VMS, n: + The world's foremost multi-user adventure game. +% +VMS version 2.0 ==> +% +Voicless it cries, +Wingless flutters, +Toothless bites, +Mouthless mutters. +% +VOLCANO: + A mountain with hiccups. +% +Volcanoes have a grandeur that is grim +And earthquakes only terrify the dolts, +And to him who's scientific +There is nothing that's terrific +In the pattern of a flight of thunderbolts! + -- W.S. Gilbert, "The Mikado" +% +Volley Theory: + It is better to have lobbed and lost + than never to have lobbed at all. +% +Von Neumann was the subject of many dotty professor stories. Von Neumann +supposedly had the habit of simply writing answers to homework assignments on +the board (the method of solution being, of course, obvious) when he was asked +how to solve problems. One time one of his students tried to get more helpful +information by asking if there was another way to solve the problem. Von +Neumann looked blank for a moment, thought, and then answered, "Yes.". +% +Vote anarchist. +% +Vote early and vote often. + -- Al Capone's slogan for Big Bill Thompson's anti-reform + campaign for Mayor of Chicago, 1926. Big Bill won. +% +VUJA DE: + The feeling that you've *never*, *ever* been in this situation before. +% +Wad some power the giftie gie us +To see oursels as others see us. + -- R. Browning +% +Wagner's music is better than it sounds. + -- Mark Twain +% +Wait for that wisest of all counselors, Time. + -- Pericles +% +Waiter: "Tea or coffee, gentlemen?" +1st customer: "I'll have tea." +2nd customer: "Me, too -- and be sure the glass is clean!" + (Waiter exits, returns) +Waiter: "Two teas. Which one asked for the clean glass?" +% +Wake up all you citizens, hear your country's call, +Not to arms and violence, But peace for one and all. +Crush out hate and prejudice, fear and greed and sin, +Help bring back her dignity, restore her faith again. + +Work hard for a common cause, don't let our country fall. +Make her proud and strong again, democracy for all. +Yes, make our country strong again, keep our flag unfurled. +Make our country well again, respected by the world. + +Make her whole and beautiful, work from sun to sun. +Stand tall and labor side by side, because there's so much to be done. +Yes, make her whole and beautiful, united strong and free, +Wake up, all you citizens, It's up to you and me. + -- Pansy Myers Schroeder +% +Wake up and smell the coffee. + -- Ann Landers +% +Waking a person unnecessarily should not be considered +a capital crime. For a first offense, that is. +% +Walk softly and carry a big stick. + -- Theodore Roosevelt +% +Walking on water wasn't built in a day. + -- Jack Kerouac +% +Walt: Dad, what's gradual school? +Garp: Gradual school? +Walt: Yeah. Mom says her work's more fun now that she's teaching + gradual school. +Garp: Oh. Well, gradual school is someplace you go and gradually + find out that you don't want to go to school anymore. + -- The World According To Garp +% +Walters' Rule: + All airline flights depart from the gates most distant from + the center of the terminal. Nobody ever had a reservation + on a plane that left Gate 1. +% +Wanna buy a duck? +% +Wanna tell you all a story 'bout a man named Jed, +A poor mountaineer, barely kept his family fed. +But then one day he was shootin' at some food, +When up through the ground come a bubblin' crude -- oil, that is; + black gold; 'Texas tea' ... + +Well the next thing ya know, old Jed's a millionaire. +The kinfolk said, 'Jed, move away from there!' +They said, 'Californy is the place ya oughta be', +So they loaded up the truck and they moved to Beverly -- Hills, that is; + swimmin' pools; movie stars. +% +War doesn't prove who's right, just who's left. +% +War hath no fury like a non-combatant. + -- Charles Edward Montague +% +War is an equal opportunity destroyer. +% +War is delightful to those who have had no experience of it. + -- Desiderius Erasmus +% +War is like love, it always finds a way. + -- Bertolt Brecht, "Mother Courage" +% +War is much too serious a matter to be entrusted to the military. + -- Clemenceau +% +War spares not the brave, but the cowardly. + -- Anacreon +% +WARNING: + Reading this fortune can affect the dimensionality of your + mind, change the curvature of your spine, cause the growth + of hair on your palms, and make a difference in the outcome + of your favorite war. +% +WARNING! + This system is subject to breakdowns during periods of critical need! +A special circuit in the computer called a "critical detector" senses the +user's emotional state in terms of how desperate they are to get their program +to run. The "critical detector" then creates a bug in the program proportional +to the desperation of the user. Threatening the terminal with violence only +aggravates the situation, causing the program to immediately crash or the +entire system to go down. Likewise, attempts to use another terminal may cause +it to core dump. (They all belong to the same LAN.) Keep cool and say nice +things to the terminal. +% +Warning: Trespassers will be shot. +Survivors will be shot again. +% +WARNING!!! +This machine is subject to breakdowns during periods of critical need. + +A special circuit in the machine called "critical detector" senses the +operator's emotional state in terms of how desperate he/she is to use the +machine. The "critical detector" then creates a malfunction proportional +to the desperation of the operator. Threatening the machine with violence +only aggravates the situation. Likewise, attempts to use another machine +may cause it to malfunction. They belong to the same union. Keep cool +and say nice things to the machine. Nothing else seems to work. + +See also: flog(1), tm(1) +% +Was there a time when dancers with their fiddles +In children's circuses could stay their troubles? +There was a time they could cry over books, +But time has set its maggot on their track. +Under the arc of the sky they are unsafe. +What's never known is safest in this life. +Under the skysigns they who have no arms +Have cleanest hands, and, as the heartless ghost +Alone's unhurt, so the blind man sees best. + -- Dylan Thomas, "Was There A Time" +% +Washington, D.C. Wasting your money since 1810. +% +Washington, D.C: Fifty square miles almost completely surrounded by reality. +% +Washington [D.C.] is a city of Southern efficiency and Northern charm. + -- John F. Kennedy +% +[Washington, D.C.] is the home of... taste for +the people -- the big, the bland and the banal. + -- Ada Louise Huxtable +% +Wasn't there something about a PASCAL programmer +knowing the value of everything and the Wirth of nothing? +% +Waste not fresh tears over old griefs. + -- Euripides +% +Waste not, get your budget cut next year. +% +Wasting time is an important part of living. +% +Watch all-night Donna Reed reruns until your mind resembles oatmeal. +% +Watch your mouth, kid, or you'll find yourself floating home. + -- Han Solo +% +Water, taken in moderation cannot hurt anybody. + -- Mark Twain +% +Watership Down: +You've read the book. You've seen the movie. Now eat the stew! +% +Watson's Law: + The reliability of machinery is inversely proportional to the + number and significance of any persons watching it. +% +WE: + The single most important word in the world. +% +We all agree on the necessity of compromise. We just can't agree on +when it's necessary to compromise. + -- Larry Wall +% +We all declare for liberty, but in using the +same word we do not all mean the same thing. + -- A. Lincoln +% +We all dream of being the darling of everybody's darling. +% +We all know that no one understands anything that isn't funny. +% +We all like praise, but a hike in our pay is the best kind of ways. +% +We all live in a state of ambitious poverty. + -- Decimus Junius Juvenalis +% +We all live under the same sky, but we don't all have the same horizon. + -- Dr. Konrad Adenauer +% +We are all agreed that your theory is crazy. The question which divides us is +whether it is crazy enough to have a chance of being correct. My own feeling +is that it is not crazy enough. + -- Niels Bohr +% +We are all born charming, fresh and spontaneous and must be civilized +before we are fit to participate in society. + -- Judith Martin, "Miss Manners' Guide to Excruciatingly + Correct Behaviour" +% +We are all born equal... just some of us are more equal than others. +% +We are all born mad. Some remain so. + -- Samuel Beckett +% +We are all dying -- and we're gonna be dead for a long time. +% +We are all in the gutter, but some of us are looking at the stars. + -- Oscar Wilde +% +We are all so much together and yet we are all dying of loneliness. + -- A. Schweitzer +% +We are all worms. But I do believe I am a glowworm. + -- Winston Churchill +% +We are anthill men upon an anthill world. + -- Ray Bradbury +% +We ARE as gods and might as well get good at it. + -- Whole Earth Catalog +% +We are confronted with unsurmountable opportunities. + -- Pogo +% +We are drowning in information but starved for knowledge. + -- John Naisbitt, Megatrends +% +We are each entitled to our own opinion, but no one is entitled to his +own facts. + -- Patrick Moynihan +% +We are each only one drop in a great +ocean -- but some of the drops sparkle! +% +We are experiencing system trouble -- do not adjust your terminal. +% +We are giving instruction to FBI agents in the various Chinese +dialects ... to handle present and likely future contingencies. + -- J.Hoover +% +We are going to give a little something, a few little years more, to +socialism, because socialism is defunct. It dies all by itself. The bad +thing is that socialism, being a victim of its ... Did I say socialism? + -- Fidel Castro +% +We are going to have peace even if we have to fight for it. + -- Dwight D. Eisenhower +% +We are Microsoft. Unix is irrelevant. +Openness is futile. Prepare to be assimilated. +% +We are not a clone. +% +We are not a loved organization, but we are a respected one. + -- John Fisher +% +We are not alone. +% +We are not loved by our friends for what we are; +rather, we are loved in spite of what we are. + -- Victor Hugo +% +We are preparing to think about contemplating preliminary work on plans to +develop a schedule for producing the 10th Edition of the Unix Programmers +Manual. + -- Andrew Hume +% +We are simple killers of people and destroyers of property. +% +We are so fond of each other because our ailments are the same. + -- Jonathon Swift +% +We are sorry. We cannot complete your call as dialed. Please check +the number and dial again or ask your operator for assistance. + +This is a recording. +% +We are stronger than our skin of flesh and metal, for we carry and +share a spectrum of suns and lands that lends us legends as we craft +our immortality and interweave our destinies of water and air, +leaving shadows that gather color of their own, until they outshine +the substance that cast them. +% +We are the people our parents warned us about. +% +We are the unwilling... led by the unqualified... +to do the unnecessary... for the ungrateful... + -- GI in Vietnam, 1970 +% +We are what we are. +% +We are what we pretend to be. + -- Kurt Vonnegut, Jr. +% +We can defeat gravity. The problem is the paperwork involved. +% +We can embody the truth, but we cannot know it. + -- Yates +% +We can found no scientific discipline, nor a healthy profession on the +technical mistakes of the Department of Defense and IBM. + -- Edsger W. Dijkstra +% +We cannot command nature except by obeying her. + -- Sir Francis Bacon +% +We cannot do everything at once, but we can do something at once. + -- Calvin Coolidge +% +We could do that, but it would be wrong, that's for sure. + -- Richard Nixon +% +We could nuke Baghdad into glass, wipe it with Windex, tie fatback on our +feet and go skating. + -- Fred Reed, Air Force Times columnist. +% +We dedicate this book to our fellow citizens who, for love of truth, +take from their own wants by taxes and gifts, and now and then send +forth one of themselves as dedicated servant, to forward the search +into the mysteries and marvelous simplicities of this strange and +beautiful Universe, Our home. + -- "Gravitation", Misner, Thorne, and Wheeler +% +We don't believe in rheumatism and true love until after the first attack. + -- Marie Ebner von Eschenbach +% +We don't care. We don't have to. We're the Phone Company. +% +We don't care how they do it in New York. +% +We don't have to protect the environment -- the Second Coming is at hand. + -- James Watt, noted theologian +% +We don't know one millionth of one percent about anything. +% +We don't know who discovered water, but we're certain it wasn't a fish. +% +We don't know who it was that discovered water, but we're pretty sure +that it wasn't a fish. + -- Marshall McLuhan +% +We don't like their sound. Groups of guitars are on the way out. + -- Decca Recording Company, turning down the Beatles, 1962 +% +We don't need no education, we don't need no thought control. + -- Pink Floyd +% +We don't need no indirection We don't need no compilation +We don't need no flow control We don't need no load control +No data typing or declarations No link edit for external bindings +Hey! did you leave the lists alone? Hey! did you leave that source alone? +Chorus: (Chorus) + Oh No. It's just a pure LISP function call. + +We don't need no side-effecting We don't need no allocation +We don't need no flow control We don't need no special-nodes +No global variables for execution No dark bit-flipping for debugging +Hey! did you leave the args alone? Hey! did you leave those bits alone? +(Chorus) (Chorus) + -- "Another Glitch in the Call", a la Pink Floyd +% +We don't really understand it, so we'll give it to the programmers. +% +We don't smoke and we don't chew, and we don't go with girls that do. + -- Walter Summers +% +We don't understand the software, and sometimes we don't +understand the hardware, but we can *see* the blinking lights! +% +We found on St. Paul's only two kinds of birds -- the booby and the noddy... +Both are of a tame and stupid disposition, and are so unaccustomed to +visitors, that I could have killed any number of them with my geological +hammer. + -- Charles Darwin +% +We give advice, but we cannot give the wisdom to profit by it. + -- La Rochefoucauld +% +We gotta get out of this place, +If it's the last thing we ever do. + -- The Animals +% +We have a equal opportunity Calculus class -- it's fully integrated. +% +We have art that we do not die of the truth. + -- Nietzsche +% +We have ears, earther...FOUR OF THEM! +% +We have gone on piling weapon upon weapon, missile upon missile, new +levels of destructiveness upon old ones. We have done this helplessly, +almost involuntarily: like the victims of some sort of hypnotism, like +men in a dream, like lemmings heading for the sea, like the children of +Hamelin marching blindly along behind their Pied Piper. And the result +is that today we have achieved, we and the Russians together, in the +creation of these devices and their means of delivery, levels of +redundancy of such grotesque dimensions as to defy rational understanding. + -- George Kennan, May 19, 1981 +% +We have lingered long enough on the shores of the Cosmic Ocean. + -- Carl Sagan +% +We have met the enemy, and he is us. + -- Walt Kelly +% +We have more to fear from the bungling of the incompetent +than from the machinations of the wicked. +% +We have no scorched earth policy. +We have a policy of scorched Communists. + -- General Efrain Rios Montt, President of Guatemala, 1982 +% +We have not inherited the earth from our parents, we've borrowed it from +our children. +% +We have nowhere else to go... this is all we have. + -- Margaret Mead +% +We have reason to be afraid. This is a terrible place. + -- John Berryman +% +We have seen the light at the end of the tunnel, and it's out. +% +We have the flu. I don't know if this particular strain has an official +name, but if it does, it must be something like "Martian Death Flu". You +may have had it yourself. The main symptom is that you wish you had another +setting on your electric blanket, up past "HIGH", that said "ELECTROCUTION". + Another symptom is that you cease brushing your teeth, because (a) +your teeth hurt, and (b) you lack the strength. Midway through the brushing +process, you'd have to lie down in front of the sink to rest for a couple +of hours, and rivulets of toothpaste foam would dribble sideways out of your +mouth, eventually hardening into crusty little toothpaste stalagmites that +would bond your head permanently to the bathroom floor, which is how the +police would find you. + You know the kind of flu I'm talking about. + -- Dave Barry +% +We interrupt this fortune for an important announcement... +% +"We invented a new protocol and called it Kermit, after Kermit the Frog, +star of "The Muppet Show." [3] + +[3] Why? Mostly because there was a Muppets calendar on the wall when we +were trying to think of a name, and Kermit is a pleasant, unassuming sort of +character. But since we weren't sure whether it was OK to name our protocol +after this popular television and movie star, we pretended that KERMIT was an +acronym; unfortunately, we could never find a good set of words to go with the +letters, as readers of some of our early source code can attest. Later, while +looking through a name book for his forthcoming baby, Bill Catchings noticed +that "Kermit" was a Celtic word for "free", which is what all Kermit programs +should be, and words to this effect replaced the strained acronyms in our +source code (Bill's baby turned out to be a girl, so he had to name her Becky +instead). When BYTE Magazine was preparing our 1984 Kermit article for +publication, they suggested we contact Henson Associates Inc. for permission +to say that we did indeed name the protocol after Kermit the Frog. Permission +was kindly granted, and now the real story can be told. I resisted the +temptation, however, to call the present work "Kermit the Book." + -- Frank da Cruz, "Kermit - A File Transfer Protocol" +% +We is confronted with insurmountable opportunities. + -- Walt Kelly, "Pogo" +% +We know next to nothing about virtually everything. It is not necessary +to know the origin of the universe; it is necessary to want to know. +Civilization depends not on any particular knowledge, but on the disposition +to crave knowledge. + -- George Will +% +We laugh at the Indian philosopher, who to account for the support +of the earth, contrived the hypothesis of a huge elephant, and to support +the elephant, a huge tortoise. If we will candidly confess the truth, we +know as little of the operation of the nerves, as he did of the manner in +which the earth is supported: and our hypothesis about animal spirits, or +about the tension and vibrations of the nerves, are as like to be true, as +his about the support of the earth. His elephant was a hypothesis, and our +hypotheses are elephants. Every theory in philosophy, which is built on +pure conjecture, is an elephant; and every theory that is supported partly +by fact, and partly by conjecture, is like Nebuchadnezzar's image, whose +feet were partly of iron, and partly of clay. + -- Thomas Reid, "An Inquiry into the Human Mind", 1764 +% +We lie loudest when we lie to ourselves. + -- Eric Hoffer +% +We love our little Johnny +He's the best little boy in all the world +And we wouldn't trade him for anything +That's how much we love him. +No, we couldn't live without him +So that's why, since he died, +We keep him safe in our G.E. freezer. +He's so good, so well-behaved, +Even better than before; +Oh, such a wonderful kid he is. +Alice and me, we'll never be lonely, +Never miss our little Johnny, +He'll never grow up and leave us +That's why we love him like we do. + -- Mr. Mincemeat +% +"We maintain that the very foundation of our way of life is what we call +free enterprise," said Cash McCall, "but when one of our citizens +show enough free enterprise to pile up a little of that profit, we do +our best to make him feel that he ought to be ashamed of himself." + -- Cameron Hawley +% +We may eventually come to realize that chastity is no more a virtue +than malnutrition. + -- Alex Comfort +% +We may hope that machines will eventually compete with men in all purely +intellectual fields. But which are the best ones to start with? Many people +think that a very abstract activity, like the playing of chess, would be +best. It can also be maintained that it is best to provide the machine with +the best sense organs that money can buy, and then teach it to understand +and speak English. + -- Alan M. Turing +% +We may not be able to persuade Hindus that Jesus and not Vishnu should govern +their spiritual horizon, nor Moslems that Lord Buddha is at the center of +their spiritual universe, nor Hebrews that Mohammed is a major prohpet, nor +Christians that Shinto best expresses their spiritual concerns, to say +nothing of the fact that we may not be able to get Christians to agree among +themselves about their relationship to God. But all will agree on a +proposition that they possess profound spiritual resources. If, in addition, +we can get them to accept the further proposition that whatever form the +Deity may have in their own theology, the Deity is not only external, but +internal and acts through them, and they themselves give proof or disproof +of the Deity in what they do and think; if this further proposition can be +accepted, then we come that much closer to a truly religious situation on +earth. + -- Norman Cousins, from his book "Human Options" +% +We may not like doctors, but at least they doctor. Bankers are not ever +popular but at least they bank. Policeman police and undertakers take +under. But lawyers do not give us law. We receive not the gladsome light +of jurisprudence, but rather precedents, objections, appeals, stays, +filings and forms, motions and counter-motions, all at $250 an hour. + -- Nolo News, summer 1989 +% +We may not return the affection of those who like us, +but we always respect their good judgement. +% +...we must be wary of granting too much power to natural selection +by viewing all basic capacities of our brain as direct adaptations. +I do not doubt that natural selection acted in building our oversized +brains -- and I am equally confidant that our brains became large as +an adaptation for definite roles (probably a complex set of interacting +functions). But these assumptions do not lead to the notion, often +uncritically embraced by strict Darwinians, that all major capacities +of the brain must arise as direct products of natural selection. + -- S.J. Gould, "The Mismeasure of Man" +% +We must believe that it is the darkest before the dawn +of a beautiful new world. We will see it when we believe it. + -- Saul Alinsky +% +We must die because we have known them. + -- Ptah-hotep, 2000 B.C. +% +We must finish once and for all with the neutrality of chess. We must +condemn once and for all the formula 'chess for the sake of chess,' like +the formula 'art for art's sake.' We must organize shock-brigades of +chess-play ers, and begin the immediate realization of a Five-Year Plan +for chess. + -- Nikolai V. Krylenko, People's Commissar for Justice + (of RFSFR, later of USSR), speaking at a 1932 Congress + of Chess Players, as quoted in Boris Souvarine's + "Stalin," published London, 1939 +% +...we must not judge the society of the future by considering whether or not +we should like to live in it; the question is whether those who have grown up +in it will be happier than those who have grown up in our society or those of +the past. + -- Joseph Wood Krutch +% +We must remember that in time of war what is said on the enemy's side of +the front is always propaganda and what is said on our side of the front +is truth and righteousness, the cause of humanity and a crusade for peace. + -- Walter Lippmann +% +We must remember the First Amendment which +protects any shrill jackass no matter how self-seeking. + -- F.G. Withington +% +We must respect the other fellow's religion, but only in the sense and to +the extent that we respect his theory that his wife is beautiful and his +children smart. + -- H.L. Mencken, "Minority Report" +% +We only acknowledge small faults in order +to make it appear that we are free from great ones. + -- LaRouchefoucauld +% +We prefer to believe that the absence of inverted commas guarantees the +originality of a thought, whereas it may be merely that the utterer has +forgotten its source. + -- Clifton Fadiman, "Any Number Can Play" +% +We prefer to speak evil of ourselves +rather than not speak of ourselves at all. +% +We promise according to our hopes, and perform according to our fears. +% +We rarely find anyone who can say he has lived a happy life, and who, +content with his life, can retire from the world like a satisfied guest. + -- Quintus Horatius Flaccus (Horace) +% +We read to say that we have read. +% +We really don't have any enemies. +It's just that some of our best friends are trying to kill us. +% +We secure our friends not by accepting favors but by doing them. + -- Thucydides +% +We seldom repent talking too little, but very often talking too much. + -- Jean de la Bruyere +% +We should be careful to get out of an experience only the wisdom that is +in it - and stay there, lest we be like the cat that sits down on a hot +stove-lid. She will never sit down on a hot stove-lid again - and that +is well; but also she will never sit down on a cold one any more. + -- Mark Twain +% +We should be glad we're living in the time that we are. If any of us had been +born into a more enlightened age, I'm sure we would have immediately been taken +out and shot. + -- Strange de Jim +% +We should have a great many fewer disputes in the world if only words were +taken for what they are, the signs of our ideas only, and not for things +themselves. + -- John Locke +% +We should have a Vollyballocracy. We elect a six-pack of presidents. +Each one serves until they screw up, at which point they rotate. + -- Dennis Miller +% +We should keep the Panama Canal. After all, we stole it fair and square. + -- S.I. Hayakawa +% +We should realize that a city is better off with bad laws, so long as they +remain fixed, then with good laws that are constantly being altered, that +the lack of learning combined with sound common sense is more helpful than +the kind of cleverness that gets out of hand, and that as a general rule, +states are better governed by the man in the street than by intellectuals. +These are the sort of people who want to appear wiser than the laws, who +want to get their own way in every general discussion, because they feel that +they cannot show off their intelligence in matters of greater importance, and +who, as a result, very often bring ruin on their country. + -- Cleon, Thucydides, III, 37 translation by Rex Warner +% +We the unwilling, led by the ungrateful, are doing the impossible. +We've done so much, for so long, with so little, +that we are now qualified to do something with nothing. +% +We the Users, in order to form a more perfect system, establish priorities, +ensure connective tranquility, provide for common repairs, promote +preventive maintenance, and secure the blessings of liberty for ourselves +and our processes, do ordain and establish this Software of The Unixed States +of America. +% +We thrive on euphemism. We call multi-megaton bombs "Peace-keepers", closet +size apartments "efficient" and incomprehensible artworks "innovative". In +fact, "euphemism" has become a euphemism for "bald-faced lie". And now, here +are the euphemisms so colorfully employed in Personal Ads: + +EUPHEMISM REALITY +------------------- ------------------------- +Excited about life's journey No concept of reality +Spiritually evolved Oversensitive +Moody Manic-depressive +Soulful Quiet manic-depressive +Poet Boring manic-depressive +Sultry/Sensual Easy +Uninhibited Lacking basic social skills +Unaffected and earthy Slob and lacking basic social skills +Irreverent Nasty and lacking basic social skills +Very human Quasimodo's best friend +Swarthy Sweaty even when cold or standing still +Spontaneous/Eclectic Scatterbrained +Flexible Desperate +Aging child Self-centered adult +Youthful Over 40 and trying to deny it +Good sense of humor Watches a lot of television +% +We thrive on euphemism. We call multi-megaton bombs "Peace-keepers", closet +size apartments "efficient" and incomprehensible artworks "innovative". In +fact, "euphemism" has become a euphemism for "bald-faced lie". And now, here +are the euphemisms so colorfully employed in Personal Ads: + +EUPHEMISM REALITY +------------------- ------------------------- +Independent thinker Crazy +High spirited Crazy and hyperactive +Free spirited Crazy and irresponsible +Outrageous Crazy and obnoxious +Exotic Crazy with a pierced nose/nipple +Cuddly Overweight +Huggable/Zaftig/Rubenesque Fat (there's a lot to love) +Big and beautiful Really Fat +Fat 'n' sassy Really Fat and loud +Svelte/Slender Anorexic +Dynamic Pushy +Assertive Pushy with a mean streak +Feisty/Ambitious Would kill own mother for next corporate rung +Demanding Will make your life a living hell +Looking for Mr./Ms. Right Looking for Mr./Ms. Rich +% +We totally deny the allegations, and +we're trying to identify the allegators. +% +We tried to close Ohio's borders and ran into a Constitutional problem. +There's a provision in the Constitution that says you can't close your +borders to interstate commerce, and garbage is a form of interstate commerce. + -- Ohio Lt. Governor Paul Leonard +% +[We] use bad software and bad machines for the wrong things. + -- R.W. Hamming +% +We warn the reader in advance that the proof presented here +depends on a clever but highly unmotivated trick. + -- Howard Anton, "Elementary Linear Algebra" +% +We was playin' the Homestead Grays in the city of Pitchburgh. Josh +[Gibson] comes up in the last of the ninth with a man on and us a run +behind. Well, he hit one. The Grays waited around and waited around, +but finally the empire rules it ain't comin' down. So we win. The +next day, we was disputin' the Grays in Philadelphia when here come +a ball outta the sky right in the glove of the Grays' center fielder. +The empire made the only possible call. "You're out, boy!" he says +to Josh. "Yesterday, in Pitchburgh." + -- Satchel Paige +% +We were happily married for eight months. Unfortunately, we +were married for four and a half years. + -- Nick Faldo +% +We were so poor that we thought new clothes meant someone had died. +% +We were so poor we couldn't afford a watchdog. +If we heard a noise at night, we'd bark ourselves. + -- Crazy Jimmy +% +We were young and our happiness dazzled us with its strength. But there was +also a terrible betrayal that lay within me like a Merle Haggard song at a +French restaurant. [...] + I could not tell the girl about the woman of the tollway, of her milk +white BMW and her Jordache smile. There had been a fight. I had punched her +boyfriend, who fought the mechanical bulls. Everyone told him, "You ride the +bull, senor. You do not fight it." But he was lean and tough like a bad +rib-eye and he fought the bull. And then he fought me. And when we finished +there were no winners, just men doing what men must do. [...] + "Stop the car," the girl said. + There was a look of terrible sadness in her eyes. She knew about the +woman of the tollway. I knew not how. I started to speak, but she raised an +arm and spoke with a quiet and peace I will never forget. + "I do not ask for whom's the tollway belle," she said, "the tollway +belle's for thee." + The next morning our youth was a memory, and our happiness was a lie. +Life is like a bad margarita with good tequila, I thought as I poured whiskey +onto my granola and faced a new day. + -- Peter Applebome, International Imitation Hemingway + Competition +% +We who revel in nature's diversity and feel instructed by every animal +tend to brand Homo sapiens as the greatest catastrophe since the Cretaceous +extinction. + -- S.J. Gould +% +We will have solar energy as soon as the utility companies solve +one technical problem -- how to run a sunbeam through a meter. +% +we will invent new lullabies, new songs, new acts of love, +we will cry over things we used to laugh & +our new wisdom will bring tears to eyes of gentle +creatures from other planets who were afraid of us till then & +in the end a summer with wild winds & +new friends will be. +% +We wish you a Hare Krishna +We wish you a Hare Krishna +We wish you a Hare Krishna +And a Sun Myung Moon! + -- Maxwell Smart +% +WEAPON: + An index of the lack of development of a culture. +% +Wedding is destiny, and hanging likewise. + -- John Heywood +% +Wedding, n: + A ceremony at which two persons undertake to become one, one + undertakes to become nothing and nothing undertakes to become + supportable. + -- Ambrose Bierce +% +Wedding rings are the world's smallest handcuffs. +% +Weed's Axiom: + Never ask two questions in a business letter. + The reply will discuss the one in which you are + least interested and say nothing about the other. +% +Weekend, where are you? +% +Weiler's Law: + Nothing is impossible to a person who doesn't have to do the work. +% +Weinberg, as a young grocery clerk, advised the grocery manager to get +rid of rutabagas which nobody every bought. He did so. "Well, kid, that +was a great idea," said the manager. Then he paused and asked the killer +question, "NOW what's the least popular vegetable?" + +Law: Once you eliminate your #1 problem, #2 gets a promotion. + -- Gerald Weinberg, "The Secrets of Consulting" +% +Weinberg's First Law: + Progress is only made on alternate Fridays. +% +Weinberg's Principle: + An expert is a person who avoids the small errors while sweeping + on to the grand fallacy. +% +Weinberg's Second Law: + If builders built buildings the way programmers wrote programs, + then the first woodpecker that came along would destroy civilization. +% +Weiner's Law of Libraries: + There are no answers, only cross references. +% +Welcome thy neighbor into thy fallout shelter. +He'll come in handy if you run out of food. + -- Dean McLaughlin. +% +Welcome to boggle - do you want instructions? + +D G G O + +O Y A N + +A D B T + +K I S P +Enter words: +> +% +Welcome to Lake Wobegon, where all the men are strong, +The women are pretty, and the children are above-average. + -- Garrison Keillor +% +Welcome to the Zoo! +% +Welcome to UNIX! Enjoy your session! Have a great time! Note the +use of exclamation points! They are a very effective method for +demonstrating excitement, and can also spice up an otherwise plain-looking +sentence! However, there are drawbacks! Too much unnecessary exclaiming +can lead to a reduction in the effect that an exclamation point has on +the reader! For example, the sentence + + Jane went to the store to buy bread + +should only be ended with an exclamation point if there is something +sensational about her going to the store, for example, if Jane is a +cocker spaniel or if Jane is on a diet that doesn't allow bread or if +Jane doesn't exist for some reason! See how easy it is?! Proper control +of exclamation points can add new meaning to your life! Call now to receive +my free pamphlet, "The Wonder and Mystery of the Exclamation Point!"! +Enclose fifteen(!) dollars for postage and handling! Operators are +standing by! (Which is pretty amazing, because they're all cocker spaniels!) +% +Welcome to Utah. +If you think our liquor laws are funny, you should see our underwear! +% +Well, anyway, I was reading this James Bond book, and right away I realized +that like most books, it had too many words. The plot was the same one that +all James Bond books have: An evil person tries to blow up the world, but +James Bond kills him and his henchmen and makes love to several attractive +women. There, that's it: 24 words. But the guy who wrote the book took +*thousands* of words to say it. + Or consider "The Brothers Karamazov", by the famous Russian alcoholic +Fyodor Dostoyevsky. It's about these two brothers who kill their father. +Or maybe only one of them kills the father. It's impossible to tell because +what they mostly do is talk for nearly a thousand pages.If all Russians talk +as much as the Karamazovs did, I don't see how they found time to become a +major world power. + I'm told that Dostoyevsky wrote "The Brothers Karamazov" to raise +the question of whether there is a God. So why didn't he just come right +out and say: "Is there a God? It sure beats the heck out of me." + Other famous works could easily have been summarized in a few words: + +* "Moby Dick" -- Don't mess around with large whales because they symbolize + nature and will kill you. +* "A Tale of Two Cities" -- French people are crazy. + -- Dave Barry +% +We'll be recording at the Paradise Friday +night. Live, on the Death label. + -- Swan, "Phantom of the Paradise" +% +Well begun is half done. + -- Aristotle +% +We'll cross that bridge when we come back to it later. +% +Well, didja wake up grouchy or did you let her sleep? +% +Well, don't worry about it... It's nothing. + -- Lieutenant Kermit Tyler (Duty Officer of Shafter Information + Center, Hawaii), upon being informed that Private Joseph + Lockard had picked up a radar signal of what appeared to be + at least 50 planes soaring toward Oahu at almost 180 miles + per hour, December 7, 1941. +% +Well, fancy giving money to the Government! +Might as well have put it down the drain. +Fancy giving money to the Government! +Nobody will see the stuff again. +Well, they've no idea what money's for -- +Ten to one they'll start another war. +I've heard a lot of silly things, but, Lor'! +Fancy giving money to the Government! + -- A.P. Herbert +% +We'll have solar energy when the power companies develop a sunbeam meter. +% +Well, he didn't know what to do, so he decided to look at the government, +to see what they did, and scale it down and run his life that way. + -- Laurie Anderson +% +Well, here it is, 1983, so it won't be long before you start reading a lot +of boring stories about people like Vance Hartke. Hartke is a governor or +mayor or something from one of the flatter states, and the reason you'll be +reading about him is that he's one of the 50 top contenders for the 1984 +Democratic presidential nomination. These men will spend the next 18 months +going around the country engaging in the most degrading activities imaginable, +such as wearing idiot hats and appearing on "Meet the Press". "Meet the +Press" is one of those Sunday morning public interest shows that the public +is not the least bit interested in. It features a panel of reporters who +ask questions of a guest politician, who wins an Amana home freezer if he +can get through the entire show without answering a single question. + -- Dave Barry +% +Well I looked at my watch and it said a quarter to five, +The headline screamed that I was still alive, +I couldn't understand it, I thought I died last night. +I dreamed I'd been in a border town, +In a little cantina that the boys had found, +I was desperate to dance, just to dig the local sounds. +When along came a senorita, +She looked so good that I had to meet her, +I was ready to approach her with my English charm, +When her brass knuckled boyfriend grabbed me by the arm, +And he said, grow some funk of your own, amigo, +Grow some funk of your own. +We no like to with the gringo fight, +But there might be a death in Mexico tonite. +... +Take my advice, take the next flight, +And grow some funk, grow your funk at home. + -- Elton John, "Grow Some Funk of Your Own" +% +Well, I would -- if they realized that we -- again if -- if we led them +back to that stalemate only because our retaliatory power, our seconds, +or strike at them after our first strike, would be so destructive they +they couldn't afford it, that would hold them off. + -- Ronald Reagan, on the MX missile +% +Well, if you can't believe what you read +in a comic book, what *can* you believe? + -- Bullwinkle J. Moose +% +Well, I'm disenchanted too. We're all disenchanted. + -- James Thurber +% +Well, it's hard for a mere man to believe that woman doesn't have equal +rights. + -- Dwight D. Eisenhower +% +Well, Jim, I'm not much of an actor either. +% +We'll know that rock is dead when you have to get a degree to work in it. +% +WE'LL LOOK INTO IT: + By the time the wheels make a full turn, we + assume you will have forgotten about it,too. +% +Well, my daddy left home when I was three, +And he didn't leave much for Ma and me, +Just and old guitar an'a empty bottle of booze. +Now I don't blame him 'cause he ran and hid, +But the meanest thing that he ever did, +Was before he left he went and named me Sue. +... +But I made me a vow to the moon and the stars, +I'd search the honkey tonks and the bars, +And kill the man that give me that awful name. +It was Gatlinburg in mid-July, +I'd just hit town and my throat was dry, +Thought I'd stop and have myself a brew, +At an old saloon on a street of mud, +Sitting at a table, dealing stud, +Sat that dirty (bleep) that named me Sue. +... +Now, I knew that snake was my own sweet Dad, +From a wornout picture that my Mother had, +And I knew that scar on his cheek and his evil eye... + -- Johnny Cash, "A Boy Named Sue" +% +Well, my terminal's locked up, and I ain't got any Mail, +And I can't recall the last time that my program didn't fail; +I've got stacks in my structs, I've got arrays in my queues, +I've got the : Segmentation violation -- Core dumped blues. + +If you think that it's nice that you get what you C, +Then go : illogical statement with your whole family, +'Cause the Supreme Court ain't the only place with : Bus error views. +I've got the : Segmentation violation -- Core dumped blues. + +On a PDP-11, life should be a breeze, +But with VAXen in the house even magnetic tapes would freeze. +Now you might think that unlike VAXen I'd know who I abuse, +I've got the : Segmentation violation -- Core dumped blues. + -- Core Dumped Blues +% +We'll pivot at warp 2 and bring all tubes to bear, Mr. Sulu! +% +Well, some take delight in the carriages a-rolling, +And some take delight in the hurling and the bowling, +But I take delight in the juice of the barley, +And courting pretty fair maids in the morning bright and early. +% +Well thaaaaaaat's okay. +% +Well, the handwriting is on the floor. + -- Joe E. Lewis +% +We'll try to cooperate fully with the IRS, because, as citizens, +we feel a strong patriotic duty not to go to jail. + -- Dave Barry +% +Well, we'll really have a party, +but we've gotta post a guard outside. + -- Eddie Cochran, "Come On Everybody" +% +"Well, well, well! Well if it isn't fat stinking billy goat Billy Boy in +poison! How art thou, thou globby bottle of cheap stinking chip oil? Come +and get one in the yarbles, if ya have any yarble, ya eunuch jelly thou!" + -- Alex in "Clockwork Orange" +% +Well, we're big rock singers, we've got golden fingers, +And we're loved everywhere we go. +We sing about beauty, and we sing about truth, +At ten thousand dollars a show. +We take all kind of pills to give us all kind of thrills, +But the thrill we've never known, +Is the thrill that'll get'cha, when you get your picture, +On the cover of the Rolling Stone. + +I got a freaky old lady, name of Cole King Katie, +Who embroiders on my jeans. +I got my poor old gray-haired daddy, +Drivin' my limousine. +Now it's all designed, to blow our minds, +But our minds won't be really be blown; +Like the blow that'll get'cha, when you get your picture, +On the cover of the Rolling Stone. + +We got a lot of little, teen-aged, blue-eyed groupies, +Who'll do anything we say. +We got a genuine Indian guru, that's teachin' us a better way. +We got all the friends that money can buy, +So we never have to be alone. +And we keep gettin' richer, but we can't get our picture, +On the cover of the Rolling Stone. + -- Dr. Hook and the Medicine Show + [As a note, they eventually DID make the cover of RS. Ed.] +% +"Well, we've come full circle, Lord; I'd like to think there's some +higher meaning to all this. It would certainly reflect well on you." +% +Well, you know, no matter where you go, there you are. + -- Buckaroo Banzai +% +WELL-ADJUSTED: + The ability to play bridge or golf as if they were games. +% +We +own +this land. + +I don't spend +any time +on this land. + +This +is a tiny +little piece + +of my +business +interests. + +It's like +a grain +of sand. + -- "Alliance Airport, from The Poetry Of H. Ross Perot, + recited on ABC's Town Meeting, June 29, 1992. + From SPY Magazine, November 1992 +% +We're all in this alone. + -- Lily Tomlin +% +We're constantly being bombarded by insulting and humiliating music, which +people are making for you the way they make those Wonder Bread products. +Just as food can be bad for your system, music can be bad for your spirtual +and emotional feelings. It might taste good or clever, but in the long run, +it's not going to do anything for you. + -- Bob Dylan, "LA Times", September 5, 1984 +% +We're fantastically incredibly sorry for all these extremely unreasonable +things we did. I can only plead that my simple, barely-sentient friend +and myself are underprivileged, deprived and also college students. + -- Waldo D.R. Dobbs +% +We're happy little Vegemites, + As bright as bright can be. +We all all enjoy our Vegemite + For breakfast, lunch and tea. +% +Were it not for the presence of the unwashed and the half-educated, the +formless, queer and incomplete, the unreasonable and absurd, the infinite +shapes of the delightful human tadpole, the horizon would not wear so wide +a grin. + -- F.M. Colby, "Imaginary Obligations" +% +We're Knights of the Round Table +We dance whene'er we're able +We do routines and chorus scenes We're knights of the Round Table +With footwork impeccable Our shows are formidable +We dine well here in Camelot But many times +We eat ham and jam and Spam a lot. We're given rhymes + That are quite unsingable +In war we're tough and able, We're opera mad in Camelot +Quite indefatigable We sing from the diaphragm a lot. +Between our quests +We sequin vests +And impersonate Clark Gable +It's a busy life in Camelot. +I have to push the pram a lot. + -- Monty Python +% +We're living in a golden age. All you need is gold. + -- D.W. Robertson. +% +We're mortal -- which is to say, we're ignorant, stupid, and sinful -- +but those are only handicaps. Our pride is that nevertheless, now and +then, we do our best. A few times we succeed. What more dare we ask for? + -- Ensign Flandry +% +"We're not talking about the same thing," he said. "For you the world is +weird because if you're not bored with it you're at odds with it. For me +the world is weird because it is stupendous, awesome, mysterious, +unfathomable; my interest has been to convince you that you must accept +responsibility for being here, in this marvelous world, in this marvelous +desert, in this marvelous time. I wanted to convince you that you must +learn to make every act count, since you are going to be here for only a +short while, in fact, too short for witnessing all the marvels of it." + -- Don Juan +% +We're only in it for the volume. + -- Black Sabbath +% +Were there no women, men might live like gods. + -- Thomas Dekker +% +Wernher von Braun settled for a V-2 when he coulda had a V-8. +% +Westheimer's Discovery: + A couple of months in the laboratory can + frequently save a couple of hours in the library. +% +Wethern's Law: + Assumption is the mother of all screw-ups. +% +We've tried each spinning space mote +And reckoned its true worth: +Take us back again to the homes of men +On the cool, green hills of Earth. + +The arching sky is calling +Spacemen back to their trade. +All hands! Standby! Free falling! +And the lights below us fade. +Out ride the sons of Terra, +Far drives the thundering jet, +Up leaps the race of Earthmen, +Out, far, and onward yet-- + +We pray for one last landing +On the globe that gave us birth; +Let us rest our eyes on the fleecy skies +And the cool, green hills of Earth. + -- Robert A. Heinlein, 1941 +% +Wharbat darbid yarbou sarbay? +% +What!? Me worry? + -- A.E. Newman +% +What a bonanza! An unknown beginner to be directed by Lubitsch, in a script +by Wilder and Brackett, and to play with Paramount's two superstars, Gary +Cooper and Claudette Colbert, and to be beaten up by both of them! + -- David Niven, "Bring On the Empty Horses" +% +What a misfortune to be a woman! And yet, the worst misfortune is not to +understand what a misfortune it is. + -- Kierkegaard, 1813-1855. +% +What a strange game. The only winning move is not to play. + -- WOP, "War Games" +% +What, after all, is a halo? It's only one more thing to keep clean. + -- Christopher Fry +% +What an artist dies with me! + -- Nero +% +What an author likes to write most is his signature on the +back of a cheque. + -- Brendan Francis +% +What awful irony is this? +We are as gods, but know it not. +% +What causes the mysterious death of everyone? +% +What color is a chameleon on a mirror? +% +What did ya do with your burder and your cross? +Did you carry it yourself or did you cry? +You and I know that a burden and a cross, +Can only be carried on one man's back. + -- Louden Wainwright III +% +What did you bring that book I didn't want +to be read to out of about Down Under up for? +% +What did you do when the ship sank? +I grabbed a cake of soap and washed myself ashore. +% +What do I consider a reasonable person to be? I'd say a reasonable person +is one who accepts that we are all human and therefore fallible, and takes +that into account when dealing with others. Implicit in this definition is +the belief that it is the right and the responsibility of each person to +live his or her own life as he or she sees fit, to respect this right in +others, and to demand the assumption of this responsibility by others. +% +What do you give a man who has everything? Penicillin. + -- Jerry Lester +% +What do you have when you have six lawyers buried up to their necks in sand? +Not enough sand. +% +What does education often do? +It makes a straight cut ditch of a free meandering brook. + -- Henry David Thoreau +% +What does it mean if there is no fortune for you? +% +What does it take for Americans to do great things; to go to the moon, to +win wars, to dig canals linking oceans, to build railroads across a continent? +In independent thought about this question, Neil Armstrong and I concluded +that it takes a coincidence of four conditions, or in Neil's view, the +simultaneous peaking of four of the many cycles of American life. First, a +base of technology must exist from which to do the thing to be done. Second, +a period of national uneasiness about America's place in the scheme of human +activities must exist. Third, some catalytic event must occur that focuses +the national attention upon the direction to proceed. Finally, an articulate +and wise leader must sense these first three conditions and put forth with +words and action the great thing to be accomplished. The motivation of young +Americans to do what needs to be done flows from such a coincidence of +conditions. ... The Thomas Jeffersons, The Teddy Roosevelts, The John +Kennedys appear. We must begin to create the tools of leadership which they, +and their young frontiersmen, will require to lead us onward and upward. + -- Dr. Harrison H. Schmidt +% +What does not destroy me, makes me stronger. + -- Nietzsche +% +What ever happened to happily ever after? +% +What excuses stand in your way? How can you eliminate them? + -- Roger von Oech +% +What foods these morsels be! +% +What fools these morals be! +% +What fools these mortals be. + -- Lucius Annaeus Seneca +% +What garlic is to salad, insanity is to art. +% +What goes up must come down. But don't expect it to come down +where you can find it. Murphy's Law applied to Newton's. +% +What good is a ticket to the good life, +if you can't find the entrance? +% +What good is an obscenity trial except to popularize literature? + -- Nero Wolfe, "The League of Frightened Men" +% +What good is having someone who can walk on water if you don't follow +in his footsteps? +% +What good is it if you talk in flowers, and they think in pastry? + -- Ashleigh Brilliant +% +What happened last night can happen again. +% +What happens if a big asteroid hits Earth? Judging from realistic simulations +involving a sledge hammer and a common laboratory frog, we can assume it will +be pretty bad. + -- Dave Barry +% +What happens to a dream deferred? +Does it dry up +Like a raisin in the sun? +Or fester like a sore -- +And then run? +Does it stink like rotten meat? +Or crust and sugar over -- +Like a syrupy sweet? + +Maybe it just sags +Like a heavy load. + +Or does it explode? + -- Langston Hughes +% +What happens when you cut back the jungle? It recedes. +% +What has roots as nobody sees, +Is taller than trees, +Up, up it goes, +And yet never grows? +% +What I mean (and everybody else means) by the word QUALITY cannot be +broken down into subjects and predicates. This is not because Quality +is so mysterious but because Quality is so simple, immediate, and direct. + -- R. Pirsig, "Zen and the Art of Motorcycle Maintenance" +% +What I tell you three times is true. + -- Lewis Carroll +% +What I want is all of the power and none of the responsibility. +% +What if everything is an illusion and nothing exists? +In that case, I definitely overpaid for my carpet. + -- Woody Allen, "Without Feathers" +% +What if nothing exists and we're all in somebody's dream? +Or what's worse, what if only that fat guy in the third row exists? + -- Woody Allen, "Without Feathers" +% +What if there had been room at the inn? + -- Linda Festa on the origins of Christianity +% +What is a magician but a practising theorist? + -- Obi-Wan Kenobi +% +What is algebra, exactly? Is it one of those three-cornered things? + -- J.M. Barrie +% +What is comedy? Comedy is the art of making people laugh without making +them puke. + -- Steve Martin +% +What is food to one, is to others bitter poison. + -- Titus Lucretius Carus +% +What is good? Everything that heightens the feeling of power in man, the +will to power, power itself. What is bad? Everything that is born of +weakness. Not contentedness but more power; not peace but war; not virtue +but fitness. The weak and the failures shall perish: first principle of +our love of man. And they shall even be given every possible assistance. +What is more harmful than any vice? Active pity for all the failures and +all the weak: Christianity. + -- Friedrich Nietzsche +% +What is important is food, money and opportunities for scoring off one's +enemies. Give a man these three things and you won't hear much squawking +out of him. + -- Brian O'Nolan, "The Best of Myles" +% +What is irritating about love is that it is a crime that requires +an accomplice. + -- Charles Baudelaire +% +What is love but a second-hand emotion? + -- Tina Turner +% +What is mind? No matter. +What is matter? Never mind. + -- Thomas Hewitt Key, 1799-1875 +% +What is now proved was once only imagin'd. + -- William Blake +% +What is research but a blind date with knowledge? + -- Will Harvey +% +What is robbing a bank compared with founding a bank? + -- Bertolt Brecht, "The Threepenny Opera" +% +What is status? + Status is when the President calls you for your opinion. + +Uh, no... + Status is when the President calls you in to discuss a + problem with him. + +Uh, that still ain't right... + STATUS is when you're in the Oval Office talking to the President, + and the phone rings. The President picks it up, listens for a + minute, and hands it to you, saying, "It's for you." +% +What is the difference between a Turing machine and the modern computer? +It's the same as that between Hillary's ascent of Everest and the +establishment of a Hilton on its peak. +% +What is the robbing of a bank compared to the founding of a bank? + -- Bertold Brecht +% +What is the sound of one hand clapping? +% +What is this line of duty, and suffering? You are not supposed to suffer +if you are an assassin. The other person is supposed to suffer. + -- Chiun, glory of the name of Sinanju, teacher of the youth + from outside Sinanju named Remo. +% +What is tolerance? -- it is the consequence of humanity. We are all formed +of frailty and error; let us pardon reciprocally each other's folly -- that +is the first law of nature. + -- Voltaire +% +What is truth? We must adopt a pragmatic definition: it is what is believed +to be the truth. A lie that is put across therefore becomes the truth and +may, therefore, be justified. The difficulty is to keep up lying... it is +simpler to tell the truth and if a sufficient emergency arises, to tell one, +big thumping lie that will then be believed. + -- Ministry of Information, memo on the maintenance of + British civilian morale, 1939 +% +What is wanted is not the will to believe, but the will to find out, +which is the exact opposite. + -- Bertrand Russell, "Skeptical Essays", 1928 +% +What is wanted is not the will-to-believe, +but the wish to find out, which is exact opposite. + -- Bertrand Russell +% +What is worth doing is worth the trouble of asking somebody to do it. +% +What kind of sordid business are you on now? I mean, man, whither +goest thou? Whither goest thou, America, in thy shiny car in the night? + -- Jack Kerouac +% +What luck for the rulers that men do not think. + -- Adolph Hitler +% +What makes the Universe so hard to comprehend +is that there's nothing to compare it with. +% +What makes us so bitter against people who outwit us +is that they think themselves cleverer than we are. +% +What makes you think graduate school +is supposed to be satisfying? + -- Erica Jong, "Fear of Flying" +% +What most people want is all of the power but none of the responsibility. +% +What no spouse of a writer can ever understand +is that a writer is working when he's staring out the window. +% +What nonsense people talk about happy marriages! +A man can be happy with any woman so long as he doesn't love her. + -- Wilde +% +What on earth would a man do with himself +if something did not stand in his way? + -- H.G. Wells +% +What one believes to be true either is true or becomes true. + -- John Lilly +% +What one fool can do, another can. + -- Ancient Simian Proverb +% +What orators lack in depth they make up in length. +% +What pains others pleasures me, +At home am I in Lisp or C; +There i couch in ecstasy, +'Til debugger's poke i flee, +Into kernel memory. +In system space, system space, there shall i fare-- +Inside of a VAX on a silicon square. +% +What passes for optimism is most often the effect of an intellectual error. + -- Raymond Aron, "The Opium of the Intellectuals" +% +What passes for woman's intuition is often nothing +more than man's transparency. + -- George Nathan +% +What passes for woman's intuition +is often nothing more than man's transparency. +% +What publishers are looking for these days isn't radical feminism. +It's corporate feminism -- a brand of feminism designed to sell books +and magazines, three-piece suits, airline tickets, Scotch, cigarettes +and, most important, corporate America's message, which runs: Yes, +women were discriminated against in the past, but that unfortunate +mistake has been remedied; now every woman can attain wealth, prestige +and power by dint of individual rather than collective effort. + -- Susan Gordon +% +What really shapes and conditions and makes us is somebody only a few +of us ever have the courage to face: and that is the child you once +were, long before formal education ever got its claws into you -- that +impatient, all-demanding child who wants love and power and can't get +enough of either and who goes on raging and weeping in your spirit +till at last your eyes are closed and all the fools say, "Doesn't he +look peaceful?" It is those pent-up, craving children who make all +the wars and all the horrors and all the art and all the beauty and +discovery in life, because they are trying to achieve what lay beyond +their grasp before they were five years old. + -- Robertson Davies, "The Rebel Angels" +% +What sane person could live in this world and not be crazy? + -- U.K. LeGuin +% +What scoundrel stole the cork from my lunch? + -- J.D. Farley +% +What segment's this, that, laid to rest +On FHA0, is sleeping? +What system file, lay here a while This, this is "acct.run," +While hackers around it were weeping? Accounting file for everyone. + Dump, dump it and type it out, + The file, the highseg of login. +Why lies it here, on public disk +And why is it now unprotected? +A bug in incant, made it thus. Mount, mount all your DECtapes now +And copy the file somehow, somehow. The problem has not been corrected. + Dump, dump it and type it out, + The file, the highseg of login. + -- to Greensleeves +% +What sin has not been committed in the name of efficiency? +% +What soon grows old? Gratitude. + -- Aristotle +% +What, still alive at twenty-two, +A clean upstanding chap like you? +Sure, if your throat 'tis hard to slit, +Slit your girl's, and swing for it. +Like enough, you won't be glad, +When they come to hang you, lad: +But bacon's not the only thing +That's cured by hanging from a string. +So, when the spilt ink of the night +Spreads o'er the blotting pad of light, +Lads whose job is still to do +Shall whet their knives, and think of you. + -- Hugh Kingsmill +% +What the deuce is it to me? You say that we go around the sun. If we went +around the moon it would not make a pennyworth of difference to me or my work. + -- Sherlock Holmes, "A Study in Scarlet" +% +What the hell is it good for? + -- Robert Lloyd (engineer of the Advanced Computing Systems + Division of IBM), to colleagues who insisted that the + microprocessor was the wave of the future, c. 1968 +% +What the large print giveth, the small print taketh away. +% +What the scientists have in their briefcases is terrifying. + -- Nikita Khruschev +% +What they said: + What they meant: + +"I recommend this candidate with no qualifications whatsoever." + (Yes, that about sums it up.) +"The amount of mathematics she knows will surprise you." + (And I recommend not giving that school a dime...) +"I simply can't say enough good things about him." + (What a screw-up.) +"I am pleased to say that this candidate is a former colleague of mine." + (I can't tell you how happy I am that she left our firm.) +"When this person left our employ, we were quite hopeful he would go +a long way with his skills." + (We hoped he'd go as far as possible.) +"You won't find many people like her." + (In fact, most people can't stand being around her.) +"I cannot reccommend him too highly." + (However, to the best of my knowledge, he has never committed a + felony in my presence.) +% +What they said: + What they meant: + +"If you knew this person as well as I know him, you would think as much +of him as I do." + (Or as little, to phrase it slightly more accurately.) +"Her input was always critical." + (She never had a good word to say.) +"I have no doubt about his capability to do good work." + (And it's nonexistent.) +"This candidate would lend balance to a department like yours, which +already has so many outstanding members." + (Unless you already have a moron.) +"His presentation to my seminar last semester was truly remarkable: +one unbelievable result after another." + (And we didn't believe them, either.) +"She is quite uniform in her approach to any function you may assign her." + (In fact, to life in general...) +% +What they said: + What they meant: + +"You will be fortunate if you can get him to work for you." + (We certainly never succeeded.) +There is no other employee with whom I can adequately compare him. + (Well, our rats aren't really employees...) +"Success will never spoil him." + (Well, at least not MUCH more.) +"One usually comes away from him with a good feeling." + (And such a sigh of relief.) +"His dissertation is the sort of work you don't expect to see these days; +in it he has definitely demonstrated his complete capabilities." + (And his IQ, as well.) +"He should go far." + (The farther the better.) +"He will take full advantage of his staff." + (He even has one of them mowing his lawn after work.) +% +What they say: What they mean: + +A major technological breakthrough... Back to the drawing board. +Developed after years of research Discovered by pure accident. +Project behind original schedule due We're working on something else. + to unforseen difficulties +Designs are within allowable limits We made it, stretching a point or two. +Customer satisfaction is believed So far behind schedule that they'll be + assured grateful for anything at all. +Close project coordination We're gonna spread the blame, campers! +Test results were extremely gratifying It works, and boy, were we surprised! +The design will be finalized... We haven't started yet, but we've got + to say something. +The entire concept has been rejected The guy who designed it quit. +We're moving forward with a fresh We hired three new guys, and they're + approach kicking it around. +A number of different approaches... We don't know where we're going, but + we're moving. +Preliminary operational tests are Blew up when we turned it on. + inconclusive +Modifications are underway We're starting over. +% +What they say: What they mean: + +New Different colors from previous version. +All New Not compatible with previous version. +Exclusive Nobody else has documentation. +Unmatched Almost as good as the competition. +Design Simplicity The company wouldn't give us any money. +Fool-proof Operation All parameters are hard-coded. +Advanced Design Nobody really understands it. +Here At Last Didn't get it done on time. +Field Tested We don't have any simulators. +Years of Development Finally got one to work. +Unprecedented Performance Nothing ever ran this slow before. +Revolutionary Disk drives go 'round and 'round. +Futuristic Only runs on a next generation supercomputer. +No Maintenance Impossible to fix. +Performance Proven Worked through Beta test. +Meets Tough Quality Standards It compiles without errors. +Satisfaction Guaranteed We'll send you another pack if it fails. +Stock Item We shipped it before and can do it again. +% +What this country needs is a dime that will buy a good five-cent bagel. +% +What this country needs is a good 5 dollar plasma weapon. +% +What this country needs is a good five cent ANYTHING! +% +What this country needs is a good five cent microcomputer. +% +What this country needs is a good five-cent nickel. +% +What time is it? +I don't know, it keeps changing. +% +What upsets me is not that you lied to me, +but that from now on I can no longer believe you. + -- Nietzsche +% +What we Are is God's give to us. +What we Become is our gift to God. +% +What we cannot speak about we must pass over in silence. + -- Wittgenstein +% +What we do not understand we do not possess. + -- Goethe +% +What we need is either less corruption, +or more chance to participate in it. +% +What we see depends on mainly what we look for. + -- John Lubbock +% +What we wish, that we readily believe. + -- Demosthenes +% +What will you do if all your problems aren't solved by the time you die? +% +What you don't know won't help you much either. + -- D. Bennett +% +What you see is from outside yourself, and may come, or not, but is beyond +your control. But your fear is yours, and yours alone, like your voice, or +your fingers, or your memory, and therefore yours to control. If you feel +powerless over your fear, you have not yet admitted that it is yours, to do +with as you will. + -- Marion Zimmer Bradley, "Stormqueen" +% +What you want, what you're hanging around in the world waiting for, is for +something to occur to you. + -- Robert Frost + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to AST's.] +% +Whatever became of eternal truth? +% +Whatever became of Strange de Jim? Well, he found a substitute for +cocaine: "You cover Q-tips with sandpaper and ram them up your +nostrils as far as they will go. Then you sniff talcum powder while +shredding hundred dollar bills." + -- Herb Caen +% +Whatever doesn't succeed in two months and a half in California will +never succeed. + -- Rev. Henry Durant, founder of the University of California +% +Whatever else can be said about sex, it cannot be called a dignified +performance. + -- Helen Lawrenson +% +Whatever happened to the good old days +when sex was dirty and the air was clean? +% +Whatever is not nailed down is mine. +Whatever I can pry up is not nailed down. + -- Collis P. Huntingdon, railroad tycoon +% +Whatever it is, I fear Greeks even when they bring gifts. + -- Publius Vergilius Maro (Virgil) +% +Whatever occurs from love is always beyond good and evil. + -- Friedrich Nietzsche +% +Whatever women do they must do twice as well as men to be thought half +as good. Luckily this is not difficult. + -- Charlotte Whitton +% +Whatever you do will be insignificant, but it is very important that +you do it. + -- Ghandi +% +Whatever you do will be insignificant, +but it is very important that you do it. + -- Gandhi +% +Whatever you may be sure of, be sure of this: that you are dreadfully like +other people. + -- James Russell Lowell, "My Study Windows" +% +Whatever you want to do, you have to do something else first. +% +What's a cult? It just means not enough people to make a minority. + -- Robert Altman +% +What's all this bru-ha-ha? +% +What's another word for "thesaurus"? + -- Steven Wright +% +What's done to children, they will do to society. +% +What's page one, a preemptive strike? + -- Professor Freund, Communication, Ramapo State College +% +What's so funny? +% +What's the matter with the world? Why, there ain't but one thing wrong +with every one of us - and that's "selfishness." + -- The Best of Will Rogers +% +What's the ugliest part of your body? +What's the ugliest part of your body? +Some say your nose, +Some say your toes, +But I think it's your mind. + -- Frank Zappa, 1965 +% +What's this stuff about people being "released on their +own recognizance"? Aren't we all out on own recognizance? +% +When a Banker jumps out of a window, +jump after him -- that's where the money is. + -- Robespierre +% +When a camel flies, no one laughs if it doesn't get very far! +% +When a cow laughs, does milk come out of its nose? +% +When a fellow says, "It ain't the money but +the principle of the thing," it's the money. + -- Kim Hubbard +% +When a girl can read the handwriting on +the wall, she may be in the wrong rest room. +% +When a girl marries she exchanges the attentions of many men for the +inattentions of one. + -- Helen Rowland +% +When a lion meets another with a louder roar, +the first lion thinks the last a bore. + -- G.B. Shaw +% +When a lot of remedies are suggested for +a disease, that means it can't be cured. + -- Chekhov, "The Cherry Orchard" +% +When a man assumes a public trust, he +should consider himself as public property. + -- Thomas Jefferson +% +When a man is tired of London, he is tired of life. + -- Samuel Johnson +% +When a man knows he is to be hanged in a fortnight, +it concentrates his mind wonderfully. + -- Samuel Johnson +% +When a man sits with a pretty girl for an hour, it seems like a minute. +But let him sit on a hot stove for a minute-- and it's longer than any +hour. That's relativity. + -- Albert Einstein +% +When a man steals your wife, there is no better revenge than to let him +keep her. + -- Sacha Guitry +% +When a man you like switches from what he said a year ago, or four years +ago, he is a broad-minded man who has courage enough to change his mind +with changing conditions. When a man you don't like does it, he is a +liar who has broken his promises. + -- Franklin Adams +% +When a person goes on a diet, the first thing he loses is his temper. +% +When a place gets crowded enough to require ID's, social collapse is not +far away. It is time to go elsewhere. The best thing about space travel +is that it made it possible to go elsewhere. + -- R.A. Heinlein, "Time Enough For Love" +% +When a shepherd goes to kill a wolf, and takes his dog along to see +the sport, he should take care to avoid mistakes. The dog has certain +relationships to the wolf the shepherd may have forgotten. + -- Robert Pirsig, "Zen and the Art of Motorcycle Maintenance" +% +When a woman gives me a present I have always two surprises: +first is the present, and afterward, having to pay for it. + -- Donnay +% +When a woman marries again it is because she detested her first husband. +When a man marries again, it is because he adored his first wife. + -- Wilde +% +When alerted to an intrusion by tinkling glass or otherwise, 1) Calm +yourself 2) Identify the intruder 3) If hostile, kill him. + +Step number 3 is of particular importance. If you leave the guy alive +out of misguided softheartedness, he will repay your generosity of spirit +by suing you for causing his subsequent paraplegia and seek to force you +to support him for the rest of his rotten life. In court he will plead +that he was depressed because society had failed him, and that he was +looking for Mother Teresa for comfort and to offer his services to the +poor. In that lawsuit, you will lose. If, on the other hand, you kill +him, the most that you can expect is that a relative will bring a wrongful +death action. You will have two advantages: first, there be only your +story; forget Mother Teresa. Second, even if you lose, how much could +the bum's life be worth anyway? A Lot less than 50 years worth of +paralysis. Don't play George Bush and Saddam Hussein. Finish the job. + -- G. Gordon Liddy's Forbes column on personal security +% +When Alexander Graham Bell died in 1922, the telephone people +interrupted service for one minute in his honor. They've been +honoring him intermittently ever since, I believe. + -- The Grab Bag +% +When all else fails, EAT!!! +% +When all else fails, pour a pint of Guinness in the gas tank, advance +the spark 20 degrees, cry "God Save the Queen!", and pull the starter +knob. + -- MG "Series MGA" Workshop Manual +% +When all else fails, read the instructions. +% +When all else fails, try Kate Smith. +% +When all other means of communication fail, try words. +% +When among apes, one must play the ape. +% +When angry, count four; when very angry, swear. + -- Mark Twain +% +When arguments fail, use a blackjack. + -- Ed "Spike" O'Donnell +% +When arguments fail, use a blackjack. + -- Edward "Spike" O'Donnell, Al Capone associate. +% +When asked the definition of "pi": +The Mathematician: + Pi is the number expressing the relationship between the + circumference of a circle and its diameter. +The Physicist: + Pi is 3.1415927, plus or minus 0.000000005. +The Engineer: + Pi is about 3. +% +When Boy Scouts do it, it's intense. +% +When childhood dies, its corpses are called adults. + -- Brian Aldiss +% +When choosing between two evils, I always +like to take the one I've never tried before. + -- Mae West, "Klondike Annie" +% +When confronted by a difficult problem, you can often solve it quite +easily by reducing it to the question, "How would the Lone Ranger +handle this?" +% +When confronted by a difficult problem, you can solve it more easily by +reducing it to the question, "How would the Lone Ranger handle this?" +% +When Cthulhu calls, He calls collect! +% +When democracy granted democratic methods to us in times of opposition, this +was bound to happen in a democratic system. However, we National Socialists +never asserted that we represented a democratic point of view, but we have +declared openly that we used the democratic methods only to gain power and +that, after assuming the power, we would deny to our adversaries without any +consideration the means which were granted to us in times of our opposition. + -- Josef Goebbels +% +When Dexter's on the Internet, can Hell be far behind?" +% +When does later become never? +% +When does summertime come to Minnesota, you ask? +Well, last year, I think it was a Tuesday. +% +When eating an elephant take one bite at a time. + -- Gen. C. Abrams +% +When forecasting, give them a number +or give them a date, but never both. +% +When God endowed human beings with brains, +He did not intend to guarantee them. +% +When God saw how faulty was man He tried again and made woman. As to +why he then stopped there are two opinions. One of them is woman's. + -- DeGourmont +% +When he got in trouble in the ring, [Ali] imagined a door swung open and +inside he could see neon, orange, and green lights blinking, and bats +blowing trumpets and alligators blowing trombones, and he could hear snakes +screaming. Weird masks and actors' clothes hung on the wall, and if he +stepped across the sill and reached for them, he knew that he was committing +himself to destruction. + -- George Plimpton +% +When I came back to Dublin I was courtmartialed in my absence and sentenced +to death in my absence, so I said they could shoot me in my absence. + -- Brendan Behan +% +When I demanded of my friend what viands he preferred, +He quoth: "A large cold bottle, and a small hot bird!" + -- Eugene Field, "The Bottle and the Bird" +% +when i die, i'd like to go peacefully. +in my sleep. +like my grandfather. + +not screaming, +like the passengers in his car... +% +When I drink, *everybody* drinks!" a man shouted to the assembled bar patrons. A +loud general cheer went up. After downing his whiskey, he hopped onto a +barstool and shouted "When I take another drink, *everybody* takes another +drink!" The announcement produced another cheer and another round of drinks. + As soon as he had downed his second drink, the fellow hopped back +onto the stool. "And when I pay," he bellowed, slapping five dollars onto +the bar, "*everybody* pays!" +% +When I first arrived in this country I had only fifteen cents in my pocket +and a willingness to compromise. + -- Weber cartoon caption +% +When I get real bored, I like to drive down town and get a great +parking spot, then sit in my car and count how many people ask me +if i'm leaving. + -- Steven Wright +% +When I get real bored, I like to drive downtown and get a great parking spot, +then sit in my car and count how many people ask me if I'm leaving. + -- Steven Wright +% +When I grow up, I want to be an honest +lawyer so things like that can't happen. + -- Richard Nixon, as a boy, on the Teapot Dome scandal +% +When I have one foot in the grave I will tell the truth about women. I +shall tell it, jump into my coffin, pull the lid over me, and say, "Do +what you like now." + -- Tolstoy +% +When I hear a man applauded by the mob I always feel a pang of pity +for him. All he has to do to be hissed is to live long enough. + -- H.L. Mencken, "Minority Report" +% +When I kill, the only thing I feel is recoil. +% +When I said "we", officer, I was referring to +myself, the four young ladies, and, of course, the goat. +% +When I saw a sign on the freeway that said, "Los Angeles 445 miles," I said +to myself, "I've got to get out of this lane." + -- Franklyn Ajaye +% +When I say the magic word to all these people, they will vanish forever. +I will then say the magic words to you, and you, too, will vanish -- never +to be seen again. + -- Kurt Vonnegut Jr., "Between Time and Timbuktu" +% +When I sell liquor, it's called bootlegging; when my patrons serve +it on silver trays on Lake Shore Drive, it's called hospitality. + -- Al Capone +% +When I think about myself, +I almost laugh myself to death, +My life has been one great big joke, Sixty years in these folks' world +A dance that's walked The child I works for calls me girl +A song that's spoke, I say "Yes ma'am" for working's sake. +I laugh so hard I almost choke Too proud to bend +When I think about myself. Too poor to break, + I laugh until my stomach ache, + When I think about myself. +My folks can make me split my side, +I laughed so hard I nearly died, +The tales they tell, sound just like lying, +They grow the fruit, +But eat the rind, +I laugh until I start to crying, +When I think about my folks. + -- Maya Angelou +% +When I was 16, I thought there was no hope for my father. +By the time I was 20, he had made great improvement. +% +When I was a boy I was told that anyone could become President. +Now I'm beginning to believe it. + -- Clarence Darrow +% +When I was a child... We had a quick-sand box in the backyard... +I was an only child... eventually. + -- Stephen Wright +% +When I was a kid my favorite relative was Uncle Caveman. After school we'd +all go play in his cave, and every once in a while he would eat one of us. +It wasn't until later that I found out that Uncle Caveman was a bear. + -- Jack Handey +% +When I was a kid, we had a quick-sand box in the backyard. +I was an only child... eventually. + -- Steven Wright +% +When I was a young man, I vowed never to marry until I found the ideal +woman. Well, I found her -- but alas, she was waiting for the ideal man. + -- Robert Schuman +% +When I was crossing the border into Canada, they asked if +I had any firearms with me. I said, "Well, what do you need?" + -- Steven Wright +% +When I was growing up my mother kept telling me we're just friends. + +I tell ya I was an ugly kid. I was so ugly that my Dad kept the kid's +picture that came with the wallet he bought. + -- Rodney Dangerfield +% +When I was in college, there were a lot of four-letter words you couldn't +say in front of girls. Now you can say them. But you can't say "girls". +% +When I was in school, I cheated on my metaphysics exam: +I looked into the soul of the boy sitting next to me. + -- Woody Allen +% +When I was little, I went into a pet shop and they asked how big I'd get. + -- Rodney Dangerfield +% +When I was seven years old, I was once reprimanded by my mother for an act +of collective brutality in which I had been involved at school. A group of +seven-year-olds had been teasing and tormenting a six-year-old. "It is +always so," my mother said. "You do things together which not one of you +would think of doing alone." ... Wherever one looks in the world of human +organization, collective responsibility brings a lowering of moral standards. +The military establishment is an extreme case, an organization which seems +to have been expressly designed to make it possible for people to do things +together which nobody in his right mind would do alone. + -- Freeman Dyson, "Weapons and Hope" +% +When I was young we didn't have MTV; we +had to take drugs and go to concerts. + -- Steven Pearl +% +When I was younger, I could remember anything, whether it had happened +or not; but my faculties are decaying now and soon I shall be so I cannot +remember any but the things that never happened. It is sad to go to +pieces like this but we all have to do it. + -- Mark Twain +% +When I woke up this morning, my girlfriend asked if I had +slept well. I said, "No, I made a few mistakes." + -- Steven Wright +% +When I works, I works hard. +When I sits, I sits easy. +And when I thinks, I goes to sleep. +% +When I'm gone, boxing will be nothing again. The fans with the cigars and +the hats turned down'll be there, but no more housewives and little men in +the street and foreign presidents. It's goin' to be back to the fighter who +comes to town, smells a flower, visits a hospital, blows a horn and says +he's in shape. Old hat. I was the onliest boxer in history people asked +questions like a senator. + -- Muhammad Ali +% +When I'm good, I'm great; but when I'm bad, I'm better. + -- Mae West +% +When in charge ponder, +When in doubt mumble, +When in trouble delegate. +% +When in doubt, do it. It's much easier +to apologize than to get permission. + -- Grace Murray Hopper +% +When in doubt, do what the President does -- guess. +% +When in doubt, follow your heart. +% +When in doubt, have a man come through the door with a gun in his hand. + -- Raymond Chandler +% +When in doubt, lead trump. +% +When in doubt, mumble; when in trouble, delegate; when in charge, ponder. + -- James H. Boren +% +When in doubt, tell the truth. + -- Mark Twain +% +When in doubt, use brute force. + -- Ken Thompson +% +When in Rome, live in the Roman way. + -- St. Ambrose +% +When in this world the headlines read +Of those whose hearts are filled with greed +Who rob and steal from those who need +The cry goes up with blinding speed for Underdog (UNDERDOG!) +Underdog (UNDERDOG!) +Speed of lightning, roar of thunder +Fighting all who rob or plunder +Underdog (ah-ah-ah-ah) +Underdog +UNDERDOG! +% +When in trouble or in doubt, run in circles, scream and shout. +% +When it comes to broken marriages most husbands will split the blame -- +half his wife's fault, and half her mother's. +% +When it comes to helping you, some people stop at nothing. +% +When it is not necessary to make a decision, +it is necessary not to make a decision. +% +When it's dark enough you can see the stars. + -- Ralph Waldo Emerson, +% +When license fees are too high, +users do things by hand. +When the management is too intrusive, +users lose their spirit. + +Hack for the user's benefit. +Trust them; leave them alone. +% +When love is gone, there's always justice. +And when justice is gone, there's always force. +And when force is gone, there's always Mom. +Hi, Mom! + -- Laurie Anderson +% +When man calls an animal "vicious", he usually means that it +will attempt to defend itself when he tries to kill it. +% +When managers hold endless meetings, the programmers write games. When +accountants talk of quarterly profits, the development budget is about to +be cut. When senior scientists talk blue sky, the clouds are about to roll +in. + +Truly, this is not the Tao of Programming. + +When managers make commitments, game programs are ignored. When accountants +make long-range plans, harmony and order are about to be restored. When +senior scientists address the problems at hand, the problems will soon be +solved. + +Truly, this is the Tao of Programming. +% +When Marriage is Outlawed, +Only Outlaws will have Inlaws. +% +When more and more people are thrown out of work, unemployment results. + -- Calvin Coolidge +% +When my brain begins to reel from my +literary labors, I make an occasional cheese dip. + -- Ignatius Reilly +% +When my fist clenches crack it open, +Before I use it and lose my cool. +When I smile tell me some bad news, +Before I laugh and act like a fool. + +And if I swallow anything evil, +Put you finger down my throat. +And if I shiver please give me a blanket, +Keep me warm let me wear your coat + +No one knows what it's like to be the bad man, + to be the sad man. +Behind blue eyes. +No one knows what its like to be hated, + to be fated, +To telling only lies. + -- The Who +% +When my freshman roommate at Cornell found out I was Jewish, she was, +at her request, moved to a different room. She told me she didn't +think she had ever seen a Jew before. My only response was to begin +wearing a small Star of David on a chain around my neck. I had not +become a more observing Jew; rather, discovering that the label of +Jew was offensive to others made me want to let people know who I +was and what I believed in. Similarly, after talking to these young +women -- one of whom told me that she didn't think she had ever met +a feminist -- I've taken to identifying myself as a feminist in the +most unlikely of situations. + -- Susan Bolotin, "Voices From the Post-Feminist Generation" +% +When neither their poverty nor their honor is +touched, the majority of men live content. + -- Niccolo Machiavelli +% +When nothing can possibly go wrong, it will. +% +When one burns one's bridges, what a very nice fire it makes. + -- Dylan Thomas +% +When one knows women one pities men, +but when one studies men, one excuses women. + -- Horne Tooke +% +When one wants to get rid of an unsupportable pressure, one needs hashish. + -- Friedrich Nietzsche +% +When one woman was asked how long she had been going to symphony concerts, +she paused to calculate and replied, "Forty-seven years -- and I find I mind +it less and less." + -- Louise Andrews Kent +% +When oxygen Tech played Hydrogen U. +The Game had just begun, when Hydrogen scored two fast points +And Oxygen still had none +Then Oxygen scored a single goal +And thus it did remain, At Hydrogen 2 and Oxygen 1 +Called because of rain. +% +When people have trouble communicating, +the least they can do is to shut up. + -- Tom Lehrer +% +When people say nothing, they don't necessarily mean nothing. +% +When pleasure remains, does it remain a pleasure? +% +When President Paul Doumer of France was assassinated in Paris in 1932, +newspapers differed in their versions of the event. This is from "Paris +was Yesterday: 1925-1939" by Janet Flanner, edited by Irving Drutman. + + Taste varied as to his cry when he was shot down, the more popular + papers preferring his despairing "Oh, la la!," the graver dailies + favoring "Is it possible?" What few reported were his dying words: + "But what kind of chauffeur was it?" Having been told by his aides + not that he had been shot but that he had been struck by a taxi, the + President spent the last conscious moments of his life wondering how + how an automobile got into the charity book sale at the Maison + Rothschild, where his assassination occurred. +% +When properly administered, vacations do not diminish productivity: for +every week you're away and get nothing done, there's another when your boss +is away and you get twice as much done. + -- Daniel B. Luten +% +When smashing monuments, save the pedstals -- they always come in handy. + -- Stanislaw J. Lem, "Unkempt Thoughts" +% +When some people decide it's time for everyone to make +big changes, it means that they want you to change first. +% +When some people discover the truth, they just +can't understand why everybody isn't eager to hear it. +% +When someone makes a move We'll send them all we've got, +Of which we don't approve, John Wayne and Randolph Scott, +Who is it that always intervenes? Remember those exciting fighting scenes? +U.N. and O.A.S., To the shores of Tripoli, +They have their place, I guess, But not to Mississippoli, +But first, send the Marines! What do we do? We send the Marines! + +For might makes right, Members of the corps +And till they've seen the light, All hate the thought of war: +They've got to be protected, They'd rather kill them off by + peaceful means. +All their rights respected, Stop calling it aggression-- +Till somebody we like can be elected. We hate that expression! + We only want the world to know + That we support the status quo; + They love us everywhere we go, + So when in doubt, send the Marines! + -- Tom Lehrer, "Send The Marines" +% +When someone says "I want a programming language in +which I need only say what I wish done," give him a lollipop. +% +When speculation has done its worst, two plus two still equals four. + -- S. Johnson +% +When taxes are due, Americans tend to feel quite bled-white and blue. +% +When the Apple IIc was introduced, the informative copy led off with a couple +of asterisked sentences: + + It weighs less than 8 pounds.* + And costs less than $1,300.** + +In tiny type were these "fuller explanations": + + * Don't asterisks make you suspicious as all get out? Well, all + this means is that the IIc alone weights 7.5 pounds. The power + pack, monitor, an extra disk drive, a printer and several bricks + will make the IIc weigh more. Our lawyers were concerned that you + might not be able to figure this out for yourself. + + ** The FTC is concerned about price fixing. You can pay more if + you really want to. Or less. + -- Forbes +% +When the ax entered the forest, the trees said, "The handle is one of us!" + -- Turkish proverb +% +When the blind lead the blind they will both fall over the cliff. + -- Chinese proverb +% +When the bosses talk about improving productivity, they are never +talking about themselves. +% +When the candles are out all women are fair. + -- Plutarch +% +When the cup is full, carry it level. +% +When the English language gets in my way, I walk over it. + -- Billy Sunday +% +When the fog came in on little cat feet last night, it left these little +muddy paw prints on the hood of my car. +% +When the going gets tough, everyone leaves. + -- Lynch +% +When the going gets tough, the tough go grab a beer. +% +When the going gets tough, the tough go shopping. +% +When the going gets weird, the weird turn pro. + -- Hunter S. Thompson +% +When the government bureau's remedies do not match +your problem, you modify the problem, not the remedy. +% +When the government bureau's remedies don't match your problem, you modify +the problem, not the remedy. +% +When the Guru administers, the users +are hardly aware that he exists. +Next best is a sysop who is loved. +Next, one who is feared. +And worst, one who is despised. + +If you don't trust the users, +you make them untrustworthy. + +The Guru doesn't talk, he hacks. +When his work is done, +the users say, "Amazing: +we implemented it, all by ourselves!" +% +When the leaders speak of peace +The common folk know +That war is coming +When the leaders curse war +The mobilization order is already written out. + +Every day, to earn my daily bread +I go to the market where lies are bought +Hopefully +I take my place among the sellers. + -- Bertolt Brecht, "Hollywood" +% +When the lights are out, all women are fair. + -- Plutarch +% +When the Ngdanga tribe of West Africa hold their moon love ceremonies, +the men of the tribe bang their heads on sacred trees until they get a +nose bleed, which usually cures them of that. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% +When the only tool you have is a hammer, every problem starts to look +like a nail. +% +When the President does it, that means it is not illegal. + -- Richard Nixon +% +When the revolution comes, count your change. +% +When the saleman's car broke down, he walked to the nearest farmhouse to ask +if he could stay the night. The farmer agreed to put him up. "I live alone," +he continued, "you can have the bedroom at the top of the stairs, to the +right." + "Oh, never mind," the disappointed salesman said. "I think I'm in +the wrong joke." +% +When the sun shineth, make hay. + -- John Heywood +% +When the Universe was not so out of whack as it is today, and all the +stars were lined up in their proper places, you could easily count them +from left to right, or top to bottom, and the larger and bluer ones were +set apart, and the smaller yellowing types pushed off to the corners as +bodies of a lower grade... + -- Stanislaw Lem +% +When the usher noticed a man stretched across three seats in a movie theatre, +he walked over and whispered, "I'm sorry, sir, but you're allowed only a single +seat." The man moaned, but did not budge. "Sir," the user said more loudly, +"if you don't move, I'll have to call a manager." The man moaned again but +stayed where he was. The usher left, and returned with the manager, who, after +several more attempts at dislodging the fellow, called the police. + The cop took a look at the reclining man and said, "All right, boyo, +what's your name?" + "Samuel," he mumbled. + "And where're you from, Sam?" + "The balcony." +% +When the wind is great, bow before it; +when the wind is heavy, yield to it. +% +When there are two conflicting versions of the story, the wise course +is to believe the one in which people appear at their worst. + -- H. Allen Smith, "Let the Crabgrass Grow" +% +When there is an old maid in the house, a watch dog is unnecessary. + -- Honore de Balzac +% +When things go well, expect something to +explode, erode, collapse or just disappear. +% +When two people are under the influence of the most violent, most insane, +most delusive, and most transient of passions, they are required to swear +that they will remain in that excited, abnormal, and exhausting condition +continuously until death do them part. + -- George Bernard Shaw +% +When users see one GUI as beautiful, +other user interfaces become ugly. +When users see some programs as winners, +other programs become lossage. + +Pointers and NULLs reference each other. +High level and assembler depend on each other. +Double and float cast to each other. +High-endian and low-endian define each other. +While and until follow each other. + +Therefore the Guru +programs without doing anything +and teaches without saying anything. +Warnings arise and he lets them come; +processes are swapped and he lets them go. +He has but doesn't possess, +acts but doesn't expect. +When his work is done, he deletes it. +That is why it lasts forever. +% +When we are planning for posterity, +we ought to remember that virtue is not hereditary. + -- Thomas Paine +% +When we jumped into Sicily, the units became separated, and I couldn't find +anyone. Eventually I stumbled across two colonels, a major, three captains, +two lieutenants, and one rifleman, and we secured the bridge. Never in the +history of war have so few been led by so many. + -- General James Gavin +% +When we talk of tomorrow, the gods laugh. +% +When we understand knowledge-based systems, it will be +as before -- except our finger-tips will have been singed. +% +When we write programs that "learn", +it turns out we do and they don't. +% +When women kiss it always reminds one of prize fighters shaking hands. + -- H.L. Mencken, "Sententiae" +% +When women love us, they forgive us everything, even our crimes; +when they do not love us, they give us credit for nothing, not +even our virtues. + -- Honore de Balzac +% +When you are about to die, a wombat is better than no company at all. + -- Roger Zelazny, "Doorways in the Sand" +% +When you are about to do an objective and scientific piece of investigation +of a topic, it is well to gave the answer firmly in hand, so that you can +proceed forthrightly, without being deflected or swayed, directly to the +goal. + -- Amrom Katz +% +When you are at Rome live in the Roman style; +when you are elsewhere live as they live elsewhere. + -- St. Ambrose +% +When you are in it up to your ears, keep your mouth shut. +% +When you are working hard, get up and retch every so often. +% +When you are young, you enjoy a sustained illusion that sooner or later +something marvelous is going to happen, that you are going to transcend +your parents' limitations... At the same time, you feel sure that in all +the wilderness of possibility; in all the forests of opinion, there is a +vital something that can be known -- known and grasped. That we will +eventually know it, and convert the whole mystery into a coherent +narrative. So that then one's true life -- the point of everything -- +will emerge from the mist into a pure light, into total comprehension. +But it isn't like that at all. But if it isn't, where did the idea come +from, to torture and unsettle us? + -- Brian Aldiss, "Helliconia Summer" +% +When you become used to never being alone, +you may consider yourself Americanized. +% +When you dial a wrong number you never get a busy signal. +% +When you die, you lose a very important part of your life. + -- Brooke Shields +% +When you dig another out of trouble, +you've got a place to bury your own. +% +When you do not know what you are doing, do it neatly. +% +When you don't know what to do, walk fast and look worried. +% +When you find yourself in danger, when you're threatened by a stranger, +When it looks like you will take a lickin'... +There is one thing you should learn, +When there is no one else to turn to, +Caaaall for Super Chicken (**bwuck-bwuck-bwuck-bwuck**) +Caaaall for Super Chicken!! +% +When you find yourself in danger, +When you're threatened by a stranger, +When it looks like you will take a lickin'... + +There is one thing you should learn, +When there is no one else to turn to, + Caaaall for Super Chicken!! (**bwuck-bwuck-bwuck-bwuck**) + Caaaall for Super Chicken!! +% +When you find yourself in danger, +When you're threatened by a stranger, +When it looks like you will take a lickin'... +There is one thing you should learn, +When there is no one else to turn to, +Caaaaaall for Super Chicken. +% +When you get what you want in your struggle for self +And the world makes you king for a day, +Just go to a mirror and look at yourself +And see what that man has to say. + For it isn't your father or mother or wife + Whose judgement upon you must pass; + The fellow whose verdict counts most in your life + Is the one staring back from the glass. +Some people may think you a straight-shootin' chum +And call you a wonderful guy, +But the man in the glass says you're only a bum +If you can't look him straight in the eye. + He's the fellow to please, never mind all the rest, + For he's with you clear up to the end, + And you've passed your most dangerous, difficult test + If the man in the glass is your friend. +You may fool the whole world down the pathway of life +And get pats on the back as you pass, +But your final reward will be heartaches and tears +If you've cheated the man in the glass. +% +When you go into court you are putting your fate into the hands of twelve +people who weren't smart enough to get out of jury duty. + -- Norm Crosby +% +When you go out to buy, don't show your silver. +% +When you have eliminated the impossible, whatever +remains, however improbable, must be the truth. + -- Sherlock Holmes, "The Sign of Four" +% +When you have shot and killed a man you have in some measure +clarified your attitude toward him. You have given a definite +answer to a definite problem. For better or worse you have +acted decisively. In a way, the next move is up to him. + -- R.A. Lafferty +% +When you have to kill a man it costs nothing to be polite. + -- W. Churchill, on formal declarations of war +% +When you jump for joy, beware that no-one +moves the ground from beneath your feet. + -- Stanislaw Lem, "Unkempt Thoughts" +% +When you live in a sick society, +just about everything you do is wrong. +% +When you make your mark in the world, +watch out for guys with erasers. + -- The Wall Street Journal +% +When you meet a master swordsman, +show him your sword. +When you meet a man who is not a poet, +do not show him your poem. + -- Rinzai, ninth century Zen master +% +When you overesteem great hackers, +more users become cretins. +When you develop encryption, +more users become crackers. + +The Guru leads +by emptying user's minds +and increasing their quotas, +by weakening their ambition +and toughening their resolve. +When users lack knowledge and desire, +management will not try to interfere. + +Practice not-looping, +and everything will fall into place. +% +When you say that you agree to a thing in principle, you mean that +you have not the slightest intention of carrying it out in practice. + -- Otto Von Bismarck +% +When you speak to others for their own good it's advice; +when they speak to you for your own good it's interference. +% +When you try to make an impression, the +chances are that is the impression you will make. +% +When you were born, a big chance was taken for you. +% +When your conscious becomes unconscious, you are drunk. +When your unconscious becomes conscious, you are stoned. +% +When your life is a leaf that the seasons tear off and condemn +They will bind you with love that is graceful and green as a stem. + -- Leonard Cohen, "Sisters of Mercy" +% +When your memory goes, forget it! +% +When your work speaks for itself, don't interrupt. + -- Henry J. Kaiser +% +When you're a Yup +You're a Yup all the way +From your first slice of Brie +To your last Cabernet. + +When you're a Yup +You're not just a dreamer +You're making things happen +You're driving a Beamer. +% +When you're away, I'm restless, lonely +Wretched, bored, dejected, only +Here's the rub, my darling dear, +I feel the same when you are hear. + -- Samuel Hoffenstein, "Poems in Praise of Practically Nothing" +% +When you're bored with yourself, marry, and be bored with someone else. + -- David Pryce-Jones +% +When you're dining out and you suspect +something's wrong, you're probably right. +% +When you're down and out, lift up your +voice and shout, "I'M DOWN AND OUT"! +% +When you're in command, command. + -- Admiral Nimitz +% +When you're married to someone, they take you for granted ... when +you're living with someone it's fantastic ... they're so frightened +of losing you they've got to keep you satisfied all the time. + -- Nell Dunn, "Poor Cow" +% +When you're not looking at it, this fortune is written in FORTRAN. +% +When you're ready to give up the struggle, who can you surrender to? +% +WHEN YOU'RE RIDING IN A TIME MACHINE way far into the future, don't stick +your elbow out the window or it'll turn into a fossil. + -- Jack Handley, The New Mexican, 1988. +% +When you've seen one nuclear war, you've seen them all. +% +Whenever a system becomes completely defined, +some damn fool discovers something which either +abolishes the system or expands it beyond recognition. +% +WHENEVER ANYBODY SAYS he's struggling to become a human being I have to +laugh because the apes beat him to it by about a million years. Struggle +to become a parrot or something. + -- Jack Handley, The New Mexican, 1988. +% +Whenever anyone says, "theoretically," they really mean "not really". + -- Dave Parnas +% +Whenever I date a guy, I think, is this the man I want my children +to spend their weekends with? + -- Rita Rudner +% +Whenever I feel like exercise, I lie down until the feeling passes. +% +Whenever I hear anyone arguing for slavery, I feel +a strong impulse to see it tried on him personally. + -- A. Lincoln +% +Whenever I see an old lady slip and fall on a wet sidewalk, my first instinct +is to laugh. But then I think, what if I was an ant, and she fell on me. +Then it wouldn't seem quite so funny. + -- Jack Handey +% +Whenever people agree with me I always feel I must be wrong. + -- Oscar Wilde +% +Whenever Richard Cory went downtown, + We people on the pavement looked at him: +He was a gentleman from sole to crown, + Clean-favored, and imperially slim. +And he was always quietly arrayed, + And he was always human when he talked; +But still he fluttered pulses when he said, + "Good morning," and he glittered when he walked. +And he was rich -- yes, richer than a king -- + And admirably schooled in every grace: +In fine, we thought that he was everything + To make us wish that we were in his place. +So on we worked, and waited for the light, + And went without the meat, and cursed the bread; +And Richard Cory, one calm summer night, + Went home and put a bullet through his head. + -- E.A. Robinson, "Richard Cory" +% +Whenever someone tells you to take their advice, +you can be pretty sure that they're not using it. +% +Whenever the literary German dives into a sentence, that +is the last you are going to see of him until he emerges +on the other side of his Atlantic with his verb in his mouth. + -- Mark Twain +% +Whenever you find that you are on the +side of the majority, it is time to reform. + -- Mark Twain +% +Where a calculator on the ENIAC is equpped with 18,000 vaccuum tubes and +weighs 30 tons, computers in the future may have only 1,000 vaccuum tubes +and perhaps weight 1 1/2 tons. + -- Popular Mechanics, March 1949 +% +Where am I? Who am I? Am I? I +% +Where are the calculations that go with a calculated risk? +% +WHERE CAN THE MATTER BE + Oh, dear, where can the matter be + When it's converted to energy? + There is a slight loss of parity. + Johnny's so long at the fair. +% +Where do I find the time for not reading so many books? + -- Karl Kraus +% +Where do you go to get anorexia? + -- Shelley Winters +% +Where humor is concerned there are no standards -- no one can say what +is good or bad, although you can be sure that everyone will. + -- John Kenneth Galbraith +% +Where is John Carson now that we need him? + -- RLG +% +Where it is a duty to worship the sun it is pretty sure to be a crime to +examine the laws of heat. + -- Christopher Morley +% +Where, oh, where, are you tonight? +Why did you leave me here all alone? +I searched the world over, and I thought I'd found true love. +You met another, and *PPHHHLLLBBBBTTT*, you wuz gone. + +Gloom, despair and agony on me. +Deep dark depression, excessive misery. +If it weren't for bad luck, I'd have no luck at all. +Oh, gloom, despair and agony on me. + -- Hee Haw +% +Where, oh where, are you tonight? +Why did you leave me here all alone? +I searched the world over, +And I thought I'd found true love, +You met another and [Bronx cheer] you were gone! + -- Hee Haw +% +Where the hell is Wall Drug? +% +Where the system is concerned, you're not allowed to ask "Why?". +% +Where there are visible vapors, having their prevenance +in ignited carbonaceous materials, there is conflagration. +% +Where there is much light there is also much shadow. + -- Goethe +% +Where there's a whip there's a way. +% +Where there's a will, there's a relative. +% +Where there's a will, there's an Inheritance Tax. +% +Where will it all end? +Probably somewhere near where it all began. +% +Where you stand depends on where you sit. + -- Rufus Miles, HEW +% +Whereof one cannot speak, thereof one must be silent. + -- Wittgenstein +% +Where's the man could ease a heart +Like a satin gown? + -- Dorothy Parker, "The Satin Dress" +% +...whether it is better to spend a life not knowing what you want or to +spend a life knowing exactly what you want and that you will never have it. + -- Richard Shelton +% +Whether weary or unweary, O man, do not rest, +Do not cease your single-handed struggle. +Go on, do not rest. + -- An old Gujarati hymn +% +Whether you can hear it or not, +The Universe is laughing behind your back. +% +Which would you rather have, a bursting +planet or an earthquake here and there? + -- John Joseph Lynch +% +While anyone can admit to themselves they were +wrong, the true test is admission to someone else. +% +While Europe's eye is fix'd on mighty things, +The fate of empires and the fall of kings; +While quacks of State must each produce his plan, +And even children lisp the Rights of Man; +Amid this mighty fuss just let me mention, +The Rights of Woman merit some attention. + -- Robert Burns, + Address on "The Rights of Woman", November 26, 1792 +% +While Europe's eye is fix'd on mighty things, +The fate of empires and the fall of kings; +While quacks of State must each produce his plan, +And even children lisp the Rights of Man; +Amid this mighty fuss just let me mention, +The Rights of Woman merit some attention. + -- Robert Burns, Address on "The Rights of Woman", 1792 +% +While having never invented a sin, +I'm trying to perfect several. +% +While he was in New York on location for _Bronco Billy_ (1980), Clint +Eastwood agreed to a television interview. His host, somewhat hostile, +began by defining a Clint Eastwood picture as a violent, ruthless, +lawless, and bloody piece of mayhem, and then asked Eastwood himself to +define a Clint Eastwood picture. "To me," said Eastwood calmly, "what +a Clint Eastwood picture is, is one that I'm in." + -- Boller and Davis, "Hollywood Anecdotes" +% +While I nodded, nearly napping, suddenly there came a tapping, +As of some one gently rapping, rapping at my chamber door. + -- Edgar Allan Poe, "The Raven" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to hardware interrupts.] + +And now I see with eye serene +The very pulse of the machine. + -- William Wordsworth, "She Was a Phantom of Delight" + + [Quoted in "VMS Internals and Data Structures", V4.4, when + referring to software interrupts.] +% +While money can't buy happiness, it certainly +lets you choose your own form of misery. +% +While money doesn't buy love, it puts you in a great bargaining position. +% +While most peoples' opinions change, +the conviction of their correctness never does. +% +While passing a vacant lot late one night, a jogger was stopped by a man who +held a gun to his head. + "Who are you for," the gunman snarled, "Bush or Dukakis?" + The runner thought for a moment, shifting nervously from foot to foot, +as the muzzle pressed harder into his temple. + "Bush or Dukakis?" the mugger insisted. + Finally, the jogger shrugged his shoulders, closed his eyes and bowed +his head. "Go ahead and shoot." +% +While there's life, there's hope. + -- Publius Terentius Afer (Terence) +% +While walking down a crowded +City street the other day, +I heard a little urchin +To a comrade turn and say, +"Say, Chimmey, lemme tell youse, +I'd be happy as a clam +If only I was de feller dat +Me mudder t'inks I am. + +"She t'inks I am a wonder, My friends, be yours a life of toil +An' she knows her little lad Or undiluted joy, +Could never mix wit' nuttin' You can learn a wholesome lesson +Dat was ugly, mean or bad. From that small, untutored boy. +Oh, lot o' times I sit and t'ink Don't aim to be an earthly saint +How nice, 'twould be, gee whiz! With eyes fixed on a star: +If a feller was de feller Just try to be the fellow that +Dat his mudder t'inks he is." Your mother thinks you are. + -- Will S. Adkin, "If I Only Was the Fellow" +% +While we are sleeping, two-thirds of the world is plotting to do us in. + -- Dean Rusk +% +While you don't greatly need the outside world, it's +still very reassuring to know that it's still there. +% +While you recently had your problems on the run, +they've regrouped and are making another attack. +% +While your friend holds you affectionately by both +your hands you are safe, for you can watch both of his. +% +Whip it, whip it good! +% +Whistler's Law: + You never know who is right, but you always know who is in charge. +% +Whistler's mother is off her rocker. +% +White dwarf seeks red giant for binary relationship. +% +White House carpenters have reworked the master bedroom, remodeling it +so that Ronnie can sleep with his head in the hall. That way, by the +time he wakes up, somebody will have already shined his hair. +% +Whitehead's Law: + The obvious answer is always overlooked. +% +White's Statement: + Don't lose heart! + +Owen's Commentary on White's Statement: + ...they might want to cut it out... + +Byrd's Addition to Owen's Commentary: + ...and they want to avoid a lengthy search. +% +Who are you? +% +Who can take the demands of the SDS seriously? + -- Nathan Pusey +% +Who cares if it doesn't do anything? It was made with +our new Triple-Iso-Bifurcated-Krypton-Gate-MOS process... +% +Who dat who say "who dat" when I say "who dat"? + -- Hattie McDaniel +% +Who does not love wine, women, and song, +Remains a fool his whole life long. + -- Johann Heinrich Voss +% +Who does not trust enough will not be trusted. + -- Lao Tsu +% +Who goeth a-borrowing goeth a-sorrowing. + -- Thomas Tusser +% +Who is D.B. Cooper, and where is he now? +% +Who is John Galt? +% +Who is W.O. Baker, and why is he saying those terrible things about me? +% +Who loves me will also love my dog. + -- John Donne +% +Who loves not wisely but too well +Will look on Helen's face in hell, +But he whose love is thin and wise +Will view John Knox in Paradise. + -- Dorothy Parker +% +Who made the world I cannot tell; +'Tis made, and here am I in hell. +My hand, though now my knuckles bleed, +I never soiled with such a deed. + -- A.E. Housman +% +Who needs companionship when you +can sit alone in your room and drink? +% +Who on earth would eat a charred caterpillar!? +No, no, you SINGE 'em! You SINGE 'em and eat 'em! +% +Who the hell wants to hear actors talk? + -- Harry Warner, Warner Bros. Pictures, c. 1927 +% +Who to himself is law no law doth need, +offends no law, and is a king indeed. + -- George Chapman +% +Who took the MMMMMM out of MURINE? +% +Who was that masked man? +% +Who will take care of the world after you're gone? +% +"WHOA!! Ken and Barbie are having TOO MUCH FUN!! +It must be the NEGATIVE IONS!!" + -- Zippy the Pinhead +% +Whoever dies with the most toys wins. +% +Whoever fights monsters should see to it that in the process he does not +become a monster. And when you look into an abyss, the abyss also looks +into you. + -- Friedrich Nietzsche +% +Whoever fights monsters should see to it that in the process he does not +become a monster. And when you look long into an abyss, the abyss also +looks into you. + -- Nietzsche +% +Whoever named it "necking" was a poor judge of anatomy. + -- Groucho Marx +% +Whoever tells a lie cannot be pure in heart -- and only the +pure in heart can make a good soup. + -- Ludwig Van Beethoven +% +Whoever would lie usefully should lie seldom. +% +Whom computers would destroy, they must first drive insane. +% +Whom the mad would destroy, first they make Gods. + -- Bernard Levin +% +Who's on first? +% +Who's scruffy-looking? + -- Han Solo +% +Why a man would want a wife is a big mystery to some people. +Why a man would want *two* wives is a bigamystery. +% +Why am I so soft in the middle when the rest of my life is so hard? + -- Paul Simon +% +Why are programmers non-productive? +Because their time is wasted in meetings. + +Why are programmers rebellious? +Because the management interferes too much. + +Why are the programmers resigning one by one? +Because they are burnt out. + +Having worked for poor management, they no longer value their jobs. + -- Geoffrey James, "The Tao of Programming" +% +Why are you so hard to ignore? +% +Why are you watching +The washing machine? +I love entertainment +So long as it's clean. + +Professor Doberman: + While the preceding poem is unarguably a change from the guarded +pessimism of "The Hound of Heaven," it cannot be regarded as an unqualified +improvement. Obscurity is of value only when it tends to clarify the poetic +experience. As much as one is compelled to admire the poem's technique, one +must question whether its byplay of complex literary allusions does not in +fact distract from the unity of the whole. In the final analysis, one +receives the distinct impression that the poem's length could safely have +been reduced by a factor of eight or ten without sacrificing any of its +meaning. It is to be hoped that further publication of this poem can be +suspended pending a thorough investigation of its potential subversive +implications. +% +Why attack God? He may be as miserable as we are. + -- Erik Satie +% +Why be a man when you can be a success? + -- Bertolt Brecht +% +Why be difficult when, with a bit of effort, you could be impossible? +% +Why be difficult, when, with just a little effort, you can be impossible? +% +Why be difficult, when, with just a +little more effort, you can be impossible? +% +Why bother building anymore nuclear +warheads until we use the ones we have? +% +Why did the Lord give us so much quickness of +movement unless it was to avoid responsibility with? +% +Why did the Roman Empire collapse? +What's the Latin for office automation? +% +Why do mathematicians insist on using words that already have another +meaning? "It is the complex case that is easier to deal with." "If it +doesn't happen at a corner, but at an edge, it nonetheless happens at a +corner." +% +Why do seagulls live near the sea? +'Cause if they lived near the bay, they'd be called baygulls. +% +Why do so many foods come packaged in plastic? +It's quite uncanny. +% +Why do they call a fast a fast, when it goes so slow? +% +Why do they call it baby-SITTING when all you do is run after them? +% +Why do we want intelligent terminals +when there are so many stupid users? +% +Why does a hearse horse snicker, hauling a lawyer away? + -- Carl Sandburg +% +Why does a ship carry cargo and a truck carry shipments? +% +Why does man kill? He kills for food. +And not only food: frequently there must be a beverage. + -- Woody Allen, "Without Feathers" +% +Why doesn't everybody leave everybody else the hell alone? + -- Jimmy Durante +% +Why don't somebody print the truth about our present economic condition? +We spent years of wild buying on credit, everything under the sun, whether +we needed it or not, and now we are having to pay for it, howling like a +pet coon. This would be a great world to dance in if we didn't have to +pay the fiddler. + -- The Best of Will Rogers +% +Why don't you fix your little problem... and light this candle? + -- Alan Shepherd, the first man into space, Gemini program +% +Why, every one as they like; as the good woman said when she +kissed her cow. + -- Rabelais +% +Why I Can't Go Out With You: + +I'd LOVE to, but... + -- I have to answer all of my "occupant" letters. + -- None of my socks match. + -- I'm having all my plants neutered. + -- I changed the lock on my door and now I can't get out. + -- My yucca plant is feeling yucky. + -- I'm touring China with a wok band. + -- My chocolate-appreciation class meets that night. + -- I'm running off to Yugoslavia with a foreign-exchange student + named Basil Metabolism. + -- There are important world issues that need worrying about. + -- I'm going to count the bristles in my toothbrush. + -- I prefer to remain an enigma. + -- I think you want the OTHER Peggy/Cathy/Mike/whomever. + -- I feel a song coming on. +% +Why I Can't Go Out With You: + +I'd LOVE to, but... + -- I have to draw "Cubby" for an art scholarship. + -- I have to sit up with a sick ant. + -- I'm trying to be less popular. + -- My bathroom tiles need grouting. + -- I'm waiting to see if I'm already a winner. + -- My subconscious says no. + -- I just picked up a book called "Glue in Many Lands" and I + can't seem to put it down. + -- My favorite commercial is on TV. + -- I have to study for my blood test. + -- I've been traded to Cincinnati. + -- I'm having my baby shoes bronzed. + -- I have to go to court for kitty littering. +% +Why I Can't Go Out With You: + +I'd LOVE to, but... + -- I have to floss my cat. + -- I've dedicated my life to linguini. + -- I need to spend more time with my blender. + -- It wouldn't be fair to the other Beautiful People. + -- It's my night to pet the dog/ferret/goldfish/radio. + -- I'm going downtown to try on some gloves. + -- I have to check the freshness dates on my dairy products. + -- I'm due at the bakery to watch the buns rise. + -- I have an appointment with a cuticle specialist. + -- I have some really hard words to look up. +% +Why I Can't Go Out With You: + +I'd LOVE to, but... + -- I'm trying to see how long I can go without saying yes. + -- I'm attending the opening of my garage door. + -- The monsters haven't turned blue yet, and I have to eat more dots. + -- I'm converting my calendar watch from Julian to Gregorian. + -- I have to fulfill my potential. + -- I don't want to leave my comfort zone. + -- It's too close to the turn of the century. + -- I have to bleach my hare. + -- I'm worried about my vertical hold knob. + -- I left my body in my other clothes. +% +Why I Can't Go Out With You: + +I'd LOVE to, but... + -- I've got a Friends of the Lowly Rutabaga meeting. + -- I promised to help a friend fold road maps. + -- I've been scheduled for a karma transplant. + -- I'm staying home to work on my cottage cheese sculpture. + -- It's my parakeet's bowling night. + -- I'm building a plant from a kit. + -- There's a disturbance in the Force. + -- I'm doing door-to-door collecting for static cling. + -- I'm teaching my ferret to yodel. + -- My crayons all melted together. +% +Why is it called a funny bone when it hurts so much? +% +Why is it taking so long for her to bring out all the good in you? +% +Why is it that we rejoice at a birth and grieve at a funeral? +It is because we are not the person involved. + -- Mark Twain +% +Why is the alphabet in that order? Is it because of that song? + -- Stephen Wright +% +Why isn't there a special name for the tops of your feet? + -- Lily Tomlin +% +Why isn't there some cheap and easy +way to prove how much she means to me? +% +Why my thoughts are my own, when they are in, but when they are out they +are another's. + -- Susanna Martin, executed for witchcraft, 1681 +% +Why not? -- What? -- Why not? -- Why should I not send it? -- Why should I +not dispatch it? -- Why not? -- Strange! I don't know why I shouldn't -- +Well, then -- You will do me this favor. -- Why not? -- Why should you not +do it? -- Why not? -- Strange! I shall do the same for you, when you want +me to. Why not? Why should I not do it for you? Strange! Why not? -- +I can't think why not. + -- Wolfgang Amadeus Mozart, from a letter to his cousin Maria, + "The Definitive Biography of PDQ Bach", Peter Schickele +% +Why not go out on a limb? +Isn't that where the fruit is? +% +Why on earth do people buy old bottles of wine when they can get a +fresh one for a quarter of the price? +% +Why was I born with such contemporaries? + -- Oscar Wilde +% +Why, when no honest man will deny in private that every ultimate problem is +wrapped in the profoundest mystery, do honest men proclaim in pulpits that +unhesitating certainty is the duty of the most foolish and ignorant? Is it +not a spectacle to make the angels laugh? We are a company of ignorant +beings, feeling our way through mists and darkness, learning only be +incessantly repeated blunders, obtaining a glimmering of truth by falling +into every conceivable error, dimly discerning light enough for our daily +needs, but hopelessly differing whenever we attempt to describe the ultimate +origin or end of our paths; and yet, when one of us ventures to declare that +we don't know the map of the universe as well as the map of our infintesimal +parish, he is hooted, reviled, and perhaps told that he will be damned to all +eternity for his faithlessness. + -- Leslie Stephen, "An Agnostic's Apology", + Fortnightly Review, 1876 +% +Why won't you let me kiss you goodnight? Is it something I said? + -- Tom Ryan +% +Why would anyone want to be called "Later"? +% +Why you say you no bunny rabbit when you have little powder-puff tail? + -- The Tasmanian Devil +% +Wiker's Law: + Government expands to absorb all + available revenue and then some. +% +Wilcox's Law: + A pat on the back is only a few + centimeters from a kick in the pants. +% +Will Rogers never met you. +% +Will you loan me $20.00 and only give me ten of it? +That way, you will owe me ten, and I'll owe you ten, and we'll be even! +% +Will your long-winded speeches never end? +What ails you that you keep on arguing? + -- Job 16:3 +% +William Safire's Rules for Writers: + Remember to never split an infinitive. The passive voice +should never be used. Do not put statements in the negative form. +Verbs have to agree with their subjects. Proofread carefully to see if +you words out. If you reread your work, you can find on rereading a +great deal of repetition can be avoided by rereading and editing. A +writer must not shift your point of view. And don't start a sentence +with a conjunction. (Remember, too, a preposition is a terrible word +to end a sentence with.) Don't overuse exclamation marks!! Place +pronouns as close as possible, especially in long sentences, as of 10 +or more words, to their antecedents. Writing carefully, dangling +participles must be avoided. If any word is improper at the end of a +sentence, a linking verb is. Take the bull by the hand and avoid +mixing metaphors. Avoid trendy locutions that sound flaky. Everyone +should be careful to use a singular pronoun with singular nouns in +their writing. Always pick on the correct idiom. The adverb always +follows the verb. Last but not least, avoid cliches like the plague; +seek viable alternatives. +% +Williams and Holland's Law: + If enough data is collected, + anything may be proven by statistical methods. +% +Willie in the cauldron fell; Willie saw some dynamite, +See the grief on mother's brow; Couldn't understand it quite; +Mother loved her darling well -- Curiosity never pays: +Willie's quite hard-boiled by now. It rained Willie seven days. + +Little Willie with a shout, William in a nice new sash, +Gouged the baby's eyeballs out; Fell in the fire and burned to an ash. +Stamped on them to make them pop. Now, although the room grows chilly, +Mother cried, "Now, William, stop!" I haven't the heart to poke poor Billy. + +William with a thirst for gore, Little Willie mean as hell, +Nailed the baby to the door. Threw his sister in the well! +Mother said, with humor quaint: Said his mother when drawing water, +"Careful, Will, don't mar the paint." 'sure is hard to raise a daughter.' + -- Harry Graham, "Ruthless Rhymes for Heartless Homes", 1899 +% +Wilner's Observation: + All conversations with a potato should be conducted in private. +% +Winning isn't everything. It's the only thing. + -- Vince Lombardi +% +Winning isn't everything, but losing isn't anything. +% +Winny and I lived in a house that ran on static electricity... +If you wanted to run the blender, you had to rub balloons on your +head... if you wanted to cook, you had to pull off a sweater real quick... + -- Stephen Wright +% +Winter is nature's way of saying, "Up yours." + -- Robert Byrne +% +Winter is the season in which people try to keep the house +as warm as it was in the summer, when they complained about the heat. +% +[Wisdom] is a tree of life to those laying +hold of her, making happy each one holding her fast. + -- Proverbs 3:18, NSV +% +Wisdom is knowing what to do with what you know. + -- J. Winter Smith +% +Wisdom is rarely found on the best-seller list. +% +Wishing without work is like fishing without bait. + -- Frank Tyger +% +WIT: + The salt with which the American Humorist spoils his cookery... + by leaving it out. +% +With a rubber duck, one's never alone. +% +With all the fancy scientists in the world, +why can't they just once build a nuclear balm. +% +With all the talent around, it's sort of +amazing that a woman could be up here with us. + -- Ralph Kiner, on introducing an award winner +% +With clothes the new are best, with friends the old are best. +% +With Congress, every time they make a joke it's a law; and every time +they make a law it's a joke. + -- W. Rogers +% +With every passing hour our solar system comes forty-three thousand +miles closer to globular cluster M13 in the constellation Hercules, +and still there are some misfits who continue to insist that there +is no such thing as progress. + -- Ransom K. Ferm +% +With her body, woman is more sincere than man; but with her mind +she lies. And when she lies, she does not believe herself. + -- Tolstoy +% +With listening comes wisdom, with speaking repentance. +% +With reasonable men I will reason; +with humane men I will plead; +but to tyrants I will give no quarter. + -- William Lloyd Garrison +% +With the end of the football season, a star player for the college team +celebrated the relaxation of team curfew by attending a late-night campus +party. Soon after arriving, he became captivated by a beautiful coed and +eased into a conversation with her by asking if she met many dates at +parties. + "Oh, I have a three point eight, so I'm much more attracted to the +strong academic types than to the dumb party animals," she said. "What's +your G.P.A.?" + Grinning ear to ear, the jock boasted, "I get about twenty-five in +the city and forty on the highway." +% +With the end of the football season, a star player on the college team was +celebrating the relaxation of his curfew by attending a late-night campus +party. Soon after arriving, he was captivated by a beautiful coed and +eased into a conversation with her by asking if she met many dates at +parties. + "Oh, I have a three point eight, so I'm much more attracted to the +strong academic types than to the dumb party animals," she said. "What's +you G.P.A.?" + Grinning from ear to ear, the jock boasted, "I get at least +twenty-five in the city and forty on the highway!" +% +With women, I've got a long bamboo pole with a leather loop on the end of +it. I slip the loop around their necks so they can't get away or come too +close. Like catching snakes. + -- Marlon Brando +% +Within a computer, natural language is unnatural. +% +Within a month [in 1969] I had met the first of a small but not uninfluential +community of people who violently opposed SALT for a simple reason: It might +keep America from developing a first-strike capability against the Soviet +Union. I'll never forget being lectured by an Air Force colonel about how +we should have "nuked" the Soviets in late 1940s before they got The Bomb. +I was told that if SALT would go away, we'd soon have the capability to nuke +them again -- and this time we'd use it. + -- Roger Molander, former nuclear strategist for the + White House's National Security Council, Washington + Post, 21 March, 1982 +% +Without adventure, civilization is in full decay. + -- Alfred North Whitehead +% +Without coffee he could not work, or at least he could not have worked in the +way he did. In addition to paper and pens, he took with him everywhere as an +indispensable article of equipment the coffee machine, which was no less +important to him than his table or his white robe. + -- Stefan Zweigs, Biography of Balzac +% +Without fools there would be no wisdom. +% +Without ice cream life and fame are meaningless. +% +Without life, Biology itself would be impossible. +% +Without love intelligence is dangerous; +without intelligence love is not enough. + -- Ashley Montagu +% +With/Without - and who'll deny it's what the fighting's all about? + -- Pink Floyd +% +Woke up this mornin' an' I had myself a beer, +Yeah, Ah woke up this mornin' an' I had myself a beer +The future's uncertain and the end is always near. + -- Jim Morrison, "Roadhouse Blues" +% +Woke up this morning, don't believe what I saw. Hundred billion +bottles washed up on the shore. Seems I never noted being alone. +Hundred billion castaways looking for a call. +% +WOLF: + A man who knows all the ankles. +% +WOMAN: + An animal usually living in the vicinity of Man, and + having a rudimentary susceptibility to domestication. + -- Bierce +% +Woman: "Is Yoo-Hoo hyphenated?" +Yogi Berra: "No, ma'am, its not even carbonated." +% +Woman are like elephants to me: I like to look at them, but I wouldn't +want to own one. + -- W.C. Fields +% +Woman inspires us to great things, and prevents us from achieving them. + -- Dumas +% +Woman is generally so bad that the difference +between a good and a bad woman scarcely exists. + -- Tolstoy +% +Woman on Street: Sir, you are drunk; very, very drunk. +Winston Churchill: Madame, you are ugly; very, very ugly. + I shall be sober in the morning. +% +Woman was God's second mistake. + -- Nietzsche +% +Woman was taken out of man -- not out of his head, to rule over him; nor +out of his feet, to be trampled under by him; but out of his side, to be +equal to him -- under his arm, that he might protect her, and near his heart +that he might love her. + -- Henry +% +Woman would be more charming if one could +fall into her arms without falling into her hands. + -- DeGourmont +% +Woman's advice has little value, but he who won't take it is a fool. + -- Cervantes +% +Women are a problem, but if you haven't already guessed, +they're the kind of problem I enjoy wrestling with. + -- Warren Beatty +% +Women are all alike. When they're maids they're mild as milk: +once make 'em wives, and they lean their backs against their +marriage certificates, and defy you. + -- Jerrold +% +Women are always anxious to urge bachelors to matrimony; is it +from charity, or revenge? + -- Gustave Vapereau +% +Women are just like men, only different. +% +Women are like elephants to me: I like to +look at them, but I wouldn't want to own one. + -- W.C. Fields +% +Women are not much, but they are the best other sex we have. + -- Herold +% +Women are nothing but machines for producing children. + -- Napoleon +% +Women are wiser than men because they know less and understand more. + -- Stephens +% +Women aren't as mere as they used to be. + -- Pogo +% +Women can keep a secret just as well as men, +but it takes more of them to do it. +% +Women complain about sex more than men. Their gripes fall into two +categories: (1) Not enough and (2) Too much. + -- Ann Landers +% +Women, deceived by men, want to marry them; it is a kind of revenge +as good as any other. + -- Philippe De Remi +% +Women give themselves to God when the +Devil wants nothing more to do with them. + -- Arnould +% +Women give to men the very gold of their lives. Possibly; +but they invariably want it back in such very small change. + -- Wilde +% +Women in love consist of a little sighing, a little +crying, a little dying -- and a good deal of lying. + -- Ansey +% +Women of genius commonly have masculine faces, figures and manners. +In transplanting brains to an alien soil God leaves a little of the +original earth clinging to the roots. + -- Bierce +% +Women reason with the heart and are much less often wrong +than men who reason with the head. + -- DeLescure +% +Women sometimes forgive a man who forces the opportunity, +but never a man who misses one. + -- Charles De Talleyrand-Perigord +% +Women treat us just as humanity treats its gods. They worship +us and are always bothering us to do something for them. + -- Wilde +% +Women want their men to be cops. They want you to punish them and tell +them what the limits are. The only thing that women hate worse from a man +than being slapped is when you get on your knees and say you're sorry. + -- Mort Sahl +% +Women waste men's lives and think they have +indemnified them by a few gracious words. + -- Honore de Balzac +% +Women, when they are not in love, have all +the cold blood of an experienced attorney. + -- Honore de Balzac +% +Women, when they have made a sheep of a man, +always tell him that he is a lion with a will of iron. + -- Honore de Balzac +% +Women who desire to be like men, lack ambition. +% +Women who want to be equal to men lack imagination. +% +Women wish to be loved without a why or a wherefore; +not because they are pretty, or good, or well-bred, or +graceful, or intelligent, but because they are themselves. + -- Amiel +% +Women's Libbers are OK, I just wouldn't want my sister to marry one. +% +Women's virtue is man's greatest invention. + -- Cornelia Otis Skinner +% +Wonder is the feeling of a philosopher, +and philosophy begins in wonder. + Socrates, quoting Plato +% +Wonderful day. +Your hangover just makes it seem terrible. +% +Woodward's Law: + A theory is better than its explanation. +% +Woody: What's the story, Mr. Peterson? +Norm: The Bobbsey twins go to the brewery. + Let's just cut to the happy ending. + -- Cheers, Airport V + +Woody: Hey, Mr. Peterson, there's a cold one waiting for you. +Norm: I know, and if she calls, I'm not here. + -- Cheers, Bar Wars II: The Woodman Strikes Back + +Sam: Beer, Norm? +Norm: Have I gotten that predictable? Good. + -- Cheers, Don't Paint Your Chickens +% +Woody: Hey, Mr. Peterson, Jack Frost nipping at your nose? +Norm: Yep, now let's get Joe Beer nipping at my liver, huh? + -- Cheers, Feeble Attraction + +Sam: What are you up to Norm? +Norm: My ideal weight if I were eleven feet tall. + -- Cheers, Bar Wars III: The Return of Tecumseh + +Woody: Nice cold beer coming up, Mr. Peterson. +Norm: You mean, `Nice cold beer going *down* Mr. Peterson.' + -- Cheers, Loverboyd +% +Woody: Hey, Mr. Peterson, what do you say to a cold one? +Norm: See you later, Vera, I'll be at Cheers. + -- Cheers, Norm's Last Hurrah + +Sam: Well, look at you. You look like the cat that + swallowed the canary. +Norm: And I need a beer to wash him down. + -- Cheers, Norm's Last Hurrah + +Woody: Would you like a beer, Mr. Peterson? +Norm: No, I'd like a dead cat in a glass. + -- Cheers, Little Carla, Happy at Last, Part 2 +% +Woody: Hey, Mr. Peterson, what's up? +Norm: The warranty on my liver. + -- Cheers, Breaking In Is Hard to Do + +Sam: What can I do for you, Norm? +Norm: Open up those beer taps and, oh, take the day off, Sam. + -- Cheers, Veggie-Boyd + +Woody: What's going on, Mr. Peterson? +Norm: Another layer for the winter, Wood. + -- Cheers, It's a Wonderful Wife +% +Woody: How are you feeling today, Mr. Peterson? +Norm: Poor. +Woody: Oh, I'm sorry to hear that. +Norm: No, I meant `pour'. + -- Cheers, Strange Bedfellows, Part 3 + +Woody: Hey, Mr. Peterson, what's the story? +Norm: Boy meets beer. Boy drinks beer. Boy gets another beer. + -- Cheers, The Proposal + +Paul: Hey Norm, how's the world been treating you? +Norm: Like a baby treats a diaper. + -- Cheers, Tan 'n Wash +% +Woody: What's going on, Mr. Peterson? +Norm: Let's talk about what's going *in* Mr. Peterson. A beer, Woody. + -- Cheers, Paint Your Office + +Sam: How's life treating you? +Norm: It's not, Sammy, but that doesn't mean you can't. + -- Cheers, A Kiss is Still a Kiss + +Woody: Can I pour you a draft, Mr. Peterson? +Norm: A little early, isn't it Woody? +Woody: For a beer? +Norm: No, for stupid questions. + -- Cheers, Let Sleeping Drakes Lie +% +Woody: What's happening, Mr. Peterson? +Norm: The question is, Woody, why is it happening to me? + -- Cheers, Strange Bedfellows, Part 1 + +Woody: What's going down, Mr. Peterson? +Norm: My cheeks on this barstool. + -- Cheers, Strange Bedfellows, Part 2 + +Woody: Hey, Mr. Peterson, can I pour you a beer? +Norm: Well, okay, Woody, but be sure to stop me at one. ... + Eh, make that one-thirty. + -- Cheers, Strange Bedfellows, Part 2 +% +Woolsey-Swanson Rule: + People would rather live with a problem they cannot + solve rather than accept a solution they cannot understand. +% +Words are the voice of the heart. +% +Words can never express what words can never express. +% +Words have a longer life than deeds. + -- Pindar +% +Words must be weighed, not counted. +% +WORK: + The blessed respite from screaming kids and + soap operas for which you actually get paid. +% +Work consists of whatever a body is obliged to do. +Play consists of whatever a body is not obliged to do. + -- Mark Twain +% +Work continues in this area. + -- DEC's SPR-Answering-Automaton +% +Work expands to fill the time available. + -- Cyril Northcote Parkinson, "The Economist", 1955 +% +Work is of two kinds: first, altering the position of matter at or near +the earth's surface relative to other matter; second, telling other people +to do so. + -- Bertrand Russell +% +Work is the crab grass in the lawn of life. + -- Schulz +% +Work is the curse of the drinking classes. + -- Mike Romanoff +% +Work like hell, tell everyone everything you know, close a deal with +a handshake, and have fun. + -- Harold "Doc" Edgerton, summing up his life's philosophy, + shortly before dying at the age of 86. +% +Work smarter, not harder, and be careful of your speling. +% +Work without a vision is slavery, +Vision without work is a pipe dream, +But vision with work is the hope of the world. +% +Working with Julie Andrews is like getting hit over the head with +a valentine. + -- Christopher Plummer +% +World tensions have, if anything, increased in the quarter century +since H.G. Wells uttered his glum warning: "There is no more evil +thing on earth than race prejudice, none at all. I write deliberately +-- it is the worst single thing in life now. It justifies and holds +together more baseness, cruelty and abomination than any other sort of +error in the world." + -- Sydney Harris +% +Worrying is like rocking in a rocking chair-- +It gives you something to do, but it doesn't get you anywhere. +% +Worst Month of 1981 for Downhill Skiing: + August. The lift lines are the shortest, though. + -- Steve Rubenstein +% +Worst Month of the Year: + February. February has only 28 days in it, which means that if + you rent an apartment, you are paying for three full days you + don't get. Try to avoid Februarys whenever possible. + -- Steve Rubenstein +% +Worst Vegetable of the Year: + Brussel sprout. This is also the worst vegetable of next year. + -- Steve Rubenstein +% +Worth seeing? +Yes, but not worth going to see. +% +Worthless. + -- Sir George Bidell Airy, KCB, MA, LLD, DCL, FRS, FRAS + (Astronomer Royal of Great Britain), estimating for the + Chancellor of the Exchequer the potential value of the + "analytical engine" invented by Charles Babbage, September + 15, 1842. +% +WOTD: + + ` + +% +Would it help if I got out and pushed? + -- Princess Leia Organa +% +Would that my hand were as swift as my tongue. + -- Alfieri +% +Would the last person to leave Michigan please turn out the lights? +% +Would ye both eat your cake and have your cake? + -- John Heywood +% +Would you care to drift aimlessly in my direction? +% +Would you care to view the ruins of my good intentions? +% +Would you like to be tried in court by people +who weren't smart enough to get out of jury duty? +% +Would you people stop playing these stupid games?!?!?!!!! +% +Would you please have another look at my nose and put in that cocaine +stuff.... + -- Adolf Hitler, quoted by Dr. Giesing in Nuremberg trial + testimony, 1947 +% +Would you *really* want to get on a non-stop flight? + -- George Carlin +% +"Would you tell me, please, which way I ought to go from here?" +"That depends a good deal on where you want to get to," said the Cat. + -- Lewis Carroll +% +Wouldn't this be a great world if being insecure and desperate were +a turn-on? + -- "Broadcast News" +% +Wrinkles should merely indicate where smiles have been. + -- Mark Twain +% +Write a wise saying and your name will live forever. + -- Anonymous +% +Write yourself a threatening letter and pen a defiant reply. +% +WRITE-PROTECT TAB: + A small sticker created to cover the unsightly notch carelessly + left by disk manufacturers. The use of the tab creates an error + message once in a while, but its aesthetic value far outweighs + the momentary inconvenience. + -- Robb Russon +% +write-protect tab, n: + A small sticker created to cover the unsightly notch carelessly left + by disk manufacturers. The use of the tab creates an error message + once in a while, but its aesthetic value far outweighs the momentary + inconvenience. + -- Robb Russon +% +Writers who use a computer swear to its liberating power in tones that bear +witness to the apocalyptic power of a new divinity. Their conviction results +from something deeper than mere gratitude for the computer's conveniences. +Every new medium of writing brings about new intensities of religious belief +and new schisms among believers. In the 16th century the printed book helped +make possible the split between Catholics and Protestants. In the 20th +century this history of tragedy and triumph is repeating itself as a farce. +Those who worship the Apple computer and those who put their faith in the IBM +PC are equally convinced that the other camp is damned or deluded. Each cult +holds in contempt the rituals and the laws of the other. Each thinks that it +is itself the one hope for salvation. + -- Edward Mendelson, "The New Republic", February 22, 1988 +% +Writing free verse is like playing tennis with the net down. +% +Writing is easy; all you do is sit staring at the blank sheet of +paper until drops of blood form on your forehead. + -- Gene Fowler +% +Writing is turning one's worst moments into money. + -- J.P. Donleavy +% +Writing software is more fun than working. +% +WRONG! +% +WYSIWYG: + What You See Is What You Get. +% +X windows: + Accept any substitute. + If it's broke, don't fix it. + If it ain't broke, fix it. + Form follows malfunction. + The Cutting Edge of Obsolescence. + The trailing edge of software technology. + Armageddon never looked so good. + Japan's secret weapon. + You'll envy the dead. + Making the world safe for competing window systems. + Let it get in YOUR way. + The problem for your problem. + If it starts working, we'll fix it. Pronto. + It could be worse, but it'll take time. + Simplicity made complex. + The greatest productivity aid since typhoid. + Flakey and built to stay that way. + +One thousand monkeys. One thousand MicroVAXes. One thousand years. + X windows. +% +X windows: + It's not how slow you make it. It's how you make it slow. + The windowing system preferred by masochists 3 to 1. + Built to take on the world... and lose! + Don't try it 'til you've knocked it. + Power tools for Power Fools. + Putting new limits on productivity. + The closer you look, the cruftier we look. + Design by counterexample. + A new level of software disintegration. + No hardware is safe. + Do your time. + Rationalization, not realization. + Old-world software cruftsmanship at its finest. + Gratuitous incompatibility. + Your mother. + THE user interference management system. + You can't argue with failure. + You haven't died 'til you've used it. + +The environment of today... tomorrow! + X windows. +% +X windows: + Something you can be ashamed of. + 30%% more entropy than the leading window system. + The first fully modular software disaster. + Rome was destroyed in a day. + Warn your friends about it. + Climbing to new depths. Sinking to new heights. + An accident that couldn't wait to happen. + Don't wait for the movie. + Never use it after a big meal. + Need we say less? + Plumbing the depths of human incompetence. + It'll make your day. + Don't get frustrated without it. + Power tools for power losers. + A software disaster of Biblical proportions. + Never had it. Never will. + The software with no visible means of support. + More than just a generation behind. + +Hindenburg. Titanic. Edsel. + X windows. +% +X windows: + The ultimate bottleneck. + Flawed beyond belief. + The only thing you have to fear. + Somewhere between chaos and insanity. + On autopilot to oblivion. + The joke that kills. + A disgrace you can be proud of. + A mistake carried out to perfection. + Belongs more to the problem set than the solution set. + To err is X windows. + Ignorance is our most important resource. + Complex nonsolutions to simple nonproblems. + Built to fall apart. + Nullifying centuries of progress. + Falling to new depths of inefficiency. + The last thing you need. + The defacto substandard. + +Elevating brain damage to an art form. + X windows. +% +X windows: + We will dump no core before its time. + One good crash deserves another. + A bad idea whose time has come. And gone. + We make excuses. + It didn't even look good on paper. + You laugh now, but you'll be laughing harder later! + A new concept in abuser interfaces. + How can something get so bad, so quickly? + It could happen to you. + The art of incompetence. + You have nothing to lose but your lunch. + When uselessness just isn't enough. + More than a mere hindrance. It's a whole new barrier! + When you can't afford to be right. + And you thought we couldn't make it worse. + +If it works, it isn't X windows. +% +X windows: + You'd better sit down. + Don't laugh. It could be YOUR thesis project. + Why do it right when you can do it wrong? + Live the nightmare. + Our bugs run faster. + When it absolutely, positively HAS to crash overnight. + There ARE no rules. + You'll wish we were kidding. + Everything you never wanted in a window system. And more. + Dissatisfaction guaranteed. + There's got to be a better way. + The next best thing to keypunching. + Leave the thrashing to us. + We wrote the book on core dumps. + Even your dog won't like it. + More than enough rope. + Garbage at your fingertips. + +Incompatibility. Shoddiness. Uselessness. + X windows. +% +Xerox does it again and again and again and... +% +Xerox never comes up with anything original. +% +XEROX never does anything original. +% +XI: + If the Earth could be made to rotate twice as fast, managers would + get twice as much done. If the Earth could be made to rotate twenty + times as fast, everyone else would get twice as much done since all + the managers would fly off. +XII: + It costs a lot to build bad products. +XIII: + There are many highly successful businesses in the United States. + There are also many highly paid executives. The policy is not to + intermingle the two. +XIV: + After the year 2015, there will be no airplane crashes. There will + be no takeoffs either, because electronics will occupy 100 percent + of every airplane's weight. +XV: + The last 10 percent of performance generates one-third of the cost + and two-thirds of the problems. + -- Norman Augustine +% +XLI: + The more one produces, the less one gets. +XLII: + Simple systems are not feasible because they require infinite testing. +XLIII: + Hardware works best when it matters the least. +XLIV: + Aircraft flight in the 21st century will always be in a westerly + direction, preferably supersonic, crossing time zones to provide the + additional hours needed to fix the broken electronics. +XLV: + One should expect that the expected can be prevented, but the + unexpected should have been expected. +XLVI: + A billion saved is a billion earned. + -- Norman Augustine +% +XLVII: + Two-thirds of the Earth's surface is covered with water. The other + third is covered with auditors from headquarters. +XLVIII: + The more time you spend talking about what you have been doing, the + less time you have to spend doing what you have been talking about. + Eventually, you spend more and more time talking about less and less + until finally you spend all your time talking about nothing. +XLIX: + Regulations grow at the same rate as weeds. +L: + The average regulation has a life span one-fifth as long as a + chimpanzee's and one-tenth as long as a human's -- but four times + as long as the official's who created it. +LI: + By the time of the United States Tricentennial, there will be more + government workers than there are workers. +LII: + People working in the private sector should try to save money. + There remains the possibility that it may someday be valuable again. + -- Norman Augustine +% +X-rated movies are all alike -- the only thing +they leave to the imagination is the plot. +% +XVI: + In the year 2054, the entire defense budget will purchase just one + aircraft. This aircraft will have to be shared by the Air Force and + Navy 3-1/2 days each per week except for leap year, when it will be + made available to the Marines for the extra day. +XVII: + Software is like entropy. It is difficult to grasp, weighs nothing, + and obeys the Second Law of Thermodynamics, i.e., it always increases. +XVIII: + It is very expensive to achieve high unreliability. It is not uncommon + to increase the cost of an item by a factor of ten for each factor of + ten degradation accomplished. +XIX: + Although most products will soon be too costly to purchase, there will + be a thriving market in the sale of books on how to fix them. +XX: + In any given year, Congress will appropriate the amount of funding + approved the prior year plus three-fourths of whatever change the + administration requests -- minus 4-percent tax. + -- Norman Augustine +% +XXI: + It's easy to get a loan unless you need it. +XXII: + If stock market experts were so expert, they would be buying stock, + not selling advice. +XXIII: + Any task can be completed in only one-third more time than is + currently estimated. +XXIV: + The only thing more costly than stretching the schedule of an + established project is accelerating it, which is itself the most + costly action known to man. +XXV: + A revised schedule is to business what a new season is to an athlete + or a new canvas to an artist. + -- Norman Augustine +% +XXVI: + If a sufficient number of management layers are superimposed on each + other, it can be assured that disaster is not left to chance. +XXVII: + Rank does not intimidate hardware. Neither does the lack of rank. +XXVIII: + It is better to be the reorganizer than the reorganizee. +XXIX: + Executives who do not produce successful results hold on to their + jobs only about five years. Those who produce effective results + hang on about half a decade. +XXX: + By the time the people asking the questions are ready for the answers, + the people doing the work have lost track of the questions. + -- Norman Augustine +% +XXXI: + The optimum committee has no members. +XXXII: + Hiring consultants to conduct studies can be an excellent means of + turning problems into gold -- your problems into their gold. +XXXIII: + Fools rush in where incumbents fear to tread. +XXXIV: + The process of competitively selecting contractors to perform work + is based on a system of rewards and penalties, all distributed + randomly. +XXXV: + The weaker the data available upon which to base one's conclusion, + the greater the precision which should be quoted in order to give + the data authenticity. + -- Norman Augustine +% +XXXVI: + The thickness of the proposal required to win a multimillion dollar + contract is about one millimeter per million dollars. If all the + proposals conforming to this standard were piled on top of each other + at the bottom of the Grand Canyon it would probably be a good idea. +XXXVII: + Ninety percent of the time things will turn out worse than you expect. + The other 10 percent of the time you had no right to expect so much. +XXXVIII: + The early bird gets the worm. + The early worm ... gets eaten. +XXXIX: + Never promise to complete any project within six months of the end of + the year -- in either direction. +XL: + Most projects start out slowly -- and then sort of taper off. + -- Norman Augustine +% +Ya know, Quaker Oats make you feel good twice! +% +Yacc owes much to a most stimulating collection of users, who have +goaded me beyond my inclination, and frequently beyond my ability in +their endless search for "one more feature". Their irritating +unwillingness to learn how to do things my way has usually led to my +doing things their way; most of the time, they have been right. + -- Stephen C. Johnson, "Yacc guide acknowledgements" +% +Ya'll hear about the geometer who went to the beach to catch some +rays and became a tangent ? +% +Yawd [noun, Bostonese]: the campus of Have Id. + -- Webster's Unafraid Dictionary +% +Yea from the table of my memory +I'll wipe away all trivial fond records. + -- Hamlet +% +Yeah, God is dead, he laughed himself to death. +% +Yeah, if it looks like a duck, and walks like +a duck, and quacks like a duck -- shoot it. +% +Yeah, that's me, Tracer Bullet. I've got eight slugs in me. One's lead, +the rest bourbon. The drink packs a wallop, and I pack a revolver. I'm +a private eye. + -- Calvin +% +Yeah, there are more important things in life than money, +but they won't go out with you if you don't have any. +% +YEAR: + A period of three hundred and sixty-five disappointments. +% +Year Name James Bond Book +---- -------------------------------- -------------- ---- +50's James Bond TV Series Barry Nelson +1962 Dr. No Sean Connery 1958 +1963 From Russia With Love Sean Connery 1957 +1964 Goldfinger Sean Connery 1959 +1965 Thunderball Sean Connery 1961 +1967* Casino Royale David Niven 1954 +1967 You Only Live Twice Sean Connery 1964 +1969 On Her Majesty's Secret Service George Lazenby 1963 +1971 Diamonds Are Forever Sean Connery 1956 +1973 Live And Let Die Roger Moore 1955 +1974 The Man With The Golden Gun Roger Moore 1965 +1977 The Spy Who Loved Me Roger Moore 1962 (novelette) +1979 Moonraker Roger Moore 1955 +1981 For Your Eyes Only Roger Moore 1960 (novelette) +1983 Octopussy Roger Moore 1965 +1983* Never Say Never Again Sean Connery +1985 A View To A Kill Roger Moore 1960 (novelette) +1987 The Living Daylights Timothy Dalton 1965 (novelette) + * -- Not a Broccoli production. +% +Yes, but every time I try to see things your way, I get a headache. +% +Yes, but which self do you want to be? +% +Yes, I've now got this nice little apartment in New York, one of those +L-shaped ones. Unfortunately, it's a lower case l. + -- Rita Rudner +% +Yes me, I got a bottle in front of me. +And Jimmy has a frontal lobotomy. +Just different ways to kill the pain the same. +But I'd rather have a bottle in front of me, +Than to have to have a frontal lobotomy. +I might be drunk but at least I'm not insane. + -- Randy Ansley M.D. (Dr. Rock) +% +Yes, that was Richard Nixon. He used to be President. When he left +the White House, the Secret Service would count the silverware. + -- Woody Allen, "Sleeper" +% +Yes, we will be going to OSI, Mars and, Pluto, but not necessarily in +that order. + -- Jeffrey Honig +% +Yesterday I was a dog. Today I'm a dog. +Tomorrow I'll probably still be a dog. +Sigh! There's so little hope for advancement. + -- Snoopy +% +Yesterday upon the stair +I met a man who wasn't there. +He wasn't there again today -- +I think he's from the CIA. +% +Ye've also got to remember that ... respectable people do the most +astonishin' things to preserve their respectability. Thank God +I'm not respectable. + -- Ruthven Campbell Todd +% +Yevtushenko has... an ego that can crack crystal at a distance of twenty +feet. + -- John Cheever +% +Yield to temptation; it may not pass your way again. +% +YINKEL: + A person who combs his hair over his bald spot, + hoping no one will notice. + -- "Sniglets", Rich Hall & Friends +% +You ain't learning nothing when you're talking. +% +You always have the option of pitching baseballs at empty +spray paint cans in a cul-de-sac in a Cleveland suburb. +% +You are a bundle of energy, always on the go. +% +You are a fluke of the universe; you have no right to be here. +% +You are a taxi driver. Your cab is yellow and black, and has been in +use for only seven years. One of its windshield wipers is broken, and +the carburetor needs adjusting. The tank holds 20 gallons, but at the +moment is only three-quarters full. How old is the taxi driver?" +% +You are a wish to be here wishing yourself. + -- Philip Whalen +% +You are absolute plate-glass. I see to the very back of your mind. + -- Sherlock Holmes +% +You are always busy. +% +You are always doing something marginal when the boss drops by your desk. +% +You are an insult to my intelligence! +I demand that you log off immediately. +% +You are as I am with You. +% +You are capable of planning your future. +% +You are confused; but this is your normal state. +% +You are deeply attached to your friends and acquaintances. +% +You are destined to become the commandant of the +fighting men of the department of transportation. +% +You are dishonest, but never to the point of hurting a friend. +% +You are fairminded, just and loving. +% +You are false data. +% +You are farsighted, a good planner, +an ardent lover, and a faithful friend. +% +You are fighting for survival in your own sweet and gentle way. +% +You are going to have a new love affair. +% +You are in a maze of little twisting passages, all alike. +% +You are in a maze of little twisting passages, all different. +% +You are in the hall of the mountain king. +% +You are lost in the Swamps of Despair. +% +You are loved by the multitudes. +Have you been to the clinic lately? +% +You are magnetic in your bearing. +% +You are never given a wish without also being given the +power to make it true. You may have to work for it, however. + -- R. Bach, "Messiah's Handbook : Reminders for + the Advanced Soul" +% +You are not a fool just because you have done +something foolish -- only if the folly of it escapes you. +% +You are not dead yet. +But watch for further reports. +% +You are not permitted to kill a woman who has wronged you, but nothing +forbids you to reflect that she is growing older every minute. You are +avenged fourteen hundred and forty times a day. + -- Ambrose Bierce +% +You are now in Atlanta, Georgia. +Please set your clocks back 200 years. +% +You are number 6! Who is number one? +% +"You are old, father William," the young man said, + "And your hair has become very white; +And yet you incessantly stand on your head -- + Do you think, at your age, it is right?" + +"In my youth," father William replied to his son, + "I feared it might injure the brain; +But, now that I'm perfectly sure I have none, + Why, I do it again and again." + +"You are old," said the youth, "as I mentioned before, + And have grown most uncommonly fat; +Yet you turned a back-somersault in at the door -- + Pray what is the reason of that?" + +"In my youth," said the sage, as he shook his grey locks, + "I kept all my limbs very supple +By the use of this ointment -- one shilling the box -- + Allow me to sell you a couple?" +% +"You are old," said the youth, "and your jaws are too weak + For anything tougher than suet; +Yet you finished the goose, with the bones and the beak -- + Pray, how did you manage to do it?" + +"In my youth," said his father, "I took to the law, + And argued each case with my wife; +And the muscular strength which it gave to my jaw, + Has lasted the rest of my life." + +"You are old," said the youth, "one would hardly suppose + That your eye was as steady as ever; +Yet you balanced an eel on the end of your nose -- + What made you so awfully clever?" + +"I have answered three questions, and that is enough," + Said his father. "Don't give yourself airs! +Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!" +% +You are only young once, but you can stay immature indefinitely. +% +You are scrupulously honest, frank, and straightforward. +Therefore you have few friends. +% +You are sick, twisted and perverted. +I like that in a person. +% +You are so boring that when I see you my feet go to sleep. +% +"You are *so* lovely." +"Yes." +"Yes! And you take a compliment, too! I like that in a goddess." +% +You are standing on my toes. +% +You are taking yourself far too seriously. +% +You are transported to a room where you are faced by a wizard who +points to you and says, "Them's fighting words!" You immediately get +attacked by all sorts of denizens of the museum: there is a cobra +chewing on your leg, a troglodyte is bashing your brains out with a +gold nugget, a crocodile is removing large chunks of flesh from you, a +rhinoceros is goring you with his horn, a sabre-tooth cat is busy +trying to disembowel you, you are being trampled by a large mammoth, a +vampire is sucking you dry, a Tyranosaurus Rex is sinking his six inch +long fangs into various parts of your anatomy, a large bear is +dismembering your body, a gargoyle is bouncing up and down on your +head, a burly troll is tearing you limb from limb, several dire wolves +are making mince meat out of your torso, and the wizard is about to +transport you to the corner of Westwood and Broxton. Oh dear, you seem +to have gotten yourself killed, as well. + +You scored 0 out of 250 possible points. +That gives you a ranking of junior beginning adventurer. +To achieve the next higher rating, you need to score 32 more points. +% +You are wise, witty, and wonderful, +but you spend too much time reading this sort of trash. +% +You ask what a nice girl will do? +She won't give an inch, but she won't say no. + -- Marcus Valerius Martialis +% +You attempt things that you do not even plan +because of your extreme stupidity. +% +You auto buy now. +% +"You boys lookin' for trouble?" +"Sure. Whaddya got?" + -- Marlon Brando, "The Wild Ones" +% +You buttered your bread, now lie in it! +% +You buy a judge by weight, like iron in a junk yard. A justice of the +peace or a magistrate can be had for a five-dollar bill. In the +municipal courts, he will cost you ten. In the circuit or superior +courts, he wants fifteen. The state appellate courts or the state +supreme court is on a par with the Federal courts. By the time a judge +reaches such courts, he is middle-aged, thick around the middle, fat +between the ears. He's heavy. You can't buy a Federal judge for less +than a twenty-dollar bill. + -- Jake "Greasy Thumb" Guzik +% +You can always pick up your needle and move to another groove. + -- Tim Leary +% +You can always tell luck from ability by its duration. +% +You can always tell the people that are forging the new frontier. +They're the ones with arrows sticking out of their backs. +% +You can be replaced by this computer. +% +You can bear anything if it isn't your own fault. + -- Katharine Fullerton Gerould +% +You can bring any calculator you like to the midterm, as long as it +doesn't dim the lights when you turn it on. + -- Hepler, CS, University of Washington +% +You can bring any calculator you like to the midterm, as long as it +doesn't dim the lights when you turn it on. + -- Hepler, Systems Design 182 +% +You can bring men from other parts of the world who are sane. And you +know what happens? At the very moment they cross those mountains... +they go mad. Instantaneously and automatically, at the very moment +they cross the mountains into California, they go insane. + -- Quentin Genter +% +You can build a throne out of bayonets, but you can't sit on it for very long. + -- Boris Yeltsin +% +You can cage a swallow, can't you, + but you can't swallow a cage, can you? +Girl, bathing on Bikini, eyeing boy, + finds boy eyeing bikini on bathing girl. +A man, a plan, a canal -- Panama! + -- The Palindromist +% +You can create your own opportunities this week. +Blackmail a senior executive. +% +You can destroy your now by worrying about tomorrow. + -- Janis Joplin +% +You can do this in a number of ways. IBM chose to do all of them. +Why do you find that funny? + -- D. Taylor, Computer Science 350 +% +You can do this in a number of ways. IBM chose to do all of them. +Why do you find that funny? + -- D. Taylor, CS, University of Washington +% +You can do very well in speculation where +land or anything to do with dirt is concerned. +% +You can drive a horse to water, but a pencil must be lead. +% +You can fool all the people all of the time if the advertising is right +and the budget is big enough. + -- Joseph E. Levine +% +You can fool some of the people all of the time and all +of the people some of the time, but you can never fool your Mom. +% +You can fool some of the people all of the time, +and all of the people some of the time, +but you can make a fool of yourself anytime. +% +You can fool some of the people some of the time, +and some of the people all of the time, and that is sufficient. +% +You can get *anywhere* in ten minutes if you drive fast enough. +% +You can get everything in life you want, +if you will help enough other people get what they want. +% +You can get much further with a kind word and a +gun than you can with a kind word alone. + -- Al Capone + [Also attributed to Johnny Carson. Ed.] +% +You can get there from here, but why on earth would you want to? +% +You can go anywhere you want if you look serious and carry a clipboard. +% +You can grovel with a lover, you can grovel with a friend, +You can grovel with your boss, and it never has to end. + +(chorus) Grovel, grovel, grovel, every night and every day, + Grovel, grovel, grovel, in your own peculiar way. + +You can grovel in a hallway, you can grovel in a park, +You can grovel in an alley with a mugger after dark. +(chorus) + +You can grovel with your uncle, you can grovel with your aunt, +You can grovel with your Apple, even though you say you can't. +(chorus) +% +You can have a dog as a friend. You can have whiskey as a friend. But +if you have a woman as a friend, you're going to wind up drunk and kissing +your dog. + -- foolin' around +% +You can have peace. Or you can have freedom. +Don't ever count on having both at once. + -- Lazarus Long +% +You can imagine my embarrassment when I killed the wrong guy. + -- Joe Valachi +% +You can lead a horse to water, but if you can +get him to float on his back, you've got something. +% +You can learn many things from children. How much patience you have, +for instance. + -- Franklin P. Jones +% +You can make it illegal, but can't make it unpopular. +% +You can make it illegal, but you can't make it unpopular. +% +You can measure a programmer's perspective by noting +his attitude on the continuing vitality of FORTRAN. +% +You can move the world with an idea, +but you have to think of it first. +% +You can never do just one thing. + -- Hardin +% +You can never tell which way the train went by looking at the tracks. +% +You can never trust a woman; she may be true to you. +% +You can no more win a war than you can win an earthquake. + -- Jeannette Rankin +% +You can not get anything worthwhile done without raising a sweat. + -- The First Law Of Thermodynamics + +What ever you want is going to cost a little more than it is worth. + -- The Second Law Of Thermodynamics + +You can not win the game, and you are not allowed to stop playing. + -- The Third Law Of Thermodynamics +% +You can now buy more gates with less +specifications than at any other time in history. + -- Kenneth Parker +% +You can observe a lot just by watching. + -- Yogi Berra +% +You can rent this space for only $5 a week. +% +You can take all the impact that science considerations have on funding +decisions at NASA, put them in the navel of a flea, and have room left +over for a caraway seed and Tony Calio's heart. + -- F. Allen +% +You can tell how far we have to go, +when Fortran is the language of supercomputers. + -- Steven Feiner +% +You can tell the ideals of a nation by its advertisements. + -- Norman Douglas +% +You can write a small letter to Grandma in the filename. + -- Forbes Burkowski, CS, University of Washington +% +You canna change the laws of physics, Captain; +I've got to have thirty minutes! +% +You cannot achieve the impossible without attempting the absurd. +% +You cannot choose your battlefield, the gods do that for you. +But you can plant a standard where a standard never flew. + -- Nathalia Crane +% +You cannot have a science without measurement. + -- R. W. Hamming +% +You cannot kill time without injuring eternity. +% +You cannot propel yourself forward by patting yourself on the back. +% +You cannot see the wood for the trees. + -- John Heywood +% +You cannot shake hands with a clenched fist. + -- Indira Gandhi +% +You cannot use your friends and have them too. +% +You can't break eggs without making an omelet. +% +You can't carve your way to success without cutting remarks. +% +You can't cheat an honest man, never give +a sucker an even break or smarten up a chump. + -- W.C. Fields +% +You can't cheat the phone company. +% +You can't cross a large chasm in two small jumps. +% +You can't depend on the man who made the mess to clean it up. + -- Richard Nixon, 1952 +% +You can't erase a dream, you can only wake me up. + -- Peter Frampton +% +You can't expect a boy to be vicious till he's been to a good school. + -- H.H. Munro +% +"You can't expect a mother to be with a small child all the time", +Margaret Mead once remarked, with her usual good sense, but in 1978 +she shocked feminists by snapping that women don't really have +children to put them in day care twelve hours a day, either. + -- Caroline Bird, "The Two Paycheck Marriage" +% +You can't fall off the floor. +% +You can't get there from here. +% +You can't go home again, unless you set $HOME. +% +You can't have everything. Where would you put it? + -- Steven Wright +% +You can't have your cake and let your neighbor eat it too. + -- Ayn Rand +% +You can't hug a child with nuclear arms. +% +You can't judge a book by the way it wears its hair. +% +You can't kiss a girl unexpectedly -- +only sooner than she thought you would. +% +You can't learn too soon that the most useful thing about a principle +is that it can always be sacrificed to expediency. + -- W. Somerset Maugham, "The Circle" +% +You can't mend a wristwatch while falling from an airplane. +% +You can't play your friends like marks, kid. + -- Henry Gondorf, "The Sting" +% +You can't push on a string. +% +You can't run away forever, +But there's nothing wrong with getting a good head start. + -- Jim Steinman, "Rock and Roll Dreams Come Through" +% +You can't say civilization don't advance... in every war they kill you a +new way. + -- Will Rogers +% +You can't start worrying about what's going to happen. +You get spastic enough worrying about what's happening now. + -- Lauren Bacall +% +You can't take damsel here now. +% +You can't take it with you -- +especially when crossing a state line. +% +You can't teach people to be lazy -- +either they have it, or they don't. + -- Dagwood Bumstead +% +You can't underestimate the power of fear. + -- Tricia Nixon Cox +% +You climb to reach the summit, but once +there, discover that all roads lead down. + -- Stanislaw Lem, "The Cyberiad" +% +You could get a new lease on life -- if only you +didn't need the first and last month in advance. +% +You could live a better life, if you +had a better mind and a better body. +% +You couldn't even prove the White House +staff sane beyond a reasonable doubt. + -- Ed Meese, on the Hinckley verdict +% +You definitely intend to start living sometime soon. +% +You dialed 5483. +% +You display the wonderful traits of charm and courtesy. +% +You do not have mail. +% +You don't become a failure until you're satisfied with being one. +% +You don't have to be nice to people on the way up +if you're not planning on coming back down. + -- Oliver Warbucks, "Annie" +% +You don't have to explain something you never said. + -- Calvin Coolidge +% +You don't have to know how the computer +works, just how to work the computer. +% +You don't have to think too hard when you talk to teachers. + -- J.D. Salinger +% +You don't move to Edina, you achieve Edina. + -- Guindon +% +You don't sew with a fork, so I see no +reason to eat with knitting needles. + -- Miss Piggy, on eating Chinese Food +% +You enjoy the company of other people. +% +You feel a whole lot more like you do +now than you did when you used to. +% +You fill a much-needed gap. +% +You first parent of the human race... who ruined yourself for an apple, +what might you have done for a truffled turkey? + -- Brillat-savarin, "Physiologie du Gout" +% +You first parents of the human race... who ruined yourself for +an apple, what might you not have done for a truffled turkey? + -- Brillat-Savarin +% +You get along very well with everyone except animals and people. +% +You get what you pay for. + -- Gabriel Biel +% +You give me space to belong to myself yet without separating me +from your own life. May it all turn out to your happiness. + -- Goethe +% +You go down to the pickup station, + craving warmth and beauty; +You settle for less than fascination -- + a few drinks later you're not so choosy. +And the closing lights strip off the shadows + on this strange new flesh you've found -- +Clutching the night to you like a fig leaf + you hurry to the blackness + and the blankets to lay down an impression + and your loneliness. + -- Joni Mitchell +% +You got to be very careful if you don't know +where you're going, because you might not get there. + -- Yogi Berra +% +You got to pay your dues if you want to sing the blues, +And you know it don't come easy ... +I don't ask for much, I only want trust, +And you know it don't come easy ... +% +You guys have been practicing discrimination for years. +Now it's our turn. + -- Thurgood Marshall, quoted by Justice Douglas +% +You had mail, but the super-user read it, and deleted it! +% +You had mail. +Paul read it, so ask him what it said. +% +You had some happiness once, +but your parents moved away, and you had to leave it behind. +% +You have a deep appreciation of the arts and music. +% +You have a deep interest in all that is artistic. +% +You have a massage (from the Swedish prime minister). +% +You have a message from the operator. +% +You have a reputation for being thoroughly reliable and trustworthy. +A pity that it's totally undeserved. +% +You have a strong appeal for members of the opposite sex. +% +You have a strong appeal for members of your own sex. +% +You have a strong desire for a home +and your family interests come first. +% +You have a tendency to feel you are superior to most computers. +% +You have a truly strong individuality. +% +You have a will that can be influenced +by all with whom you come in contact. +% +You have all eternity to be cautious in when you're dead. + -- Lois Platford +% +You have all the characteristics of a popular politician: +a horrible voice, bad breeding, and a vulgar manner. + -- Aristophanes +% +You have an ability to sense and know higher truth. +% +You have an ambitious nature and may make a name for yourself. +% +You have an unusual equipment for success. +Be sure to use it properly. +% +You have an unusual understanding of +the problems of human relationships. +% +You have been in Afghanistan, I perceive. + -- Sherlock Holmes, "A Study in Scarlet" +% +You have been selected for a secret mission. +% +You have Egyptian flu: you're going to be a mummy. +% +You have had a long-term stimulation relative to business. +% +You have literary talent that you should take pains to develop. +% +You have mail. +% +You have many friends and very few living enemies. +% +You have no real enemies. +% +You have not converted a man because you have silenced him. + -- John Viscount Morley +% +You have only to mumble a few words in church to get married +and few words in your sleep to get divorced. +% +You have taken yourself too seriously. +% +You have the capacity to learn from mistakes. +You'll learn a lot today. +% +You have the power to influence all with whom you come in contact. +% +You have to run as fast as you can just to stay where you are. +If you want to get anywhere, you'll have to run much faster. + -- Lewis Carroll +% +You humans are all alike. +% +You just know when a relationship is about to end. My girlfriend called me +at work and asked me how you change a lightbulb in the bathroom. "It's very +simple," I said. "You start by filling up the bathtub with water..." +% +You just wait, I'll sin till I blow up! + -- Dylan Thomas +% +You k'n hide de fier, but w'at you gwine do wid de smoke? + -- Joel Chandler Harris, proverbs of Uncle Remus +% +You knew the job was dangerous when you took it, Fred. + -- Superchicken +% +You know, Callahan's is a peaceable bar, but if +you ask that dog what his favorite formatter is, +and he says "roff! roff!", well, I'll just have to... +% +You know how to win a victory, Hannibal, but not how to use it. + -- Maharbal +% +You know it's going to be a long day when you get up, shave and shower, +start to get dressed and your shoes are still warm. + -- Dean Webber +% +You know it's Monday when you wake up and it's Tuesday. + -- Garfield +% +You know my heart keeps tellin' me, +You're not a kid at thirty-three, +You play around you lose your wife, +You play too long, you lose your life. +Some gotta win, some gotta lose, +Goodtime Charlie's got the blues. +% +You know, of course, that the Tasmanians, who never committed adultery, +are now extinct. + -- M. Somerset Maugham +% +You know that feeling you get when you are tipping your chair back and you +almost go crashing back on the floor but you just catch yourself? I feel +like that all the time. + -- Stephen Wright +% +You know, the difference between this company and +the Titanic is that the Titanic had paying customers. +% +You know very well that whether you are on page one or page thirty depends +on whether [the press] fear you. It is just as simple as that. + -- Richard Nixon +% +You know what I wish? I wish all the scum of the Earth had one throat +and I had my hands about it. + -- Rorschach, "Watchmen" +% +You know what they say -- the sweetest word in the English language +is revenge. + -- Peter Beard +% +You know what we can be like: See a guy and think he's cute one minute, the +next minute our brains have us married with kids, the following minute we see +him having an extramarital affair. By the time someone says "I'd like you to +meet Cecil," we shout, "You're late again with the child support!" + -- Cynthia Heimel, "A Girl's Guide to Chaos" +%% +I don't have any use for bodyguards, but I do have a specific use for two +highly trained certified public accountants. + -- Elvis Presley +% +You know you are getting old when you think you should drive the speed limit. + -- E.A. Gilliam +% +You know your apartment is small... + when you can't know its position and velocity at the same time. + you put your key in the lock and it breaks the window. + you have to go outside to change your mind. + you can vacuum the entire place using a single electrical outlet. +% +You know you're getting old when you're Dad, and you're measuring your +daughter for camp clothes, and there are certain measurements only her +mother is allowed to take. +% +You know you're in a small town when... + You don't use turn signals because everybody knows where you're going. + You're born on June 13 and your family receives gifts from the local + merchants because you're the first baby of the year. + Everyone knows whose credit is good, and whose wife isn't. + You speak to each dog you pass, by name... and he wags his tail. + You dial the wrong number, and talk for 15 minutes anyway. + You write a check on the wrong bank and it covers you anyway. +% +You know you're in trouble when... +1) You wake up face down on the pavement. +2) Your wife wakes up feeling amorous and you have a headache. +3) You turn on the news and they're showing emergency routes + out of the city. +4) Your twin sister forgot your birthday. +5) You wake up and discover your waterbed broke and then + remember that you don't have a waterbed. +6) Your doctor tells you you're allergic to chocolate. +% +You know you're in trouble when... +1) Your car horn goes off accidentally and remains stuck as you + follow a group of Hell's Angels on the freeway. +2) You want to put on the clothes you wore home from the party + and there aren't any. +3) Your boss tells you not to bother to take off your coat. +4) The bird singing outside your window is a buzzard. +5) You wake up and your braces are locked together. +6) Your mother approves of the person you're dating. +% +You know you're in trouble when... +(1) Your only son tells you he wishes Anita Bryant would mind + her own business. +(2) You put your bra on backwards and it fits better. +(3) You call Suicide Prevention and they put you on hold. +(4) You see a `60 Minutes' news team waiting in your office. +(5) Your birthday cake collapses from the weight of the candles. +(6) Your 4-year old reveals that it's "almost impossible" to + flush a grapefruit down the toilet. +(7) You realize that you've memorized the back of the cereal box. +% +You know you're in trouble when... +(1) You've been at work for an hour before you notice that your + skirt is caught in your pantyhose. +(2) Your blind date turns out to be your ex-wife. +(3) Your income tax check bounces. +(4) You put both contact lenses in the same eye. +(5) Your wife says, "Good morning, Bill" and your name is George. +(6) You wake up to the soothing sound of flowing water... the day + after you bought a waterbed. +(7) You go on your honeymoon to a remote little hotel and the desk + clerk, bell hop, and manager have a "Welcome Back" party + for your spouse. +% +You know you've been sitting in front of your Lisp machine too long +when you go out to the junk food machine and start wondering how to +make it give you the CADR of Item H so you can get that yummie +chocolate cupcake that's stuck behind the disgusting vanilla one. +% +You know you've landed gear-up when it takes full power to taxi. +% +You learn to write as if to someone else +because NEXT YEAR YOU WILL BE "SOMEONE ELSE". +% +You like to form new friendships and make new acquaintances. +% +You lived with a man who wore white belts? +Laura, I'm disappointed in you. + -- Remington Steele +% +You look tired. +% +You love peace. +% +You love your home and want it to be beautiful. +% +You may already be a loser. + -- Form letter received by Rodney Dangerfield. +% +You may be gone tomorrow, but that +doesn't mean that you weren't here today. +% +You may be infinitely smaller than some things, +but you're infinitely larger than others. +% +You may be recognized soon. Hide. +% +You may be right, I may be crazy, +But maybe it's a lunatic you're looking for? + -- Billy Joel +% +You may carve it on his tombstone, you may cut it on his card +That a young man married is a young man marred. + -- Rudyard Kipling, "The Story of the Gadsbys" +% +You may get an opportunity for advancement today. Watch it! +% +You may have heard that a dean is +to faculty as a hydrant is to a dog. + -- Alfred Kahn +% +You may my glories and my state dispose, +But not my griefs; still am I king of those. + -- William Shakespeare, "Richard II" +% +You may not be able to judge a book by its cover, but +you sure as hell can tell how much it's going to cost. +% +You may worry about your hair-do today, but tomorrow much peanut butter will +be sold. +% +You mean you didn't *know* she was off +making lots of little phone companies? +% +You mentioned your name as if I should recognize it, but beyond the +obvious facts that you are a bachelor, a solicitor, a freemason, and +an asthmatic, I know nothing whatever about you. + -- Sherlock Holmes, "The Norwood Builder" +% +You might have mail. +% +You must dine in our cafeteria. +You can eat dirt cheap there!!!! +% +You must include all income you receive in the form of money, property +and services if it is not specifically exempt. Report property (goods) +and services at their fair market values. Examples include income from +bartering or swapping transactions, side commissions, kickbacks, rent +paid in services, illegal activities (such as stealing, drugs, etc.), +cash skimming by proprietors and tradesmen, "moonlighting" services, +gambling, prizes and awards. Not reporting such income can lead to +prosecution for perjury and fraud. + -- Excerpt from Taxachussettes income tax forms +% +You must know that a man can have only one invulnerable loyalty, loyalty +to his own concept of the obligations of manhood. All other loyalties +are merely deputies of that one. + -- Nero Wolfe +% +You must realize that the computer has it in for you. The irrefutable +proof of this is that the computer always does what you tell it to do. +% +You need more time; and you probably always will. +% +You need no longer worry about the future. +This time tomorrow you'll be dead. +% +You need not worry about your future. +% +You never gain something but that you lose something. + -- Thoreau +% +You never get a second chance to make a first impression. +% +You never go anywhere without your soul. +% +You never have to change anything you +got up in the middle of the night to write. + -- Saul Bellow +% +You never have to figure out what to get for children, because they will +tell you exactly what they want. They spend months and months researching +these kinds of things by watching Saturday- morning cartoon-show +advertisements. Make sure you get your children exactly what they ask for, +even if you disapprove of their choices. If your child thinks he wants +Murderous Bob, the Doll with the Face You Can Rip Right Off, you'd better +get it. You may be worried that it might help to encourage your child's +antisocial tendencies, but believe me, you have not seen antisocial tendencies +until you've seen a child who is convinced that he or she did not get the +right gift. + -- Dave Barry, "Christmas Shopping: A Survivor's Guide" +% +You never hesitate to tackle the most difficult problems. +% +You never know what is enough until you know what is more than enough. + -- William Blake +% +You never learned anything by doing it right. +% +You never realize how many friends you +have until you rent a house at the beach. +% +You notice that after Ginzburg admitted he had tried marijuana everyone +got in line to admit it, too. But you also notice they all said they +"experimented" with marijuana. The didn't "use" it; they "experimented" +with it. Let me tell you something -- Jonas Salk "experiments"; these +guys were getting stoned! + -- Johnny Carson +% +You now have Asian Flu. +% +You own a dog, but you can only feed a cat. +% +You plan things that you do not even +attempt because of your extreme caution. +% +You possess a mind not merely twisted, but actually sprained. +% +You prefer the company of the opposite +sex, but are well liked by your own. +% +You probably wouldn't worry about what people +think of you if you could know how seldom they do. + -- Olin Miller +% +You recoil from the crude; you tend naturally toward the exquisite. +% +You roll my log, and I will roll yours. + -- Lucius Annaeus Seneca +% +You say potatoe, +And I say potato. +You say tomatoe, +And I say tomato. +Potatoe, potato, +Tomatoe, tomato. +Let's go be the Vice President... +% +You scratch my tape, and I'll scratch yours. +% +You see, I consider that a man's brain originally is like a little empty +attic, and you have to stock it with such furniture as you choose. A fool +takes in all the lumber of every sort he comes across, so that the knowledge +which might be useful to him gets crowded out, or at best is jumbled up with +alot of other things, so that he has difficulty in laying his hands upon it. +Now the skillful workman is very careful indeed as to what he takes into his +brain-attic. He will have nothing but the tools which may help him in doing +his work, but of these he has a large assortment, and all in the most perfect +order. It is a mistake to think that that little room has elastic walls and +can distend to any extent. Depend upon it there comes a time when for every +addition of knowledge you forget something that you knew before. It is of +the highest importance, therefore, not to have useless facts elbowing out +the useful ones. + -- Sherlock Holmes +% +You see things; and you say "Why?" +But I dream things that never were; and I say "Why not?" + -- George Bernard Shaw, "Back to Methuselah" + [No, it wasn't J.F. Kennedy. Ed.] +% +You see, wire telegraph is a kind of a very, very long cat. You pull +his tail in New York and his head is meowing in Los Angeles. Do you +understand this? And radio operates exactly the same way: you send +signals here, they receive them there. The only difference is that +there is no cat. + -- Albert Einstein, when asked to describe radio +% +You seek to shield those you love +and you like the role of the provider. +% +You shall be rewarded for a dastardly deed. +% +You shall judge of a man by his foes as well as by his friends. + -- Joseph Conrad +% +You should avoid hedging, at least that's what I think. +% +You should go home. +% +You should make a point of trying every experience once -- except +incest and folk-dancing. + -- A. Bax, "Farewell My Youth" +% +You should never bet against anything in science at +odds of more than about ten to the twelfth to one. + -- E. Rutherford +% +You should never ride in an airplane with a sports team, +because if the plane goes down, it's you they're gonna eat! + -- Gordon Downie, singer for Tragically Hip +% +You should never wear your best trousers +when you go out to fight for freedom and liberty. + -- Henrik Ibsen +% +You shouldn't have to pay for your love with your bones and your flesh. + -- Pat Benatar, "Hell is for Children" +% +You shouldn't wallow in self-pity. But it's OK to put +your feet in it and swish them around a little. + -- Guindon +% +You single-handedly fought your way into this hopeless mess. +% +You teach best what you most need to learn. +% +YOU TOO CAN MAKE BIG MONEY IN THE EXCITING FIELD OF PAPER SHUFFLING! + +Mr. Smith of Muddle, Mass. says: "Before I took this course I used to be +a lowly bit twiddler. Now with what I learned at MIT Tech I feel really +important and can obfuscate and confuse with the best." + +Mr. Watkins had this to say: "Ten short days ago all I could look forward +to was a dead-end job as a engineer. Now I have a promising future and +make really big Zorkmids." + +MIT Tech can't promise these fantastic results to everyone, but when +you earn your MDL degree from MIT Tech your future will be brighter. + + SEND FOR OUR FREE BROCHURE TODAY! +% +You tread upon my patience. + -- William Shakespeare, "Henry IV" +% +You two ought to be more careful-- +your love could drag on for years and years. +% +You want to know why I kept getting promoted? +Because my mouth knows more than my brain. + -- W.G. +% +You will always find something in the last place you look. +% +You will always get the greatest recognition for the job you least like. +% +You will always have good luck in your personal affairs. +% +You will attract cultured and artistic people to your home. +% +You will be a winner today. Pick a fight with a four-year-old. +% +You will be advanced socially, +without any special effort on your part. +% +You will be aided greatly by a person +whom you thought to be unimportant. +% +You will be audited by the Internal Revenue Service. +% +You will be awarded a medal for disregarding safety in saving someone. +% +You will be awarded some great honor. +% +You will be awarded the Nobel Peace Prize... posthumously. +% +You will be called upon to help a friend in trouble. +% +You will be dead within a year. +% +You will be divorced within a year. +% +You will be given a post of trust and responsibility. +% +You will be held hostage by a radical group. +% +You will be honored for contributing +your time and skill to a worthy cause. +% +You will be imprisoned for contributing +your time and skill to a bank robbery. +% +You will be married within a year. +% +You will be married within a year, and divorced within two. +% +You will be misunderstood by everyone. +% +You will be recognized and honored as a community leader. +% +You will be reincarnated as a toad; and you will be much happier. +% +You will be run over by a beer truck. +% +You will be run over by a bus. +% +You will be singled out for promotion in your work. +% +You will be successful in love. +% +You will be surprised by a loud noise. +% +You will be surrounded by luxury. +% +You will be the last person to buy a Chrysler. +% +You will be the victim of a bizarre joke. +% +You will be Told about it Tomorrow. Go Home and Prepare Thyself. +% +You will be traveling and coming into a fortune. +% +You will be winged by an anti-aircraft battery. +% +You will become rich and famous unless you don't. +% +You will contract a rare disease. +% +You will engage in a profitable business activity. +% +You will experience a strong urge to do good; but it will pass. +% +You will feel hungry again in another hour. +% +You will find me drinking gin +In the lowest kind of inn, +Because I am a rigid Vegetarian. + -- G.K. Chesterton +% +You will forget that you ever knew me. +% +You will gain money by a fattening action. +% +You will gain money by a speculation or lottery. +% +You will gain money by an illegal action. +% +You will gain money by an immoral action. +% +You will get what you deserve. +% +You will give someone a piece of your mind, which you can ill afford. +% +You will have a head crash on your private pack. +% +You will have a long and boring life. +% +You will have a long and unpleasant discussion with your supervisor. +% +You will have domestic happiness and faithful friends. +% +You will have good luck and overcome many hardships. +% +You will have long and healthy life. +% +You will have many recoverable tape errors. +% +You will hear good news from one you thought unfriendly to you. +% +You will inherit millions of dollars. +% +You will inherit some money or a small piece of land. +% +You will live a long, healthy, happy life and make bags of money. +% +You will live to see your grandchildren. +% +You will lose an important disk file. +% +You will lose an important tape file. +% +You will meet an important person who will help you advance professionally. +% +You will never amount to much. + -- Munich Schoolmaster, to Albert Einstein, age 10 +% +You will never know hunger. +% +You will not be elected to public office this year. +% +You will obey or molten silver will be poured into your ears. +% +You will outgrow your usefulness. +% +You will overcome the attacks of jealous associates. +% +You will pass away very quickly. +% +You will pay for your sins. +If you have already paid, please disregard this message. +% +You will pioneer the first Martian colony. +% +You will probably marry after a very brief courtship. +% +You will reach the highest possible point in your business or profession. +% +You will receive a legacy which will place you above want. +% +You will remember something that you should not have forgotten. +% +You will remember, Watson, how the dreadful business of the Abernetty +family was first brought to my notice by the |depth which the parsley +had sunk into the butter upon a hot day. + -- Sherlock Holmes +% +You will soon forget this. +% +You will soon meet a person who will play an important role in your life. +% +You will step on the night soil of many countries. +% +You will stop at nothing to reach your objective, +but only because your brakes are defective. +% +You will triumph over your enemy. +% +You will visit the Dung Pits of Glive soon. +% +You will win success in whatever calling you adopt. +% +You will wish you hadn't. +% +You won't skid if you stay in a rut. + -- Frank Hubbard +% +You work very hard. Don't try to think as well. +% +You worry too much about your job. +Stop it. You are not paid enough to worry. +% +"You would do well not to imagine profundity," he said. "Anything that seems +of momentous occasion should be dwelt upon as though it were of slight note. +Conversely, trivialities must be attended to with the greatest of care. +Because death is momentous, give it no thought; because victory is important, +give it no thought; because the method of achievement and discovery is less +momentous than the effect, dwell always upon the method. You will strengthen +yourself in this way." + -- Jessica Salmonson, "The Swordswoman" +% +You would if you could but you can't so you won't. +% +You'd best be snoozin', 'cause you don't +be gettin' no work done at 5 a.m. anyway. + -- From the wall of the Wurster Hall stairwell +% +You'd better smile when they watch you, smile like you're in control. + -- Smile, "Was (Not Was)" +% +You'd like to do it instantaneously, but that's too slow. +% +You'll always be, +What you always were, +Which has nothing to do with, +All to do, with her. + -- Company +% +You'll be called to a post requiring +ability in handling groups of people. +% +You'll be sorry... +% +You'll feel devilish tonight. +Toss dynamite caps under a flamenco dancer's heel. +% +You'll feel much better once you've given up hope. +% +You'll never be the man your mother was! +% +You'll never see all the places, or read all the +books, but fortunately, they're not all recommended. +% +You'll wish that you had done some of the +hard things when they were easier to do. +% +Young men are fitter to invent than to judge; fitter for execution than for +counsel; and fitter for new projects than for settled business. For the +experience of age, in things that fall within the compass of it, directeth +them; but in new things, abuseth them. The errors of young men are the ruin +of business; but the errors of aged men amount but to this, that more might +have been done, or sooner. Young men, in the conduct and management of +actions, embrace more than they can hold; stir more than they can quiet; fly +to the end, without consideration of the means and degrees; pursue some few +principles which they have chanced upon absurdly; care not how they innovate, +which draws unknown inconveniences; and, that which doubleth all errors, will +not acknowledge or retract them; like an unready horse, that will neither stop +nor turn. Men of age object too much, consult too long, adventure too little, +repent too soon, and seldom drive business home to the full period, but +content themselves with a mediocrity of success. Certainly, it is good to +compound employments of both ... because the virtues of either age may correct +the defects of both. + -- Francis Bacon, "Essay on Youth and Age" +% +Young men, hear an old man to whom +old men hearkened when he was young. + -- Augustus Caesar +% +Young men think old men are fools; +but old men know young men are fools. + -- George Chapman +% +Your aim is high and to the right. +% +Your aims are high, and you are capable of much. +% +Your analyst has you mixed up with another patient. +Don't believe a thing he tells you. +% +Your best consolation is the hope that the things +you failed to get weren't really worth having. +% +Your boss climbed the corporate ladder, wrong by wrong. +% +Your boss is a few sandwiches short of a picnic. +% +Your boyfriend takes chocolate from strangers. +% +Your business will assume vast proportions. +% +Your business will go through a period of considerable expansion. +% +Your code should be more efficient! +% +Your computer account is overdrawn. Please reauthorize. +% +Your computer account is overdrawn. Please see Big Brother. +% +Your Co-worker Could Be a Space Alien, Say Experts + ...Here's How You Can Tell +Many Americans work side by side with space aliens who look human -- but you +can spot these visitors by looking for certain tip-offs, say experts. They +listed 10 signs to watch for: + #3. Bizarre sense of humor. Space aliens who don't understand + earthly humor may laugh during a company training film or tell + jokes that no one understands, said Steiger. + #6. Misuses everyday items. "A space alien may use correction + fluid to paint its nails," said Steiger. + #8. Secretive about personal life-style and home. "An alien won't + discuss details or talk about what it does at night or on weekends." + #10. Displays a change of mood or physical reaction when near certain + high-tech hardware. "An alien may experience a mood change when + a microwave oven is turned on," said Steiger. +The experts pointed out that a co-worker would have to display most if not +all of these traits before you can positively identify him as a space alien. + -- National Enquirer, Michael Cassels, August, 1984. + + [I thought everybody laughed at company training films. Ed.] +% +Your depth of comprehension may tend to make you lax in worldly ways. +% +Your digestive system is your body's Fun House, whereby food goes on a long, +dark, scary ride, taking all kinds of unexpected twists and turns, being +attacked by vicious secretions along the way, and not knowing until the last +minute whether it will be turned into a useful body part or ejected into the +Dark Hole by Mister Sphincter. We Americans live in a nation where the +medical-care system is second to none in the world, unless you count maybe +25 or 30 little scuzzball countries like Scotland that we could vaporize in +seconds if we felt like it. + -- Dave Barry, "Stay Fit & Healthy Until You're Dead" +% +Your domestic life may be harmonious. +% +Your education begins where what is called your education is over. +% +Your fault - core dumped +% +Your files are now being encrypted and thrown into the bit bucket. +EOF +% +Your fly might be open (but don't check it just now). +% +YOUR FOAMY FUTURE + by Miss Fortune + +AQUARIUS (Jan. 20 - Feb. 18) + You have nothing better to think about than what to wear and what +type of champagne to take to the neighbors Halloween Party. Just take beer! +Don't try to copy the "Joneses", pull them up to your level and remember, in +California Hoalloween is redundant anyhow. + +PISCES (Feb. 19 - March 20) + Focus on strengthening friendships this Fall. You find others are +fascinated by your intelligence, your wit, your drinking ability, and your +bank account. Just make sure you realize it's far more impressive when +other discover your good qualities without your help. +% +YOUR FOAMY FUTURE + by Miss Fortune + +ARIES (March 21 - April 19) + Matters are not good, where you health is concerned. This Fall, be +sure to "walk groundly, talk profoundly, drink roundly, and sleep soundly" +and you will live all the days of your life. + +TAURUS (April 20 - May 20) + You spent a fortune on beer this past summer and now find yourself +in a deep depression because you can't afford even one of your favorite +brewskis. Don't fret too much, Taurus. To get back on your feet simply +miss two car payments. + +GEMINI (May 21 - June 21) + You think you're falling in love with a person who has a lot in +common with yourself. You both prefer ales, you've both tried your hand +at homebrewing, and you both want to visit every new brewpub that opens. +Sounds impressive but remember you really don't know your partner until +you meet in court. +% +YOUR FOAMY FUTURE + by Miss Fortune + +CANCER (Jun 22 - July 22) + You've been awarded a clean bill of health this month and you feel +you owe it all to the excessive amount of Vitamin B, Iron, and Malt you get +in your beer. Being healthy is admirable but don't you think you're going +to feel stupid one day lying in a hospital dying of nothing? + +LEO (July 23 - August 22) + You will soon acquire a large sum of money and will be in seventh +heaven as you head to the nearest Liquor Barn and buy all the beer they have +in stock. Whoever said money couldn't buy happiness didn't know where to +shop. + +VIRGO (August 23 - September 22) + Your late night, beer drinking, "life in the fast lane" parties are +affecting your job production the next morning. You feel a nine to five job +is not for a "party animal" such as yourself and may feel the need for a +career change. Just remember, people who work sitting down get paid more +than people who work standing up. +% +Your friends will know you better in the first minute you +meet than your acquaintances will know you in a thousand years. + -- Richard Bach, "Illusions" +% +Your goose is cooked. +(Your current chick is burned up too!) +% +Your happiness is intertwined with your outlook on life. +% +Your heart is pure, and your mind clear, and your soul devout. +% +Your ignorance cramps my conversation. +% +Your life would be very empty if you had nothing to regret. +% +Your love life will be happy and harmonious. +% +Your love life will be... interesting. +% +Your lover will never wish to leave you. +% +Your lucky color has faded. +% +Your lucky number has been disconnected. +% +Your lucky number is 3552664958674928. +Watch for it everywhere. +% +Your manuscript is both good and original, but the part that is good is not +original and the part that is original is not good. + -- Samuel Johnson +% +Your mind is the part of you that says, + "Why'n'tcha eat that piece of cake?" +... and then, twenty minutes later, says, + "Y'know, if I were you, I wouldn't have done that!" + -- Steven and Ondrea Levine +% +Your mind understands what you have been +taught; your heart, what is true. +% +Your mode of life will be changed for +the better because of good news soon. +% +Your mode of life will be changed for +the better because of new developments. +% +Your mode of life will be changed to ASCII. +% +Your mode of life will be changed to EBCDIC. +% +Your mothers ghost stands at your shoulder +Face like ice, a little bit colder +She says "You can't do that it breaks all the rules +You learned in school" +But I don't really see +Why can't we go on as three? + -- David Crosby, "Triad" +% +Your motives for doing whatever good deed you +may have in mind will be misinterpreted by somebody. +% +Your nature demands love and your happiness depends on it. +% +Your object is to save the world, +while still leading a pleasant life. +% +Your only obligation in any lifetime is to be true to yourself. Being +true to anyone else or anything else is not only impossible, but the +mark of a fake messiah. The simplest questions are the most profound. +Where were you born? Where is your home? Where are you going? What +are you doing? Think about these once in awhile and watch your answers +change. + -- Messiah's Handbook : Reminders for the Advanced Soul +% +Your own qualities will help prevent your advancement in the world. +% +Your password is pitifully obvious. +% +Your picture of the world often changes just before you get it into focus. +% +Your present plans will be successful. +% +Your program is sick! Shoot it and put it out of its memory. +% +Your reasoning powers are good, and you are a fairly good planner. +% +Your responsibility as a parent is not as great as you might imagine. You +need not supply the world with the next conqueror of disease or major motion +picture star. If your child simply grows up to be someone who does not use +the word "collectible" as a noun, you can consider yourself an unqualified +success. + -- Fran Lebowitz, "Social Studies" +% +Your sister swims out to meet troop ships. +% +Your society will be sought by people of taste and refinement. +% +Your step will soil many countries. +% +Your supervisor is thinking about you. +% +Your talents will be recognized and suitably rewarded. +% +Your temporary financial embarrassment will +be relieved in a surprising manner. +% +Your true value depends entirely on what you are compared with. +% +Your wig steers the gig. + -- Lord Buckley +% +Your wise men don't know how it feels +To be thick as a brick. + -- Jethro Tull, "Thick As A Brick" +% +Your worship is your furnaces +which, like old idols, lost obscenes, +have molten bowels; your vision is +machines for making more machines. + -- Gordon Bottomley, 1874 +% +You're a card which will have to be dealt with. +% +You're a good example of why some animals eat their young. + -- Jim Samuels to a heckler + +Ah, yes. I remember my first beer. + -- Steve Martin to a heckler + +When your IQ rises to 28, sell. + -- Professor Irwin Corey to a heckler +% +You're all clear now, kid. +Now blow this thing so we can all go home. + -- Han Solo +% +You're almost as happy as you think you are. +% +You're already carrying the sphere! +% +You're always thinking you're gonna be +the one that makes 'em act different. + -- Woody Allen, "Manhattan" +% +You're at the end of the road again. +% +You're at Witt's End. +% +You're being followed. Cut out the hanky-panky for a few days. +% +You're currently going through a difficult transition period called "Life." +% +You're definitely on their list. +The question to ask next is what list it is. +% +You're either part of the solution or part of the problem. + -- Eldridge Cleaver +% +You're growing out of some of your problems, +but there are others that you're growing into. +% +"You're just the sort of person I imagined marrying, when I was little... +except, y'know, not green... and without all the patches of fungus." + -- Swamp Thing +% +You're never too old to become younger. + -- Mae West +% +You're not Dave. Who are you? +% +You're not drunk if you can lie on the floor without holding on. + -- Dean Martin +% +You're reasoning is excellent -- it's +only your basic assumptions that are wrong. +% +You're ugly and your mother dresses you funny. +% +You're using a keyboard! How quaint! +% +You're working under a slight handicap. +You happen to be human. +% +Yours is not to reason why, +Just to Sail Away. +And when you find you have to throw +Your Legacy away; +Remember life as was it is, +And is as it were; +Chasing sounds across the galaxy +'Till silence is but a blur. + -- QYX. +% +Youth. It's a wonder that anyone ever outgrows it. +% +Youth -- not a time of life but a state of mind... a predominance of +courage over timidity, of the appetite for adventure over the love of ease. + -- Robert F. Kennedy +% +Youth had been a habit of hers so long that she could not part with it. +% +Youth is a blunder, manhood a struggle, old age a regret. + -- Benjamin Disraeli, "Coningsby" +% +Youth is a disease from which we all recover. + -- Dorothy Fuldheim +% +Youth is such a wonderful thing. What a crime to waste it on children. + -- George Bernard Shaw +% +Youth is the trustee of posterity. +% +Youth is when you blame all your troubles on your parents; maturity is +when you learn that everything is the fault of the younger generation. +% +You've always made the mistake of being yourself. + -- Eugene Ionesco +% +You've been Berkeley'ed! +% +You've been leading a dog's life. Stay off the furniture. +% +You've been telling me to relax all the way here, +and now you're telling me just to be myself? + -- The Return of the Secaucus Seven +% +You've got to pity New Mexico... so far from heaven and so close to Texas. +% +"Yow! Am I having fun yet?" + -- Zippy the Pinhead +% +"Yow! Am I in Milwaukee?" + -- Zippy the Pinhead +% +"Yow! And then we could sit on the hoods of cars at stop lights!" + -- Zippy the Pinhead +% +"Yow! Did something bad happen or am I in a drive-in movie?" + -- Zippy the Pinhead +% +"Yow! Is this sexual intercourse yet? Is it, huh, is it?" + -- Zippy the Pinhead +% +"Yow!! Those people look exactly like Donnie and Marie Osmond!!" + -- Zippy the Pinhead +% +"Yow! Now I get to think about all the BAD THINGS I did +to a BOWLING BALL when I was in JUNIOR HIGH SCHOOL!" + -- Zippy the Pinhead +% +YO-YO: + Something that is occasionally up but normally down. + (see also Computer). +% +Zall's Laws: + 1: Any time you get a mouthful of hot soup, the next thing you do + will be wrong. + 2: How long a minute is, depends on which side of the bathroom + door you're on. +% +zeal, n: + Quality seen in new graduates -- if you're quick. +% +ZERO DEFECTS: + The result of shutting down a production line. +% +Zero Mostel: That's it baby! When you got it, flaunt it! Flaunt it! + -- Mel Brooks, "The Producers" +% +Zeus gave Leda the bird. +% +Zisla's Law: + If you're asked to join a parade, don't march behind the elephants. +% +Zounds! I was never so bethumped with words +since I first called my brother's father dad. + -- William Shakespeare, "Kind John" +% +Zymurgy's Law of Volunteer Labor: + People are always available for work in the past tense. +% diff --git a/fortune/datfiles/fortunes2-o.fake b/fortune/datfiles/fortunes2-o.fake new file mode 100644 index 0000000..3b3f5a3 --- /dev/null +++ b/fortune/datfiles/fortunes2-o.fake @@ -0,0 +1,2 @@ +There are no potentially offensive fortunes installed on this +system. For further details, contact your system administrator. diff --git a/fortune/datfiles/fortunes2-o.real b/fortune/datfiles/fortunes2-o.real new file mode 100644 index 0000000..37a180a --- /dev/null +++ b/fortune/datfiles/fortunes2-o.real @@ -0,0 +1,13829 @@ + PLAYGIRL, Inc. + Philadelphia, Pa. 19369 +Dear Sir: + Your name has been submitted to us with your photo. I regret to +inform you that we will be unable to use your body in our centerfold. On +a scale of one to ten, your body was rated a minus two by a panel of women +ranging in age from 60 to 75 years. We tried to assemble a panel in the +age bracket of 25 to 35 years, but we could not get them to stop laughing +long enough to reach a decision. Should the taste of the American woman +ever change so drastically that bodies such as yours would be appropriate +in our magazine, you will be notified by this office. Please, don't call +us. + Sympathetically, + Amanda L. Smith + +p.s. We also want to commend you for your unusual pose. Were you + wounded in the war, or do you ride your bike a lot? +% + MOUNTIES: +I'm a lumberjack and I'm OK, He's a lumberjack and he's OK, +I sleep all night and I work all day. He sleeps all night and he works + all day. + +I cut down trees, I eat my lunch, He cuts down trees, he eats his lunch, +I go to the lavatory. He goes to the lavatory. +On Wednesday I go shopping, On Wednesday he goes shopping, +And have buttered scones for tea. And has buttered scones for tea. + +I cut down trees, I skip and jump, He cuts down trees, he skips and jumps, +I like to press wild flowers, He likes to press wild flowers. +I put on women's clothing, He puts on women's clothing, +And hang around in bars. And hangs around in bars. + +I cut down trees, I wear high heels, He cuts down trees, he wears high heels, +Suspenders and a bra. Suspenders? and a bra? +I wish I'd been a girlie, That's rude... +Just like my dear Pappa. +% + FROM THE DESK OF + Snow White + +Dear Snow White: + + Thanks for last night. + + Sleepy, Doc, Grumpy, Sneezy, Happy, Dopey, Bashful +% + LEPROSY +Leprosy, all my skin is falling off of me. +I'm not half the man I used to be. +Oh, how did I get leprosy? + +Syphilis, it all started with a simple kiss. +Now it even hurts to take a piss. +Oh why did I get syphilis? + +Why'd she have VD? I don't know, she wouldn't say. +I did something wrong, now I long for yesterday .... + -- To the tune of "Yesterday" +% + THE CHURCH OF COUNTERFACTUAL BELIEF + +An amalgamation of the Creation Science Research Foundation and the Flat Earth +Society, The Church of Counterfactual Belief has been set up to cater to all +who do not allow demonstrable truth to get in the way of their beliefs. +In addition to creation science and the flatness of the earth, the following +beliefs have been certified by Pope Duane as correct Church dogma: + + --That there is a hole in the Earth at the North Pole from + which UFOs come. + --That pi equals precisely 3.000. + --That Billy Joe Wilson (Hoopla, Miss.) has successfully + squared the circle. + --That Harry Truman is still president, and doing a fine job. + +Several other important counterfactual beliefs are presently being studied, +including Reaganomics and that the moon landings were done in a Hollywood +special effects studio. These will be the subject of some forthcoming Papal +Bull. +% + The Snack +Oh my God, screamed Mommy, You went and ate the Baby. + +What baby? asked Daddy. You know that's just the last of the leftover donkey. + +Donkey, my ass! said Mommy with some sentience. Do you think I don't + recognize my own baby? Why I can still see his little privates + caught in the gap between your front teeth. How many times have + I told you to take only what's on the *top* two shelves of the freezer? + +But there wasn't a thing to eat, cried Daddy. + And am I not the master of my own? + +Nothing to eat? + What about the elephant testicles in aspic that I put up for you + just last week in the ball jar? Our very first baby, too, wailed + Mommy, that I was saving for Christmas dinner. + +Testicles, testicles, said Daddy. A man gets tired of testicles. + -- L.L. Zeiger +% + ... So this is a very confusing situation, and what makes it even +worse is, our standards keep changing. Take Playboy magazine. Back in the +1950s, when I started reading it strictly for the articles, Playboy was +considered just about the raciest thing around, even though all it ever +showed was women's breasts. Granted, any given one of these breasts would +have provided adequate shelter for a family of four, but the overall effect +was no more explicit than many publications we think nothing of today, such +as Sports Illustrated's Annual Nipples Poking Through Swimsuits Issue. + -- Dave Barry, "Pornography" +% + A bear and a rabbit are taking a crap in the woods. The bear looks +over at the rabbit and asks, "Say, does shit ever stick to your fur?" + "No." + So the bear wiped his ass with the rabbit. +% + A business executive is consumed by jealousy: he suspects his wife +of cheating on him. The suspicion grows and grows, and one morning as he +drives to work he can't take it any more. He thinks to himself, "she +probably just waited until I left so she could meet with her lover." + When he gets to his office, he calls home. The maid answers. He +says, "Hello. Is my wife there?" + "Yes, sir", the maid whispers. + "Is she with her lover?" + The maid pauses, and then says, "Yes, sir, she is, and I must say +that I feel terrible about how she treats you." + The man yells, "That no good **#*&!!. If you feel as badly as you +say you do, you must do this for me: go to my dresser and get my gun. Check +to make sure that it's loaded. Then go upstairs and shoot both that cheating +two-timing whore and her lover. Dispose of the gun, and then come back to +the phone and tell me that it's over. Don't worry -- I'll protect you." +The man hears footsteps, a drawer being opened, a click, more footsteps, +silence... and then two shots. More footsteps. Finally the maid comes back +to the phone and says "It's done." + The man asks, "What did you do with the gun?" + "I threw it behind the statue in the garden", the maid replies. + "Statue in the garden? Say, what number is this, anyway?" +% + A cowboy, his horse and his dog were captured by hostile Indians. +This wasn't really a problem for the animals as the Indians can always use +them, but the cowboy is informed that he will be burned at the stake the +following sunrise. That evening, the Indian chief tells the cowboy that +he can one last wish, within reason, of course, before meeting his fate +the following morning. The cowboy replies that all he really wants is to +see his faithful dog, Rex, one last time. When the dog is brought by the +Indians, the cowboy hugs his companion and whispers something into his ear. +At once the dog runs off over the hill. Amazingly enough, a few hours later, +he returns, accompanied by some two dozen prostitutes from a nearby town. +Needless to say, the braves are delighted and as a reward offer the cowboy +his dog to keep him company through the rest of the night. When the dog is +brought forth the cowboy again runs his hand over Rex's head and then bends +down to whisper into his ear: "This may be my last chance, Rex, so get it +right this time -- go into town and get the posse!" +% + A farmer decides that his three sows should be bred, and contacts a +buddy down the road, who owns several boars. They agree on a stud fee, and +the farmer puts the sows in his pickup and takes them down the road to the +boars. He leaves them all day, and when he picks them up that night, asks +the man how he can tell if it "took" or not. The breeder replies that if, +the next morning, the sows were grazing on grass, they were pregnant, but if +they were rolling in the mud as usual, they probably weren't. + Comes the morn, the sows are rolling in the mud as usual, so the +farmer puts them in the truck and brings them back for a second full day of +frolic. This continues for a week, since each morning the sows are rolling +in the mud. + Around the sixth day, the farmer wakes up and tells his wife, "I +don't have the heart to look again. This is getting ridiculous. You check +today." With that, the wife peeks out the bedroom window and starts to laugh. + "What is it?" asks the farmer excitedly. "Are they grazing at last?" + "Nope." replies his wife. "Two of them are jumping up and down in +the back of your truck, and the other one is honking the horn!" +% + A grade school teacher was asking students what their parents did +for a living. "Tim, you be first," she said. "What does your mother do +all day?" + Tim stood up and proudly said, "She's a doctor." + "That's wonderful. How about you, Amie?" + Amie shyly stood up, scuffed her feet and said, "My father is a +mailman." + "Thank you, Amie," said the teacher. "What about your father, Billy?" + Billy proudly stood up and announced, "My daddy plays piano in a +whorehouse." + The teacher was aghast and promptly changed the subject to geography. +Later that day she went to Billy's house and rang the bell. Billy's father +answered the door. The teacher explained what his son had said and demanded +an explanation. + Billy's father replied, "Well, I'm really an attorney. But how do +you explain a thing like that to a seven-year-old child?" +% + A great American Olympic wrestler was receiving last-minute advice +from his coach about the upcoming match with the Soviet Champion. + "This Russian guy is really good, very strong and quick. But I think +you can take him. Remember, though, like I've told you before, don't let +him get you in the Pretzel hold. With his strength you'd never get out." + The American leaps onto the mat, and within moments the two behemoths +are going crazy, struggling to get each other pinned. The American slowly +gains ground and appears that he might actually win on points alone, when, in +the blink of an eye, the Russian reverses him and whips him into the fatal +Pretzel hold. + The coach, off by the side, shakes his head in dismay, and sits down +on the bench with his head between his hands. All of a sudden, there's a +scream and the two wrestlers fly apart, the American regaining control and +pinning the Russian. After the match, in the dressing room, the coach +finally gets the winner alone. "Great job! But how the hell did you get out +of the Pretzel Hold? I thought it was over for sure!" + "Well, I did too. I was in the hold, about to be pinned, when I saw +this huge pair of testicles hanging right in front of my eyes. I figured +what the hell, so I stretched forward and bit them as hard as I could. Coach, +you just don't know your own strength 'til you've bitten your own balls!" +% + A group of soldiers being prepared for a practice landing on a tropical +island were warned of the one danger the island held, a poisonous snake that +could be readily identified by its alternating orange and black bands. They +were instructed, should they find one of these snakes, to grab the tail end of +the snake with one hand and slide the other hand up the body of the snake to +the snake's head. Then, forcefully, bend the thumb above the snake's head +downward to break the snake's spine. All went well for the landing, the +charge up the beach, and the move into the jungle. At one foxhole site, two +men were starting to dig and wondering what had happened to their partner. +Suddenly he staggered out of the underbrush, uniform in shreds, covered with +blood. He collapsed to the ground. His buddies were so shocked they could +only blurt out, "What happened?" + "I ran from the beachhead to the edge of the jungle, and, as I hit the +ground, I saw an orange and black striped snake right in front of me. I +grabbed its tail end with my left hand. I placed my right hand above my left +hand. I held firmly with my left hand and slid my right hand up the body of +the snake. When I reached the head of the snake I flicked my right thumb down +to break the snake's spine... did you ever goose a tiger?" +% + A guy finishes his 9 to 5, but, instead of going straight home, stops +in at a local bar for a drink. He gets his beer, turns around to sit down, +and finds himself face to face with a ravishing blonde. The two strike up a +conversation, and really hit it off. After a couple drinks they leave the bar +go back to her pad, to peruse her etchings. Which doesn't take long -- by +seven they were happily engaged in intimate scratching. + 'Round about midnight the guy rolled over in bed and spotted the clock: +"Midnight! Already! I gotta get home! Honey, you have any baby powder?" +He jumps out of bed and starts pulling his pants on, trying to find his shoes. + "Baby powder?" she asks. But she comes back from the bathroom and +hands him the powder. He frantically shakes it all over his hands, kisses her +goodbye, and runs out the front door. + He gets home, and sure enough, there's his wife, waiting in the +doorway. + "Okay," she mutters, "let's have it." + "Well," he says sheepishly, looking down at his feet. "Okay. I went +to a bar after work and met a gorgeous blonde and we really hit it off. We +had a few drinks and went back to her place, and well, see..." + "Oh yeah?" she says, "let me see your hands... Don't you lie to me! +You've been bowling again!" +% + A guy returns from a long trip to Europe, having left his beloved +dog in his brother's care. The minute he's cleared customs, he calls up his +brother and inquires after his pet. + "Your dog's dead," replies his brother bluntly. + The guy is devastated. "You know how much that dog meant to me," +he moaned into the phone. "Couldn't you at least have thought of a nicer way +of breaking the news? Couldn't you have said, `Well, you know, the dog got +outside one day, and was crossing the street, and a car was speeding around a +corner...' or something...? Why are you always so thoughtless?" + "Look, I'm sorry," said his brother, "I guess I just didn't think." + "Okay, okay, let's just put it behind us. How are you anyway? +How's Mom?" + His brother is silent a moment. "Uh," he stammers, "uh... Mom got +outside one day..." +% + A guy walks into a pub and asks: "Does anyone here own a Doberman? +I feel really bad about this, but my Chihuahua just killed it." + A man leaps to his feet and replies, "Yes, I do, but how can that +be? I raised that dog from a pup to be a vicious killer." + "Yes, well, that's all well and good," replied the first, "but my +dog's stuck in its throat." +% + A man came home from work and as he entered the house he yelled, +"Hi, honey, I'm home." + There was no response. He walked through the house and saw a note +on the refrigerator. It read "I'm out with the girls and I'll be home about +8. Either fix yourself something to eat, or wait for me and we'll eat when +I get home." + Well, he decided to wait until his wife returned. However, his +stomach started to growl and he remembered that he had an apple left over +from his lunch. He got the apple, polished it a little, and heard the +doorbell ring. He went to the door and there stood a little blond haired +girl holding out a little paper bag. "Trick or treat", she said. + He looked at the girl, looked at the apple, thought how hungry he +was, looked at the girl again, and with a slight sigh dropped his apple in +the bag. The little girl looked down in the bag, looked up again, and +complained, "You stupid son-of-a-bitch. You broke my cookies!" +% + A man dies and is getting his tour of heaven. His guide is pointing +out the various features and landmarks when the man asks, "What's that cliff?" + "Oh, you don't want to look down there. That's hell!" + The man creeps up to the edge and looks over. He sees lush, green +valleys, verdant farmland and trees everywhere. "This doesn't look so bad," +he says. + Puzzled, the guide comes over and looks down. "Damn!" he snaps, +"Those Mormons have been irrigating again!" +% + A man sank into the psychiatrist's couch and said, "I have a +terrible problem, Doctor. I have a son at Harvard and another son at +Princeton; I've just gifted each of them with a new Ferrari; I've got +homes in Beverly Hills, Palm Beach, and a co-op in New York; and I've +got a thriving ranch in Venezuela. My wife is a gorgeous young actress +who considers my two mistresses to be her best friends." + The psychiatrist looked at the patient, confused. "Did I miss +something? It sounds to me like you have no problems at all." + "But, Doctor, I only make $175 a week." +% + A man walks into a bar and orders 3 shots and 3 beers. The +bartender, seeing that the man is distraught, asks what the problem is. + "I just found out that my brother is gay", he replies. + About a week later, the same man walks in and orders 6 shots and +6 chasers. So the bartender inquires, "What's wrong this time?" + To which the man says, "I just found out that two of my brothers +are lovers." + Another week goes by and the man comes back to the bar and orders +NINE shots and NINE beers. The bartenders says "Damn, boy, doesn't anyone +in your family like pussy?" + "Yeah. Me and my sister." +% + A man walks into a bar and says: "I'd like a shot of twelve-year-old +Scotch". The bartender, who figures the guy is just being obnoxious, reaches +down under the bar and pours him a shot of bar Scotch. The man takes one sip +and says: "Hey, bartender, I asked you for some twelve-year-old Scotch -- this +is eight-year-old Scotch." + The bartender reaches behind the bar for the twelve-year-old Scotch, +pours a shot, hands it to the man and says "I've got to hand it to you -- +most guys who come in here asking for twelve-year-old Scotch have never even +had it -- they're just being pricks. But you really know your Scotch -- this +is on the house." + A drunk has been sitting at the other end of the bar watching this +conversation. He walks up to the man, hands him a glass and says "Taste this." +The man does -- and spits it out yelling, "This tastes like piss!" To which +the drunk replies, "It is -- but how old am I?" +% + A man walks into a bar with a Leprechaun on his shoulder. He walks +up to the bar and sits down, ordering a beer for himself and one for the +little Leprechaun. + After a few beers, the Leprechaun jumps down off the guy's shoulder, +struts down the bar and comes to a stop in front of a rather large construction +worker. Looking the guy right in the eye, he gives him a rather large, damp, +Bronx cheer. And trots back to sit on his buddy's shoulder. The worker is +pretty upset, but decides to shine on this rather offensive breach of manners. + After another beer and a half though, the Leprechaun hops down and +walks over to his previous victim and goes "PPPPHHHHHHHBBBBTTTTTT" again. +Well, that's too much, and the victim knocks the Leprechaun off the bar and, +after walking over to stand very close to the Leprechaun's escort, tells him +in a rather overloud voice, that if it happens again, he's going to "cut off +his little dick!" + Replies the escort, "Leprechauns don't have dicks." + "Yeah? Well, then," asks the big man, how does he take a piss?" + "PPPPHHHHHHHBBBBTTTTTT!!!!" +% + A man was just settling down into his seat for a cross-country +flight when he noticed a beautiful woman sitting next to him, wearing a +large button with the letters "NAA" on it. + "What's that?" he asked, pointing to her button. + "Nymphomaniacs Association of America" she replied. + After a moments thought he said, "Well, if you wouldn't mind my +asking, but I've always wanted to know, who are the best, ummm, `endowed' +men?" + "Well, it's not what you think. Native Americans. They're better +hung than *anybody*." + "And is it true that the French are the best lovers?" + "No, Jewish men. Once you finally get them going they can last +all night. By the way, my name is Sue. What's yours?" + "Running Bear Sheldon." +% + A man was traveling cross-country one summer from New York to LA. +He arrived in Needles, CA late one night and pulled into an Exxon for some +gas. When he pulled up to the gas pumps, he noticed that all of the lights +were off. Suddenly, he heard a faint sound from outside. He wasn't sure +what he'd heard, so he rolled down his window and heard a faint cry, +"Help... help... help". He got out of his car, and sure enough there was +a guy stooped down in the corner, stark naked with his wrists tied to his +ankles. He walked up to the guy and said, "Hey, man, what happened to you?" + "These guys pulled me out of my car, took my money, my wallet, my +clothes, tied my wrists to my ankles, and then stole my car!!" + "Damn!", replied the first man as he unzipped his pants. "This just +hasn't been your day, has it?" +% + A man went to a doctor to have his penis enlarged. Well, this +particular procedure involved splicing a baby elephant's trunk onto the +man's penis. Overjoyed, the man went out with his best girl to a very +fancy restaurant. After cocktails, the man's penis crept out of his pants, +felt around the table, grabbed a hard roll and quickly disappeared under +the tablecloth. The girl was startled and exclaimed, "What was that?" + Suddenly the penis came back, took another hard roll and just as +quickly disappeared. The girl was silent for a moment, then finally said, +"I don't believe I saw what I think I just saw... can you do that again?" + With a bit of an uncomfortable smile the man replied, "Honey, I'd +like to, but I don't think my ass can take another hard roll!" +% + A Mexican and a Texan worked together for a construction firm, and, +while they were good friends, they had a friendly rivalry over whose wife +was the better cook. One weekend, as the Texan's wife was out of town, the +Mexican invited the Texan to have supper with his family. + The Texan accepted, and that evening sat down to some the best stew +that he had ever eaten. + "Damn! That stew is fantastic!" he exclaimed to his host. "What +kind of meat is it?" + "Rabbeet stew," replied the Mexican. + "Rabbit?" replied the Texan. "There aren't any rabbits around here." + "Si, my freend, the rabbeets make the beeg noise, and I shoot theem." + "Rabbits don't make any noise..." + "Si, my freend, they say meeyow, meeyow!" +% + A mother and her daughter came to the doctor's office. The mother +asked the doctor to examine her daughter. "She has been having some strange +symptoms and I'm worried about her," the mother said. + The doctor examined the daughter carefully. Then he announced, +"Madam, I believe your daughter is pregnant." + The mother gasped. "That's nonsense!" she said. "Why, my little +girl has never even been out with a man, let alone... let alone..." She +turns to the girl and said, "Tell the doctor, Susie!" + "Yes, Mumsy," said the girl. "Doctor, I have never so much as +kissed a man!" + The doctor looked from the mother to daughter, and back again. Then, +silently he stood up and walked to the window. He stared out. He continued +staring until the mother felt compelled to ask, "Doctor, is there something +wrong out there?" + "No, Madam," said the doctor. "It's just that the last time anything +like this happened, a star appeared in the East and I was looking to see if +another one was going to show up." +% + A priest was walking along the cliffs at Dover when he came upon +two locals pulling another man ashore on the end of a rope. "That's what +I like to see", said the priest, "A man helping his fellow man". + As he was walking away, one local remarked to the other, "Well, +he sure doesn't know the first thing about shark fishing." +% + A proper elderly English couple visiting Australia decided to hire a +car to take a look at the outback. "We know it's rough country, but it's safe +and decent, isn't it?" the husband inquired of the rental-agency manager. +Upon being assured that it was, the couple drove off. + Later that day, they returned, upset and angry. "You said it was +decent country," the Englishwoman upbraided the rental agent, "but we hadn't +driven too far when we saw a man in a field copulating with a kangaroo!" + "And not too long after that," complained her husband, "a one-legged +aborigine leaning against a tree by the side of the road grinningly waved +at us with one hand while he brazenly masturbated himself with the other!" + "Guv'nor," responded the Aussie, "yer wouldn't expect a poor bugger +like that, with only one leg, to catch a 'roo, would you?" +% + A secretary entered her boss's office with the announcement: "I have +some good news and some bad news." + He muttered, "It's quarterly report day, Sally -- just the good news." + She replied, "You're not sterile." +% + A sociologist, a psychologist, and a engineer were discussing the +consequences and implications of a married man's having a mistress. The +sociologist's opinion was that it is absolutely and categorically unforgivable +for a married man to forfeit the bond of matrimony, and engage in such lowly +and lustful pursuits. + The psychologist's opinion was that although morally reprehensible, +if a man MUST have a mistress to achieve his full potential as a human being, +then -- well -- he may go ahead and choose to have a mistress, as long as he +is considerate enough to keep this secret from his wife. + The engineer then interjected: "I also believe that, if necessary, +a married man is entitled to a mistress. However, I do not see why the +affair should be concealed from the wife. On the contrary, if the affair +is out in the open, then on Friday evenings he may tell his wife that he +is going to see his mistress, tell his mistress that he is going to be with +his wife, then go to his office and get some work done!" +% + A strange looking white man came to the Indian reservation looking +for a job. He asked to talk to the Chief of the tribe, so he might give his +qualifications. The Chief strode forward from the group surrounding the +white man and said: "You leave! No job!" + The man explained that this was no ordinary job he was seeking, but +that of tribe Medicine-Man. He would convince him if the Chief would allow +him to demonstrate his magic. "No magic!" said the disbelieving Chief. + "Oh, yeah?", said the stranger. "I'll prove it to you by making +your dog, here, talk!" + "Dog, no talk!" responded the Chief, but before he could finish, he +heard a voice coming out of the mouth of the dog saying, "The Chief treats me +good. He feeds me, and keeps me in teepee when it snows!" + "If you still have doubts as to my magic," continued the stranger, +"the next voice you'll hear will be that of your horse!" + "Horse, no talk!" argued the still-sceptical Chief, but again he +heard a voice that said: "I am the Chief's favorite horse. He takes me up to +the green pasture to eat and brushes my coat when I get dirty." + The stranger, still seeing some disbelieving faces, claimed for his +final trick he would make the Chief's sheep talk. + "NO!" cried the Chief, "SHEEP LIE!" +% + A ten-year-old kid came home from school one day, and when his mom +asked how was school he says: "Gee, great, mom. I got laid!" + She's shocked and sends him upstairs, where his dad finds him after +work. "Mommy told me about your day at school, Billy, and I think we men +should keep it a secret. Women just don't understand these things." + So every night Dad goes up to Billy's room after Mom tucks him in: +"You get laid today, Billy?" + "Yeah, Dad." + "How was it?" + "Real neat, Dad, I liked it a lot." + "Good Boy!". + A month later: "You get laid today?" + "No, Dad." + "No? How come?" + "Gee, Dad, my ass is getting really sore." +% + A white man was traveling with Indian (American) out West. The +Indian stops, puts his ear to the ground, and says, "Buffalo come." + The white man looks around in all directions, sees nothing for +miles and asks the Indian how the hell he knows that. + Replies the Indian, "Ear wet." + -- Lily Tomlin, "The Search for Signs of Intelligent + Life in the Universe" +% + A woman was married to a golfer. One day she asked, "If I were +to die, would you remarry?" + After some thought, the man replied, "Yes, I've been very happy in +this marriage and I would want to be this happy again." + The wife asked, "Would you give your new wife my car?" + "Yes," he replied. "That's a good car and it runs well." + "Well, would you live in this house?" + "Yes, it is a lovely house and you have decorated it beautifully. +I've always loved it here." + "Well, would you give her my golf clubs?" + "No." + "Why not?" + "She's left handed." +% + A young couple jumped out of their car and dashed into the park. +They hurriedly found a secluded spot and began to make frenzied, passionate +love. Shortly thereafter, as they were driving away, the young man turned +to her and said, "If I had known you were a virgin, I'd have taken more time." + She replied, "If I had known you had more time, I'd have taken off +my pantyhose." +% + A young man asked his father to lend him $50 for a blowjob, +whereupon his father solemnly replied, "When I was young we used to +settle for a kiss." + The son retorted, "OK, how about $50 for a long low kiss?" +% + After watching an extremely attractive maternity-ward patient +earnestly thumbing her way through a telephone directory for several +minutes, a hospital orderly finally asked if he could be of some help. + "No, thanks," smiled the young mother, "I'm just looking for a +name for my baby." + "But the hospital supplies a special booklet that lists hundreds +of first names and their meanings," said the orderly. + "That won't help," said the woman, "my baby already has a first +name." +% + All he did was take the ball and run every time they called his +number -- which came to be more and more often, and in the Super Bowl Thomas +was the whole show. But the season is now over; the purse is safe in the +vault; and Duane Thomas is facing two to twenty for possession. Nobody really +expects him to serve time, but nobody seems to think he'll be playing for +Dallas next year either, and a few sporting people who claim to know how the +NFL works say he won't be playing for ANYBODY next year; that the Commissioner +is outraged at this mockery of all those Government-sponsored "Beware of Dope" +TV shots that dressed up the screen last autumn. + We all enjoyed those spots, but not everyone found them convincing. +Here was a White House directive saying several million dollars would be spent +to drill dozens of Name Players to stare at the camera and try to stop grinding +their teeth long enough to say they hate drugs of any kind... and then the best +running back in the world turns out to be a goddamn uncontrollable drugsucker. + But not for long. There is not much room for freaks in the National +Football League. Joe Namath was saved by the simple blind luck of getting +drafted by a team in New York City, a place where social outlaws are not +always viewed as criminals. But Namath would have had a very different trip +if he'd been drafted by the St. Louis Cardinals. + -- Hunter S. Thompson +% + An Aggie was appointed ambassador to Japan. Two weeks before +officially reporting to the embassy, he went from geisha house to geisha +house. While making love to a geisha girl, he heard her repeat, "Yaki-san, +yaki-san." + Right away the Aggie thought to himself, "I've learned my first +Japanese word. It must be an expression of joy." + When he reported to the embassy, he received his first assignment, +which was to escort the prime minister of Japan around the golf course. +After having played a couple of holes, the prime minister teed-off and made +a hole-in-one. The prime minister jumped up and down shouting, "Bonsai! +Bonsai!" + Quickly, thinking that this was the perfect chance to show off the +new Japanese word that he'd learned, the Aggie exclaimed, "Yaki-san, +yaki-san!" + The prime minister turned to the Aggie in surprise and exclaimed, +"What do you mean, wrong hole?" +% + An American tourist went into a restaurant in a Spanish provincial +city and asked to be served the specialty of the house. When the dish +arrived he asked what kind of meat it contained. "These, senor," explained +the waiter in halting English, "are the cojones -- the, what you say, the +testicles -- of the bull killed in the ring today. + The tourist gulped but tasted the dish and found it delicious. +Returning the following evening, he asked for the same dish. When it was +served, he commented to the waiter, "But these -- these cojones -- are +much smaller than the ones I had yesterday." + "True, senor, but the bull -- he does not ALWAYS lose." +% + An eighty-year-old woman is rocking away the afternoon on her +porch when she sees an old, tarnished lamp sitting near the steps. She +picks it up, rubs it gently, and lo and behold a genie appears! The genie +tells the woman the he will grant her any three wishes her heart desires. + After a bit of thought, she says, "I wish I were young and +beautiful!" And POOF! In a cloud of smoke she becomes a young, beautiful, +voluptuous woman. + After a little more thought, she says, "I would like to be rich +for the rest of my life." And POOF! When the smoke clears, there are +stacks and stacks of money lying on the porch. + The genie then says, "Now, madam, what is your final wish?" + "Well," says the woman, "I would like for you to transform my +faithful old cat, whom I have loved dearly for fifteen years, into a young +handsome prince!" + And with another billow of smoke the cat is changed into a tall, +handsome, young man, with dark hair, dressed in a dashing uniform. + As they gaze at each other in adoration, the prince leans over to +the woman and whispers into her ear, "Now, aren't you sorry you had me +fixed?" +% + An Israeli soldier was checking travelers' papers on a road, when a +man and a heavily pregnant woman on a donkey came by. "Your names please?" +said the soldier. + "My name is Mary," said the woman. + "And mine is Joseph," said the man. + "Oh," said the soldier, a little taken aback, "And where are you +going?" + "To Bethlehem." + "Your reason for going there?" + "To pay our taxes to the government." + "Tell me," said the soldier, "are you going to name the baby Jesus?" + "Of course not," said the woman, "What do you think we are, Puerto +Ricans?" +% + An old maid wanted to travel by bus to the pet cemetery with the +remains of her cat. As she boarded the bus, she whispered to the driver, +"I have a dead pussy." + The driver pointed to the woman in the seat behind him and said, +"Sit with my wife. You two have a lot in common." +% + And Jesus said unto them, "And whom do you say that I am?" + They replied, "You are the eschatological manifestation of the +ground of our being, the ontological foundation of the context of our +very selfhood revealed." + And Jesus replied, "What?" +% + "Anything else, sir?" asked the attentive bellhop, trying his best +to make the lady and gentleman comfortable in their penthouse suite in the +posh hotel. + "No. No, thank you," replied the gentleman. + "Anything for your wife, sir?" the bellhop asked. + "Why, yes, young man," said the gentleman. "Would you bring me +a postcard?" +% + Are you a Young Urban Professional Woman? If so, you know how +Yuppie women are; cold, ruthless bitches with no time for love, and only +an occasional weekend for sex. Your one "hot date" with Joe Fastrack, +rising corporate star, ended in disaster. Yesterday you heard him telling +a friend over lunch, "The woman must masturbate with popsicles!" Well, +all is not lost! SofSqueeze can change your nickname to Electrolux in just +15 minutes a day! + SofSqueeze is a pressure sensitive device (divided into appropriate +sections) that plugs into the serial port of most home computers. Through +the magic of biofeedback, SofSqueeze teaches you control over your vaginal +muscles. With our exciting, easy-to-follow software you'll master the +"Cincinnati Squeeze", the "Irresistible", the "California Crusher", and, +of course, the perennial favorite, "Milking Time Down on the Farm". Or, +using our exclusive Interactive Mode, invent your own! + SofSqueeze is made of sturdy ABS plastic, and is completely +immersible for easy cleaning. SofSqueeze's flesh-toned exterior is finely +textured for a realistic effect. Requires 4K RAM, a DB25 serial port and +limited graphics capability. Comes fully assembled, with 4 AA batteries. +% + Attracted by repeated newspaper advertisements, and realizing that +his waist had gone both East and West despite his daily racquetball, a young +executive appeared at a local health resort. Looking over the several weight +loss plans offered, he selected one guaranteed to reduce his weight by two +pounds per day. After a light breakfast, and a almost non-existent lunch, he +was escorted to a large room, where a young, attractive woman told him that +"if he caught her, he could have her". After an hour of hard running, he +finally gave up; and weighing himself, was comforted to realize that he had +lost just under three pounds. Returning the next week, he chose the plan that +was to reduce his weight by four pounds per session. After following the same +regimen, he was again escorted to a large room, but after two hours of running, +he caught the young woman. Weight loss, just over four pounds. Returning the +following week, he chose to lose eight pounds in a single day. He was shown +to the largest room he'd seen, by far, where he was confronted by a extremely +muscular, burly man, who looked him square in the eye, flung his towel into +a corner, and snarled, "You know the rules. Start running!" +% + Barbra Walters was doing a documentary on the customs of American +Indians. After a tour of a reservation they were on, she was curious as to +the number of feathers in the headdresses. She asked a brave who had only +one feather in his headdress. His reply was, "Me have only one squaw, me +have only one feather." She asked another brave, feeling the first fellow +was only joking. This brave had four feathers in his headdress. He replied, +"Me have four feathers, because me sleep with four squaws." + Still not convinced the number of feathers indicated the number of +squaws involved, she decided to interview the Chief. Now the Chief had a +headdress full of feathers which, needless to say, amused Ms. Walters. +Ms. W: "Why do you have so many feathers in your headdress?" +Chief: "Me Chief, me fuck-em all, big, small, fat, tall, + me fuck-em all." +Ms. W: "You ought to be hung!" +Chief: "You damned right, me hung. Big like buffalo, long like snake." +Ms. W: "You don't have to be so hostile!" +Chief: "Hoss-style, dog-style, wolf-style, any-style, me fuck-em all." +Ms. W: "Oh, dear!" +Chief: "No deer, me no fuck deer. Asshole too high and fuckers run + too fast." +% + Before he went off to the wars, King Arthur locked his lovely wife, +Guinevere, into her chastity belt. Then he summoned his loyal friend and +subject Sir Lancelot. "Lancelot, noble knight," said Arthur, "within this +sturdy belt is imprisoned the virtue of my wife. The key to this chaste +treasure I will entrust to only one man in the world. To you." + Humbled before this great honor, Lancelot knelt, received his king's +blessing and took charge of the key. Arthur mounted his steed and rode off. +Not half a mile from his castle, he heard hoofbeats behind him and turned to +see Sir Lancelot riding hard to catch up with him. + "What is amiss, my friend?" asked the king. + "My lord," gasped Lancelot, "you have given me the wrong key!" +% + Bill had just returned from a week of honeymooning, and his best +friend asked him how it went. + "The first night we did it nine times," Bill said. "The second +night, eight times. The third night, seven times. The fourth night, six +times. The fifth night, five times. The sixth night, four times, and the +last night, nothing!" + "Nothing?" his pal asked. "How come?" + "Hey, you ever tried putting a marshmallow in a parking meter?" +% + But among the children of the Great Society there were those whose +skins were black. And lo! Their portion was niggardly, and of the fatted +calf they were sucking hind teat... + Now it came to pass that a prophet rose up amongst them, and they +called him King. And he went unto Pharaoh and said, "Let my people go to +the front of the bus." + But Pharaoh answered: "In the fullness of time and with all +deliberate speed shall this thing come to pass. When ye shall prove +yourselves worthy, shall ye have your just portion -- yea, verily, like +unto a snowball in Hell." + -- "The Begatting of a President" +% + But the reward of a successful collaboration is a thing that +cannot be produced by either of the parties working alone. It is akin +to the benefits of sex with a partner, as opposed to masturbation. The +latter is fun, but you show me anyone who has gotten a baby from playing +with him or herself, and I'll show you an ugly baby, with just a whole +bunch of knuckles. + -- Harlan Ellison +% + "Can you hammer a 6-inch spike into a wooden plank with +your penis?" + "Uh, not right now." + "Tsk, tsk. A girl has to have *some* standards." + -- Real Genius +% + Churchill was known to drain a glass or two and, after one +particularly convivial evening, he chanced to encounter Miss Bessie Braddock, +a Socialist member of the House of Commons, who, upon seeing his condition, +said, "Winston, you're drunk." Mustering all his dignity, Churchill drew +himself up to his full height, cocked an eyebrow and rejoined, "Shove it up +your ass, you ugly cunt." + When the noted playwright George Bernard Shaw sent him two tickets to +the opening night of his new play with a note that read: "Bring a friend, if +you have one," Churchill, not to be outdone, promptly wired back: "You and +your play can go fuck yourselves." + At an elegant dinner party, Lady Astor once leaned across the table +to remark, "If you were my husband, Winston, I'd poison your coffee." "And +if you were my wife, I'd beat the shit out of you," came Churchill's +unhesitating retort. + -- "The Churchill Wit", National Lampoon +% + "Daddy?" + "Yes son." + "Wha-wha-wha-what does regret mean?" + "Well, son, a funny thing about regret is that it's better to regret +something you have done, than to regret something you haven't done. And by +the way, if you see your Mom this weekend, would be you sure and tell her, +`SATAN, SATAN, SATAN!!!'" + -- Butthole Surfers, "Sweat Loaf" +% + Dallas Cowboys Official Schedule + + Sept 14 Pasadena Junior High + Sept 21 Boy Scout Troop 049 + Sept 28 Blind Academy + Sept 30 World War I Veterans + Oct 5 Brownie Scout Troop 041 + Oct 12 Sugarcreek High Cheerleaders + Oct 26 St. Thomas Boys Choir + Nov 2 Texas City Vet Clinic + Nov 9 Korean War Amputees + Nov 15 VA Hospital Polio Patients +% + "Darling," he breathed, "after making love I doubt if I'll +be able to get over you -- so would you mind answering the phone?" +% + "Darling", said the young bride, "tell me what's bothering you. +We promised to share all our joys and sorrows, remember?" + "But this is different," protested her husband. + "Together, darling," she insisted, "we will bear the burden. +Now tell me what our problem is." + "Well," said the husband, "we've just become the father of a +bastard child." +% + "Darling," she whispered, "will you still love me after we are +married?" + He considered this for a moment and then replied, "I think so. +I've always been especially fond of married women." +% + Desperate about the state of her social life, a young woman resorted +to the Personal Ads in the back of her local paper. In the ad she made it +quite clear that what she was advertising for was an expert lover; she already +had plenty of sensitive friends and meaningful relationships and what she +now wanted was to get laid, to put it bluntly. Phone calls started coming +in, with each caller testifying to his sexual prowess, but none quite struck +the young woman's fancy. Until one night her doorbell rang. Opening the door +she found a man with no arms or legs, who informed her that he was there in +response to her advertisement. "I'm terribly sorry," she stammered, "but my +ad was quite explicit. I'm really looking for something of a sexual expert, +and you... uh... don't have all the..." + "Listen," the man interrupted her, "I rang the doorbell, didn't I?" +% + "Don't come back until you have him", the Tick-Tock Man said quietly, +sincerely, extremely dangerously. + They used dogs. They used probes. They used cardio plate crossoffs. +They used teepers. They used bribery. They used stick tites. They used +intimidation. They used torment. They used torture. They used finks. +They used cops. They used search and seizure. They used fallaron. They +used betterment incentives. They used finger prints. They used the +bertillion system. They used cunning. They used guile. They used treachery. +They used Raoul-Mitgong but he wasn't much help. They used applied physics. +They used techniques of criminology. And what the hell, they caught him. + -- Harlan Ellison, "Repent, Harlequin, said the Tick-Tock Man" +% + During a grouse hunt in North Carolina two intrepid sportsmen were +blasting away at a clump of trees near a stone wall. Suddenly a red-face +country squire popped his head over the wall and shouted, "Hey, you almost +hit my wife." + "Did I?" cried one hunter, aghast. "Terribly sorry. Have a shot +at mine, over there." +% + During a session with a marriage counselor, the wife snapped at her +husband: "That's not true, I do enjoy sex!" Then, turning to the counselor, +she added: "But this fiend expects it three or four times a year!" +% + Ed, a traveling salesman, had his car break down in the middle of a +blizzard. He trudged to a nearby farmhouse where the farmer told him that, +while they were short of beds, he could sleep with his daughter. She proved +to be eighteen and beautiful. So they went to bed, and shortly, Ed made a +pass at the daughter. "Stop that!" she said. "I'll call my father." + He desisted. But half an hour later he made another attempt. "Uh, +stop ... that," she said. "I'll call my father." + But she moved closer to him, so he made a third try. This time, no +protest, no threat. Just as Ed, satisfied, was about to drowse off, she +tugged at his pajama sleeve. "Could we do that again?" she asked. + Ed obliged, and this time fell asleep only to be awakened by the +tug at his sleeve. "Again?" + And again Ed obliged. But when his sleep was once more interrupted +by the tugging at his pajama sleeve, Ed indignantly pulled it away from her +and mumbled, "Stop that! Or I'll call your father." +% + Elroy stared at Barb and then leaned quietly over to Shake Tiller +and stuck out his hand. "Son," he said. "Tell the truth. It ain't better +than fried chicken, is it?" + Shake looked solemnly at Elroy, clasping his hand, and said: + "I got to be dead honest, Roy." + And Elroy said yeah, lay it on him. + Shake said slowly, "For a Lesbian who gave up the only real love she +ever knew -- Sister Francis at Our Lady of Victory -- and for a person who +can't make it any more with nothing but an electric toothbrush, she's the +finest I've ever had." + -- Dan Jenkins, "Semi-Tough" +% + Ever thought of putting a ferret down your pants? Yes, ferrets, +those weasel-like animals originally trained to hunt rats and possessing +needle sharp claws and razor sharp teeth. The English do it for sport. + Ferret Legging involves the tying of a competitors's trousers at +the ankles and then dropping into the trousers a couple of vicious ferrets. +No jockstraps or underwear allowed -- nothing but the bodies' own. The +ferrets must be young and in good condition. Neither the ferret or the +contestant may be drugged or drunk -- cold eyed sober only. The trousers +should be loose fitting, to allow the ferret to scramble from one leg to +the other, and are traditionally white, so that the blood shows better. + Normal contestants are able to keep them down for up to 40 seconds. +The champion ferret legger, Reg Mellor, of Yorkshire, holds the world record +of 5 hours and 26 minutes. Mr. Mellor's claims that being the champion is +not so much heroism but, "You just got to be able to have your tool bitten +and not care." +% + Every morning, the crowd on Coney Island beach was startled to see +a jogger with the build of a pro football player but a head the size of a +baseball. Finally, some brave young man got up the nerve to stop him and +ask, "What happened to give you such a small head?" + The jogger sadly told the story of finding a magic lamp on the beach, +which produced a beautiful genie when rubbed. The genie said, "I now give +you one wish. Do you want a quick fuck or a little head?" +% + Everyone in the smart nightclub was amazed by the old gentleman, +obviously pushing 70, tossing off manhattans and cavorting around the dance +floor like a 20-year old. Finally curiousity got the best of the cigarette +girl. "I beg your pardon, sir," she said, "but I'm amazed to see a gentleman +of your age living it up like a youngster. Tell me, are all of your faculties +unimpaired?" + The old fellow looked up at the girl sadly and shook his head. "Not +all, I'm afraid." he said. "Just last evening I went nightclubbing with a +girlfriend -- we drank and danced all night and finally rolled into her place +about two A.M. We went to bed immediately, and I was asleep almost as soon +as my head hit the pillow. I woke around three-thirty and nudged my girl." + "Why, George," she said in surprise, "we did that fifteen minutes ago." + "So you see," the old boy said sadly, "my memory is beginning to +fail me." +% + Farmer Johnson was drunk again. + "You know, Anna," he said to his long-suffering wife, "if you could +only lay eggs we could get rid of all those damn chickens." + Anna said nothing. Farmer Johnson tried again. "You know, Anna, if +only you could give milk we could get rid of that expensive herd of cows." + Anna looked at him coolly. "You know, Jack," she said, "if only you +could get it up once in a while we could get rid of your brother Bob." +% + "First, I'm going to buy you a few drinks and get you a little tight," +said the guy aggressively. + "Oh, no, you're not," said the girl. + "Then I'll take you to dinner at the most exclusive restaurant in +town." + "Oh, no, you won't." + "Then I'll take you to my apartment and mix up a pitcher of daiquiris." + "Oh, no, you won't." + "Then I'm going to make violent, mad, passionate love to you." + "Oh, no, you're not." + "And I'm not going to take any precautions either!" said the guy. + "Oh, yes, you are!!" said the girl. +% + For three years, the young attorney had been taking his brief +vacations at this country inn. The last time he'd finally managed an +affair with the innkeeper's daughter. Looking forward to an exciting +few days, he dragged his suitcase up the stairs of the inn, then stopped +short. There sat his lover with an infant on her lap! + "Helen, why didn't you write when you learned you were pregnant?" +he cried. "I would have rushed up here, we could have gotten married, +and the baby would have my name!" + "Well," she said, "when my folks found out about my condition, +we sat up all night talkin' and talkin' and finally decided it would be +better to have a bastard in the family than a lawyer." +% + Four Oxford dons were taking their evening walk together and as +usual, were engaged in casual but learned conversation. On this particular +evening, their conversation was about the names given to groups of animals, +such as a "pride of lions" or a "gaggle of geese." + One of the professors noticed a group of prostitutes down the block, +and posed the question, "What name would be given to that group?" The four +fell into silence for a moment, as they pondered the possibilities... + At last, one spoke: "How about 'a Jam of Tarts'?" The others nodded +in acknowledgement as they continued to consider the problem. A second +professor spoke: "I'd suggest 'an Essay of Trollops.'" Again, the others +nodded. A third spoke: "I propose 'a Flourish of Strumpets.'" + They continued their walk in silence, until the first professor +remarked to the remaining professor, who was the most senior and learned of +the four, "You haven't suggested a name for our ladies. What are your +thoughts?" + Replied the fourth professor, "'An Anthology of Prose.'" +% + Friends were surprised, indeed, when Frank and Jennifer broke their +engagement, but Frank had a ready explanation: "Would you marry someone who +was habitually unfaithful, who lied at every turn, who was selfish and lazy +and sarcastic?" + "Of course not," said a sympathetic friend. + "Well," retorted Frank, "neither would Jennifer." +% + "Gentlemen of the jury," said the defense attorney, now beginning +to warm to his summation, "the real question here before you is, shall this +beautiful young woman be forced to languish away her loveliest years in a +dark prison cell? Or shall she be set free to return to her cozy little +apartment at 4134 Mountain Ave. -- there to spend her lonely, loveless hours +in her boudoir, lying beside her little Princess phone, 962-7873?" +% + God built a compelling sex drive into every creature, no matter +what style of fucking it practiced. He made sex irresistibly pleasurable, +wildly joyous, free from fears. He made it innocent merriment. + Needless to say, fucking was an immediate smash hit. Everyone +agreed, from aardvarks to zebras. All the jolly animals -- lions and +lambs, rhinoceroses and gazelles, skylarks and lobsters, even insects, +though most of them fuck only once in a lifetime -- fucked along +innocently and merrily for hundreds of millions of years. Maybe they +were dumb animals, but they knew a good thing when they had one. + -- Alan Sherman, "The Rape of the A*P*E*" +% + God decided to take the devil to court and settle their +differences once and for all. + When Satan heard of this, he grinned and said, "And just +where do you think you're going to find a lawyer?" +% + Harry, a golfing enthusiast if there ever was one, arrived home +from the club to an irate, ranting wife. + "I'm leaving you, Harry," his wife announced bitterly. "You +promised me faithfully that you'd be back before six and here it is almost +nine. It just can't take that long to play 18 holes of golf." + "Honey, wait," said Harry. "Let me explain. I know what I promised +you, but I have a very good reason for being late. Fred and I tee'd off +right on time and everything was find for the first three holes. Then, on +the fourth tee Fred had a stroke. I ran back to the clubhouse but couldn't +find a doctor. And, by the time I got back to Fred, he was dead. So, for +the next 15 holes, it was hit the ball, drag Fred, hit the ball, drag Fred... +% + Harry constantly irritated his friends with his eternal optimism. +No matter how bad the situation, he would always say, "Well, it could have +been worse." + To cure him of his annoying habit, his friends decided to invent a +situation so completely black, so dreadful, that even Harry could find no +hope in it. Approaching him at the club bar one day, one of them said, +"Harry! Did you hear what happened to George? He came home last night, +found his wife in bed with another man, shot them both, and then turned +the gun on himself!" + "Terrible," said Harry. "But it could have been worse." + "How in hell," demanded his dumbfounded friend, "could it possibly +have been worse?" + "Well," said Harry, "if it had happened the night before, I'd be +dead right now." +% + Harry was delighted when he found a young woman who accepted his +proposal of marriage as he was pretty sensitive about his artificial leg +and afraid that no one would have him. In fact, he couldn't bring himself +to tell his fiancee about his leg when he slipped the ring on her finger, +nor when she bought the dress, nor when they picked the time and place. +All he kept saying was, "Darling, I've got a big surprise for you," at which +she blushed and smiled bewitchingly. + The wedding came and went, and the young couple were at last alone +in their honeymoon suite. "Now don't forget, Harry, you promised me a big +surprise," smiled the bride. + Unable to say a word, Harry turned out the lights, unstrapped his +leg, slipped into bed, and placed his wife's hand on the stump. + "Hmmmmm," she said softly, "that IS a surprise. But pass me the +Vaseline and I'll see what I can do!" +% + "Heard you were moving your piano, so I came over to help." + "Thanks. Got it upstairs already." + "Do it alone?" + "Nope. Hitched the cat to it." + "How would that help?" + "Used a whip." +% + "Hello, Mrs. Premise!" + "Oh, hello, Mrs. Conclusion! Busy day?" + "Busy? I just spent four hours burying the cat." + "Four hours to bury a cat!?" + "Yes, he wouldn't keep still: wrigglin' about, 'owlin'..." + "Oh, it's not dead then." + "Oh no, no, but it's not at all a well cat, and as we're +goin' away for a fortnight I thought I'd better bury it just to be +on the safe side." + "Quite right. You don't want to come back from Sorrento +to a dead cat, do you?" + -- Monty Python +% + "Hello, Police Department." + "This is Thomas Parrish, 903 Sylvester Court. I've just been sexually +molested by a pervert, right here in my own home. It was horrifying!" + "Just remain calm, sir, and tell me about it." + "Well, the man came in the window wearing a ski mask. I was napping +on the bed, in just my pajamas, and the TV set was on so I didn't hear anything. +Suddenly he had his great big old callused hand over my mouth, holding me down. +I tried to scream... he was pulling my pants off. I was so frightened! He +held a knife to my throat and undressed so quickly. What could I do? I +couldn't stop him. He was huge. A great, hairy, beefy man, more than fifty +pounds heavier than I am, and hung like... Oh! it was terrible. He had an +erection, and he knelt on my shoulders and forced the awful thing down my +throat; forced me to suck it. Yes, officer! There was no escaping this man. +Finally, when I thought I would faint, he got off me and turned me over on +my tummy, forcing my legs apart with his knees, and oh! I'm so embarrassed to +say it, he put that huge thing... It must have been a foot long, and I don't +know how thick... into my... Just a minute." + "What's the matter, mister?" + "Listen, I have to hang up now, he's getting out of the shower." +% + Here is the problem: for many years, the Supreme Court wrestled +with the issue of pornography, until finally Associate Justice John +Paul Stevens came up with the famous quotation about how he couldn't +define pornography, but he knew it when he saw it. So for a while, the +court's policy was to have all the suspected pornography trucked to +Justice Stevens' house, where he would look it over. "Nope, this isn't +it," he'd say. "Bring some more." This went on until one morning when +his housekeeper found him trapped in the recreation room under an +enormous mound of rubberized implements, and the court had to issue a +ruling stating that it didn't know what the hell pornography was except +that it was illegal and everybody should stop badgering the court about +it because the court was going to take a nap. + -- Dave Barry, "Pornography" +% + "How'd you get that flat?" + "Ran over a bottle." + "Didn't you see it?" + "Damn kid had it under his coat." +% + "I believe you have the wrong number," said the old gentleman into +the phone. "You'll have to call the weather bureau for that information." + "Who was that?" his young wife asked. + "Some guy wanting to know if the coast was clear." +% + "I know a life of crime led me to this sorry state. I blame +society. Society made me what I am today!" + "That's bullshit Archie. You're just a young suburban punk +like me." + "It still... hurts... auugghh!" + "You're going to be okay..." + "...gurgle..." + "... maybe not." + -- Repo Man +% + "I need a camel that can go without water for at least three weeks," +the American said to an Algerian camel merchant. "Is it possible?" + "All things are possible," replied the merchant. He proceeded to +take a camel out of his barn and lead him to a tank of water. After the +camel had drunk its fill and was about to lift its head out of the tank, +the merchant picked up two nearby bricks, one in each hand, stepped behind +the camel, and smacked his testicles with the bricks. + The camel let out a gigantic "Whhoooosh!" and sucked up what seemed +like twenty more gallons of water. + The American stared incredulously at the camel merchant. "My God, +man!" he exclaimed, "doesn't that hurt?!" + The merchant shrugged. "Only if you get your thumbs in between the +bricks." +% + "I think my wife may be getting somewhat overweight. + "Oh, how can you tell?" + "Well, last night when she sat on my face, I couldn't +hear the stereo." +% + I went into a bar feeling a little depressed, the bartender said, +"What'll you have, Bud"? + I said," I don't know, surprise me". + So he showed me a nude picture of my wife. + -- Rodney Dangerfield +% + "I'm looking for adventure, excitement, beautiful women," cried the +young man to his father as he prepared to leave home. "Don't try to stop me. +I'm on my way." + "Who's trying to stop you?" shouted the father. "Take me along!" +% + In the beginning, God created the Earth and he said, "Let there be +mud." + And there was mud. + And God said, "Let Us make living creatures out of mud, so the mud +can see what we have done." + And God created every living creature that now moveth, and one was +man. Mud-as-man alone could speak. + "What is the purpose of all this?" man asked politely. + "Everything must have a purpose?" asked God. + "Certainly," said man. + "Then I leave it to you to think of one for all of this," said God. + And He went away. + -- Kurt Vonnegut, Between Time and Timbuktu" +% + In what can only be described as a surprise move, God has officially +announced His candidacy for the U.S. presidency. During His press conference +today, the first in over 4000 years, He is quoted as saying, "I think I have +a chance for the White House if I can just get my campaign pulled together +in time. I'd like to get this country turned around; I mean REALLY turned +around! Let's put Florida up north for awhile, and let's get rid of all +those annoying mountains and rivers. I never could stand them!" + There apparently is still some controversy over the Almighty's +citizenship and other qualifications for the Presidency. God replied to +these charges by saying, "Come on, would the United States have anyone other +than a citizen bless their country?" +% + It seems there were two young Marines walking down the street, and +they chanced upon a lady who was both very proper and very well endowed. +One of them said, "Wow! What tits! Hey lady, would I love to snuggle up with +them for awhile. What are you doing this afternoon?" + Well, the other Marine thought that was just about the most shameful +thing he had ever witnessed, and felt that he had to restore the honor of the +Corps. "Pardon my friend, Ma'am," he apologized, "He's not been very well +brought up and don't know how to talk to cunt." +% + It was April the 41st, being a quadruple leap year. I was driving +in downtown Atlantis. My Barracuda was in the shop, so I was in a rented +Stingray, and it was overheating. So I pulled into a Shell station. They +said I'd blown a seal. I said, "Fix the damn thing and leave my private +life out of it, okay, pal?" While they were doing that, I walked over to the +Oyster Bar. A real dive. But I knew the owner. He used to play for the +Dolphins. I said "Hi, Gil!" You have to yell -- he's hard of herring. + -- Kip Addotta, "Wet Dream" +% + It was in a bar in midtown Manhattan and the Frenchman and the +American were talking about love over some dry Martinis. "Deed you know, +sir," the Frenchman said, "that een my country thair are 79 different +ways how to make the REAL, passionate luff?" + "Do tell?" said the American. "Well, that's amazing. In this +country there's only one." + "Just one?" the Frenchman said, condescendingly. "And what eez +that?" + "Well, there's a man and a woman, and --" + "Sacre bleu!!" exclaimed the Frenchman. "Numbair 80!" +% + "Jean, what is this attraction between Catholic girls and +Jewish men?" + "You really want to know?" + "Yeah." + "Well, Carol, Jewish men are great in bed... right, Bob? And +Catholic girls fuck like bunnies." +% + Joan, the rather well-proportioned secretary, spent almost all of +her vacation sunbathing on the roof of her hotel. She wore a bathing suit +the first day, but on the second, she decided that no one could see her +way up there, and she slipped out of it for an overall tan. She'd hardly +begun when she heard someone running up the stairs; she was lying on her +stomach, so she just pulled a towel over her rear. + "Excuse me, miss," said the flustered little assistant manager of +the hotel, out of breathe from running up the stairs. "The Hilton doesn't +mind your sunbathing on the roof, but we would very much appreciate your +wearing a bathing suit as you did yesterday." + "What difference does it make," Joan asked rather calmly. "No one +can see me up here, and besides, I'm covered with a towel." + "Not exactly," said the embarrassed little man. "You're lying on +the dining room skylight." +% + Many lower life forms demonstrate qualities that, at first, just don't +seem survival oriented. For instance, the female praying mantis, after mating +with, well, her mate, will devour him. For the male praying mantis, however, +it's a catch-22. If he mates, he gets screwed out of an opportunity to mate +again. If he doesn't mate, he doesn't reproduce, ending his family tree. This +suicidal behavior is commonly called the Preying Mantis Syndrome -- and many +life forms are periodically subject to its wrath. How did the preying mantis +become stuck in such a awful, vicious cycle? This is probably what happened: + The male mantis arrives at the residence of the female mantis. After +some courtship exercises (dinner, a movie, inserting the diaphragm) they mate. +The female mantis, her lust for... lust being satisfied, relaxes while the +male raids the refrigerator and returns home. This behavior continues until +the male and female (mantissas?) establish a permanent relationship. Then the +male establishes a new pattern of behavior: Football on Mondays, baseball on +Tuesdays, happy hour on Wednesdays, uh, well, uh, working-late-at-the-office +on Thursdays, etc. etc. The female tolerates this for awhile, then files for +a divorce. After a long court battle, she concludes one thing: It simplifies +matters tremendously to just eat him when you're done with him. + Well, through the centuries of evolution, the Preying Mantis Syndrome +has been carried up to the highest life forms, as well as to humans. That is +why, one week out of every month, the female of the species will feel compelled +to bite the head off of the male. The Syndrome is inescapable, but when it +occurs in the female of our species, it's best to just avoid them for a while. +% + Mr. Hersh came home to find his wife sitting naked in front of the +mirror, admiring her breasts. + "And what do you think you're doing?" he asked. + "I went to the doctor today and he said I have the breasts of a +twenty-five-year-old." + "Oh yeah? And what did he have to say about your forty-year-old +ass?" + "Nothing," she replied. "Your name didn't come up at all." +% + Murray and Esther, a middle-aged Jewish couple, are touring Chile. +Murray just got a new camera and is constantly snapping pictures. One day, +without knowing it, he photographs a top-secret military installation. In +an instant, armed troops surround Murray and Esther and hustle them off to +prison. + They can't prove who they are because they've left their passports +in their hotel room. For three weeks they're tortured day and night to get +them to name their contacts in the liberation movement... Finally they're +hauled in front of a military court, charged with espionage, and sentenced +to death. + The next morning they're lined up in front of the wall where they'll +be shot. The sergeant in charge of the firing squad asks them if they have +any last requests. Esther wants to know if she can call her daughter in +Chicago. The sergeant says he's sorry, that's not possible, and turns to +Murray. + "This is crazy!" Murray shouts. "We're not spies!" And he +spits in the sergeants face. + "Murray!" Esther cries. "Please! Don't make trouble." + -- Arthur Naiman +% + "My husband commits an inconceivable act of perversion with a +barnyard animal, and it's not central to my case?!" + "Not in California." +% + "My mother," said the sweet young steno, "says there are some things +a girl should not do before twenty." + "Your mother is right," said the executive, "I don't like a large +audience, either." +% + Never ask your lover if he'd dive in front of an oncoming train for +you. He doesn't know. Never ask your lover if she'd dive in front of an +oncoming band of Hell's Angels for you. She doesn't know. Never ask how many +cigarettes your lover has smoked today. Cancer is a personal commitment. + Never ask to see pictures of your lover's former lovers -- especially +the ones who dived in front of trains. If you look like one of them, you are +repeating history's mistakes. If you don't, you'll wonder what he or she saw +in the others. + While we are on the subject of pictures: You may admire the picture +of your lover cavorting naked in a tidal pool on Maui. Don't ask who took +it. The answer is obvious. A Japanese tourist took the picture. + Never ask if your lover has had therapy. Only people who have had +therapy ask if people have had therapy. + Don't ask about plaster casts of male sex organs marked JIMI, JIM, etc. +Assume that she bought them at a flea market. + -- James Peterson and Kate Nolan +% + Never take a resume seriously. Resumes only make money for the +people who write the resumes. No resume ever tells an employer how many +times a job applicant has had the clap. + Why, indeed, would anyone hire a person based on a resume written +by a professional liar? + If the applicant is a man, the employer must ask only one question: +did the applicant go to TCU? + If the applicant is a woman, the employer may simply ask: does she +have a tongue that can lick the paint off a dormitory wall? + -- Dan Jenkins, "Baja Oklahoma" +% + On the occasion of Nero's 25th birthday, he arrived at the Colosseum +to find that the Praetorian Guard had prepared a treat for him in the arena. +There stood 25 naked virgins, like candles on a cake, tied to poles, burning +alive. "Wonderful!" exclaimed the deranged emperor, "but one of them isn't +dead yet. I can see her lips moving. Go quickly and find out what she is +saying." + The centurion saluted, and hurried out to the virgin, getting as near +the flames as he dared, and listened intently. Then he turned and ran back +to the imperial box. "She is not talking," he reported to Nero, "she is +singing." + "Singing?" said the astounded emperor. "Singing what?" + "Happy birthday to you, happy birthday to you..." +% + Once in a medieval times...there was a King who was getting sort of +bored after dinner one night. He decided to hold a contest of who at the +court had the mightiest "weapon". The first knight stood up and proclaimed +that he had the mightiest weapon... he pulled down his pants and tied a 5 +pound weight around it. The weapon doth rose. The crowds cheered... the +women swooned... the children waved multi-colored banners... and the band +played appropriate music. + Another knight stood up and claimed that he had the mightiest weapon. +He dropped his pants and tied a 10 pound weight to himself. The weapon doth +rose. The crowds cheered... the women swooned... the children waved +multi-colored banners... and the band played appropriate music. + After several more knights tried to prove their superiority... the +King finally spoke out. "I have the mightiest weapon of them all!" He dropped +his pants and tied, not a 10 pound, not a 20 pound, not ever a thirty pound, +but a 40 pound weight, plus a coffee pot, to himself. The weapon doth rose. +The crowds cheered... the women swooned... the children waved multi-colored +banners... and the band played "God Save the Queen." +% + One day a mother and daughter are walking around a farming community +and they see a stallion mounting a mare. The daughter takes in the scene and +turns to her mother. "Mommy, what are those two horses doing?" + Her mother hastily answered, "The horse on top hurt its hoof, and the +one on the bottom is carrying him back to the stable." + The daughter shook her head and sadly replied, "Isn't that just the +way it goes? Try to help someone and you get fucked." +% + One night when his charge was pretty high, Micro-Farad decided to +seek out a cute little coil to let him discharge. He picked up Milli-Amp +and took her for a ride on his Megacycle. They rode across the Wheatstone +bridge, around the sine waves, and stopped in the magnetic field by the +flowing current. Micro-Farad, attracted by Milli-Amp's characteristic curves, +soon had her fully charged and excited, her resistance to a minimum. He laid +her on the ground potential, raised her frequency, and lowered her reluctance. +He pulled out his high voltage probe and inserted it into her socket, +connecting them in parallel and began short circuiting her resistance shunt. +Fully excited, Milli-Amp mumbled: "OHM-OHM-OHM." + With his tube operating at a maximum and her field vibrating with +his current flow, it caused her shunt to overheat, and Micro-Farad was rapidly +discharged and drained of every electron. They Fluxed all night trying +various connections and sockets until his magnet had a soft core and lost +all of its field strength. + Afterwards, Milli-Amp tried self-induction and damaged her +solenoids. With his battery fully discharged, Micro-Farad was unable to +excite his field, so they spent the night reversing polarity and blowing +each others fuses. + -- Eddie Currents, "The Sex Life of an Electron" +% + One of my favorite zoo jokes has to do with a woman who, while +visiting the zoo, decided to have a little fun with the Gorilla. She walks +up to his cage, reaches in, and begins to fondle the beast. Needless to +say, the animal becomes quite excited, and as he tries to reciprocate in +kind, the woman steps back and gives him a raspberry...! + The gorilla becomes enraged. He rips the bars from his cage, grabs +the woman, drags her back into the cage, and ravishes her. While doing so, +he inflicts a great deal of harm upon her person. + Later, at the hospital, a neighbor of the woman visits and exclaims, +"Oh, you poor dear...! Are you hurt?" + "Hurt!", "Hurt!?" the injured lady sobs, "He doesn't phone. He +never writes..." +% + One PAYDAY, MR. GOODBAR wanted a BIT O' HONEY. So he took his Miss +HERSHEY behind the POWERHOUSE on the corner of 5th AVENUE and CLARK where he +there began to feel her MOUNDS. And that was an ALMOND JOY which definitely +made his TOOTSIE ROLL. + He let out a SNICKER as he slipped his BUTTERFINGER up her KIT KAT +which of course caused the MILKY WAY. She screamed "OH, HENRY!" as she +squeezed his PETER, PAUL and ZAGNUTS and said "you're better than the 3 +MUSKETEERS." + -- John Volby (Dr. Dirty), "The Candy Bar Poem" +% + One spring evening, after a hard rain, grandpa and grandson were +sitting out on the porch, talking. Grandpa spied a worm crawling up out +of its hole and said to his grandson, "Sonny, if you can get that there +worm back down its hole, I'll give you five dollars." + "Sure!", says sonny, and runs in the house. Out he runs an +instant later with a can of hairspray, grabs the worm, and sprays it with +the hairspray as it dangles earthward. He then slips the stiff worm back +into its hole and turns to his grandpa with a huge smile on his face. + "Well, I'll be. That was pretty smart there, boy.", he says. +"Here's your fiver.", he adds as he fishes out a bill. By then it's almost +dark, and they say their goodnights and part. + The next day sonny's playing out on the porch, and grandpa comes +out of the house and gives him a five. "But you gave me my five yesterday, +grandpa.", he remarks. + "Yep, I know. This is from your Grandma." +% + "Our school, madame, postulates, first of all, that since the +science of mathematics is an abstract science, it is best inculcated by +some concrete example." + Said the Queen, "But that sounds rather complicated." + "It occasionally leads to complications," Jurgen admitted, "through +a choice of the wrong example. But the axiom is no less true." + "Come, then, and sit next to me on this couch if you can find it in +the dark; and do you explain to me what you mean." + "Why, madame, by a concrete example I mean one that is perceptible +to any of the senses -- as to sight or hearing, or touch --" + "Oh, oh!" said the Queen, "now I perceive what you mean by a concrete +example. And grasping this, I can understand that complications must of +course arise from a choice of the wrong example." + -- James Branch Cabell, "Jurgen" +% + Out on the great American desert one day, a bald eagle reached a +state of great libidal distress. Pickings were slim, but in time, he saw a +dove flying by. "Better than nothin'", he muttered (birds in jokes can mutter) +and swooped down, grabbed the dove and flew to his nest. Feathers flew, and +eventually the dove tottered to the edge of the cliff and shouted (yes, they +shout, too): + "I'm a dove! I've been loved! And I LIKE it!" + Well, this took care of the old boy for a while but soon enough he +was at it again. All he could find was a lark, so away he went, and feathers +flew and soon the lark tottered to the edge of the cliff and shouted: + "I'm a lark! I've been sparked! And I LIKE it!" + As you can guess, some time later our friend was again in need of +amor... lib... you know! This time, all that happened by was... a duck! +So down he swooped, and feathers flew, and the next thing seen is the duck +tottering to the cliffside and shouting: + "I'M A DRAKE! THERE'S BEEN A MISTAKE! AND I DON'T LIKE IT!!! +% + People who claim to know jackrabbits will tell you they are primarily +motivated by Fear, Stupidity and Craziness. But I have spent enough time in +jackrabbit country to know that most of them lead pretty dull lives; they are +bored with their daily routines: eat, fuck, sleep, hop around a bush now and +then... No wonder some of them drift over the line into cheap thrills once in +a while; there has to be a powerful adrenaline rush in crouching by the side of +a road, waiting for the next set of headlights to come along, then streaking +out of the bushes with split-second timing and making it across to the other +side just inches in front of the speeding front wheels. + Why not? Anything that gets the adrenaline moving like a 440 volt +blast in a copper bathtub is good for the reflexes and keeps the veins free +of cholesterol ... but too many adrenaline rushes in any given time-span has +the same bad effect on the nervous system as too many electro-shock treatments +are said to have on the brain: after a while you start burning out the +circuits. + When a jackrabbit gets addicted to road running, it is only a matter +of time before he gets smashed -- and when a journalist turns into a politics +junkie he will sooner or later start raving and babbling in print about things +that only a person who has Been There can possibly understand. + -- Hunter Thompson, "Fear and Loathing: On the Campaign Trail" +% + People who write position papers often find themselves in an +enviable position. They are hired to write papers for both sides of the +position. + A good position paper will have many words in it like +"superincumbence," "egress," and "plurification." + You will not often find the phrase "lightweight dropcase +limp-wristed motherfucker" in a serious position paper. + Charts and multiplication tables should always be included in +position papers. They should look complicated enough to make Albert +Einstein stagger across the room for a Tylenol. + A good position paper will never underestimate the value of a +semicolon. + -- Dan Jenkins, "Baja Oklahoma" +% + Santa Claus comes down the chimney and the nubile sixteen-year-old +has been waiting for him. Santa sees her, and in typically unflappable +Santa-style says, "And what do you want for Christmas, little girl?" + The girl, and she's not so little, tells him. Well, Santa is +definitely flapped by this, but he manages to come out with, "Ho ho ho, +gotta go, gotta get the children their toys, you know." + The girl, not to be daunted, takes off her robe. "Aw, please stay +Santa," she begs. + He replies, "Ho ho ho, gotta go, gotta get the children their toys, +you know." + She then takes off her pajama top, her firm pouting breasts pointing +at Santa like an accusation. "Aw, please stay Santa," she pleads. + "Ho ho ho, gotta go, gotta get the children their toys, you know." + Finally, she takes off her pajama bottoms, revealing to Santa her +warm mound of delight. "Aw, please stay, Santa," she begs. + Being only mortal, Santa finally gives in, sighing, "Hey hey hey, +gotta stay, can't get up the chimney with my dick this way." +% + Sentenced to two years hard labor (for sodomy), Oscar Wilde +stood handcuffed in driving rain waiting for transport to prison. "If +this is the way Queen Victoria treats her prisoners," he remarked, "she +doesn't deserve to have any." + + James McNeill Whistler's (painter of "Whistler's Mother") +failure in his West Point chemistry examination once provoked him to +remark in later life, "If silicon had been a gas, I should have been a +major general." + + (German philosopher) Georg Wilhelm Hegel, on his deathbed, +complained, "Only one man ever understood me." He fell silent for a +while and then added, "And he didn't understand me." + + Driving through a Swiss city one day, Alfred Hitchcock suddenly +pointed out of the car window and said, "That is the most frightening +sight I have ever seen." His companion was surprised to see nothing +more alarming than a priest in conversation with a little boy, his hand +on the child's shoulder. "Run, little boy," cried Hitchcock, leaning +out of the car. "Run for your life!" + + Grover Cleveland, though constantly at loggerheads with the +Senate, got on better with the House of Representatives. A popular +story circulating during his presidency concerned the night he was +roused by his wife crying, "Wake up! I think there are burglars in the +house." + "No, no, my dear," said the president sleepily, "in the Senate +maybe, but not in the House." + +% + Shortly after arriving at their honeymoon destination, the +still-nervous groom became worried about the state of his bride's innocence. +Deciding on a direct confrontation, he quickly undressed, pointed at his +exposed manhood and asked his mate, "Do you know what this is?" + Without hesitation, she blushingly answered, "That's a wee-wee." + Delighted at the idea of instructing his naive wife in the ways of +love, the husband whispered, "From now on, dearest, this will be called a +prick." + "Oh, come now," the girl chided. "I've seen lots of pricks and I +assure you, that's a wee-wee." +% + Shortly after Churchill had grown a moustache, he was accosted by a +certain young lady whose political views were in direct opposition to his +own. Fancying herself something of a wag, she exclaimed, "Mr. Churchill, I +care for neither your politics nor your moustache." Unabashed, the young +statesman regarded her quietly for a moment, the wryly commented, "Suck my +dick." + While serving as a subaltern in the Boer War, the young Churchill was +asked by a superior officer to give his opinion of the Boers as soldiers. + "They're assholes, sir," he ventured, then paused briefly and added, with a +whimsical smile, "They're assholes." + Churchill was given to reading in the bathtub and, while staying at +the White House, he once became so engrossed in an account of the Battle of +Fonteney that he forgot President Roosevelt was due to drop by to discuss the +upcoming conference in Yalta. At the appointed hour, the President was +wheeled into Churchill's quarters only to be informed that the Prime Minister +had not finished bathing. Roosevelt was about to apologize for the intrusion +and depart when Churchill, puffing his customary cigar, strode into the room +stark naked and greeted the nonplussed world leader with a terse, "What are +you staring at, homo?" + -- "The Churchill Wit", National Lampoon +% + "Sir", said the beggar, "can you spare fifty dollars for a cup of +coffee?" + "Fifty dollars for a cup of coffee, one should be sufficient!", +answered the gentleman, rather shortly. + "I know", replied the beggar, "but coffee always makes me horny." +% + "That wife of mine is a liar," said the angry husband to a +sympathetic pal seated next to him in a bar. + "How do you know?" the friend asked. + "She didn't come home last night, and when I asked her where +she'd been she said she'd spent the night with her sister Shirley." + "So?" + "So, she's a liar. I spent the night with her sister Shirley." +% + The big problem with pornography is defining it. You can't just +say it's pictures of people naked. For example, you have these +primitive African tribes that exist by chasing the wildebeest on foot, +and they have to go around largely naked, because, as the old tribal +saying goes: "N'wam k'honi soit qui mali," which means, "If you think +you can catch a wildebeest in this climate and wear clothes at the same +time, then I have some beach front property in the desert region of +Northern Mali that you may be interested in." + So it's not considered pornographic when National Geographic +publishes color photographs of these people hunting the wildebeest +naked, or pounding one rock onto another rock for some primitive reason +naked, or whatever. But if National Geographic were to publish an +article entitled "The Girls of the California Junior College System +Hunt the Wildebeest Naked," some people would call it pornography. But +others would not. And still others, such as the Spectacularly Rev. +Jerry Falwell, would get upset about seeing the wildebeest naked. + -- Dave Barry, "Pornography" +% + The defense attorney was hammering away at the plaintiff: +"You claim," he jeered, "that my client came at you with a broken bottle +in his hand. But is it not true, that you had something in YOUR hand?" + "Yes," the man admitted, "his wife. Very charming, of course, +but not much good in a fight." +% + The devout Jew was beside himself because his son had been dating +a shiksa, so he went to visit his rabbi. The rabbi listened solemnly to +his problem, took his hand, and said, "Pray to God." + So the Jew went to the synagogue, bowed his head, and prayed, "God, +please help me. My son, my favorite son, he's going to marry a shiksa, he +sees nothing but goyim..." + "Your son," boomed down this voice from the heavens, "you think +you got problems. What about my son?" +% + The doctor had just finished giving the young man a thorough +physical examination. "The best thing for you to do," the M.D. said, +"is give up drinking, give up smoking, get to bed early and stay away +from women." + "Doc, I don't deserve the best," pleaded his patient. "What's +second best?" +% + The famous Nell Gwynn, stepping one day from a house where she had +made a short visit into her coach, saw a great crowd assembled, and her +footman all bloody and dirty; the fellow being asked by his mistress, the +reason for his being in that condition, answered, "I have been fighting, +madam, with an impudent rascal who called your ladyship a whore." + "You blockhead," replied Mrs. Gywnn, "at this rate you must fight +every day of your life; why, you fool, all the world knows it." + "Do they?" cries the fellow, in a muttering voice, after he had shut +the coach door, "they shan't call me a whore's footman for all that." + -- Henry Fielding, "Tom Jones" +% + The foreman of a lumber camp put a new workman on the circular saw. +As he turned away, he heard the man say, "Ouch!". + "What happened?" + "Dunno," replied the man. "I just stuck out my hand like this, and +-- well, I'll be damned. There goes another one!" +% + The honeymooning couple agreed it was a fine day for horseback riding. +After a mile or so, the bride's mount cantered under a low tree and a +branch scraped her forehead lightly. The groom dismounted, glared at his +wife's horse, and said, "That's number one." + The ride then proceeded. After another mile or so, the bride's +horse stumbled over a pebble and the lady suffered a slight jostling. +Again, her man leapt from his saddle and strode over to the nervous animal. +"That's two," he said. + Five miles later, the bride's horse became frightened when a rabbit +crossed its path, reared up and threw the girl. Immediately, the groom was +off his horse. "That's three!", he shouted, and, pulling out a pistol, he +shot the horse between the eyes. + "You brute!" shrieked his bride. "Now I see the kind of man I +married! You're a sadist, that's what!" + The groom turned to her coolly. "That's one," he said. +% + The man standing at the bar (in court, unfortunately) was well- +dressed, alert and obviously intelligent. The judge asked him how he +pleaded to the charge of rape and, much to the magistrate's surprise, he +replied, "Not guilty by reason of insanity, your Honor." + "Insanity?" exclaimed the judge. + "Yes, sir," said the defendant. "I'm just crazy about it." +% + The new patron was amazed by the cleanliness of the restaurant. A +waiter approached the table. "Good afternoon, sir. What may I serve you?" + "I'll have the steak dinner," the man answered. + As the waiter headed for the kitchen, the diner noticed that he +wore a spotless white apron and clean white gloves. Soon the waiter +returned, bearing a casserole dish on a cart which he uncovered to reveal +two tempting filet mignons. From a covered pocket in his apron he produced +a small pair of shining silver tongs and with them he transferred the meat +from the steaming casserole to the diner's plate. "We never touch anything +with our hands," he explained. + The waiter continued serving. "Confidentially," he said, "we even +have a special set of rules about visiting the lavatory. Do you see this +little piece of string attached to my apron?" + "Yes," the diner replied. "I noticed that all the aprons had one." + The waiter put a large browned potato on the plate with his tongs. +"Well," he began, "if I should have to go to the bathroom, that string +comes in very handily. I simply unzip my pants and take it out with that +piece of string. That way everything stays sanitary." + "But how do you put it back?" + "Well, I don't know about the other guys," the waiter confided, "but +I use the tongs." +% + The old mailman is making his last rounds; he retires at the end of +the week. As he approaches the Jones' house, Mrs. Jones greets him warmly at +the door. "Please come in! We're very grateful for your years of service to +us and our neighborhood. I've prepared something special for you." + In walks the mailman, to a graciously appointed dining room, where +Mrs. Jones has prepared a sumptuous lunch. After dumping his letter satchel +on the couch, he and Mrs. Jones have a charming meal. As the mailman finished +his last glass of wine, thanking his hostess profusely, she stops him from +leaving and disappears upstairs. She returns in a moment, in a daring +negligee, and takes the astonished postman to the bedroom, where the elaborate +farewell is consummated between the sheets. + As he's putting his pants on, Mrs. Jones reaches into her nightstand, +pulls out a dollar bill, and hands it to him. Reacting to his astonished +look, she says, "Well, I told my husband that you were retiring and that +we should do something for you. He said 'Fuck him. Give him a dollar!'" +She pauses and smiles proudly. "The lunch was MY idea." +% + The other day my girlfriend and I were going to a party and on the +way there, we got a flat tire. We got out of the car and I pumped, she +jacked I pumped, she jacked, I pumped, she jacked and then we changed the +tire. Eventually we arrived at the party and when we walked in, everyone was +jumping for joy. What a sight seeing her hanging nude from the chandelier! +Well the party was OK, I guess, we just sat around drinking sherry and eating +candy. Everybody else started feeling merry. Those have got to be the three +wildest girls I know. +% + The people of Halifax invented the trampoline. During the Victorian +period the tripe-dressers of Halifax stretched tripe across a large wooden +frame and jumped up and down on it to `tender and dress' it. The tripoline, +as they called it, degenerated into becoming the apparatus for a spectator +sport. + The people of Halifax also invented the harmonium, a device for +castrating pigs during Sunday service. + -- Mike Harding, "The Armchair Anarchist's Almanac" +% + The radio was screaming: "Power to the People -- Right On!" John +Lennon's political song, ten years too late. "That poor fool should have +stayed where he was," said my attorney. "Punks like him only get in the +way when they try to be serious." + "Speaking of serious," I said. "I think it's about time to get +into the ether and the cocaine." + "Forget ether," he said. "Let's save it for soaking down the rug +in the suite. But here's this. Your half of the sunshine blotter. Just +chew it up like baseball gum." + I took the blotter and ate it. My attorney was now fumbling with +the salt shaker containing the cocaine. Opening it. Spilling it. Then +screaming and grabbing at the air, as our fine white dust blew up and out +across the desert highway. A very expensive little twister rising up from +the Great Red Shark. "Oh, Jesus!" he moaned. "Did you see what God just +did to us?" + -- Raoul Duke, "Rolling Stone", issue 95, Nov. 11, 1971 +% + THE TEN STAGES OF INTOXICATION + + 1. WITTY AND CHARMING: This is after one or two drinks. The tongue is + loosened and can yet remain in step with the brain. In the "witty + and charming" state, one is likely to use foreign idioms and and + phrases such as "au contraire" in place of "No way, Jose" or + "Bullsheyet". + 2. RICH AND POWERFUL: By the third drink, you begin mentioning the little + 380 SL you've had your eye on down at the Mercedes place. + 3. BENEVOLENT: You'll buy her a Mercedes, too. It's only money. + 4. JUST ONE MORE AND THEN WE'LL EAT: Stall tactic. + 5. TO HELL WITH DINNER: Just one more and then we'll eat. + 6. PATRIOTIC: The war stories begin. + 7. CRANK UP THE "ENOLA GAY": "We could have won in Nam, but..." + 8. INVISIBLE: So this is what the Ladies' Room looks like. + 9. WITTY AND CHARMING PART II: You know, you don't sweat much for a fat girl. +10. BULLETPROOF: Bull-sheyet, gimme them keys, I can drive. + -- Lewis Grizzard, "My Daddy Was a Pistol and I'm a Son + of a Gun". +% + The young male race horse came from a long line of winners, and did +wonderfully in time trials. However, in actual races he proved a little too +romantic, and could never quite bring himself to pass a mare. + So one day the trainer went to him and told him he'd have to be +castrated. The young horse, knowing that it was either this or the glue +factory, took it philosophically. After all, having the operation was +almost a certain guarantee of a long and illustrious racing career. + After a short recovery period, the horse was again run in time +trials, and found to do as well as ever. But the first time he actually +ran in a race, he only went about ten paces, before getting a dejected look +on his face, turning around, and ambling back to the starting gates. + "What's the matter?" asked the trainer, "you were doing great!" + "Yeah, well how would you feel" replied the horse, "if five thousand +people took one look at you and shouted `they're off!'?" +% + The young man took a blind date to the amusement park. They went +for a ride on the Ferris wheel. The ride completed, she seemed rather bored. +"What would you like to do next?" he asked. + "I wanna get weighed," she said. So he took her over to the weight +guesser. Next they rode the roller coaster. After that he bought her some +popcorn and cotton candy, then he asked what else she would like to do. + "I wanna get weighed," she said, bluntly. + I really latched onto a square one tonight, thought the boy, and +using the excuse that he had developed a headache, he took the girl home. +The girl's mother was surprised to see her home so early, and asked, "What's +wrong, dear, didn't you have a nice time tonight?" + "Wousy," said the girl. +% + There are two couples that want to convert to Catholicism. They go +and see a priest and he tells them that the first requirement is to abstain +from sex for thirty days. + Thirty days later, the couples come back to see the priest. He asks +the first couple if they passed the test. + "Father, we didn't so much as TOUCH one another during the last month. + "Congratulations," the priest replies, "you are now qualified to enter +the Church." Then, the priests asked the second couple how they did. + "Well, Father," the husband says, "everything was going just fine +until the 27th day. My wife bent over the freezer to get something out, and +I just happened to notice that she didn't have any panties on. I couldn't +stand it any more, so I walked over to her, dropped my pants, and slipped it +to her right there." + "That's DISGUSTING!", the priest bellows. "I can never let you into +the Church after something like that." + "I understand Father," the man replies sadly, "they won't let us +into Safeway anymore either." +% + There was an Englishman, a Frenchman, and a Newfoundlander sitting in +a bar having a few drinks together. + The Englishman turns to the Frenchman, "So tell me, what do you do to +drive your wife wild in bed?" + "Well", replies the Frenchman, "After we make love, I go out to the +garden and pick some roses. Then I take the petals off and put them all over +her body. then I gently blow them off with a soft, even breath, and that drives +her wild with desire." + "Interesting," the Englishman replies. "After my wife and I make love +I massage baby oil gently all over her body -- that works for me!" +Then the pair turn to the Newfie and ask him what he does. + "Well...", he says, "when me and the old lady are through, I jump +out of bed and wipe my dick off on the curtain. And that REALLY drives +her wild." +% + These two project managers were walking through a residential area +one day, when they saw a dog (also male) sitting on a lawn, licking its +cock. (Why do dogs do that? Because they can). Anyway, the first manager +nudged the second and said, "Hey, look at that! That really looks like fun +-- I wish I could do that!" + Whereupon the second manager replied, "Well, I don't know... I tried +it once, and the damn dog bit me!" +% + "They spend years searching for their natural parents, convinced their +parents will be happy to see them. I mean, really, can you imagine someone +being happy to see an orphan? Nobody wants them... that's why they're orphans!" + The speaker is Anne Baker, founder and guiding force behind +Orphan-Off, an organization dedicated to keeping orphans confused about the +whereabouts of their natural parents. She is a woman with a mission: + "Basically, what we do is band together to exchange information +about which orphans are looking for which parents in what part of the +country. We're completely computerized. + "The idea is to throw the orphans as many red herrings and false +leads as possible. We'll tell some twenty-three-year-old loser that his +real parents can be found at a certain address on the other side of the +country. Well, by the time the kid shows up, the family is prepared. They +look over the kid's photos and information and they say, 'Oh, the Emersons... +yeah, they used to live here... I think they moved out about five years ago. +I think they went to Iowa, or maybe Idaho.' + "Bam, the door shuts in the kid's face and he's back to zero again. +He's got nothing to go on but the orphan's pathetic determination to continue. + "It's really amazing how much these kids will put up with. Last year +we even sent one kid all the way to Australia. I mean, really. Besides, if +your natural parents were Australian, would you want to meet them?" + -- "National Lampoon", September, 1984 +% + This 600-pound guy decides he can't go on living this way, so he seeks +the help of a clinic and proceeds to go on a drastic diet. It works: four +months later he's down to 160 pounds and feeling great, except for one problem. +He's covered with great folds of flesh where the fat used to be. He calls +up the clinic, and the doctor tells him not to worry. "There's a special +surgical procedure to correct this condition," the doctor assures him. "Just +come on over to the clinic." + "But doctor," the man pleads, "you don't understand. I'm too +embarrassed to be seen in public like this." + "Don't give it another thought," says the doctor. "Simply pull up +all the folds as high as they'll go, pile the flesh on top of your head, put +on a top hat, and come on over." + The guy follows the instructions and provokes no comments until he +reaches the clinic and is standing in front of the admitting nurse's desk, +dying of self-consciousness. "The doctor will be right with you," says the +nurse. "Say, what's that hole in the middle of your forehead?" + "My navel," blurts out the guy, "how d'ya like my tie?" +% + This guy is taking a leak in a public men's room when a man enters +with his arms held out from his sides, bent at the elbows with his hands +dangling awkwardly, and comes over to him. + "Would you do me a favor and unzip my fly?" he asks. + Figuring the man to be a poor cripple, perhaps an accident victim, +the guy obliges, not without a flush of embarrassment when the man next +requests that he take out his prick and hold it in the appropriate position. + "Shake it off" is the next instruction, then "zip me up," and the +guy follows orders, wincing at his own embarrassment and at the shame of +being so helpless. + "Say, thanks," says the man, flouncing to the door. "I can't do a +*thing* 'til my nails dry!" +% + This guy is walking down the beach one fine sunny day, feeling +good, when suddenly he sees this woman with no arms or legs in a wheelchair, +sobbing like crazy. He decides to be gallant, "What's wrong, miss?" + "I......I'm 21 and I I've never been kissed... +" + So this guy, he decides, what the hell, let's cheer up the poor lady. +He leans over and gives her a long wonderful kiss. This does wonders, and +the woman's face lights up and she grins from ear to ear, and the guy wanders +away feeling wonderful. + Well, next week, the same guy is walking along the same beach, and +sees the same girl who is once again sobbing her eyes out. Gallant to the +end, our hero says, "What's wrong, miss, can I help?" + "I...I'm 21 and I've never been fucked..." + The guy picks her up out of her chair, cuddles her close, and brings +her over to the shore, and throws her into the water. "Now you're fucked!" +% + Three women and Feldstein were brought before the presiding judge. +The women had been arrested for soliciting and he'd been was arrested for +selling ties without a license. "What do you do for a living?" the judge +asked, pointing at the first girl. + "Your honor, I'm a model," she replied. + "Thirty days," was the sentence. The judge turned to the second +girl. "What do you do for a living?" he asked. + "Your honor, I'm an actress." + "Thirty days." Then he turned to the third girl. "And how about +you?" he demanded. + "Well, your honor, I'm a prostitute. I'm not proud of it, but it's +the only way I can support my mother and my children since my husband's been +laid off." + "For telling the truth," he said, "I'm going to suspend sentence. +Furthermore, here's $100 to help your family out." Now he turns to Feldstein, +arrested for selling ties illegally. "And you," he said, "what do you do +for a living?" + "Your honor, I'm a prostitute. I'm not proud..." +% + Two buddies had been out drinking for hours when their money finally +ran out. "I have an idea," croaked Al. "Lesh go over to my housh and borrow +shum money from my wife." + The two of them reeled into Al's living room, snapped on the light, +and lo and behold, there was Al's wife making love on the sofa to another man. +This state of affairs considerably unnerved Al's friend but didn't seem to +affect the husband. + "Shay, dear, you have any money for your ever-lovin' hushban?" he +asked. + "Yes, yes," she snapped. "Take my purse from the mantle, and for +Pete's sake, turn off those lights." + Outside they examined the purse, and Al proudly announced, "There's +enough here for a pint for you and a pint for me. Pretty good, eh, old buddy?" + "But, Al," protested his friend, somewhat sobered by the spectacle +he'd just witnessed, "what about that fellow back there with your wife?" + "The hell with him," replied Al. "Let him buy his own pint." +% + Two Englishmen struck up a conversation with an American in the club +car of a train headed east out of Chicago. + "I say," queried the younger Englishman, "have you ever been to +London?" + The American laughed. "It was my home for two years during the war," +he said. "Had some of the wildest times of my life in that old town." + The older Englishman, a little hard of hearing, asked, "What did +he say, Reggie?" + "He said he's been to London, father," the younger Englishman +replied. + After a little lull in the conversation, the young man asked, "You +didn't, by any chance, meet a Hazel Wimbleton in London, did you?" + The American almost fell off his chair. "Hot Pants Hazel!" he +exclaimed. "My God, I shacked up with that horny broad for three months +just before I came back to the States!" + "What did he say, Reggie?" the older Englishman wanted to know. + "He says he knows Mother," the younger Englishman responded. +% + Two gay guys, Larry and Phil, were driving down the highway when they +were rear-ended by a huge semi. Somewhat shaken, they maneuvered over to the +side of the road, where Phil instructed Larry to get out and confront the truck +driver. "Tell him we're going to sue, sue, sue!" he shrieked. + Obligingly, Larry got out and went around to the cab of the truck to +deliver this message to the huge, burly driver, whose response was to snarl, +"Ah, why doncha suck my cock." + "Phil," said Larry, coming back to their car, "I think we're going +to be able to settle out of court." +% + Two little kids, aged six and eight, decide it's time to learn how +to swear. So, the eight-year-old says to the six-year-old, "Okay, you say +`ass' and I'll say `hell'". + All excited about their plan, they troop downstairs, where their +mother asks them what they'd like for breakfast. + "Aw, hell," says the eight-year-old, "gimme some Cheerios." +His mother backhands him off the stool, sending him bawling out of the room, +and turns to the younger brother. "What'll you have?" + "I dunno," quavers the six-year-old, "but you can bet your ass +it ain't gonna be Cheerios." +% + Two longtime friends sipped Scotch in a local bar and talked about +their troubles. "And on top of everything else," said the first, "my wife +has cut me down to just once a week." + "That's too bad," agreed his friend, "but it could be worse. I know +two guys she's cut off altogether. +% + Two morticians alternated in sharing the responsibility of covering +the night shift. One early morning about 3:00 am, a body was brought into the +mortuary, and the mortician began work. When he had unclothed the corpse, he +noticed a cork in the anus. Removing it, the strains of "Hello, Dolly, well, +hello, Dolly...!" were plainly heard being sung. He put the cork back, and +the singing stopped. Pulling it out again, the same song started, "You're +lookin' swell, Dolly!". Amazed, he telephoned his partner, and insisted he +come immediately to see something very unusual. Roused from sleep, the partner +asked if it could wait until morning. It took great persistence, but finally +the partner agreed to dress and come down to the shop. When he got there, he +said, "Now what was it that was so important you had to get me out of bed at +this ungodly hour?" + The man said, "Come into the embalming room." + They go into the embalming room, and the first partner says, "Now +watch." + He pulls out the cork, and the anus takes off singing again. The +partner looks at him disgustedly and says: "You brought me down here at +three in the morning just to hear some asshole sing Hello Dolly"? +% + Two women were walking down the street, when one nudges the other +and says, "There's my husband coming out of the florist's with a dozen +roses, damn it. That means I'll have to keep my legs up in the air for +three days." + Replies her friend, "Well, why don't you buy a vase?" + +% + We were somewhere around Barstow on the edge of the desert when the +drugs began to take hold. I remember saying something like "I feel a bit +lightheaded; maybe you should drive...." And suddenly there was a terrible +roar all around us and the sky was full of what looked like huge bats, all +swooping and screeching and diving around the car, which was going about a +hundred miles an hour with the top down to Las Vegas. And a voice was +screaming: "Holy Jesus! What are these goddamn animals?" + Then it was quiet again. My attorney had taken his shirt off and +was pouring beer on his chest, to facilitate the tanning process. "What the +hell are you yelling about?" he muttered, staring up at the sun with his +eyes closed and covered with wraparound Spanish sunglasses. "Never mind," +I said. "It's your turn to drive." I hit the brakes and aimed the Great +Red Shark toward the shoulder of the highway. No point in mentioning the +bats, I thought. The poor bastard will see them soon enough. + -- Dr. Hunter S. Thompson, "Fear and Loathing in Las Vegas: + A Savage Journey to the Heart of the American Dream" +% + Well, there was this tiger, who woke up one morning, and just felt +great (yes, just like Tony the Tiger: GREAAAAAAT). Anyway, he just felt +so good, he went out and cornered a small monkey and roared at him: "WHO IS +THE MIGHTIEST OF ALL THE JUNGLE ANIMALS?" + And this poor quaking little monkey replied: "You are of course, no +one is mightier than you." + A little while later this tiger confronts a deer, and just bellows out: +"WHO IS THE GREATEST AND STRONGEST OF ALL THE JUNGLE ANIMALS?" + The deer is shaking so hard it can barely speak, but manages to +stammer: "Oh great tiger, you are by far the mightiest animal in the jungle." + The tiger, being on a roll, swaggered, up to an elephant that was +quietly munching on some weeds, and roared at the top of his voice: "WHO IS +THE MIGHTIEST OF ALL THE ANIMALS IN THE JUNGLE?" + Well, this elephant grabs the tiger with his trunk, picks him up, slams +him down; picks him up again, and shakes him until the tiger is just a blur of +orange and black; and finally throws him violently into a nearby tree. + The tiger staggers to his feet, looks at the elephant and says: "Man, +you don't have to get so pissed, just because you don't know the answer!" +% + Well, this woman went to the butcher shop to get some ham for dinner. +She asked the butcher what kind of ham he recommended, and the butcher said, +"Well ma'am, we got some Damn ham here for $3.50 a pound..." Needless to +say, she was surprised at the butcher's language! The butcher, who was +reasonably astute, noticed the alarmed look on the woman's face, and quickly +justified himself. "No, no, ma'am, I wasn't cursin', the NAME of this here +ham is "Damn ham". Amused, the woman requested some "Damn ham." + That night, before dinner, the woman took her husband aside and +explained what had happened at the butcher shop. He also was amused, and +suggested that they play a joke on their son. So, at dinner, after grace, +the man turned to his wife and said, "Honey, pass the damn ham." + Their son looked up, surprised. "WHOAH! Dad be gettin' hip! +How 'bout them mother-fuckin' potatoes?" +% + When the surgeon came to see her on the morning after her +operation, the young woman asked him somewhat hesitantly how long +it would be before she could resume her sex life. + "I really haven't thought about it," gulped the stunned surgeon. +"You're the first patient who's asked me that after a tonsillectomy!" +% + When you see someone across the room and suddenly know for a fact +that he's the most wonderful man on earth, you've got instant lust on your +hands. Something about the way his tie is knotted is infinitely intriguing +to you, and the swell of his bicep causes inner turmoil. This is a happy +but fleeting state of affairs. Usually your feelings die about thirty +seconds after you get up the courage to ask him for the time, since almost +invariably he can't speak English, and if he can, he always says, "Why, +sure, little lady, it's eleven-thirty. Wanna get high? + Don't bother thinking that instant lust will turn into the real thing. +It may, but then you may also wake up one morning to find you're the Queen of +Rumania. + -- Cynthia Hemiel, "Sex Tips for Girls" +% + While hunting, a man saw a beautiful nude woman come running out of +the woods and disappear across the clearing. Just as she got out of sight, +three men dressed in white uniforms came running out of the same woods. +"Hey, you," yelled one of them, "did you see a woman come by here?" + "Yes," replied the hunter. "What's the trouble?" + "She's an inmate of the county asylum, and gets loose every now and +then. We're trying to catch her." + "I can understand that," said the hunter, "But why is one of you +carrying a bucket of sand?" + "That's his handicap," said the spokesman, "he caught her last time." +% + While visiting our country, a lovely French maiden found herself +out of money just as her visa expired. Unable to pay her passage back to +France, she was in despair until an enterprising sailor made her a sporting +proposition. "My ship is sailing tonight," he said. "I'll smuggle you +aboard, hide you down in the hold and provide you with a mattress, blankets +and food. All it will cost you is a little love." + The girl consented, and late that night the sailor sneaked her on +board his vessel. Twice each day thereafter, the sailor smuggled a large +tray of food below decks, took his pleasure with the little French stowaway +and departed. The days turned into weeks, and the weeks might have turned +into months if the captain hadn't noticed the sailor carrying food below one +evening and followed him. After witnessing this unique bit of barter, he +waited until the sailor had departed and then confronted the girl, demanding +an explanation. She told him the whole story. + "Hmmm," mused the captain. "A clever arrangement, and I must say I +admire that young seaman's ingenuity. However, Miss, I feel it is only fair +to tell you that this is the Staten Island Ferry." +% + "Why did you spend so much time parked in that fellow's car last +night?" demanded the irate mother. +"I could hear the giggling and squealing for a good half hour." + "But, Mom," answered her daughter, "if a fellow takes you to the +movies you ought to at least kiss him good night." + "I thought you went to the Stork Club?" countered the mother. + "We did." +% + With deep concern, if not alarm, Dick noted that his friend +Conrad was drunker than he'd ever seen him before. "What's the trouble, +buddy?", he asked, sliding onto the stool next to his friend. + "It's a woman, Dick," Conrad replied. + "I guessed that much. Tell me about it." + "I can't," Conrad said. But after a few more drinks his tongue +and resolution both seemed to weaken and, turning to his buddy, he said, +"Okay. It's your wife." + "My wife!!" + "Yeah." + "What about her?" + Conrad pondered the question heavily, and draped his arm around +his pal. "Well, buddy-boy," he said, "I'm afraid she's cheating on us." +% + "Yes, sir, the bowling ball nipple rings in black. Will there +be anything else?" +% + You see, this girl wakes up one morning, rolls over and sees an +elephant in the bed with her. Almost in shock, she says, "Did I pick you +up in the bar last night?" + "Uh-huh," the elephant replies. + "Did I bring you home?" + "Uh-huh." + "Did we, uh, fool around?" + "Uh-huh." + "Lord, I must have been tight!" + "Not any more." +% +... and no philosophy, sadly, has all the answers. No matter how assured +we may be about certain aspects of our belief, there are always painful +inconsistencies, exceptions, and contradictions. This is true in religion +as it is in politics, and is self-evident to all except fanatics and the +naive. As for the fanatics, whose number is legion in our own time, we +might be advised to leave them to heaven. They will not, unfortunately, do +us the same courtesy. They attack us and each other, and whatever their +protestations to peaceful intent, the bloody record of history makes clear +that they are easily disposed to restore to the sword. My own belief in +God, then, is just that -- a matter of belief, not knowledge. My respect +for Jesus Christ arises from the fact that He seems to have been the most +virtuous inhabitant of Planet Earth. But even well-educated Christians are +frustrated in their thirst for certainty about the beloved figure of Jesus +because of the undeniable ambiguity of the scriptural record. Such ambiguity +is not apparent to children or fanatics, but every recognized Bible scholar +is perfectly aware of it. Some Christians, alas, resort to formal lying to +obscure such reality. + -- Steve Allen +% +... which the Minstrel was supposed by some authorities to have composed +beneath the gibbet at Elsdon on the occasion of his hanging, drawing and +quartering for misguidedly climbing into bed with Sir Oswald Capheughton's +wife, Lady Fleur, when that noble lord was not only in it, but in her at +the same time. Minstrel Flawse's introduction of himself into Sir Oswald +had met with that reaction known as dog-knotting on the part of all +concerned... +I gan noo wha ma organs gan +When oft I lay abed I should ha' known 'twas never Fleur +So rither hang me upside doon That smelt so mooch of sweat +Than by ma empty head. For she was iver sweet and pure + And iver her purse was wet. +But old Sir Oswald allus stank +Of horse and hound and dung So hang me noo fra' Elsdon tree +And when I chose to breech his rank And draw ma innards out +Was barrel to my bung. That all the wald around may see + What I have done without. +But ere ye come to draw ma heart +Na do it all so quick So prick 'em wet or prick 'em dry +But prise the arse of Oswald 'part 'Tis all the same to me +And bring me back ma prick. I canna wait for him to die + Afore I have a pee. + -- Tom Sharpe, "The Ballad of Prick 'Em Dry" +% +10 Reasons Why a Beer is Better Than a Man: + + 1. A beer NEVER leaves the toilet seat up. + 2. A beer lasts longer than seven seconds. + 3. A beer doesn't want to watch pro wrestling. + 4. A beer won't expect you to cook dinner when you're not hungry. + 5. A beer will never leave dirty socks on the floor. + 6. A beer doesn't mind when your mother visits. + 7. A beer does as many chores as a man, with a LOT less complaining. + 8. A beer won't leave you for a younger woman. + 9. A beer won't leave you for a younger man either. +10. A beer won't tease you because you once liked Barry Manilow. +% +10 Reasons Why a Beer is Better Than a Man: + + 1. A beer will never invite friends home for dinner without calling. + 2. A beer won't think less of you if you can't name the Steelers' + quarterback. + 3. A beer won't even act amazed if you can. + 4. You don't have to let a beer win. + 5. Just because you have dinner with a beer doesn't mean you have to + sleep with it, too. + 6. A beer helps with the houswork. + 7. A beer will never fumble with your bra. + 8. A beer will never take the newspaper apart before you've read it. + 9. A beer doesn't want you to raise its children. +10. A beer wouldn't mind if you wanted it to wear a condom. +% +10 Reasons Why a Beer is Better Than a Man: + + 1. Having a beer can't make you pregnant. + 2. A beer doesn't wouldn't trade you in on a sports car. + 3. If a beer did have a sports car, it wouldn't love it more than you. + 4. A beer doesn't want to go out alone with the other beers. + 5. A beer wouldn't waste its money on Playbeer magazine. + 6. You don't have to worry about getting AIDS from a bisexual beer. + 7. A beer won't switch the TV channel. + 8. A beer doesn't snore. + 9. A beer doesn't care that you can't find your car's carburator. +10. A beer doesn't think black leather bikinis are neat. +% +10 Reasons Why a Beer is Better Than a Woman: + + 1. Beer understands the difference between shooting down an unidentified + aircraft in a war zone and blowing a Korean airliner out of the sky. + 2. A beer would never own a car with an automatic transmission. + 3. A beer never fishes for compliments. + 4. Beer tastes good. + 5. A beer can enjoy an evening of watching "Johnny-the-Wadd-Holmes' Greatest + Hits" as much as you do. + 6. An ice-cold beer will nonetheless let you have your way with it. + 7. A beer won't ask you to pick up some tampons when you go to the store. + 8. Beer never asks you to change the station. + 9. A beer won't fill up your 'Vette with 85-octane gas because it's twenty + cents less expensive. +10. A beer won't make you eat experimental vegetarian meals that taste + like grass. +% +10 Reasons Why a Beer is Better Than a Woman: + + 1. You can enjoy a beer all month. + 2. Beer stains wash out. + 3. Beer doesn't go crazy once a month. + 4. Beer never makes you wait. + 5. A beer doesn't get jealous when you grab another beer. + 6. Beer doesn't have a lawyer "in the family". + 7. A beer won't get upset if you come home with beer on your breath. + 8. Beer doesn't demand equality. + 9. Beer labels come off without a fight. +10. Beer doesn't mind being in the "wet spot" that IT left. +% +15 Reasons Why a Beer is Better Than a Man: + + 1. A beer doesn't care that you don't balance your checkbook. + 2. Tall, dark, good-looking beers are common. + 3. A beer won't steal all the covers. + 4. A beer doesn't have friends who will drink all your beer. + 5. A beer wouldn't yell if you dented the car. + 6. A beer doesn't buy everything labelled "turbo". + 7. You don't have to laugh at a beer's jokes. + 8. A beer is not kinky unless you want it to be kinky. + 9. A beer always lets you read the Sunday comics first. +10. A beer doesn't think poetry is queer. +11. If the beer is finished before you are, you can have another beer. +12. A beer won't talk about the women who had it before you. +13. A beer's life does not revolve around the world series. +14. A beer won't mind at all if you're not in the mood for beer. +15. A beer will NEVER call you "Babe". Or "Sugar". +% +18th Rule of Friendship: + A friend will let you hold the ladder while he goes up on the roof + to install your new aerial, which is the biggest son-of-a-bitch you + ever saw. + -- Esquire, May 1977 +% +20 REASONS WHY A BEER IS BETTER THAN A MAN + 1. A beer never leaves the toilet seat up. + 2. A beer doesn't want to watch pro wrestling. + 3. A beer does as many chores as a man, with a LOT less complaining. + 4. You don't have to worry about getting AIDS from a bisexual beer. + 5. A beer won't tease you because you once liked Barry Manilow. + 6. A beer doesn't want to go out alone with the other beers. + 7. A beer doesn't care that you can't find your car's carburator. + 8. A beer doesn't think black leather bikinis are neat. + 9. A beer won't steal the covers. +10. A beer doesn't buy everything labelled "turbo". +11. A beer doesn't think poetry is queer. +12. A beer can't talk about the women who had it before you. +13. A beer tastes good. +14. A beer will never invite friends home for dinner without calling. +15. A beer won't think less of you if you can't name the Steelers' quarterback. +16. You don't have to let a beer win. +17. A beer always lets you read the Sunday comics first. +18. A beer will never call you "Babe". Or "Sugar-hips". +19. A beer doesn't care that you don't balance your checkbook. +20. You don't have to laugh at a beer's jokes. +% +667 -- The neighbor of the beast. +% +68: + Do me now and I'll owe you one. +% +6802 hackers make great use of the SEX instruction. +% +69 + 69 = dinner for 4. +% +71: + 69 with two fingers up your ass. + -- George Carlin +% +7:30, Channel 5: The Bionic Dog (Action/Adventure) + The Bionic Dog drinks too much and kicks over the National + Redwood Forest. + +7:30, Channel 8: The Bionic Dog (Action/Adventure) + The Bionic Dog gets a hormonal short-circuit and violates the + Mann Act with an interstate Greyhound bus. +% +8 Reasons Why a Beer is Better Than a Woman: + + 1. You rarely (if ever) find beer labels on the shower curtain rod. + 2. A beer doesn't care when you come. + 3. Beer doesn't have a mother. + 4. Beer doesn't need much closet space. + 5. A beer won't accuse you of lying when you say you read Playboy + "just for the articles". + 6. Beer doesn't mind seeing Chuck Norris and Charles Bronson flicks. + 7. Beer doesn't always want to go to the 'powder room' with everyone + else's beer. + 8. When you're through with a beer, the thought of another beer doesn't + make you ill. +% +A '49er walked into the saloon at Bloody Gulch. He'd been prospecting for +more than a year. + "Hey! Y'got any wimmen around here?" + "Nope," the bartender replied, "But there's George in the back room." + "I don't go for that kind of thing," the prospector scowled. He +downed his drink and left disgustedly. +A few months passed before the miner found his way down the mountain again. +He stumbled into the tavern and asked the bartender, "Any wimmen pass through +this part of town?" + "Nope. Nary a one. But we still got George in the back room." + Angry, the miner shouted, "I told you I don't go for that kind of +thing," and turned on his heel and left. + Within a year he came back from his mine again. With a wild look on +his face he re-entered the saloon. Leaning over the bar he whispered to the +bartender, "If I was to go into the back room with George, how many people +'round here would know?" + "Oh," the bartender said, scratching his chin, "'bout seven, I guess." + "Seven!?" + "Yep. You, me, George, and the four men holdin' him down. You see, +George don't go for that kind of thing neither." +% +A 6'8", 280-pound Southerner walked into a NY bar, sat down next to a +patron, and said, "Ah'm big, and ah'm bad, and I *loves* to fuck Northern +women!" The guy was so terrified that he put down his beer and ran out +of the bar. + The Rebel moved over to the next guy and said, "Ah'm big and ah'm +bad and I *loves* to fuck New York women." The guy took one look at him, +blanched and ran out of the bar. + The man then went over to a short little guy with "Bronx" written +all over him. "Ah'm big and ah'm bad and I *loves* to fuck your sister." + The short guy looked him up and down and said, "I don't blame +you one bit. She's *got* to be an improvement on yours." +% +A bar patron returned from the men's room grumbling to himself. + "What's the trouble, buddy?" the bartender inquired. + "You got John Wayne toilet paper in there!" + "What do you mean?" the barkeeper asked. + "It's rough, it's tough, and it doesn't take shit from nobody." +% +A beachcomber of 25 had been shipwrecked on a desert island since the age of +six. One day, while in search of food, he stumbled across a beautifully +sensuous female lying on the beach nearly naked; she'd been washed ashore from +another shipwreck that morning. After they got over their initial surprise +at seeing each other, the girl wanted to know how long he had been alone on +this barren bit of land. + "Almost twenty years," he answered. + "Twenty years!" she exclaimed. "But how ever did you survive?" + "Oh, I fish, dig for clams, and gather berries and coconuts," he +replied. + "And what do you do for sex?" she asked. + "What's that?" He looked puzzled. + Whereupon the maiden pulled the innocent young man down onto the sand +beside her and proceeded to demonstrate. After they had finished, she asked +how he had enjoyed it. + "Great!" was the reply. "But look what it did to my clamdigger!" +% +A beautiful man is paradise for the eyes, hell for the soul, and +purgatory for the purse. +% +A beautiful, voluptuous woman goes to see a gynecologist. The doctor takes +one look at this woman and his professionalism is a thing of the past. Right +away he tells her to undress. After she has disrobed he begins to stroke her +thigh. As he does this he says to the woman, "Do you know what I'm doing?" + "Yes," she says, "you're checking for any abrasions or dermatological +abnormalities." + "Correct," says the doctor. He then begins to fondle her breasts. +"Do you know what I'm doing now?" he says. + "Yes," says the woman, "you're checking for any lumps or breast +cancer." + "That's right," replies the doctor. He then gradually proceeds to +having sexual intercourse with her. "Do you know," he pants, "what I'm doing +now?" + "Yes," she says. "You're getting herpes." +% +A beetling young woman named Pridgets +Had a violent abhorrence of midgets; + Off the end of a wharf + She once pushed a dwarf +Whose truncation reduced her to fidgets. + -- Edward Gorey +% +A big store buyer had been on the road for nearly two months. Each week he +would send his wife a telegram saying, + "Can't come home yet. Still buying." +His wife knew that these buying trips usually involved more than business. +She tolerated this particular jaunt for a while, but when the third month +rolled by and she'd still seen nothing of her husband but the weekly telegrams, +she wired him, + "Better come home. I'm selling what you're buying." +% +A big-bosomed Bunny named Gression +Sold cigars at a key-club concession. + When she swiveled about + Even strong men cried out, +For her costume did not keep her flesh in. +% +A bisexual chap name of Lunt +Taught himself an unusual stunt. +He could peel back his spout +Turn the skin inside out +Like a glove, to be used as a cunt! +% +A bisexual is a man who likes girls as well as the next fellow. +% +A blind rabbit was hopping through the woods, tripping over logs and crashing +into trees. At the same time, a blind snake was slithering through the same +forest, with identical results. They chanced to collide head-on in a clearing. + "Please excuse me, sir, I'm blind and I bumped into you accidentally," +apologized the rabbit. + "That's quite all right," replied the snake, "I have the same +problem!" + "All my life I've been wondering what I am," said the rabbit, "Do +you think you could help me find out?" + "I'll try," said the snake. He gently coiled himself around the +rabbit. "Well, you're covered with soft fur, you have a little fluffy tail +and long ears. You're... hmmm... you're probably a bunny rabbit!" + "Great!" said the rabbit. "Thanks, I really owe you one!" + "Well," replied the snake, "I don't know what I am, either. Do you +suppose you could try and tell me?" + The rabbit ran his paws all over the snake. "Well, you're low, cold +and slimey..." And, as he ran one paw underneath the snake, "and you have +no balls. You must be an attorney!" +% +A businessman was awe-struck by the beautiful redhead at the hotel bar. +Seeing his interest, she quietly informed him that she was a prostitute +and that her price was $500. He was taken aback by the price, but after +a few minutes of thought he took her up to his room. She spent a few +minutes in the bathroom and was shocked when she came out to see him +masturbating furiously on the bed. "What are you doing?", she asked. + "Baby, for $500, you're not going to get the easy one!" +% +A Catholic and a Methodist were carpooling to work one morning, when a brick +fell out of the sky, which startled the driver and caused him to swerve off +the road and into a telephone pole, totaling the car. + The two stumbled out of the wreckage, both feeling quite fortunate +to be alive. The Catholic crossed himself. Then the Protestant crossed +himself in an accentuated manner. + "Hey," said the Catholic, "I why did you cross yourself, you're not +Catholic!" + "Just checking," replied his friend, crossing himself again, +"spectacles, testicles, wallet, pen." +% +A certain bartender decided to try to get a few new customers into his bar +by starting a gimmick involving a horse. His claim was that if anyone could +get the horse to laugh, he would give them drinks on the house. The idea +worked well and business improved until one night a young man walked in and +whispered in the horse's ear. The horse immediately burst into hysterical +laughter and the man won the contest. The next night the same thing +happened: the man whispered in the horse's ear and the horse burst out +laughing. The next night, the bartender decided to change the rules. Now, +a person had to get the horse to cry in order to win the drinks on the +house. Later on that night, the same guy came in and said "Can I take the +horse into the bathroom for a minute? I promise I'll make him cry." The +bartender agreed and sure enough, when the man came out leading the horse, +the horse was crying his eyes out. The bartender could take it no more and +said, "How did you make him laugh the other two nights?" + "I told him that my dick was bigger than his", replied the man. + "How did you make him cry tonight?" + "I proved it." +% +A chiseler is a man who goes stag to a wife-swapping party. +% +A Christian is a man who feels repentance on Sunday for what he did on +Saturday and is going to do on Monday. + -- Thomas Ybarra +% +A clitoris is a lot like Antarctica; +most men know it's there, but few really care. +% +A couple more shots of whiskey, women 'round here start looking good. + + [something about a 10 being a 4 after a six-pack? Ed.] +% +A couple took their young son for his first visit to the circus, and by +chance their seats were next to the elephant pen. When his father left +to buy popcorn, the boy piped up, + "Mom, what's that long thing on the elephant?" + "That's the elephant's trunk, dear," she replied. + "No, not that." + "Oh, that's the elephant's tail." + "No, Mom. Down underneath." + His mother blushed and said, "Oh, that's nothing." + Pretty soon the father returned, and the mother went off to get +a soda. As soon as she had left the boy repeated his question. + "That's the elephant's trunk, son." + "Dad, I know what an elephant's trunk is. The thing at the +other end." + "Oh, that's the elephant's tail." + "No. Down there." + The father took a good look and explained, "That's the elephant's +penis." + "Dad, how come when I asked Mom, she said it was nothing?" + The man took a deep breath and replied, "Son, I've *spoiled* +that woman." +% +A definition of teaching: casting fake pearls before real swine. + -- Bill Cain, "Stand Up Tragedy" +% +A drunk was sitting at the end of the bar in a popular single's place, +watching a young, good-looking man working his way through the women. The +guy didn't appear to be having much luck, and he was only spending a few +moments with each woman. As he worked his way closer, while he couldn't +hear what the young man was saying, he realized that the women were somewhat +shocked at his approach. Finally, the man approaches a pretty brunette and +they hit it off immediately. After a bit of quiet conversation, she handed +the young man her hotel key and they started off for the elevators. As they +passed the drunk, he stopped the lucky one and asked him what his method was. + "Well," the man replied, "It's simple. You say 'Tickle your ass +with a feather?' If she sounds interested, you take it from there. If she +sounds angry, you smile and say 'Typically nasty weather.'" + The drunk says "Ohhhhh, got it, I got it!" and walks over to a woman +at the end of the bar to try out his new approach. Getting her attention, +he smiles and says "Fuck me!" + "What?!?!?" she screams. + "Raining like hell, isn't it?" +% +A figure with curves always offers a lot of interesting angles. +% +A fisherman from Maine went to Alabama on his vacation. He rented a boat, +rowed out to the middle of the lake, and cast his line, but when he looked +down into the water he was horrified to see a man wrapped in chains lying +on the bottom of the lake. He quickly rowed to shore and ran to the police +station. "Sheriff, sheriff," he gasped, there's a guy wrapped in chains, +drowned in the lake!" + "Now ain't that jest like a Yankee," drawled the sheriff, "to steal +more chain than he can swim with?" +% +A fool is a man who worries about whether or not his lover has integrity. +A wise man, on the other hand, busies himself with deeper attributes. +% +A friend of mine received a note through the mail advising him, + "If you don't stop making love to my wife, I'll kill you." +The trouble is, the note wasn't signed. +% +A friendly message from your Internal Revenue Service: tax time is +coming again soon. Bend over. +% +A gambler was telling a friend about his first junket to Las Vegas and how +hard it was to get any sleep. + "I was awakened at one, two and four in the morning by a +drunken chorus girl banging on the door and screaming," he recalled. + "That's terrible," the friend said." How'd you ever get any sleep?" + "At five o'clock I unlocked the door and let her out." +% +A game can by God repent or we'll punish it. +That's how they did it in Salem in the seventeenth century, +and that's how we'll do it now. + -- Dick Hamlet +% +A genius is a queer who can whistle while he works. + -- Bobby Knight +% +A girl's conscience doesn't really keep her from doing anything wrong-- +it merely keeps her from enjoying it. +% +A gorgeous young sophomore is having an affair with her English +professor. She goes home to visit her family for Christmas vacation +and when she gets back, she immediately invites him over for the +night. As soon as he walks through the door she hugs him and +asks, "Were you blue while I was away?" + "Blown, my dear," the professor corrects her, "blown." +% +A grade school teacher, who was doing a unit on World War II heard that +the father of one of her students had been a fighter pilot during the war +with one of the Scandinavian Air Forces. She invited him to come in and +speak to the class. The guy was more than happy to talk, and began with +a story about a morning patrol where he had been nearly shot down. + "We had been up for about 20 minutes flying over enemy held +territory, when we noticed, just in time, 3 fokkers diving on us from above." +At the first mention of `fokkers' the class giggled a little bit. + "Our group broke formation, and began the dog-fighting. As we +fought, we noticed 2 more fokkers coming at us from above and 2 more +fokkers, fresh from the landing field, come to join the battle". +At this second and third mention of `fokkers' the class was almost laughing +openly, and the teacher interrupted the story to ask the pilot to explain +to the class that a 'fokker' was a particular type of plane flown by the +German Air Force. + He replied, "Ya, dat is true, but these fokkers were Messerschmidts". +% +A group of scientists discovered an apelike creature in the jungle, which +they hoped would prove to be the missing link. The proof of their theory, +however, required that a human mate with the animal so that they could see +what characteristics the offspring would assume. Needing volunteers, the +scientists placed an ad in the paper: "$5000 to mate with ape." + Almost immediately, they received response from a man who said he +would be willing to take part in the experiment, with three conditions. + "First," he said, "my wife must never know. Second, any children +must be baptized. And, third, I'd have to pay in installments." +% +A guy comes into a bar with a frog and sets it down next to the prettiest +girl there. + "This is a very special frog," he informs her. "His name is Charlie." + "What's so special about this frog?" she asks. +He's reluctant to tell her, but when pressed, explains that, + "This frog can eat pussy." +The girl slaps him, knocking him off his chair, and accuses him of telling her +a filthy lie. But no, he assures her, it's completely true. And after much +discussion, she agrees to come back to his apartment to see the frog in action. +She positions herself appropriately, the guy carefully takes out the frog, and +says, "Okay, Charlie, do your stuff!" The frog is immobile, despite his +owner's exhortations, and the girl starts to snicker. + "Okay, Charlie, do your stuff!" + "C'mon Charlie, do your stuff!" +By now, the girl is laughing openly. + "Okay, Charlie," says the guy, moving the frog out of the way, "I'm +only going to show you one more time." +% +A guy walks into a bar, orders a beer, carries it to the bathroom and dumps it +into a urinal. Over the course of the next few hours, he goes back to the bar +and repeats this sequence -- several times. Finally the bartender got so +curious that he leaned over the bar and asked him what he was doing. + Replied the customer, "Avoiding the middleman." +% +A hand in a bird is worth two on 'er bush. +% +A hand in the bush is worth two on the bird. +% +A hard man is good to find. +% +A huge Rambo-like fellow walked into a tavern and took a seat in the middle of +the bar. After downing a double in one gulp, he glared at the six men to his +right and said, "You're all no-good motherfuckers. Anyone have a problem with +that?" + When no one said a word, the brawny fellow ordered another whiskey, +downed it in one gulp, turned to the five men on his left and said, "You're +all cocksuckers. Anyone have a problem with that?" + Everybody on the left stared silently into his drink. Suddenly, a man +on the right stood up and started walking toward the big guy. "Hey, asshole!" +the thug bellowed. "You got a problem with what I said?" + "No problem at all," came the reply. "I was just sitting at the wrong +end of the bar." +% +A hunter saved a native boy from a boa constrictor. In gratitude, the boy gave +the hunter a magic gorilla prick. The lad said the prick would do anything you +told it to do until you told it to do something else. When the hunter returned +home to England, he put the magic gorilla prick on the mantle along with some +of his other trophies. His wife thought it quaint and his story charming. But +soon, the hunter went a-safariing again. He was away for months. One evening, +the woman eyed the MGP carefully and whispered, "Gorilla Prick, fuck me." +Whereupon the thing jumped off the mantle and began to bang her with great +thoroughness and ferocity. For the first twenty minutes it was pure heaven, +but after the next few minutes it became fatiguing, and she said, "Stop it, +Gorilla Prick," but it didn't. After a bit more she was screaming "Stop! +Stop!" at the thing and trying to pull it out of her smoking hole. But nothing +worked. Finally, the butler bursts into the room, summoned by her screams. + "Saunders, help me please!" + "But what is it, Madame?" + "It's a Magic Gorilla Prick!" + "Gorilla prick, my ass!! ... AAAaaeeeeeeeeeiiiiiiiii!!!!!!" +% +A husky foreigner, looking for sex, accepted a prostitute's terms. When +she undressed, he noticed that she had no pubic hair. The man shouted, +"What, no wool? In my country all women have wool down there." + The prostitute snapped back, "What do you want to do, knit or fuck?" +% +A lanky Texan was mad because Texas had just become the second largest state in +the Union, so he made up his mind to move to Alaska. He drove for three days +and three nights to get there and finally he came to what looked like the state +line. He halted his car and walked up to the border guard. "Hi, there! How +do I become a resident of this here biggest state?" demanded the Texan. + The guard looked him up and down and grinned. "Waal," he answered, +there are three things you gotta do to get in. First, drink down a quart of +110 proof corn liquor without blinkin'. Second, kill a grizzly bear, and +third, make love to an Eskimo woman." + "Sounds easy enough," said the Texan. "Where can I get a quart of +this here corn liquor?" + "Got one right here," replied the guard. + The Texan gulped down the whiskey without batting an eyelash. +"Now, do you happen to know where I can find me a grizzly?" + "Yep," answered the guard, "there's a big b'ar over that way, 'bout +a mile... lives in a cave on that cliff." + The Texan lurched merrily off. About an hour later he returned +with his clothes almost torn off and his face scratched and bloody. He was +smiling happily. "Now," he roared, "where's that damn Eskimo woman you +want killed?" +% +A lisping fag fell off a pleasure yacht and began to scream. "Help! Help, I +can't thwim!" One of the other passengers heard the caterwauling and leaned +over the rail, remarking, "Really, there's no need to scream. Just reach out +and grab that buoy near you." To which the floundering sodomite answered, +"Buoy! Oh, thith ith no time for thekth, you degenerate... I'm dwowning!" +% +A little bit of rape is good for a man's soul. + -- Norman Mailer +% +A little Mexican boy comes home from school one day and says to his grand- +father, "Granddaddy, today my teacher said that Pancho Villa, the bandit +used to raid towns around here! Did you ever know him?" + "Do *I* know Pancho Villa?" exclaims the man. "Why, boy, before +your father was born, I was riding into town on my horse. Suddenly, from +behind the bushes leaped Pancho with his six-guns drawn! He told me to get +down off the horse and to give him all my money. Then, he told me to scoop +some manure from the ground and eat it!" + "I refused at first, but Pancho had the guns, so I ate the shit. +And he started laughing so hard that it scared his horse into rearing up -- +I grabbed the guns from his hands! I said to Pancho, `Okay, Pancho, now +it's your turn -- you eat the shit!' I had the guns, so he ate the shit. + "And you ask me, child, if I know Pancho Villa, the bandit! Why, +we had *lunch* together!" +% +A lively case was in progress in the District Court at Lick Skillet. Judge +Flannery was presiding, and on the witness stand was Tush Bumpass. + "From where ah was standin'", drawled Tush, "Ah could see he'd +backed 'er up agin' thet there wall, and ef Ah ever sawed a screwin' match, +thet one wuz!" + "Mr. Bumpass," the Judge interrupted, "I'd prefer that you not use +the word 'screw' in the courtroom. Say 'intercourse' instead." + Tush looked puzzled. "Intercourse? Whut's thet, Judge?" + His Honor sighed. "It's a technicality of language that you're +probably not aware of. Never mind. Please continue." + "Well, like ah said, he had 'er shoved up agin' thet wall, an' he +was... uh... intercoursin' 'er, an' he give 'er the crossjostle, the Chicago +Stroke, an she let out with a holler thet..." + "One moment," interrupted the Bench. "What is this, ah, Chicago +Stroke, Mr. Bumpass?" + "Well, thet's a technicality of screwin', Judge, thet you're probably +not aware of!" +% +A lover without indiscretion is no lover at all. + -- Thomas Hardy +% +A male gynecologist is like an auto mechanic who has never owned a car. + -- Carrie Snow +% +A man always needs to remember one thing about +a beautiful woman. Somewhere, somebody's tired of her. +% +A man and a woman got married. Although it is the first time for the +husband, it is the woman's second marriage. As they go to bed on their +wedding night, the wife says to her husband: + + "Dear, there's something I must tell you. I'm a virgin." +Naturally, the husband is surprised. + "You've been married before!", he says, "How can you still be a +virgin?" + "Well, it's all quite simple," she retorted, "my husband was a +computer programmer." + "What's so odd about that?", he asked. "Why would you still be +a virgin after a marriage to a programmer?" + "Well", she said, "all he did was sit on the edge of the bed and +tell me how great it was going to be." +% +A man arrived home early to find his wife in the arms of his best friend, +who swore how much they were in love. To quiet the enraged husband, the +lover suggested, "Friends shouldn't fight, let's play gin rummy. If I win, +you get a divorce so I can marry her. If you win, I promise never to see +her again. Okay?" + "Alright," agreed the husband. "But how about a quarter a point +on the side to make it interesting?" +% +A man can sleep around, no questions asked, but if a woman makes nineteen +or twenty mistakes she's a tramp. + -- Joan Rivers +% +A man goes into a bar and begins to tell a Polish joke. The man sitting +next to him, a big hulking powerhouse, turns and says menacingly, "*I'm* +Polish." + He then calls out, "Ivan! Come over here and bring your brother." +Two men, bigger than the first, appear from the back room. + "Josef!" the man calls out, "come here a second, and bring Lendl +with you." Two more men appear, and all five men crowd around the man with +the joke. + "Now," says the first Polish man, "do you want to finish that joke?" + "Nah," says the man. + "Oh, no? And why not? I'm sure it was very funny," says the Polish +man, opening and closing his fist. "Are you scared?" + "No," replies the man. "I just don't feel like having to explain it +five times." +% +A man goes into a hospital for a routine appendectomy. When he wakes up +from the anesthesia, he sees a large group of doctors gathered anxiously +around his bed. + "What happened?" he asks worriedly. + "Well," says one of the doctors, "there was a small clerical error, +and you got mixed-up with another patient. Instead of an appendectomy, we +performed a sex-change operation. Your penis has been removed and a vagina +has been crafted into place." + "WHAT!!!" screams the man. "That's horrible! What am I going to +tell my wife? Can't you reverse it? This means I'm never going to experience +another erection!" + "Well, you will, you *will*," reassures the doctor, "but it will, of +course, have to be someone else's." +% +A man is as old as the woman he feels. + -- Groucho Marx +% +A man is driving down the road on his way to Salerno. By the roadside he +sees a man hitchhiking and stops to pick him up. As the man gets into his +car he suddenly pulls out a gun and makes the driver get out of the car. + "All right, buddy," says the man, "I want to you jerk off." + "What!?" says the man, disbelievingly. + "Go ahead, do it!" says the hitchhiker. + So the driver masturbates, and when he is through, says, "All right, +I did what you wanted, can I go now?" + "Nope," says the hijacker. "Do it again." + "Again?" the driver exclaims. "I just did it." + "Do it again." + It takes a little longer this time, but he manages to come again. +Panting, he turns to his tormenter and again asks if he can leave. + "Yes," the man replies, "but only after you've done it one more +time." + The guy is really scared now; he's starting to sweat. It takes him +twenty minutes, this time, but he finally comes a third time. + "Listen, buddy, can I please leave now?" + "Yeah," says the man, lowering his gun. "And this is my daughter; +I want you to drive her into Salerno." +% +A man is marooned on a desert island with a female sheep and a male Doberman +for companionship. The animals soon get it on sexually, and all goes well +until the man becomes unbearably horny and makes his move for the ewe, at +which point the dog interposes himself, snarling, fangs bared. Months later, +a raft drifts into sight. The sailor swims out, finds a beautiful girl on it, +takes her to shore and feeds and comforts her. + "You are so good to me," she responds gratefully. "I'd do absolutely +anything to show my gratitude." + "Would you?" smiles the sailor as he unfastens the length of rope +that holds up his ragged pants. "Well, then, here -- use this as a leash +and take that damn dog for a walk!" +% +A man is playing golf at a very exclusive country club when he hits a hole- +in-one. As he takes his ball from the cup, a genie appears. + "Since you've made a hole in one, you may have a single wish. What +is your heart's desire?" + "Great!", replies the man. I want a longer penis." + "Your wish is granted," says the genie, and promptly disappears. + As the golfer continues through the rest of the course he can +feel his penis slowly growing, to an extent that it's becoming uncomfortable. +By the time he completes the 18th hole it's extended down his pants leg to +his knee. Thinking to himself that this isn't quite what he had in mind, he +grabs a bucket of balls and heads back out onto the course. Three weeks later, +he manages another hole-in-one and the genie reappears. + "Since you've made a hole in one, you may have a single wish. What +is your heart's desire?" + "Yeah, I know all that," replies the man. "Listen, could you make +my legs longer?" +% +A man is talking to his wife when he mentions that there's a "Big Dick" +contest at one of the bars in town and the prize for the winner is $1000. + "Oh, honey," she exclaims, "I don't want you taking that thing +out in public!" + "But baby," he says, "$1000 is a lot of money." + "I don't care!" she says, stamping her foot. "I don't want you +showing that thing to everybody." + And the subject isn't mentioned again, until the following evening +when he hands her $1000. + "Did you enter the contest, even after I told you I didn't want +you to?" she asks. + "Please forgive me, turtle dove," he says. "I thought we could use +the money." + "You mean you took that thing out for everybody to see?" she says, +tears welling up in her eyes. + "Only enough to win, honey, only enough to win." +% +A man is walking along when he sees a funeral procession going by, the +longest procession he's ever seen. It seems to consist of the hearse, +followed by a man with a Doberman on a leash, followed by several hundred +other men. After watching for a few minutes, he can restrain his curiosity +no longer, and walks up to one of the mourners. + "Excuse me, sir, I don't mean to bother you in your moment of grief, +but this is the strangest procession I've ever seen. What happened, who is +the funeral for?" + "Well, it's nothing special, really, the funeral is for the mother- +in-law of the man at the front of the procession. You see, his Doberman +attacked and killed her." + "That's awful!", replies the onlooker. "But... um... tell me, you +don't think he'd let me borrow that dog, do you?" + "Get in line, buddy," replies the mourner, "get in line." +% +A man is walking down the street when he sees a man with four arms, and +antennae coming out of his head. He goes up to him and says, "You're not +from around here, are you?" + "No," replies the man with the antennae. + "You know," continues the man, "I don't think you're an American, +either. In fact, I bet you don't even come from this planet!" + "Right again," says the man with four arms. "I'm from Mars." + "Well," says the man, "that's quite some configuration you've got +there, with those four arms and those antennae and everything." + "We Martians all have four arms and antennae." + "Well, that's just amazing," replies the man, "and how about that +big gold colored plate in the middle of your chest, what's that, do all +Martians have that?" + "Well, no," says the Martian. "Not the *goyim*." +% +A man marries to have a home, but also because he doesn't want to be +bothered with sex and all that sort of thing. + -- W. Somerset Maugham, "The Circle" +% +A man needs a mistress, just to break the monogamy. +% +A man never minds being in the doghouse +as long as he can get his tail outside. +% +A man rushed into a bar and breathlessly asked the bartender to pour him +three straight scotches. The bartender complied, and watched as he downed +them one after another. + "Why three scotches?" the bartender asked as he paused for breath. + "Well, to be honest, I'm celebrating my first blow-job." + "Hell, congratulations, the next one's on me." + "No, thanks," the young man replied, "if the first three didn't get +the taste out of my mouth, I don't think another one will." +% +A man sat down next to another passenger on a train recently and couldn't +help overhearing his conversation out the window with a man standing on +the train platform. + "Thanks for putting me up while I was here, Sam," said the passenger. + "Glad to do it," said the other man. + "Thanks for the food and the drinks -- everything was wonderful." + "It was a pleasure," said the man. + "And thank your wife, Sam, she was great," said the passenger, +"she was a truly great lay." + The man was rather taken aback by this exchange and he later turned +to his fellow passenger and said: "Pardon me sir, but did I understand you +to say that your friend's wife was a great lay?" + "Well," said the other passenger, "I didn't REALLY enjoy it. But +Sam is a helluva nice guy." +% +A man walks into the doctor's office and the doctor says to him, "I've got +some good news and some bad news." + "Tell me the good news first" the patient replies. + "The good news is that your penis is going to be about two inches +longer and about an inch wider," the doctor says. + "That's great!" says his patient. "What's the bad news?" + "Malignant." +% +A man was playing golf one day when a little frog hopped out the water at a +water hazard and croaked, "I am a magic frog, and since you are the 10,000th +person to play through here, I'm prepared to offer you one of two magic gifts: +First, for a whole year you can have the most fabulous sex life that anyone +ever had; beyond your wildest dreams. Or, second, for a whole year you can +be the best golfer the world has ever known. Which do you prefer?" The man +thought a bit and said that he'd take the golf. Well, the man holed his wood +shot from where he was, completed the course in an average of 2 per hole, and +went round in 22. Quickly he attracted the attention of the sports world, +and became the world's best-known golfer, setting course records wherever +he went. A year later he was playing the same course inhabited by the frog, +and at the water hazard the frog hopped out and said, "Well, the year is up, +and you now revert to the 18-handicap player you were before. But tell me, I +was a little surprised that you chose the golf -- I take it your sex life is +outstanding?" The man said, "Well, I have no complaints in that department +at all, which is why I chose the golf." "How many times did you engage in sex +last year?" inquired the frog. The man thought a little and said, "Oh, eight +or ten times, I guess." "Damn," said the frog, "that doesn't strike me as very +satisfactory." "Oh, I don't know," replied the man, "it doesn't seem so bad +for a Catholic priest from a little town in South Dakota." +% +A man was talking to his best friend about his married life. "You know," he +says, "I really trust my wife, and I think she has always been faithful to +me, but there's *always* that doubt. There's *always* that little doubt." + "Yeah, I know what you mean," his friend replies. + "Well, buddy, I've got to leave on a business trip this weekend, +and I wonder... well... would you watch my house while I'm gone? I trust +her, it's just that there's *always* that doubt." + The friend agreed to help out and two weeks later gave his report. + "I've got some bad news for you," says the friend. "The evening +after you left I saw a strange car pull up in front of your house. A man +got out of the car and went in the house and had dinner with your wife. +After dinner they went upstairs and I saw your wife kissing him. Then, he +took off his shirt and she took off her blouse. And then the light went +out." + "*Then* what happened?" said the husband, his eyes opening wide. + "Well, I don't know," replied the friend, "it was too dark to see." + "Damn!" roared the husband. "You see what I mean? There's *always* +that doubt!" +% +A man who likes to lie in bed can usually +find a girl willing to listen to him. +% +A man with no arms walked into a bar and asked for a beer. The bartender +shoved the foaming glass in front of him. + "Look," said the customer, "I have no arms -- would you please hold +the glass for me? + "Sure," said the bartender. + "If," said the customer, "you'll reach in my right hand coat pocket, +you'll find the money for the beer." + The bartender got the money and rang up the bill. + "You've been very kind," said the customer. "Just one thing more. +Where is the men's room?" + "Up the street to the light," said the bartender, "turn left, walk +two blocks, and there's a gas station on the corner." +% +A man without a God is like a fish without a bicycle. +% +A man without a woman is like a statue without pigeons. +% +A man's father is very, very old, and the son can't afford very good treatment +for him, so he's in a rather shabby, run-down nursing home. One day the son +wins a lottery -- and the first thing he does is install his father in the best +old age home that money can buy. + On the first day the old man is sitting watching TV, and he starts +to lean a little bit to one side. Right away a nurse runs over and gently +straightens the old man. A little later he's eating dinner, and when he +finishes, he begins to tip a little bit to one side. Another nurse runs +over and gently pushes him upright again. + The son visits his father later that evening and asks him how he's +being treated. + "It's a wonderful place, son," replies the father. "I really like +it here, gourmet food, color TV's in every room, the service is unbelievable, +there's just one little problem." + "What's that, Dad?" + "They won't let you fart." +% +A midget had a date with a very tall girl. It was a quiff-hanger. +% +A Mormon is a man that has the bad taste and the religion to do what a good +many other people are restrained from doing by conscientious scruples and +the police. + -- Mr. Dooley +% +A mouse was sniffing around in a meadow, when an eagle swooped down, +swallowed him whole, and rose up in the air again. The mouse worked +his way through until his head was sticking out of the bird's asshole. + "Say, good buddy," he squeaked, "how high up are we, anyway?" + "Oh, about two thousand feet," answered the eagle. + The mouse's eyes bugged out. "Hey, you wouldn't shit me, would you?" +% +A new lumberjack had just finished his first month in the lonely wilds of +Alaska, where there were no women for miles. He finally couldn't take it +anymore and nervously asked the foreman what the other men did to relieve +the pressure. + "Try the hole in the barrel outside the shower," suggested the +foreman. "The other men swear by it." + The lumberjack dubiously tried it out and had the experience of +his life. "That barrel is fantastic! Warm! Wet! I'm going to use it +every day!" + "Every day but the third Wednesday of the month," one of the +other men replied. + "Why not then?" + "That's your day in the barrel." +% +A New Yorker is riding down the road in his new Mercedes. So intent is he +on the cocaine in his hand he completely misses a turn and his car plunges +over the five-hundred-foot cliff to be smashed into pieces at the bottom. +As the on-lookers rush to the edge of the cliff they see him fifty feet +from the top of the cliff clinging to a stunted bush with all his strength. +"Dear Lord," he prays, "I never asked you for nothin' before, but I'm askin' +you now: Save me, Lord, save me." + Booms the Lord: "LET GO OF THE BRANCH." + "But Lord, if I do that, I'll fall!" + "TRUST ME, LET GO OF THE BRANCH." + "But Lord, I'm gonna fall and die..." + "TRUST ME TO SAVE YOU. LET GO OF THE BRANCH." + Okay, Lord, I'll trust you, here I... here I go!" And he falls +to his death. + "DUMB YANKEE." +% +A New Yorker was driving through Berkeley when he saw a big crowd gathered +by the side of the street. Curiousity got the better of him and he leaned +out of his window to ask an onlooker what was going on. The fellow explained +that a protestor against the U.S. position in South America had doused +himself with gasoline and set himself on fire. "That's terrible," gasped +the man. "But why is everyone still standing around?" + "Well, they're taking up a collection for his wife and kids," the +onlooker explained. "Would you be willing to help?" + "Well, sure," replied the New Yorker. "I suppose I could spare a +gallon or two." +% +A non-vegetarian anti-abortionist is a contradiction in terms. + -- Phyllis Schlafly +% +A Norse god decides to assume human form, come down from Valhalla, and check +out the local action. He finds himself in the piano bar of Caesar's Boardwalk +Regency in Atlantic City, and sits down to sip an Aquavit or two. After a few +minutes, an extremely attractive young woman, having been taken with his form +and features, sends a drink down to him, then joins him. The chemistry between +them is immediate and total. They have the next drink in her room, and spend +the night repeatedly making passionate love. The woman has no idea of her +partner's true identity; all she knows is he's driving her mad. In the +morning, the Norse god jumps into the shower. Reflecting on the previous +night he decides that he wants to be honest with his new lover. Without even +bothering to wrap himself in a towel, he leaps from the shower into the room, +where the woman is still in bed, exhausted. He kneels beside the bed, looks +deep into her eyes and says, "Honey, I have something very important to tell +you -- I'm Thor!". + The woman looks at him. "You're Thor?", she says. "My inthides feel +like grated cheeth!" +% +A nubile female virtually never experiences difficulty in finding willing +sexual partners, and in a natural habitat nubile females are probably always +married. The basic female "strategy" is to obtain the best possible husband, +to be fertilized by the fittest available male (always, of course, taking +risk into account), and to maximize the returns on sexual favors bestowed: +to be sexually aroused by the sight of males would promote random matings, +thus undermining all of these aims, and would also waste time and energy +that could be spent in economically significant activities and in nurturing +children. A female's reproductive success would be seriously compromised +by the propensity to be sexually aroused by the sight of males. + -- Donald Symons, "The Evolution of Human Sexuality", + attempting to explain the lack of female interest in + pornography. +% +A nubile female virtually never experiences difficulty in finding willing +sexual partners, and in a natural habitat nubile females are probably always +married. The basic female "strategy" is to obtain the best possible husband, +to be fertilized by the fittest available male (always, of course, taking +risk into account), and to maximize the returns on sexual favors bestowed: +to be sexually aroused by the sight of males would promote random matings, +thus undermining all of these aims, and would also waste time and energy +that could be spent in economically significant activities and in nurturing +children. A female's reproductive success would be seriously compromised +by the propensity to be sexually aroused by the sight of males. + -- Donald Symons, "The Evolution of Human Sexuality", + attempting to explain the lack of female interest in + pornography. +% +A nuclear family is out golfing one day, when it becomes clear that Dad isn't +going to win any trophies, at least on this course. On the 3rd hole, after +two miserable bogies, he misses a two foot putt and exclaims, "Shit!" + His wife glances over at their sixteen year old daughter and says +nothing. + On the fourth hole Dad tees off with an incredible hook, and, after +the inevitable exclamation, his wife reproves him with "Honey!" + This continues on, with his golfing getting worse and his wife getting +more and more upset about his language. Finally, on the 17th hole, he again +misses a very easy putt. Flinging his club down, he curses the hole, the +club, and the sunset, using the word "fuck" for the first time. His wife +whirls around and cries, "Honey! Our daughter is standing right next to you!" + Feeling remorseful, but somewhat defensive, he turns to the +daughter and says, "Well, Cindy, you've heard that word before, haven't +you?" + "Yes," the daughter replies, "but never in anger." +% +A nymph hits you and steals your virginity. +% +A pair of suburban couples who had known each other for quite some time +talked it over and decided to do a little conjugal swapping. The trade +was made the following evening and the newly arranged couples retired to +their respective houses. After about an hour of bedroom bliss, one of +the wives propped herself up on an elbow, looked at her new partner and +said: "Well, I wonder how the boys are getting along?" +% +A pederastic necrophiliac is a gentleman who is +true to the very end of the end of a friend. +% +A perfectly honest woman, a woman who never flatters, who never manages, +who never cajoles, who never conceals, who never uses her eyes, who never +speculates on the effect which she produces, who never is conscious of +unspoken admiration, what a monster, I say, would such a female be! + -- Thackeray +% +A performing octopus could play the piano, the zither and a piccolo, and his +trainer wanted him to add the bagpipe to his accomplishments. With this in +mind, a bagpipe was placed in the octopus's room, and the trainer awaited +results. Hours passed, but no bagpipe music was heard. Since the talented +octopus usually learned quickly, the trainer was disturbed. Opening the door +the next morning, he asked the octopus, + "Have you learned to play that thing yet?" + "Play it!" retorted the octopus. "I've been trying to lay it all +night!" +% +A person who has both feet planted firmly +in the air can be safely called a liberal. +% +A policeman is walking his beat when he finds an inebriated man collapsed +against a building, weeping uncontrollably and holding his car keys in his +hands. He's moaning something about how "They took my car!" Seeing that +the man is well-dressed, the officer suspects that he may have a real case +of theft on his hands and attempts to question the man. + "What happened to your car?" + "My car, it was right on the end of my key, and those bastards +stole it! Please officer, get my Porsche back. My God, it was right on +the end of my key! Where is it? They stole it and it was right here; +right on my key!" + "OK, OK, stand up, we'll see what we can do. You'll have to come +down to the stat... Mister, your fly's unzipped and you're exposing +yourself!" + "Oh my God, they stole my girlfriend!" +% +A pretty woman can do anything; an ugly woman must do everything. +% +A proctologist is a doctor who puts in a hard day at the orifice. +% +A rabbi and a priest are sitting together on a train, and the rabbi leans +over and asks, "So, how high can you advance in your organization?" + The priest replies, "Well, if I am lucky, I guess I could become a +Bishop." + "Well, could you get any higher than that?" + "I suppose that if my works are seen in a very good light that I +might be made an Archbishop." + "Is there any way that you might go higher than that?" + "If all the Saints should smile, I guess I could be made a Cardinal." + "Could you be anything higher than a Cardinal?" + Hesitating a little bit, the priest said, "I suppose that I could +be elected Pope, but only if it's God's will." + "And could you be anything higher than that, is there any way to go +up from being the Pope?" + "What?! I should be the Messiah himself?!" + The rabbi leaned back and smiled. "One of our boys made it." +% +A real estate agent, looking over a farmer's house for possible sale, +commented to the farmer how sturdy the house looked. + The farmer replied, "Yep, built it with my bare hands... did it +the hard way. The steps to the front door, here, carved 'em out of +field stones... did it the hard way. That hardwood floor in the living +room, dovetailed the pieces myself... did it the hard way. The ceiling +beams, made 'em out of my own oak trees... did it the hard way." + Just then, the farmer's gorgeous daughter walked in. The farmer +looks over at the real estate agent who is trying not to stare too +obviously and smiles. "Yep... standing up in a canoe." +% +A retired schoolteacher finally decided that she was tired of living alone +and wanted some companionship, so after a good deal of thought she decided +to visit the local pet shop. The owner suggested a parrot, with which she +could conduct a civilized conversation. This seemed to be an excellent +idea, so she bought a handsome parrot, sat him on a perch in her living room, +and said, "Say 'Pretty boy.'" Silence from the bird. "Come on now, say +'Pretty boy ... pretty boy.'" + At long last, disgustedly, the bird said, "Oh, shit." + Shocked, the schoolteacher said, "Just for that, you get five minutes +in the refrigerator." Five minutes later she put the shivering bird back on +its perch and said, "Now let's hear it: 'Pretty boy ... pretty boy.'" + "Damn it, wouldja lay off, lady?" said the parrot. + Outraged, the woman grabbed the bird, said, "That's it! Ten minutes +in the freezer," and slammed the door on him. + Hopping about to keep warm, what does the parrot come across but a +big frozen turkey waiting for Thanksgiving. Startled, he squawks, "My God, +you must have told the bitch to go fuck herself!" +% +A Scotsman clad in a kilt walks up to the counter in an Apothecary. From +his pocket he takes a plaid condom that has been heavily used, torn, patched, +sewn, and is currently split down one side. He asks the proprietor, "How much +to replace this, Ian?" The proprietor says, "Why, Angus, that'l be four +pence." Then the Scotsman asks, "How much to repair?" The prop. looks the +condom over carefully, and says "Three pence to repair." The Scotsman ponders +for a moment, then says, "I'll be back." + Later in the day, the Scotsman returns with a smile on his face and +says, "Ian, the Regiment has voted to repair!" +% +A Scotsman clad in kilts left a bar one evening fair. +One could tell by how he walked, he'd drunk more than his share. +He staggered on until he could no longer keep his feet. +So he stumbled off into the grass to sleep beside the street. + +Later on two young and lovely girls just happened by. +One says to the other, with a twinkle in her eye. +"See yon sleeping Scotsman so young and handsome built?" +"I wonder if it's true what they don't wear beneath their kilts?" + +They stepped up to the Scotsman, so young and fancy free. +They lifted up his kilt above the waist so they could see. +And there behold for them the view beneath his Scottish skirt, +Was nothing more than God had graced him with upon his birth. + +They marveled for a moment, then one said, "Best be gone." +"Let's leave a present for our friend before we move along." +As a gift they left a blue ribbon tied into a bow, +Around the bonny star of the Scot's kilt lifting show. + +The Scot awoke to nature's call and stumbled to the trees. +Behind a bush he lifts his kilt and gawks at what he see's. +Then in a startled voice he says to what's before his eyes, +"Och, lad I dinna know whar' ya been, but I see ya won first prize." + -- Mike Cross, "The Scotsman" +% +A sheriff arrived at the scene of the horrible accident just as his deputy, +all alone, was climbing down from the controls of a bulldozer. "Say, +Junior, what's goin' on?" asked the sheriff. + "A bus full of migrant workers went out of control and over the +cliff, and I just finished buryin' 'em," explained the deputy. + "Good work, boy," replied the sheriff. "Pretty gory work -- were +all of 'em dead?" + Junior nodded sadly and said, "Some of them said they weren't, but +you know how them Mex'cans lie." +% +A shy young man, preparing himself for what he hoped would be the ultimate sex +act with a pretty young lady, went into a drugstore to inquire about sizes and +styles of condoms. The lusty proprietress, a buxom widow, saw an opportunity +for fun at the lad's expense. + "Come in the back and try some on for size," she said, taking his hand. +The widow unzipped the youth's fly and watched the small instrument grow in +her hand as she measured it. When the weapon had unfurled to a rosy seven and +a half inches, the young man, unable to contain himself, had an orgasm with a +tremendous discharge. After recovering, he asked the widow if she could now +give him the proper size. + "I'll do more than that," she said. "I'll give you free meals and a +half interest in the store." +% +A son takes his Italian immigrant father to his first baseball game. It +happens that it's Old Timer's Day at Yankee stadium and all the baseball +greats are there. The son escorts his father to box seats right on the +third base line and seats him with beer and a Yankees cap. + The first batter up is Mickey Mantle. On the second pitch he +swings that bat and CRACK! The ball ricochets off the wall for a double. +The crowd goes crazy and the father stands up and yells, "Runna Mickey! +Runna Mickey!" + The next batter up is Joe DiMaggio. The pitcher, pitching him +carefully, works him to a 3-2 count and just misses the outside corner. + "Ball four!" yells the umpire and Joe tosses his bat aside and begins +to walk to first base. + The father yells out, "Runna Joe! Runna Joe!" + "No, no, Pop," corrects his son. "He got four balls. He walks." + And the old man clenches his fist and says solemnly, "Walka proud +Joe. Walka proud." +% +A stately-looking matron was walking through the Bronx Zoo, studying the +animals. When she passed the porcupine enclosure she beckoned to a nearby +attendant. + "Young man," she began, "do North American porcupines have sharper +pricks than those raised in Africa?" + The attendant hesitated for a moment. "Well, ma'am," he answered, +"the African porcupine's quills are sharper... but I think their pricks are +about the same." +% +A stranger had just arrived in the mining town and was spending the evening at +the local saloon. After a few drinks, he mentioned to the bartender that he +hadn't seen a single woman in the entire town. + The bartender replied, "Nope. Ain't no women in this town!" + "No women? What do the men do for... er..." + "Oh, for sex? Did you see all those pigs in the street? That's the +answer, right there." + Shaking his head incredulously, the stranger settled back to his +drinking. Within a short time, however, the liquor had convinced him that he +wanted to try out a pig himself. He had watched several miners walk upstairs +to the trysting rooms with squealing piglets under their arms. Now, he was +game to make his move. He wandered out to the back of the saloon and chose +a nice fat, pink sow. As he walked to the stairs, the entire saloon went +quiet. In the embarrassing hush, all eyes were upon him. + "What's the matter? I thought all you fellows did this!" + "Yeah, but that's Black Bart's girl," replied the barkeep. +% +A stunning blonde, but probably all bean dip above the eyebrows. +% +A sweet young schoolteacher who had always been virtuous was invited to go +for a ride in the country with the gym instructor, whom she admired. Under +a tree on the bank of a quiet lake, she struggled with her conscience and +with the gym instructor and finally gave in to the latter. Sobbing +uncontrollably she asked her seducer, + "How can I ever face my students again, knowing I have sinned twice?" + "Twice?" asked the young man, confused. + "Why, yes," said the sweet teacher, wiping a tear from her eye. +"You're going to do it again, aren't you?" +% +A teacher announces to her class, "Children, the student who can name the +greatest man who ever lived will win a shiny red apple." + Immediately an Italian boy raises his hand. + "Yes, Tony?" + "Christopher Columbus!" says Tony. + "Well," says the teacher, "Christopher Columbus was a very great man, +but I don't think he was the greatest man who ever lived." + From the back of the room little Bernie Goldstein raises his hand. + "Yes, Bernie?" + "Jesus Christ", says Bernie. + "That is correct, Bernie," pronounces the teacher. "And here is +your apple." + When Bernie gets up to the front of the room to claim his prize, +the teacher says, "Bernie, given the fact that you're Jewish, I'm surprised +that you thought Jesus was the greatest man who ever lived." + "Well, actually," replies Bernie, "I do think Moses had the edge, +but business is business." +% +A toast to the kisses you've snatched and vice-versa. +% +A traveling circus was performing in a small town, around the turn of the +century, when many of the circus animals were still considered to be very +rare and exotic. One night one of the elephants escaped. It was hungry +and found a garden in a little old lady's backyard. The woman, who had +never before seen an elephant, was hysterical and called the police. + +Little Old Lady: "There's a *huge* monster in my garden! +Police: "Calm down, ma'am, everything will be all right. Now exactly what + does it look like?" +LOL: "It's a dark color and it's tremendous! It's pulling up my + vegetables with its tail!" +Police: "With its tail? Then what's it doing?" +LOL: "You wouldn't believe me if I told you!" +% +A vasectomy means never having to say you're sorry. +% +A virgin is chaste. +% +A virginal is a harpsichord that has never been plucked. +% +A virtuous abstinence from the joys of pederasty +comes most easily to those who have no taste for it. + -- Oscar Wilde +% +A widow is more sought after than an old maid of the same age. + -- Addison +% +A wife lasts only for the length of the marriage, but an ex-wife is there +*for the rest of your life*. + -- Jim Samuels +% +A witty writer, K. Kraus in the Vienna "Fackel", has as it were, expressed +this truth paradoxically in the cynical saying: "Coitus is merely an +unsatisfactory substitute for onanism!" + -- Sigmund Freud, attempting to explain why + masturbation is "by no means harmless" +% +A woman can never be too rich or too thin. +% +A woman employs sincerity only when every other form of deception has failed. + -- Scott +% +A woman forgives the audacity of which +her beauty has prompted us to be guilty. + -- LeSage +% +A woman had a followup visit with her doctor after his prescribing fairly high +dosages of testosterone (a male hormone) for her. She was a little worried +about some of the side effects she was experiencing. + "Doctor Keyes, the hormones you've been giving me have helped a lot +with my menopausal symptoms, but I'm really afraid that you're giving me too +much. I've started growing hair in places that I've never grown hair before!" + The doctor reassured her. "A little hair growth is a perfectly normal +side effect of testosterone. Just where has this hair appeared?" + "On my balls." +% +A woman has got to love a bad man once or twice in her life to be +thankful for a good one. + -- Marjorie Kinnan Rawlings +% +A woman is driving down the street, her ten-year-old daughter belted into +the passenger seat. The daughter asks "Mommy, how old are you?" + The mother says "That's a personal question. It's not nice to ask +people personal questions." + The daughter thinks a while, then asks "Mommy, how much do you weigh?" + The mother replies "That's a personal question too. I'm not going +to tell you." + Chastised, the daughter asks no more questions. The mother parks the +car. "I'm going to see Mrs. Tristan for a couple of minutes. You stay here in +the car and watch my purse." + After the mother leaves, the daughter removes her mother's driver's +license from the purse, studies it for a few minutes and replaces it. When +her mother returns they drive off. The little girl comments: + "Mommy, I know how old you are. You're 32." + "That's right! How did you know?" + "And you weigh 119 pounds." + "Did you look in my purse?" + "And I know why you and Daddy divorced." + "You *do*?" + "Yes," said the daughter. "Because you flunked sex!" +% +A woman is like a dresser... some man always goin' through her drawers. + -- Blind Lemon Pledge +% +A woman is like your shadow; follow her, +she flies; fly from her, she follows. + -- Chamfort +% +A woman must be a cute, cuddly, naive +little thing -- tender, sweet, and stupid. + -- Adolf Hitler +% +A woman occasionally is quite a serviceable substitute for masturbation. +It takes an abundance of imagination, to be sure. + -- Karl Kraus, "Die Fackel" +% +A woman of generous character will sacrifice her life a thousand times +over for her lover, but will break with him for ever over a question of +pride -- for the opening or the shutting of a door. + -- Stendhal +% +A woman takes off her claim to respect along with her garments. + -- Herodotus +% +A woman who is guided by the head and not by the heart is a social +pestilence: she has all the defects of the passionate and affectionate +woman, with none of her compensations; she is without pity, without +love, without virtue, without sex. + -- Balzac +% +A woman who is unfaithful deserves to be shot. + -- Pancho Villa +% +A woman without a man is like a fish without a bicycle. + -- Gloria Steinem +% +A woman without a man is like a fish without a bicycle. +Therefore, a man without a woman is like a bicycle without a fish. +% +A woman's a woman until the day she dies, but a man's only a man as long +as he can. + -- Moms Mabley +% +A young boy is told by his puritanical father than he should never have +sex with a woman, because a woman has teeth in her vagina and will bite +off his penis. + The years go by, and the boy finally marries. After a rather +uninspiring honeymoon his wife finally confronts him and demands that he +tell her why he won't make love to her. + "Well, honey," he replies. "You have... teeth... down there." + "What!?" she replies unbelievingly. "No I don't! Honest, darling, +come here and look for yourself." + The man rather hesitantly examines her very thoroughly. + "There!" his wife says triumphantly. "Now do you believe me?" + "Yes," replied her husband. "And your gums are in *terrible* +condition." +% +A young lady friend of mine just swallowed a razor blade... +She performed a tonsillectomy, an appendectomy, a hysterectomy, +three circumcisions, and cut off the finger of a casual friend. +% +A young man walks into a bus station, and goes into the men's room to relieve +himself. When he steps in he sees a leprechaun with the most enormous penis +he has ever seen. As he urinates, he cannot avoid spying on the giant member +of the tiny man dressed in green. The leprechaun zips up and the man asks him +if he is indeed a real leprechaun. + The little man says, "Aye, me laddie, I'm a leprechaun, and I can +grant you three wishes." + "Oh, wow!" comes the reply, "What do I need to do?" + "Well, havin' such a large cock makes it a bit awkward with the +ladies, the thing not fittin' and all... I'll grant you your three wishes +if you wouldn't mind suckin' me dick 'til I come." The man is a bit taken +aback, but agrees, realizing that the three wishes will be priceless. After +the tiny fellow has come, he starts to walk away. + The man exclaims, "Hey, what about my three wishes?" + Replies the leprechaun, "How old are you, me boy?" + "25." + "Aren't you a wee bit old to be believin' in leprechauns?" +% +A young New York housewife was shocked by some of the language used by her +daughter. When asked about it, the daughter said she had learned it from +a small girl she played with in the park. The next day, the mother sought +out the little girl as she played in the park. "Are you the little girl +who uses bad words?" + "Who told you?" + "A little bird," answered the mother. + "Well, I like that!" exclaimed the small girl. "And I've been +feeding the little bastards, too!" +% +A young woman was afflicted with three brothers who had a friendly competition +as to who was the best practical joker. When she announced her marriage, +like all good brothers, they immediately found out where the honeymoon would +be and repaired there to do their worst, er, best. The brother who was a +carpenter went first, and came back out in five minutes. The brother who +worked as a plumber went second and was out in about half an hour. Finally, +the brother employed as a dentist went inside and came out almost immediately. +A few days after the start of their sister's honeymoon the brothers each +received a telegram from their sister. It read: + + I liked the couch falling apart when we sat on it. I was amused + when the shower went cold five minutes after it started. But I'm + going to kill whoever put the novocaine into the KY jelly... +% +A.A.A.A.A.: An organization for drunks who drive. +% +AC/DC is a rock band. + -- Bisexuality, 101 +% +Achilles' Biological Findings: + (1) If a child looks like his father, that's heredity. + If he looks like a neighbor, that's environment. + (2) A lot of time has been wasted arguing over what came first + -- the chicken or the egg. It was undoubtedly the rooster. +% +Adam's Law: + (1) Women don't know what they want; + they don't like what they have got. + (2) Men know very well what they want; + having got it, they begin to lose interest. +% +Admittedly, there are a lot of things that are better than sex, +and a lot more that are worse; but there's nothing quite like it... +% +Adopting the metric system would have certain psychological advantages -- +such as being able to claim 18 centimeters instead of seven inches. +% +ADULTERY: + Putting yourself in someone else's position. +% +Advertising is the most fun of anything you can do with your clothes on. + -- Mary Wells, advertising executive +% +After a few steamy dances and a few more drinks, the pickup couple +are back at his place tearing their clothes off. Things are really +starting to heat up when he leaps out of bed and starts frantically +rummaging through a dresser drawer. + "What are you doing?" she asks. + "Just a second, honey, I'm trying to find my lucky rubber." +% +After an evening at the theatre and several nightcaps at an intimate little +bistro, the young man whispered to his date, "How do you feel about making +love to men?" + "That's MY business," she snapped. + "Ah," he said. "A professional." +% +After cocktails in the Oak Room, the graying millionaire took the blond, +attractive, wholesome, winning young woman up to his suite. They chatted +for a while, and then kissed on the couch. A little fondling, some feeling +and petting ... to which the young lady lent herself shyly ... and then they +were in the wide, cool bed, naked together. They chatted more, established +a communion, a rapport the older man considered remarkably gratifying. The +girl seemed sympatico, innocent, good. + "Yes, that was it," he thought, "essentially good. Why, she could +be my own daughter." He smiled into the young girl's deep blue eyes. + "Tell me," he asked, his hand on her breast, "What's a nice girl +like you doing in a hotel like this?" + "Oh, about $2000 a week, with tips." +% +After I run your program, let's make love like crazed weasels, OK? +% +After Joan and Max had been married for 25 years, Max became disinterested +in sex, and his libido began to wan dramatically. In desperation, Joan +hauled him to a marriage counselor, who listened patiently to Joan's complaints +and Max's protestations. Max claimed that he was being nagged unmercifully +to fulfill Joan's needs, and that after awhile every marriage tended to +become less physical. Joan said that that wasn't true and that she had +needs and desires that he, as her husband, was expected to fulfill. Finally, +the counselor issued the verdict. "Max," he said, "Everybody has to give a +little for a marriage to work. From now on, no matter how you feel at the +time, you must give Joan her conjugal rights at least semi-annually. And, +remember, do it in a loving, considerate manner; after all, you and your +wife are a partnership of love." Joan was delighted, and floated out of the +counselor's offices. On the way downstairs, she nudged Max. + "So, honey, tell me... how many times a week is semi-annually?" +% +After making a daring escape from the penitentiary, the convict eluded +bloodhounds and police roadblocks and dodged helicopter searchlights on +his way to see his wife. Finally sneaking in the back entrance, he knocked +on the door and smiled triumphantly as she opened it. "Where the hell have +you been?" she blared. "You busted out more than six hours ago!" +% +After repeatedly warding off her date's amorous advances during the evening, +the pretty young thing decided to put her foot down: "See here," she shouted +indignantly. "This is positively the last time I'm going to tell you `no'." + "Splendid!" exclaimed her date. "Now we can start making some +progress." +% +After rushing into a drugstore, the nervous young man was obviously +embarrassed when a prim thirty-ish woman asked if she could serve him. + "N-no," he stammered, "I'd like to see the druggist." + "I'm the druggist", she replied cheerfully. + "Oh.. well, uh, it's nothing important," he said, and turned to leave. + "Young man," said the woman, "my sister and I have been running this +drugstore for nearly ten years. There is nothing you can tell us that will +embarrass us. + "Well, all right," he said. "I have this awful sexual hunger that +nothing will appease. No matter how many times I make love, I still want to +make love again and again. Is there anything you can give me for it?" + "Just a moment," said the woman, "I'll have to discuss this with my +sister." + A few minutes later, she returned. "The best we can do," she said, +"is room and board and a half-interest in the business." +% +After spending a forbidden night on the town, two young nuns were trying +to sneak through the fence surrounding their Convent. + "You know," giggled one as she held the wire apart for the other +to crawl through, "I feel like a Marine." + "So do I," the other nun sighed, "but where are we going to +find one at three in the morning?" +% +After twelve years of therapy my psychiatrist said something that +brought tears to my eyes. He said, "No hablo ingles." + -- Ronnie Shakes +% +After we made love he took a piece of chalk and made an outline of my body. + -- Joan Rivers +% +Ah spring, when a fancy young man lightly turns his lover over. +% +AI hackers do it robotically. +% +AI hackers do it with robots. +% +Al Gore resembled a Vulcan desperately in need of a blow job. + -- Bobcat Goldthwait +% +Alaska, where Moosehead isn't a beer, it's a misdemeanor. + +Q: You know how to figure out if your lover's been "involved"? +A: Antler marks on their hips. +% +Alcohol is like love: the first kiss is magic, the second is intimate, +the third is routine. After that you just take the girl's clothes off. + -- Raymond Chandler +% +Alcoholics Anonymous is when you get to drink under someone else's name. +% +Alex came home from a business trip to Chicago and found no one home but his +daughter Rose, who was crying bitterly. + "What's the matter, darling?" asked Alex. + "Mommy almost died last night," sobbed Rose. + "That's nonsense," said the father. "Why do you say that?" + "Well," said Rose,"you always told us that when we die we'll see God; +so when I heard Mommy moaning last night I rushed to her bedroom and she was +screaming, "Oh God, here I come," and she would have but Uncle Jerry held her +down." +% +"Algorithms" is an anagram for "Hilt orgasm". Maybe this explains +the popularity of this field of study in computer science. +% +alimony, n: + Having an ex you can bank on. +% +All a hacker needs is a tight PUSHJ, +a loose pair of UUOs, and a warm place to shift. +% +All husbands are alike, but they have different faces so you can tell +them apart. +% +All I really want in life is a piece and some quiet. +% +All I want is a girl made of wood, +With fine-grained hair and carven knee. +She wouldn't drink and wouldn't smoke, +Oh, wooden tit be loverly? + -- Pinocchio +% +All jobs should be open to everybody, unless they actually require a +penis or a vagina. + -- Florynce Kennedy + +There are really not many jobs that actually require a penis +or a vagina, and all other occupations should be open to everyone. + -- Gloria Steinem +% +All religions issue Bibles against Satan, and say the most +injurious things against him, but we never hear his side. + -- Mark Twain +% +All the girls in France, do a hookie-kookie dance, +And you know the way they shake, is enough to fry a snake, +And the snake they fry, is enough to tell a lie, +And the lie they tell, is enough to go to +Hello, operator, give me number nine, +If you disconnect me, I'll kick you in the +Behind the 'frigerator, there was a piece of glass, +If you do not pick it up, I'll kick you in the +Ask me no more questions, tell me no more lies, +This is what Lulu told me, just before she died. +She had a little brother, she named him Tiny Tim, +She put him in the potty, to see if he could swim. +He swam down to the bottom, he swam up to the top, +Lulu got disgusted, and flushed him down the pot. + -- Princess +% +All things dull and ugly, Each little snake that poisons, +All creatures short and squat, Each little wasp that stings, +All things rude and nasty, He made their brutish venom, +The Lord God made the lot; He made their horrid wings. + +All things sick and cancerous, Each nasty little hornet, +All evil great and small, Each beastly little squid. +All things foul and dangerous, Who made the spikey urchin? +The Lord God made them all. Who made the sharks? He did. + +All things scabbed and ulcerous, +All pox both great and small. +Putrid, foul and gangrenous, +The Lord God made them all. + -- Monty Python +% +All this big deal about white collar crime -- what's WRONG with white collar +crime? Who enjoys his job today? You? Me? Anybody? The only satisfying +part of any job is coffee break, lunch hour and quitting time. Years ago +there was at least the hope of improvement -- eventual promotion -- more +important jobs to come. Once you can be sold the myth that you may make +president of the company you'll hardly ever steal stamps. But nobody +believes he's going to be president anymore. The more people change jobs +the more they realize that there is a direct connection between working for +a living and total stupefying boredom. So why NOT take revenge? You're not +going to find ME knocking a guy because he pads an expense account and his +home stationery carries the company emblem. Take away crime from the white +collar worker and you will rob him of his last vestige of job interest. + -- J. Feiffer +% +All work and no pay makes a housewife. +% +Already the spirit of our schooling is permeated with the feeling that every +subject, every topic, every fact, every professed truth must be submitted +to a certain publicity and impartiality. All proffered samples of learning +must go to the same assay-room and be subjected to common tests. It is the +essence of all dogmatic faiths to hold that any such "show-down" is +sacrilegious and perverse. The characteristic of religion, from their point +of view, is that it is intellectually secret, not public; peculiarly revealed, +not generall known; authoritatively declared, not communicated and tested +in ordinary ways...It is pertinent to point out that, as long as religion +is conceived as it is now by the great majority of professed religionists, +there is something self-contradictory in speaking of education in religion +in the same sense in which we speak of education in topics where the method +of free inquiry has made its way. The "religious" would be the last to be +willing that either the history of the content of religion should be taught +in this spirit; while those to whom the scientific standpoint is not merely +a technical device, but is the embodiment of the integrity of mind, must +protest against its being taught in any other spirit. + -- John Dewey, "Democracy in the Schools", 1908 +% +Although a fifth-generation American, Father Sweeny was more Irish than most +of Erin's natives. He spoke with an Irish brogue which had mysteriously +appeared during his nineteenth year and he *hated* the English. Due to his +proclivity to belabor the British from his pulpit, complaints to his +superiors were not infrequent. He would blame anything evil or merely +inconvenient on the English people. If there was an act of terrorism, the +responsibility was promptly laid at the feet of the Brits. If there was a +natural disaster, undoubtedly the English government was an accessory to +the fact, if not outrightly culpable. Repeatedly, his superiors called him +on the carpet for his behavior. After a particularly vituperative +anti-British broadside, the Bishop instructed Father Sweeny to come straight +to his office; do not pass GO; do not collect two hundred dollars. Summing +up a humiliating and soul-marking reprimand, the Bishop ended with: "Next +week is Saint Patrick's Day. If you so much as *mention* the British, it's +your last sermon!" + +The following Sunday, as Father Sweeny spoke lovingly and eloquently of +Saint Patrick, and he made a reference to the last Passover celebrated by +Christ and His disciples. "Sure, an' you're all familiar with the tale. +You know that Our Lord sat at the table and told his disciples that one +among them would betray Him. As He looked around the table, He stopped at +Peter, the Rock, who said, `Not I, Lord!' He looked at Thomas, who doubted, +and Thomas said, `I could never do such a thing!' Then the Lord looked long +and hard at Judas Iscariot, who said, `Cor, bloimy, Guv'na, you couldn't +main may!'" +% +Always talk to your wife while you're +making love... if there's a phone handy. +% +ambition, n: + An ant crawling up an elephant's leg with rape on his mind. +% +America ... just a nation of two hundred million used car salesman +with all the money we need to buy guns and no qualms about killing +anybody else in the world who tries to make us uncomfortable. + -- Hunter S. Thompson, "Fear and Loathing on the Campaign + Trail" +% +America cannot be sold a can of beer without +being offered a piece of pussy along with it. + -- Julius Lester +% +America, I'm putting my queer shoulder to the wheel. + -- Allen Ginsberg +% +American culture is based on the automobile, and any young man of promise +is going to own one and want to travel great distances in it. Consequently, +any young woman of aspiration should expect to spend most of her vacations +in a car, probing into unfamiliar corners. She is not required to know how +to drive but she will certainly be expected to read the road map while her +husband drives, and if she can't, or if she's abnormally slow in giving him +help, she's bound to cause trouble. Therefore, you'd think that colleges +which train the bright young women who're going to marry the bright young +men who are going to own the Cadillacs that roar back and forth across this +continent would teach the girls to read maps. None do. They teach a hundred +other useless things, but never a word about the one that will cause the +greatest friction. + -- James Michener, "Space" +% +America's two greatest inventions are finger-fucking and carpet-bombing. + -- Lyndon B. Johnson +% +An 11 is a 10 who doesn't have headaches. +% +An American, a Frenchman, and a Vietnamese refugee had a discussion about +the happiness of life. + "To me, happiness is returning home on a Monday evening, having a wonderful +dinner prepared by my wife, then slouching on the sofa watching Monday Night +Football," the American said. + "You Americans are not romantic at all", the French injected, "Sharing +a beautiful evening with my lover, walking along the Seine river, and having a +romantic dinner on top of the Eiffel tower. That is happiness of life." + "You call those things happiness", the Vietnamese laughed, "then you +two still don't understand life at all. Imagine this. You are sleeping +soundly at night in Saigon. Then suddenly you hear loud knocks on your front +door. You hear loud voices, 'Mr. Nguyen Van Binh, open the door!'. Quaking +with fear, you rush out and open the door. Right there, you see two secret +policemen ready to handcuff you. One of them says to you, 'Mr. Nguyen Van +Binh, you are under arrest for your anti-revolutionary activities. You are +being sent to the re-educational camp tonight!' Sweating profusely and +shaking uncontrollably, you reply to them, 'Comrades, Mr. Nguyen Van Binh +lives next door.' That moment is happiness in life, my friends. +% +An American businessman in London was given special visitor's privileges at an +exclusive men's club. Striding in one afternoon, the American approached the +only other man in the lounge and tried to strike up a conversation. "Care +for a cigar?" he asked. + "No, thank you," the Englishman replied. "I tried smoking once and +didn't like it." + "Would you care to join me in the bar for a drink, then?" the +businessman asked. + "No, thank you. I tried drinking once and it didn't agree with me." + "Well, how about a game of billiards?" + "Sorry. I tried it once and couldn't seem to get the hang of it." + As the American started to turn away, the Englishman said, "But my +son will be here shortly, and I'm sure he would enjoy a game with you." + "Your son? An only child, I presume." +% +An American couple is in Paris, a much awaited trip, when suddenly the wife +dies of a heart attack. The husband decides to have her buried there as the +visit to France was something they had longed for for many years. All +arrangements are made when he suddenly realizes that he doesn't have a black +hat for the funeral. The hotel concierge tells him that what he wants is a +"chapeau noir." So off he goes to find a store open late. + First he meets a gendarme and in his fractured French asks, "M'sieur, +ou pouvais-je acheter un capeau noir?" + The policeman is a bit surprised but, after thinking a bit, gives our +friend directions. The store -- if that is what it is -- looks a little seedy +and run down, but the man behind the counter looks friendly so in goes our +hero. He speaks first: + "M'sieur, je veux acheter un capeau noir." + "Mais, monsieur, j'ai des capeaux rouges, des capeaux blancs, et des +capeaux marrons, mais pas des capeaux noires. Pourquoi avez vous besoin d'un +capeau noir?" + "Ma femme est morte." + "O Monsieur! Quelle beau sentiment!" +% +An American walks into an Irish pub around lunchtime, and finds the place +is completely filled and there are no chairs available, with the exception +of one -- seating a Chihuahua next to a woman. He very politely asks her +if she would mind placing her dog on the floor for a few minutes while he +got a quick bite to eat. + "I most certainly would!", the woman haughtily replies. "Little +Fifi *always* sits next to me at lunchtime and there she will stay!" + Whereupon, the American picks up the Chihuahua, throws it out of +an open window and takes the seat. + An Irishman, watching the whole encounter, walks over, taps the +American on the shoulder and says, "Mate, I guess I never will understand +you Americans. You drink your beer cold, drive on the right side of the +street, and you just threw the wrong bitch out the window!" +% +An Army travels on her stomach. +% +An encounter with a beautiful woman is good medicine for the well organized +logical mind -- a little jolt never hurt. Note that the anarchists have +been saying this for years about the A-bomb and civilization. + -- Encyclopedia Apocryphia +% +An office party is not, as is sometimes supposed the Managing Director's +chance to kiss the tea-girl. It is the tea-girl's chance to kiss the +Managing Director (however bizarre an ambition this may seem to anyone +who has seen the Managing Director face on). + -- Katherine Whitehorn, "Roundabout" +% +And do you not think that each of you women is an Eve? The judgement of God +upon your sex endures today; and with it invariably endures your position of +criminal at the bar of justice. + -- Tertullian, second-century Christian writer +% +...And have you ever noticed that you never see the Father, the Son, and +the Holy Ghost partying together at the same time? Oh, sure, everybody +talks like they aren't the same person, but I wonder... +% +And having stretched me out upon his bed with my head a little to one side, +he sat down next to me and raised my head upon his lap. He peered avidly at +me, his eyes seemed ready to devour the secretion oozing from my nose. "Oh, +the pretty little snotface," said he, beginning to pant, "How I'm going to +suck her." Therewith bending down over me, and taking my nose in his mouth, +not only did he devour all the mucus between my nose and mouth, but he even +lewdly darted the tip of his tongue into each of my nostrils, one after the +other, and with such cleverness he provoked two or three sneezes which +redoubled the flow he desired and was consuming so hungrily. But ask me for +no details bearing upon this fellow, Messieurs, nothing appeared, and whether +because he did nothing, or because he did it all in his drawers, there was +nothing to be seen, and amidst the multitude of his kisses and lecherous +lickings there was nothing outstanding which might have denoted an ecstasy, +and consequently it is my opinion that he did not discharge. All my clothes +were in place, even his hands stayed still, and I give you my word that this +old libertine's fantasy might be performed upon the world's most repectable +and least initiated girl without her being able to suppose there was anything +lewd in it at all. + -- Marquis de Sade +% +And now, the Bing Crosby show, brought to you by the makers of Ex-Lax. +... a brief pause, and then Bing! +% +And on the third day, Christ arose, pushed aside the rock that had served +as the tomb door, and walked again on the earth. + And as he departed, a passer-by pointed at the door Jesus had left +open. "What's the matter with you?" he said. "Born in a barn?" +% +And prively he caughte hire by the queynte, +And heeld hire harde by the haunche-bones. + --Geoffrey Chaucer, The Miller's Tale +% +And so it goes. It is humiliating, when you should know better, to become +victim of the timeless story of the little brown dog running across the +freight yard, crossing all the railroad tracks until a switch engine nipped +off the end of his tail between wheel and rail. The little dog yelped, and +he spun so quickly to check himself out that the next wheel chopped through +his little brown neck. The moral is, of course, never lose your head over +a piece of tail. + -- John D. MacDonald, "The Scarlet Ruse" +% +And the northern lights commenced to glow. +And she said, with a tear in her eye, +"Watch out where the huskies go, and don't you eat that yellow snow." + -- Frank Zappa, "The Story of Nanook and the Fur Trapper" +% +And then there was the lawyer that stepped in cow manure and thought +he was melting... +% +"And what do you two think you are doing?!" roared the husband, as he came +upon his wife in bed with another man. The wife turned and smiled at her +companion. + "See?" she said. "I told you he was stupid!" +% +Another greeting card category consists of those persons who send out +photographs of their families every year. In the same mail that brought the +greetings from Marcia and Philip, my friend found such a conversation piece. +"My God, Lida is enormous!" she exclaimed. I don't know why women want to +record each year, for two or three hundred people to see, the ravages wrought +upon them, their mates, and their progeny by the artillery of time, but +between five and seven per cent of Christmas cards, at a rough estimate, are +family groups, and even the most charitable recipient studies them for little +signs of dissolution or derangement. Nothing cheers a woman more, I am afraid, +than the proof that another woman is letting herself go, or has lost control +of her figure, or is clearly driving her husband crazy, or is obviously +drinking more than is good for her, or still doesn't know what to wear. +Middle-aged husbands in such photographs are often described as looking +"young enough to be her son," but they don't always escape so easily, and a +couple opening envelopes in the season of mercy and good will sometimes handle +a male friend or acquaintance rather sharply. "Good Lord!" the wife will say. +"Frank looks like a sex-crazed shotgun slayer, doesn't he?" "Not to me," the +husband may reply. "to me he looks more like a Wilkes-Barre dentist who is +being sought by the police in connection with the disappearance of a choir +singer." + -- James Thurber, "Merry Christmas" +% +Another nun joke!!! + You see, three nuns were walking down the street, when suddenly +this flasher jumped out in front of them and opened his trench coat, +exposing his all to the sisters. Well, two of the nuns had strokes right +there, but the third nun wouldn't touch it. +% +Another stupid gay joke!!! + You see, this gay man walks into a Texas bar and orders a strawberry +daiquiri. The bartender looks him over with amusement and says: "We don't +serve your kind, buddy, why don't you get out of here before the boys come +in and kick your ass?" + The guy whimpers a little and lisps, "Pleasse misssture I am soooo +thurstay...." + Well, the bartender feels somewhat sorry for him and hands him a beer +on the house on the condition that he drink it in the back and leave as soon +as he's done. A little while later, a hulking cowboy walks in and up to the +bar. He slams his fist on the bar and hollers, "I'm so thirsty, I could +lick the sweat off of a bulls' balls!" + From the back of the bar comes the cry... "Moo, moo, buckaroooooo!!!" +% +anxiety, n: + The first time you can't do it a second time. + +panic, n: + The second time you can't do it the first time. +% +Any girl who believes that the way to a man's heart is through +his stomach is obviously setting her standards too high. +% +Any woman is a volume if one knows how to read her. +% +Anything more than three shakes is for fun. +% +APL hackers take all they want. +% +Apple owners do it with mice! +% +APPOINTMENT BOOK: + The reference of last resort when trying to duck undesired + invitations ("Gee, the soonest I can pencil you in is + December, 2004"), or when trying to figure out what the hell + it was you did during the past year. +% +Are there those in the land of the brave +Who can tell me how I should behave + When I am disgraced + Because I erased + A file I intended to save? +% +ARIES (Mar. 21 to Apr. 19) + Be cheerful today. People who don't like you will outnumber those + who do. You have warts. Focus on domestic status, financial matters, + and venereal disease. Look for involvement with Libra or Aquarius + natives; probably a fistfight with one of each. +% +Arkansas: + Where the men are men, so are the women and the sheep run scared. +% +As fathers commonly go, it is seldom a misfortune to be fatherless; +and considering the general run of sons, as seldom a misfortune to +be childless. + +The only solid and lasting peace between a man and his wife is, +doubtless, a separation. + -- Lord Chesterfield, letter to his son, 1763 +% +As for Carter being for registration but against the draft, isn't that +sort of being like for putting it in and not taking it out? Even if it +was possible not to follow through, you'd still be getting screwed. +% +As long as your ass is pointed at the ground, don't fuck with me. +% +As my dear auntie used to say, "Love makes the world go 'round, but sex +makes the ride fun." +% +As near as I can tell, you're not any crazier +than the average asshole on the street. + -- R.P. McMurphy, "One Flew Over the Cuckoo's Nest" +% +As part of an equal opportunity project, a memo was sent to all the offices +within External Affairs asking for "A list of all employees broken down by +sex." + One of the memos was returned with the notation: "I'm sorry: we +know of nobody in this office who fits your criteria. We do, however, +have two alcoholics." +% +As she lay there dozing next beside me, a voice inside my head kept +saying "Relax... you're not the first doctor who's ever slept with +one of his patients," but another voice kept reminding me, "Howard, +you're a veterinarian." +% +As the Catholic church becomes more and more tolerant, some day they will +have to consider the possibility of a gay pope. Possibly the largest +issue will be having to decide whether he is "absolutely divine" or "just +simply marvelous." +% +As the recent sightings of bumper stickers reading "IN CASE OF RAPTURE, THIS +VEHICLE WILL BE UNMANNED" have created a great deal of confusion, Fortune +offers the following excerpts from the 1989 printing of the State of Maryland +Driver's Handbook: + If you notice a glorious light in the sky, a sound as of an infinite +choir of unearthly voices, and a host of winged beings descending from the +heavens, do not panic. If you are on the freeway, move to the shoulder as +soon as it is safe to do so, activate your hazard blinkers, and wait for the +end of the world. If you are Saved, it is especially important that you do +this BEFORE you are carried to your Eternal Reward, in order that your vehicle +not become a hazard to others. Remember, Rapture is the number one cause of +automobile accidents during major spiritual upheavals. You may experience a +feeling of discorporation ("being pulled from one's body") while driving. To +ensure the safety of your passengers and other drivers, move to the shoulder +as soon as you notice any of the following symptoms: + -- An overwhelming sense of peace and happiness. + -- Visions of the faces of deceased family members. + -- A glorious figure in white, beckoning from the end of a tunnel of +white mist (do not confuse this with traffic control or maintenance officers, +who wear dark blue and safety orange.) + Once the feeling has passed, inspect your surroundings. If still in +your car, you have probably suffered a stroke and should have someone drive +you to a hospital at once. If you find yourself in the Kingdom of God, consult +the local officials for information on local traffic rules and regulations. +% +As the truck driver came flying over the top of a steep hill, he spotted two +figures in his path rolling around in the middle of the road. The driver blew +his horn and braked frantically, but the couple continued their lovemaking, +oblivious to his warnings. The truck finally slid to a halt barely three +inches from the pair. "Are you crazy?" the driver screamed at them. "You +could have been killed!" + The man stood up and faced the driver. "Well, I was coming, she was +coming and you were coming," he panted, "and you were the only one with +brakes." +% +As they say about Dungeons and Dragons, "Life's a die, and then you bitch." +% +Ask your boss to reconsider -- +It's so difficult to take "Go to hell" for an answer. +% +Asked by reporters about his upcoming marriage to a forty-two-year-old +woman, director Roman Polanski told reporters, "The way I look at it, +she's the equivalent of three fourteen-year-olds." + -- David Letterman +% +ASS: + The masculine of "lass". +% +Ass, grass or gas... nobody rides for free! +% +Assassins do it from behind. +% +At her annual checkup, the attractive young woman is told by the doctor that +it's necessary to take her temperature rectally. She agrees and bends over +the examining table, but a few seconds later says indignantly, "Doctor, that's +NOT my rectum!" + "Madam," says the doctor, "that's not my thermometer!" + Just then, the woman's husband, hearing her voice, comes into the +room. "Just what the hell is going on here?" he demands. + "I'm taking your wife's temperature," the doctor cooly replies. + "Okay, doc, you know best," says the husband as he picks a scalpel +off the doctor's desk, "but when that thing comes out, it better have +numbers on it!" +% +At last, the first Soviet, artificially intelligent computer had been produced. +The engineers did not get it, nor the physicists. First things first: it went +to the institute of Marxism-Leninism. + +"IS IT POSSIBLE TO BUILD SOCIALISM IN SWITZERLAND?" typed in one of the + theologians. +"YES," replied the computer. "BUT IT WOULD BE SUCH A PITY TO DESTROY + SUCH A BEAUTIFUL COUNTRY." +% +At twenty-six, Kate, though not promiscuous, had slept with most of the +decent men in public life. + -- Renata Adler +% +Attractive bisexual young woman seeks same for high mellow times. +% +Australia's a lovely land +It's full of bonza blokes, +Sheilas, beer and no-one's queer +Except in Pommie jokes. + +Australians are lovely chaps +They're God's own chosen race. +If they ever see a fairy Pom +They'll smash him in the face. + +Australians like dressing up +In skirts and having fun +And that's all we were doing +When the Vice Squad came along. + -- Monty Python +% +A-Z affectionately, +1 to 10 alphabetically, +from here to eternity without in betweens, +still looking for a custom fit in an off-the-rack world, +sales talk from sales assistants + when all i want to do is lower your resistance, +no rhythm in cymbals no tempo in drums, +love's on arrival, +she comes when she comes, +right on the target but wide of the mark... +% +B4 I4Q, RU/18 QT 3.14 +% +Bachelors' wives and old maids' children are always perfect. + -- Nicolas Chamfort +% +Back in the good ole days in Texas, when stagecoaches and the like was +popular, there were three people in a stagecoach one day: a true red- +blooded born and bred Texas gentleman, a tenderfoot city-slicker from +back East, and a beautiful and well-endowed Texas lady. The city-slicker +kept eyeing the lady, and finally he leaned forward and said, "Lady, I'll +give you $10 for a blow job." + The Texas gentleman looked appalled, pulled out his pistol, and +killed the city-slicker on the spot. The lady gasped and said, "Thank +you, suh, for defendin' mah honor!" + Whereupon the Texan holstered his gun and said, "Your honor, hell! +No tenderfoot is gonna come 'round here raisin' the price of women in Texas!" +% +Balls Law: + The angle of the dangle is directly proportional to the heat + of the meat provided that the thrusts of the busts are constant. +% +BALTIMORE: + Where the women wear turtleneck + sweaters to hide their flea collars. +% +Bankers do it with interest (penalty for early withdrawal). +% +Be prepared... that's the Boy Scout's solemn creed. +Be prepared... to be clean in word and deed. +Don't solicit for your sister, that's not nice, +Unless you get a good percentage of her price. + -- Tom Lehrer +% +BEAT ME, BITE ME, WHIP ME, FUCK ME!!! +% +Beat me, bite me, whip me, fuck me, make me write bad checks! +% +Beauty, n: + The power by which a woman charms a lover and terrifies a husband. + -- Ambrose Bierce +% +Beauty seldom recommends one woman to another. +% +Because woman's work is never done and is underpaid or unpaid or boring or +repetitious and we're the first to get the sack and what we look like is +more important than what we do and if we get raped it's our fault and if we +get bashed we must have provoked it and if we raise our voices we're nagging +bitches and if we enjoy sex nymphos and if we don't we're frigid and if we +love women it's because we can't get a "real" man and if we ask our doctor +too many questions we're neurotic and/or pushy and if we expect community +care for children we're selfish and if we stand up for our rights we're +aggressive and "unfeminine" and if we don't we're typical weak females and +if we want to get married we're out to trap a man and if we don't we're +unnatural and because we still can't get an adequate safe contraceptive but +men can walk on the moon and if we can't cope or don't want a pregnancy we're +made to feel guilty about abortion and... for lots and lots of other reasons +we are part of the women's liberation movement. +% +Bedfellows make strange politicians. +% +beef stroganoff, n: + A bull masturbating. +% +"Before we get married," said the young woman to her fiancee, "I want to +confess some affairs that I've had in the past." + "But you told me all about those a few weeks ago," her young man +replied. + "Yes, darling," she explained, "but that was a few weeks ago." +% +Beifeld's Principle: + The probability of a young man meeting a desirable and receptive + young female increases by pyramidical progression when he + is already in the company of (1) a date, (2) his wife, (3) a + better-looking and richer male friend. + -- R. Beifeld +% +Being a woman is of special interest only to aspiring male transsexuals. +To actual women it is merely a good excuse not to play football. + -- Fran Lebowitz, "Metropolitan Life" +% +Bend over and take it like a man! +% +Beneath this stone a virgin lies, +For her life held no terrors. +A virgin born, a virgin died: +No hits, no runs, no errors. +% +Beneath this stone lies Murphy, +They buried him today, +He lived the life of Riley, +While Riley was away. +% +Benny Hill: Would you like a peanut? +Girl: No, thank you, I don't want to be under obligation. +Benny Hill: You won't be under obligation for a peanut. + It's not as if it were a chocolate bar or something. +% +Better a sister in a whorehouse than a brother on a Honda. +% +BETTER LATE THAN NEVER: + The single girl's motto. +% +Between two evils, I always pick the one I never tried before. + -- Mae West +% +Beware of a tall dark man with a spoon up his nose. +% +Bi now, gay later! +% +Big Toe: The pad of the male big toe applied to the clitoris or the vulva +generally is a magnificent erotic instrument. The famous gentleman in erotic +prints who is keeping six women occupied is using tongue, penis, both hands, +and both big toes. Use the toe in mammary or armpit intercourse or any time +you are astride her, or sit facing as she lies or sits. Make sure the nail +isn't sharp. In a restaurant, in these days of tights one can surreptitiously +remove a shoe and sock, reach over, and keep her in almost continuous orgasm +with all four hands fully in view on the table top and no sign of contact-- +A party trick which really rates as advanced sex. She has less scope, but +can learn to masturbate him with her two big toes. The toes are definitely +erogenic areas, and can be kissed, sucked, tickled, or tied with stimulating +results. + -- The Joy of Sex + [Avoid armpit intercourse when razor stubble is present. Ed.] +% +Bill and Jim were walking home from work. As they walked along, they +discussed their wives' spending habits. "I don't understand how women +can spend so much money," Bill exclaimed. "I mean, understand, she +don't drink, and she's got her own pussy!" +% +Birth, copulation and death. +That's all the facts when you come to brass tacks; +Birth, copulation and death. + -- T.S. Elliot, "Sweeney Agonistes" +% +Bisexuality immediately doubles your chances for a date on Saturday night. + -- Woody Allen +% +Bitch, bitch, bitch -- +That's all I ever hear, +Ever since the dog ate the baby, +"Get rida the dog, get rida the dog." +% +Blow it out your ass! +% +Board the windows, up your car insurance, and don't leave any booze in plain +sight. It's St. Patrick's day in Chicago again. The legend has it that St. +Patrick drove the snakes out of Ireland. In fact, he was arrested for drunk +driving. The snakes left because people kept throwing up on them. +% +BOHICA: + Bend over, here it comes again. +% +Bondage, or as the French call it, ligottage, is the gentle art of tying up +your sex partner --- not to overcome reluctance but to boost orgasm. It's +one unscheduled sex technique which a lot of people find extremely exciting +but are scared to try, and a venerable human resource for increasing sexual +feeling, partly because it's a harmless expression of sexual aggression -- +something we badly need, our culture being very uptight about it -- and more +because of its physical affects: slow orgasm when unable to move is a +mind-blowing experience for anyone not too frightened of their own aggressive +self to try it. + -- The Joy of Sex +% +Bookstores will soon be stocking a volume called "The Unsensuous +Census Taker". It's about a guy who comes once every ten years. +% +Brain on vacation, penis on autopilot. +% +Breakfast sometime? + Sure. +Shall I call you or just nudge you? +% +Bridget O'Flaherty McHugh +Held venal traffic with a gnu. +Mistaking fore for aft one morn +Impaled herself upon its horn. + +Moral: Those who seek high ends should shun + our furred and feathered friends. +% +Brigands will demand your money or +your life, but a woman will demand both. + -- Samuel Butler +% +Bringing your mate to a convention is like taking a game warden hunting. +% +Britain has lowered the tax on chastity belts by about 60 cents each... +[reclassifying them] as a safety device rather than... clothing + -- NY Times +% +Brother Jim's recent appearance on the William and Mary campus this past +week was cut short by an ingenious device designed by two computer science +students. A three-foot bar of extruded aluminum was precisely machined, +with a hole milled down the center of precisely the dimensions of one of +the small Gideon bibles. The end capped off, a CO2 canister was connected +to provide up to 2,000 PSIG. Preliminary estimates during field testing +revealed a muzzle velocity of approximarly 120-150 MPH for bibles exiting +the tube. Sufficient ammunition was obtained during a previous visit to +campus by another religious organization, and the system was first used on +Brother Jim, who suffered a broken rib and numerous small bruises, in +addition to the usual humiliation. +% +brunette bush, n: + The dark side of the moon. +% +bug, n: + A son of a glitch. +% +Build a better mousetrap, the saying goes -- and with the brassiere, Yankee +Ingenuity did exactly that. But their true stroke of genius was the new bait. +The old fashioned mousetrap was loaded with cheese; nobody cares much about +cheese, except mice. But when American know-how reloaded the brassiere with +tits, every heterosexual male in the country was hopelessly trapped. + -- Alan Sherman, "The Rape of the A*P*E*" +% +"But if it's 80% glucose, then why does it taste salty?" + -- Anonymous med school student. +% +But they'll never mechanize me -- not me! +Said Charlotte, the Louisville harlot. + -- S.I. Hayakawa +% +But we've only fondled the surface of that subject. + -- Virginia Masters, of Master & Johnson +% +Buy old masters. They fetch better prices than old mistresses. + -- Lord Beaverbrook +% +By all means marry: If you get a good wife, you'll become happy; if you +get a bad one, you'll become a philosopher. + -- Socrates +% +CAD: + A man who doesn't tell his wife + that he's sterile until she's pregnant. +% +CALIFORNIA: + From Latin 'calor', meaning "heat" (as in English 'calorie' or + Spanish 'caliente'); and 'fornia', for "sexual intercourse" or + "fornication." Hence: Tierra de California, "the land of hot sex." + -- Ed Moran, Covina, California +% +Call for Ms. Lingus, Ms. Connie Lingus... +% +callgirl, n: + A negotiable blond. +% +Calvin Coolidge looks as if he had been weaned on a pickle. + -- Alice Roosevelt Longworth +% +Camille's Axiom: + If you haven't asked yourself, "Why the hell did + I go to college anyway?", you must be teaching. +% +Canada is so square even the female impersonators are women. + -- From the movie "Outrageous" +% +CANCER (June 21 - July 22) + You are sympathetic and understanding of other people's problems. + They think you are a sucker. You are always putting things off. + That's why you'll never make anything of yourself. Most welfare + recipients are Cancer people. +% +Candy +Is dandy +But liquor +Is quicker. + -- Ogden Nash, "Reflections on Ice-Breaking" + +Fortune updates the great quotes: #53. + Candy is dandy; but liquor is quicker, + and sex won't rot your teeth. +% +Captain Hook died of jock itch. +% +"Carefully study these two enlarged photographs on display, Mr. Rafferty," +the attorney for a politician suing a newspaper for libel instructed his +client on the witness stand, "and indicate which is your ass and which is +a hole in the ground." +% +Catholicism has changed tremendously in the recent years. Now when +Communion is served there is also a salad bar. + -- Bill Marr +% +Ce livre est dedie a Chagrin, This book is dedicated to Chagrin, +Qui fit un petit mannequin: Who fashioned a small doll: + Sans bras et tout noir, Without arms and all black, + Il etait affreux voir; It was horrible sight; +En effet, absolument la fin. In effect, the absolute end. + -- Edward Gorey +% +Chaste makes waste. +% +Chastity: + The most unnatural of the sexual perversions. + -- Aldous Huxley +% +CHASTITY BELT: + An anti-trust suit. + + (And an unchivalrous knight is the one that files it.) +% +Chastity is its own punishment. +% +Chicago has journalists' bars, ethnic bars, neighborhood bars, even midget +bars, hundreds, maybe thousands of bars, on on every neighborhood block. +I was drinking on afternoon in O'Rourke's, a bar on the Near North side. +It was dark and empty, which suited my mood. A fat, stubble-bearded, +middle-aged man waddled in, took the stool next to mine, and ordered a +beer. He was completely unremarkable, except that he was dressed, head +to toe, in a white-lace wedding gown. After a silence, I said, "Been to +a wedding?" + He brushed back his veil, rustled his petticoats and said, "Uh... +yeah." + He silently finished his drink and left. The bartender said, "You +know, even the transvestites in this town have five o'clock shadows." +% +Chipmunks roasting on an open fire +Jack Frost ripping up your nose +Yuletide carolers being thrown in the fire +And folks dressed up like buffaloes +Everybody knows a turkey slaughtered in the snow +Helps to make the season right +Tiny tots with their eyes all gouged out +Will find it hard to see tonight +They know that Santa's on his way +He's loaded lots of guns and bullets on his sleigh +And every mother's child is sure to spy +To see if reindeer really scream when they die +And so I'm offering this simple phrase +To kids from one to ninety two +Although it's been said many times, many ways +Merry Christmas, Merry Christmas, Merry Christmas, Fuck you!! +% +Chorus: + I don't want to join the army, I don't want to go to war, + I'd rather sit around, pickin' dillies off the ground, + And livin' off the favors of a 'igh-born lady. + I don't want a bullet up me arse 'ole, + I don't want me pecker blown away, + I'd rather live in England, in jolly, sunny, England, + And fornicate me bloody life away!! + +Monday I touched her on the ankle, +Tuesday I touched her on the knee, +And Wednesday after Mass, I lifted up her dress, +And Thursday I saw you know what, +Friday I put me 'and upon it, +Saturday she gave me balls a tweak [tweak, tweak] +And Sunday after supper, I ran me fucker up 'er, +And now she pays me forty quid a week! +Oh, blimey... + +[chorus] +% +CHRIST: + A man who was born at least 5,000 years ahead of his time. +% +Christ died for our sins. Dare we make his martyrdom meaningless by not +committing them? + -- Jules Feiffer +% +CHRISTIAN: + One who believes that the New Testament is a divinely inspired + book, admirably suited to the spiritual needs of his neighbor. + -- Ambrose Bierce +% +CHRISTIAN: + One who follows the teachings of Christ in so far + as they are not inconsistent with a life of sin. +% +Christianity and Judaism aren't all that different, really. Growing up in +a Christian family, the feeling of guilt for Man's sins comes from God. +In a Jewish family, it comes from your parents. +% +CHRISTMAS: + A day set apart by some as a time for turkey, presents, cranberry + salads, family get-togethers; for others, noted as having the best + response time of the entire year. +% +CHRISTMAS: + A time when each of us gets to reflect upon what we each most + deeply and sincerely believe in. Money. At the mall of our + choice. +% +Christmas comes but once a year, +A time for love and laughter; +You can come much more than that, +But you have to clean up after. +% +Cinderella 10: + A woman who sucks and fucks 'til midnight and + then turns into a pizza and a six-pack. +% +Clark Kent is a transvestite. +% +Clarke's Third Law: + Any sufficiently advanced technology is indistinguishable from + magic. + +G's Third Law: + In spite of all evidence to the contrary, the entire universe + is composed of only two basic substances: magic and bullshit. + +H's Dictum: + There is no magic ... +% +Claude believed that only smart attractive people had the right to fuck, +and it sincerely hurt him when he discovered evidence to the contrary. + -- Tom Robbins, "Jitterbug Perfume" +% +Cleveland still lives. God MUST be dead. +% +clitoris, n: + A haired trigger. +% +CLONE OF MY OWN (to Home on the Range) + +Oh, give me a clone +Of my own flesh and bone + With the Y chromosome changed to X. +And when she is grown, +My very own clone, + We'll be of the opposite sex. +Chorus: + Clone, clone of my own, + With the Y chromosome changed to X. + And when we're alone, + Since her mind is my own, + She'll be thinking of nothing but sex. + -- Randall Garrett +% +Close the door, let me give you what you've been waiting for!! +% +COCAINE: + The thinking man's Dristan. +% +Cocaine -- the thinking man's Dristan. +% +Cocaine is nature's way of telling you you have too much money. +% +Cocaine isn't habit forming. I should know -- I've been using it for years. + -- Tallulah Bankhead +% +Cocaine: using tomorrow's energy today. +% +Cocaine's a joke! + (Who's got the next line?) +% +cock-sucker, n: + Someone who got caught doing what you got away with. +% +Coffee without caffeine. Beer without alcohol. Milk without fat. +What's next? Bridal suites with bunk beds? + -- Orben's Current Comedy +% +Coito ergo sum +% +coitus interruptus, n: + A jerky movement following the words (by either sex partner) + "I want to have your child." +% +Coitus is punishment for the happiness of being together. Live as +ascetically as possible... that is the only possible way for me to +endure marriage. But she? + -- Franz Kafka +% +COLD: + When the local flashers are handing out written descriptions. +% +cold, adj: + When your dog sticks to the fire hydrant. +% +College is like a woman -- you work so hard to get in, +and nine months later you wish you'd never come. +% +Come along and sing a song and join our family. +B & D +S & M +Post to A.S.B.! +Rope and leather, cuffs and cats, and toys from JTT. +B & D +S & M +Post to A.S.B.! +A.S.B.! + (A.S.B.!) +A.S.B.! + (A.S.B.!) +Come on now, let's try another tie! + (Tie! Tie! Tie!) +All the kinky folks are here, and some on IRC. +B & D +S & M +Post on A.S.B.! + -- To the Mickey Mouse March +% +Come on, Virginia, don't make me wait! +Catholic girls start much too late, +Ah, but sooner or later, it comes down to fate, +I might as well be the one. +Well, they showed you a statue, told you to pray, +Built you a temple and locked you away, +Ah, but they never told you the price that you paid, +The things that you might have done. +So come on, Virginia, show me a sign, +Send up a signal, I'll throw you a line, +That stained glass curtain that you're hiding behind, +Never lets in the sun. +Darling, only the good die young! + -- Billy Joel, "Only The Good Die Young" +% +Come up and see me sometime. Come Wednesday, that's amateur night. + -- Mae West +% +COMMENT: + A superfluous element of a source program included so the + programmer can remember what the hell it was he was doing + six months later. Only the weak-minded need them, according + to those who think they aren't. +% +Communists do it without class. +% +Computer scientists are programmed to do it by macro insertion. +% +computerfirm nymphomaniac, n: + Hot Apple pie. +% +Condoms are like listening to a symphony with cotton in your ears. + + [Taking a shower in raincoat? Ed.] +% +Condoms are the feminists' revenge on men for diaphragms. + -- Robin Williams +% +Confucius say: + man who lay girl on hill, not on level. + man who pull out too fast leave rubber. + man who go to bed with sex problem wake up with solution in hand. + modern house without toilet uncanny. + man with athletic finger make broad jump + woman should not marry basketball players -- they dribble before + they shoot. + man who sleep in road wake up with run-down feeling. + woman who goes to man's apartment for snack, may get tit bit. + child conceived in back seat of car with automatic transmission + turn out to be shiftless bastard. + a smart man knows on which side his broad is better. + man who arrives late to party will find himself beaten to the punch! +% +Confucius say: + man who screws near graveyard is fucking near dead. + man who fishes in other man's well often catch crabs. + man and mouse the same, both end up in pussy. + boy who play with himself pulls boner. + woman who cooks carrots and pees in same pot very unsanitary. + man who marry girl with no bust has right to feel low down. + man who sleeps with old hen finds it's better than pullet. + man with hole in pocket feel cocky all day. + man who lie under car, get tired -- man who stand behind car, + get exhausted. +% +Confucius say: + woman who put man in dog house find him in cat house. + woman who spring on inner-spring this spring, have off-spring + next spring. + man who kiss girl's behind, get crack in face. + passionate kiss like spider web, lead to undoing of fly. + man who kicked in testicles get left holding bag. + man who suck nipples make clean breast of things. + woman who slide down bannister make monkey shine. + woman's virginity like balloon, one prick and all gone. + Kotex not best thing on earth, but next to best. + squirrel who run up woman's leg not find nuts. + eplileptic woman who give blow-job may bite big one. + seven days on honeymoon make one hole weak. +% +Confucius say: + woman who ride bicycle peddle ass around town. + fool man climb tree to get cherries; wise man spread limbs. + woman who fly upside down in airplane have big crack up. + man who live in glass house should bathe in the basement. + man who make love on ground have piece on Earth. + man who lose key to girlfriend's apartment get no new key. + man who fights with wife all day, gets not peace at night. + man who make oral love to epileptic woman may get tongue-tied. + man with head up ass have shitty outlook on life. + man who streak unsuited for work. + woman who bathe in vinegar have sour puss. + man who beat off in car have hot rod. +% +CONFUSION: + One woman plus one left turn. +EXCITEMENT: + Two women plus one secret. +BEDLAM: + Three women plus one bargain. +CHAOS: + Four women plus one luncheon check. +% +confusion, n: + Father's Day in San Francisco. +% +CONSULTANT: + Someone who knowns 101 ways to make love, but can't get a date. +% +continental breakfast, n: + A roll in bed with some honey. +% +Coors, n: + Like making love in a canoe -- fucking close to water. +% +Copa-ulation: +(to the tune of Copacabana) + +Her name was Lola, she was a bimbo, with yellow streamers in her hair, +She wore see-through underwear, she'd go to discos, and do the go-go, +And while she tried to be star, Tony jacked off on the bar, +And when the dance was done, his hand was full of come, +His favorite drink is cream in coffee, +Won't you order one? + +At the Copa, Copa-ulation ... + +Her name was Lola, she was a show-girl, +But that was thirty years ago, when she still could slurp and blow, +Now she's a sado, but not for Tony, still in her chains and leather gown, +She ties Rico to the ground, and fucks that boy half-blind, +But Rico, he don't mind, there are whips and a lot of beatings, +But a real good time ... +% +Couples in motion have moments. +% +courage, n: + Two cannibals having oral sex. +% +Cover your stump before you hump. +Before you attack her, wrap your wacker. +Don't be silly... protect your Willie. +Wrap it in foil before checking her oil. +If you're not going to sack it, go home and wack it. + -- National Condom Week +% +Cox's philosophy: + Life's a bitch, then you die. +% +coyote love, n: + Coyote love is a nebulous term. Basically, what it involves is + the taking of a member of the preferred sex home from a singles + bar. Then, when you wake up the next morning, they're sleeping + on your arm. So, rather than wake them up as you escape, you + chew off your arm at the shoulder. + +coyote ugly, adj: + When you chew off the other arm 'cause she'll be looking for + a one-armed man! +% +coyote love, n: + Coyote love is a nebulous term. Basically, what it involves is + the taking of a member of the preferred sex home from a singles + bar. Then, when you wake up the next morning, they're sleeping + on your arm. So, rather than wake them up as you escape, you + chew off your arm at the shoulder. + +coyote ugly, adj: + When you chew off the other arm 'cause she'll be looking for + a one-armed man! + +See also proof that average instantaneous beauty increases monotonically +as alcohol consumption increases and time, t, approaches last call. +% +"Creation science" has not entered the curriculum for a reason so simple +and so basic that we often forget to mention it: because it is false, and +because good teachers understand exactly why it is false. What could be +more destructive of that most fragile yet most precious commodity in our +entire intellectual heritage -- good teaching -- than a bill forcing +honorable teachers to sully their sacred trust by granting equal treatment +to a doctrine not only known to be false, but calculated to undermine any +general understanding of science as an enterprise? + -- Stephen Jay Gould, "The Skeptical Inquirer" +% +crew, n: + Eight big men and their cute little cox. +% +Crinklaw's Observation: + Nowadays the order of life is reversed: Sex is first enjoyed, + marriage follows, and after marriage comes abstinence. +% +Cunnilingus is next to cleanliness. +% +Curiousity killed the cat, but satisfaction brought her back. +% +Dad," the 13-year-old boy asked, looking up from his social-studies text, +"what did you do during the sexual revolution?" + "Well, son," his father confided, "I guess you could say I was +captured early and spent the duration doing the dishes." +% +Daisy, Daisy, give me your answer true, +Daisy, Daisy, wouldn't you like to screw? +I really must beg your pardon, +But I've got a hell of a hard-on, +From beating my meat, against the seat, +Of a bicycle built for two. + -- "Daisy, Daisy", "The Dirty Song Book" +% +Dallas still lives. God MUST be dead. +% +Dames lie about anything -- just for practice. + -- Raymond Chandler +% +Dammit, how many times do I have to tell you? +FIRST you rape, THEN you pillage!! +% +Damned if I know. And you can be fuckin' sure I'll never rent no car +from Avis again. + -- Herbie Sperling, on the meaning of two pistols and an + axe used in three murders being found in the trunk of his + rented car. + +If you guys have a beef with her, that's her problem. Don't lay it on +me. The old lady has to take care of her own weight. + -- Herbie Sperling, convicted heroin dealer, on being + arrested for narcotics possession at his mother's house. + + At his sentencing, Herbie Sperling proved that he was the all-time +stand-up guy. + Sperling's lawyer made a lengthy, impassioned plea for his client. +He talked of mercy, justice, humanity to fellow men who have chosen the wrong +path. Yes, the crimes were serious, yes, Mr. Sperling deserves a prison +sentence, but the maximum sentence was not warranted. + Then the judge turned to Sperling. "Mr. Sperling, is there anything +you wish to say?" + "Yes, Your Honor. If you think I'm going to beg for mercy, you've +got another think coming. You're all a bunch of fucking fascist cocksuckers, +you can all go to hell, fuck you, fuck you, fuck you..." + -- Gregory Wallace, "Papa's Game" +% +Dance is the vertical expression of a horizontal intention. +% +Dave has an aeroplane, +In which he likes to frisk. +Oh what a foolish boy, +His silly *. +% +David was just a shepherd who liked to get his rocks off in leather. +% +Dear Abby: + I have two brothers. One was sent to the electric chair when I was +a child. My mother died in an insane asylum. My father is a pimp and my +sister is a very successful and highly paid prostitute. My other brother +is a graduate student attending Purdue University. + Recently I met a wonderful girl who has just been released from prison +for murdering her illegitimate child with a Zip-loc sandwich bag. We're very +much in love and want to be married after her venereal disease is cured. + My problem is this: should I tell her about my brother at Purdue? + + Sincerely, + Undecided. +% +Dear Abby: + I just met the most terrific girl and we get along fabulously. I +think she's the one for me. There's just one problem: I can't remember +from our first date if she told me she had TB or VD. What should I do? + --Confused + +Dear Confused: + If she coughs, fuck her. +% +Dear Ann Landers: + I have a problem. I have two brothers; one works for the Illinois +Bell Telephone Company, the other brother was just sentenced to death +in the electric chair for murder. My mother died from insanity when +I was three years old. My two sisters are prostitutes and my father +sells narcotics. + I recently met girl who was just released from a reformatory where +she served time for smothering her illegitimate child to death. I love +this girl and want to marry her. My problem is this -- dare I tell her +about my brother who works for Illinois Bell? + -- Confused. +% +Dear Ann Landers: + My husband watches the TV preachers every Sunday. He claims +one minister said there are 350 different sins. My husband wants to +know if you can get the list. He thinks he is missing something. + -- E.J. Mayfield +% +Dear Lord, observe this bended knee +This visage meek and humble, +And hear this confidential plea +Voiced in reverent mumble: + Give me Shylock, give me Fagin + But O God spare me Ronald Reagan! + -- Ansel Adams +% +Dear Miss Manners: +Please list some tactful ways of removing a man's saliva from your face. + +Gentle Reader: +Please list some decent ways of acquiring a man's saliva on your face. +If the gentleman sprayed you inadvertently to accompany enthusiastic +discourse, you may step back two paces, bring out your handkerchief, +and go through the motions of wiping your nose, while trailing the cloth +along your face to pick up whatever needs mopping along the route. If, +however, the substance was acquired as a result of enthusiasm of a more +intimate nature, you may delicately retrieve it with a flick of your +pink tongue. +% +Demonstrating once again the importance of the lowly comma, this +telegram was sent from a wife to her husband: + "NOT GETTING ANY, BETTER COME HOME AT ONCE." +% +Desperate because her husband hadn't made love to her in months, a lonely +housewife finally mustered her courage and went to their doctor for advice. +The doctor was very sympathetic and wrote out a prescription for pills that +were guaranteed to rekindle the husband's ardor in a big way. "They'll make +him horny as hell," the doctor confided, "but they're very potent, so just +put one in whatever he's drinking." + Upon arriving home, the woman left the pills on the kitchen counter +and dashed off to the supermarket. It didn't take long before the cat jumped +up, knocked them over onto the floor, and ate a couple, as did the family +dog. And when the husband got home with a headache, he took a few thinking +they were aspirin. + When the housewife returned, she was horrified to see the dog humping +the cat and the cat jumping all over the dog, but even stranger was the sight +of her husband with his penis inside the pencil sharpener on the counter. +"What in heaven's name are you doing, John?" she cried. + "See that mosquito?" he replied. +% +Dial 911. Make a cop come. +% +diaphragm, n: + A childproof cap. +% +dicker, v: + What you do to your wife if arguing doesn't work. +% +Did Detroit invent the back seat to destroy the morals of America? + -- Ed Sanders +% +Did you hear about... + the butcher who dropped his cleaver and went home half-cocked? +% +Did you hear about... + the plastic surgeon who hung himself? +% +Did you hear about the 10 year old boy who asked his recently divorced mother +her age? She told him that was not a question to ask and that he shouldn't +ask it again. He then asked her her weight. She, once again, told him that +she wouldn't answer the question and that he shouldn't ask it again. The next +question he asked was why she and Daddy got divorced. Once again, she told +him that it was not a question he should ask and to not ask that question +again. + Some time later, she found him looking through her purse. Sharply +asking him what he was doing resulted in him beamingly telling her that he +had found the answers to all of his questions! + "Mom", he said, "your driver's license says you're 34 years old, weigh +125 pounds, and you and Daddy probably divorced 'cause you got an 'F' in sex!" +% +Did you hear about the nearsighted fetishist who got off on the wrong foot? +% +Did you hear about the new sorority girl doll? +You put a ring on her finger and her hips expand. +% +Did you hear they cancelled Easter this year? +Found the body. +% +Did you know that some people your age have sex +thirty-seven times in a week? And die immediately after? +% +Did you know that Spiro Agnew is an anagram of "Grow a Penis"? +% +Did you know that there are 71.9 acres of nipple tissue in the U.S.? +% +Dig it, first they killed those pigs, then they ate dinner in the same +room with them, then they even shoved a fork in a victim's stomach. Wild! + -- Bernadine Dohrn, on the Manson killings +% +Disclaimer of the Week: + Any Society Which Requires Disclaimers Has Too Many Goddamn Lawyers. +% +Disillusioned words like bullets bark, +As human gods aim for their mark, +Make everything from toy guns that spark +To flesh-colored christs that glow in the dark. +It's easy to see without looking too far +That not much is really sacred. +% +Distributed Systems people do it loosely coupled. +% +DIVE!!! DIVE!!! DIVE!!! +UP PERISCOPE!!! + +(Ooops, sorry, wrong fantasy.) +% +divorce, n: + A change of wife. +% +Do infants have as much fun in infancy as adults do in adultery? +% +Do married women make the best wives? +% +Do not permit a woman to ask forgiveness, for that is only the first +step. The second is justification of herself by accusation of you. + -- DeGourmont +% +Do not rejoice in his defeat, you men, +For though the world stood up +And stopped the bastard, +The bitch that bore him is in heat again. + -- Bertolt Brecht +% +Do something big -- fuck a giant. +% +"Do you cheat on your wife?" asked the psychiatrist. +"Who else?" answered the patient. +% +Do you smoke after sex? +Why, do you know, I've never looked! +% +Doctors take two aspirin and do it in the morning. +% +Documentation is like sex: when it is good, it is very, +very good; and when it is bad, it is better than nothing. + -- Dick Brandon +% +Does he treat your breasts like unripe grapefruit? Who needs him? + -- `J', "The Sensuous Woman" +% +Does it rape elephants? + -- Brent Byer +% +Doing business with the government is like fucking sheep. +It's easy, but it's not very satisfying. +% +Don't accept rides from strange men -- and remember that all men +are strange as hell. + -- Robin Morgan, "Sisterhood Is Powerful" +% +Don't dip your wick in a WAC, +Don't ride the breast of a WAVE, + Just sit in the sand + And do it by hand, +And buy bonds with the money you save. +% +Don't forget to support the ERA apersonment. +% +Don't get the idea that I'm one of those goddamn radicals. Don't get the +idea that I'm knocking the American system. + -- Al Capone +% +Don't knock masturbation -- it's sex with someone I love. + -- Woody Allen +% +Don't knock masturbation, it's sex with someone I love. + -- Woody Allen +% +Don't let your mouth write no check that your tail can't cash. + -- Bo Diddley +% +Don't look now -- your office mate is a pederast!!! +% +Don't look now, but your mother is having sex with a horse. +% +Dope will get you through times of no money +better than money will get you through times of no dope! + -- Freewheelin' Franklin, "The Fabulous Furry Freak Brothers" +% +Down by the old model T, +Where she first showed it to me. + It was furry and black, + And she called it a crack, +But it looked like a manhole to me. +% +Draft beer, not boys! +% +Dry fucking: that's man on top of woman, the action is the same as fucking, +but you're dressed. It's great for the girl... you're hitting and rubbing +exactly the area that you ought to be... I still like that. + -- Grace Slick +% +Due to a mixup in urology, orange juice will not be served this morning. +% +Dull women have immaculate homes. +% +During the darkest days of World War II, when each night brought waves of +Luftwaffe bombers raining death and destruction on a near-defenseless London, +Prime Minister Churchill went on the air to address the British people. "I +read this morning's paper that Herr Hitler plans to wring England's neck like +that of a chicken," he began, "and I was reminded of what the Irish poacher +said as he stood on the gallows. It seems the poor fellow was approached by a +well-meaning if somewhat overzealous priest who, in horrific detail, described +the unfading torments of Hades which awaited him if he did not repent of his +misdeeds. The condemned man listened patiently to all that the priest had to +say, and when he was done, grinned broadly and replied, 'Eat it raw, fuzz +nuts.'" + -- "The Churchill Wit", National Lampoon +% +dyke, n: + A woman who kick-starts her vibrator. And rolls her own + tampons. +% +Dyslexia means never having to say that you're ysror. +% +Dyslexics have more fnu. +% +DYSLEXICS OF THE WORLD, UNTIE! +% +Early to bed and early to rise makes a man a helluva big nuisance. +% +Eat prune yogurt for that "get up and go" feeling. +% +Eat shit and die a virgin! +% +Economists are still trying to figure out why the +girls with the least principle draw the most interest. +% +EE's do it without shorts. +% +Eighteen goddess-like daughters are not equal to one son with a hump. + -- Chinese Proverb +% +Eighty percent of married men cheat in America. The rest cheat in Europe. + -- Jackie Mason +% +Eleven reasons a cucumber is better than a man: + 1) Cucumbers can stay up all night, + and you won't have to sleep in the wet spot. + 2) Cucumbers don't play the guitar and try to find themselves. + 3) You won't find out later that your cucumber + ...is married + ...is on penicillin + ...likes you -- but loves your brother! + 4) A cucumber won't care what time of the month it is. + 5) A cucumber never wants to get it on when your nails are wet. + 6) Cucumbers don't say "Let's keep trying until we have a boy". + 7) Cucumbers won't tell you size doesn't count. + 8) A cucumber won't leave you for a cheerleader or an ex-nun. + 9) Cucumbers don't fall asleep on your chest or drool on the pillow. + 10) Cucumbers don't care if you make more money than they do. + 11) With a cucumber, the toilet seat is always the way you left it. +% +embarrassment, n: + Finding out your German Shepherd has the clap. +% +Equality is not when a female Einstein gets promoted to assistant +professor; equality is when a female schlemiel moves ahead as fast +as a male schlemiel. + -- Ewald Nyquist +% +Erogenous zone, n: + The skin you touch to love. +% +eternity, n: + The length of time between when you come and he leaves. +% +Evangelists do it with Him watching. +% +Even bytes get lonely for a little bit. +% +Evening hours "all clear" for romance! +(Tell mate you have to work late.) +% +Ever notice that the women who are against abortion are the ones you +wouldn't want to fuck in the first place? + -- George Carlin +% +Ever wondered why you always run out of breath when you throw up? +Ah, but a man's retch should exceed his gasp, else what's a heaving for? +% +Every harlot was a virgin once. + -- William Blake +% +Every now and then when your life gets complicated and the weasels start +closing in, the only cure is to load up on heinous chemicals and then drive +like a bastard from Hollywood to Las Vegas ... with the music at top volume +and at least a pint of ether. + -- H.S. Thompson, "Fear and Loathing in Las Vegas" +% +Every now and then when your life gets complicated and the weasels start +closing in, the only real cure is to load up on heinous chemicals and then +drive like a bastard from Hollywood to Las Vegas. + -- Hunter S. Thompson +% +Every now and then when your life gets complicated and the weasels start +closing in, the only real cure is to load up on heinous chemicals and +then drive like a bastard from Hollywood to Las Vegas. + -- Hunter S. Thompson +% +Everyone: "Australia, Australia, Australia, Australia, we love you, + Amen!" +Bruce: "Another two! (Bottles opening.) Any questions?" +Bruce: "New-Bruce, are you a Poofter?" +Bruce: "Are you a Poofter?" +New-Bruce: "No!" +Bruce: "No. Right, I just want to remind you of the faculty rules: + Rule One!" +Everyone: "NO POOFTERS!" +Bruce: "Rule Two, no member of the faculty is to maltreat the Abbos + in any way at all -- if there's anybody watching. Rule Three?" +Everyone: "NO POOFTERS!" +Bruce: "Rule Four, now this term, I don't want to catch anybody not + drinking. Rule Five..." +Everyone: "NO POOFTERS!" +Bruce: "Rule Six, there is NO... Rule Six. Rule Seven..." +Everyone: "NO POOFTERS!" +Bruce: "Right, that concludes the readin' of the rules, Bruce. This + here's the wattle, the emblem of our land. You can stick it in a + bottle, you can hold it in your hand. Amen! + -- Monty Python +% +Everyone has the right, without exception, to equal pay for equal work. +Except for women. +% +Everyone in the office is welcome to join the group going to the Columbus +Theater tonight. Meet in the lobby at 8:30. The films are "Blue Jennifer" +and "Hot Coed Cheerleaders". +% +Everyone *knows* cats are on a higher level of existence. These silly humans +are just to big-headed to admit their inferiority. + Just think what a nicer world this would be if it were controlled by +cats. + You wouldn't see cats having waste disposal problems. + They're neat. + They don't have sexual hangups. A cat gets horny, it does something +about it. + They keep reasonable hours. You *never* see a cat up before noon. + They know how to relax. Ever heard of a cat with an ulcer? + What are the chances of a cat starting a nuclear war? Pretty negligible. +It's not that they can't, they just know that there are much better things to +do with ones time. Like lie in the sun and sleep. Or go exploring the world. +% +Except for 75% of the women, everyone in the whole world wants to have sex. + -- Ellyn Mustard +% +exotic dancer, n: + A girl who brings home the bacon a strip at a time. +% +falsie salesman, n: + Fuller bust man. +% +Famous last words: + 1: Everything that you'll need to know is in the manual. + 2: You and what army? + 3: Don't worry, I can handle it. + 4: If you were as smart as you think you are, you wouldn't + be a cop. + 5: I don't see how they make a profit + out of this stuff at a dollar and a quarter a fifth. + 6: We're just getting into semantics again. + 7: Everything's under control. + 8: He's an asshole! Don't try to "shush" me! +% +Fat dirty farts came spluttering out of your backside. You had an arse full +of farts that night, darling, and I fucked them out of you, big fat fellows, +long windy ones, quick little merry cracks... + -- James Joyce +% +Fed some caviar to my girlfriend +She was a virgin tried and true +Now my girlfriend needs no urgin' +There ain't nothin' she won't do! + Caviar comes from a Virgin Sturgeon - + Virgin Sturgeon's a very fine fish. + Virgin Sturgeon needs no urgin' + That's why caviar is my dish! + +Fed some caviar to my Grandpa +He was a man of ninety-three +Shrieks and screams were heard from Grandma +He had chased her up a tree! + (chorus) +% +felt tip, v: + Past tense for a breast examination! +% +Female ballet dancers are the bravest girls around. Who else would take a +flying leap into the arms of a homosexual and expect to be caught? + -- Rita Rudner +% +female, n: + Life support system for a pussy. +% +Feminism, n: + A political position which seeks to rebuild society so that + both men and women are treated as women wish to be treated. +% +Feminists just want the human race to be a tie. +% +Feminists say 60 percent of the country's wealth is in the hands of +women. They're letting men hold the other 40 percent because their +handbags are full. + -- Earl Wilson +% +Fie for shame, +you lascivious, lewd, lecherous, +libidinous, lustful, licentious, dirty bum!! +% +Fig Newton. +% +Fighting for peace is like screwing for virginity. +% +Filth and old age, I'm sure you will agree, +Are powerful wardens upon chastity. + -- Geoffrey Chaucer +% +Finally, a reporter got a chance to interview Tarzan. + +Reporter: Tarzan? Is that your first or last name? +Tarzan: Tarzan first name. +Reporter: Then, what's your whole name? +Tarzan: Tarzan of the Apes. +Reporter: And who is the woman with you? +Tarzan: That Jane. +Reporter: And what's Jane's whole name? +Tarzan: Cunt. +% +First you get down on your knees, Get in line in that processional, +Fiddle with your rosaries, Step into that small confessional, +Bow your head with great respect, There the guy who's got religion'll +And genuflect, genuflect, genuflect! Tell you if your sins' original. +Do whatever steps you want if If it is, try playin' it safer, +You have cleared them with the Pontiff, Drink the wine and chew the wafer, +Ev'rybody say his own Two, four, six eight, +Kyrie eleison, Time to transubstantiate! +Doin' the Vatican Rag. + +So get down upon your knees, Make a cross on your abdomen, +Fiddle with your rosaries, When in Rome do like a Roman, +Bow your head with great respect, Ave Maria, +And genuflect, genuflect, genuflect! Gee, it's good to see ya, + Gettin' ecstatic an' sorta dramatic an' Doin' the Vatican Rag! + -- Tom Lehrer, "The Vatican Rag" +% +Five-foot nine, eyes that shine +He was born in Palestine +Has anybody seen my Lord? + +He's so cool, he's so fine +Eat his bread and drink his wine +Has anybody seen my Lord? + +He's so neat, he's so cool, +Walks across my swimming pool. +Has anybody... +% +Flirt, n: + A girl whose favorite man is the next one. +% +Floating idly one day through the air, +A circus performer named Blair, + Tied a sizeable rock, + To the end of his cock, +And shattered a balcony chair. +% +Floppy now, hard later. +% +Folks, what can I tell you about my next guest. This cat allowed himself +to be adored, but not loved. And his success in show business was matched +by failure in his personal relationship bag, now that's where he really +bombed. And he came to believe that work, show business, love, his whole +life, even himself and all that jazz was bullshit. He became numero uno +gameplayer. Uh, to the point where he didn't know where the games ended +and the reality began. Like to this cat, the only reality... is death, man. +Ladies and gentlemen, let me lay on you, a so-so entertainer, not much of +a humanitarian, and this cat was never nobody's friend. In his final +appearance on the great stage of life, uh, you can applaud if you want to, +Mr. Joe Gideon!! + -- All That Jazz +% +For a gay time, call 632-9483. Ask for Brucie. +% +For a good time, call 632-9484. Ask for Cathy. +% +For a good time, call 632-9485. Ask for Michael. +% +For a house-to-house salesman named Moore, +Getting housewives' attention's no chore: + He's endowed with a dong + That is 12 inches long, +So he wedges his foot in the door. +% +For a young man, not yet: for an old man, never at all. + -- Diogenes, asked when a man should marry + +When should a man marry? A young man, not yet; an elder man, not at all. + -- Sir Francis Bacon, "Of Marriage and Single Life" +% +For children, a woman. +For pleasure, a boy. +For sheer ecstasy, a melon. +% +For her first week's salary the gorgeous new secretary was given an +exquisite nightgown of imported lace. The next week her salary was +raised! +% +For months the loving newlywed had asked his blushing bride to perform oral +sex on him, but to no avail. His sweet entreaties never worked, for she was +simply too innocent and inexperienced to even *think* of such a thing, let +alone attempt it. But a year of gentle persistence finally paid off, and +one night his darling nervously but lovingly performed the act. When it was +over, she looked deeply into his eyes, blushed, and asked, "How was I, +sweetheart?" + He looked at her and replied, "How should I know -- I'm no +cocksucker!" +% +fornication, n: + Term used by people who don't have anybody to screw with. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #15 + +Sex: + Women prefer 30-40 minutes of foreplay. Men prefer 30-40 seconds of +foreplay. Men consider driving back to her place as part of the foreplay. + +Maturity: + Women mature much faster than men. Most 17-year-old females can +function as adults. Most 17-year-old males are still trading baseball cards +and giving each other wedgies after gym class. This is why high school +romances rarely work out. + +Handwriting: + To their credit, men do not decorate their penmanship. They just +chicken-scratch. Women use scented, colored stationary and they dot their +"i's" with circles and hearts. Women use ridiculously large loops in their +"p's" and "g's". It is a royal pain to read a note from a woman. Even +when she's dumping you, she'll put a smiley face at the end of the note. +% +FORTUNE DISCUSSES THE DIFFERENCES BETWEEN MEN AND WOMEN: #18 + +Sexual frequency: + The average man would prefer having sex every evening, or every +morning, or maybe both if he's under 25. The average woman would like to +have sex non-stop all weekend, once a month. + +Shopping: + It's no coincidence that L.L. Bean, Sears, and Roebuck were all men. +Men don't like to shop. If a man can't foist the job off on some woman, he +will grit his teeth and plan the outing as he would a jungle expedition. +He wants a map of the store showing where he has to go to get item X in +color Y in the correct size, which he doesn't know. Even then it takes him +half an hour to get there from the entrance. When he's finally accomplished +his mission, he'll discover that he forgot his checkbook. Women shop to +relax. +% +Fortune Personals: + SWBiM, 29. Gr/Fr/Mild English. Have + own moose, hoop. Sincere inquiries + only. Discreet. Fortune P.O. Box 1910. +% +Fortune presents: + USEFUL PHRASES IN ESPERANTO, #3. + +Kie estas la plej proksima masa^gejo? Where's the nearest massage parlor? +Vi dolorigas min. You're hurting me. +Mi deziras viziti usonan kuraciston. I want to see an American doctor. +Mi deziras a^ceti kontraugraveda^jojn. I would like to buy some + contraceptives. +^Cu tiu estis ankau bona por ci? Was it good for you too? +% +Fortune presents: + USEFUL PHRASES IN ESPERANTO, #4. +Mia ^svebo^sipo estas plena je angiloj. My hovercraft is full of eels. +Neniu anticipas la hispanan No one expects the Spanish + Inkvizicion. Inquisition. +La solvo estas kvardekdu. The answer is forty-two. +Adiau, kaj dankoj por ^ciom da fi^so. So long, and thanks for all the fish. +^Cu estas krajono en via po^so, au ^cu Is that a pencil in your pocket, + vi feli^cas pri vidi min? or are you happy to see me? +% +Fortune suggests uses for YOUR favorite UNIX commands! + +Try: + [Where is Jimmy Hoffa? (C shell) + ^How did the^sex change operation go? (C shell) + "How would you rate BSD vs. System V? + %blow (C shell) + 'thou shalt not mow thy grass at 8am' (C shell) + got a light? (C shell) + !!:Say, what do you think of margarine? (C shell) + PATH=pretending! /usr/ucb/which sense (Bourne shell) + make love + make "the perfect dry martini" + man -kisses dog (anything up to 4.3BSD) + i=Hoffa ; >$i; $i; rm $i; rm $i (Bourne shell) +% +FORTUNE TESTS THE GREAT MANAGERS: #3 + +You have prepared a proposal for your supervisor. The success of this +proposal will mean increasing your salary 20%. In the middle of your +proposal your supervisor leans over to look at your report and spits into +your coffee. You: + + (a) Tell him you take your coffee black. + (b) Ask him if he has any communicable diseases. + (c) Show him who's in command; promptly take a piss in his + "In" basket. + (d) Take a sip and comment how much better it tastes. +% +FORTUNE TESTS THE GREAT MANAGERS: #5 + +You have just returned from a trip to Green Bay, Wisconsin in January and +tell your boss that nobody but ladies of the evening and football players +live there. He mentions that his wife is from Green Bay. You: + + (a) Pretend you are suffering from amnesia and don't + remember your name. + (b) Ask what position she played. + (c) Ask if she is still working the streets. + (d) Pull lacy underwear from your raincoat pocket and ask + if he recognizes the label. +% +FORTUNE TESTS THE GREAT MANAGERS: #6 + +You are having lunch with a prospective vendor talking about what could be +your best deal of the year. During the conversation a blonde walks into +the restaurant and she is so stunning you draw your companion's attention +to her and give a vivid description of what you would do if you had her alone +in your hotel. She walks over to your table and the vendor introduces her as +his daughter. Your next move is to: + + (a) Ask for her hand in marriage. + (b) Pass out and hope for sympathy. + (c) Forget the business; repeat the conversation to the + daughter and get her number. + (d) Turn red and slink off into the men's room. +% +FORTUNE TESTS THE GREAT MANAGERS: #7 +You have just returned from a trip to Green Bay, Wisconsin in January +and tell your boss that nobody but whores and football players live +there. He mentions that his wife is from Green Bay. You: + + (a) Pretend you are suffering from amnesia and don't remember your + name. + (b) Ask what position she played. + (c) Pull a pair of lacey underwear from your pocket and ask if + he recognizes the label. +% +FORTUNE TESTS THE GREAT MANAGERS: #9 + +You are making a sales presentation to a group of corporate executives +in the plushest office you've ever seen. The enchilada casserole and +egg salad sandwich you had for lunch react, creating severe pressure. +Your sphincter loses control and you break wind, causing the glass +bookcase doors to shatter and a secretary to pass out. You: + + (a) Offer to come back next week when the smell has gone away. + (b) Point to the Chief Executive and accuse him of the offense. + (c) Challenge anyone in the room to do better. +% +Fortune understands that the vote on a bill to legalize bisexuality +could go either way. +% +Fortune's Guide to Movies: +G: No girl. +PG: The hero gets the girl. +R: The bad guy gets the girl, then the good guy gets the girl. +X: The hero still gets the girl in the end, but he's never sure + which end it will be. +XXX: Everybody gets the girl. +% +Fortune's Rules for Memo Wars: #1 + + Any attempt to say that someone's personal beliefs are wrong, even if +you supply conclusive evidence to support your claim, is an outright attack. +If you show someone a flaw in his/her logic, they have every right to punch +you in the face. Mathematical proofs of errors are the moral equivalent +of rape and should be avoided at all cost. + Now... your opponent has requested a "rational discussion". What do +you do? Well, remember that people are normally willing to discuss things +rationally if and only if you agree with them; anything less would obviously +not be rational. Therefore, agree immediately, and continue as before. + Always assume that whenever you see someone making a statement about +"certain parties who shall remain nameless", "some people", "assholes", etc., +they are talking about *you*. It is also correct to assume that words you +don't understand, such as "prestidigatory", "lapidarian", and "buprestid", +are direct personal attacks aimed at your loved ones and merit an equally +scathing response. Failure to do this results in many lost opportunities for +rational discussion. (See above.) +% +Fortune's Rules for Memo Wars: #3 + +The proper time for a vicious ad hominem attack is when you have no logical +recourse. If you have been arguing a point with a person or persons for +30 odd weeks, and an memo comes across that logically tears down the +final shred of evidence that you thought you had, that is the time to call +the author of that memo: + 1: a mindless twit who attacks other people's beliefs for no reason. + 2: an egotistical flaming typical wombat aggie melon-humping + cheese-whizzing nanosexual subuseless clamsucker whose memos + are apparently sneezed onto his/her terminal. + 3: something unpleasant. +The OTHER proper time for an ad hominem attack is immediately after someone +has posted something you don't understand. Given the current state of modern +electronic communications technology your inability to comprehend the meaning +of an memo constitutes a violation of western moral tradition on the part of +the author of that memo, and the author should be taken to task publicly via +a series of really nasty, name-calling oriented memos. +% +FORTUNE'S RULES TO LIVE BY: #5 + + Don't wear your spurs while making love in a waterbed. +% +FORTUNE'S RULES TO LIVE BY: #8 + + Don't wear your high heels while making love on the pool table. +% +Four men had been playing golf together for twenty years. After their usual +Saturday game one week, one of the men joined the other three for a post-game +shower for the first time. His friends were surprised - "For twenty years", +one of them says, "you haven't showered after our game, you've just waited for +us in the clubhouse. Why the sudden change?" + "Well", replies their friend, "I was born with a fairly unusual +medical condition. I had both a penis and a vagina. Last month I finally +decided to have the vagina removed." + The other three men look at him in disbelief and disgust. "You +mean," snaps one of them, "you could have played from the women's tee all +these years?" +% +France is a country where the money falls apart and you can't tear +the toilet paper. + -- Billy Wilder +% +From the outset, the blind date was a fiasco and it was intensified by the +fact that the fellow was too insensitive and ego-ridden to realize it. The +moment of truth came in the supper club as he clutched the girl's thigh and +whispered, + "Baby, how's about our cutting out to my pad so I can slip you nine +inches?" +There was a moment of silence, and then the girl said, + "You know, I really don't think you could get it up three times +in a row!" +% +Fuck art; let's dance! +% +Fuck off and die! +% +Fuck you and anybody who looks like you. +% +Fuck'em if they can't take a joke! +% +fuck-me-pumps, n: + Stiletto heels of a certain length, usually black patent leather. +The proper designation is "throw-me-down-and-fuck-me" pumps. Shoes with +heels just high enough to let the frayed tip of a bullwhip trail around +them properly. +% +fuckoff, n: + The tie breaker at the Miss America Beauty Pageant. +% +Gardeners do it in raised beds. +% +GARTER: + An elastic band intended to keep a woman + from coming out of her stockings and desolating the country. +% +Gary Hart's biggest mistake was not getting Teddy Kennedy to drive +Donna Rice home. +% +GAY: + One who'd rather swish than fight. +% +GEMINI (May 21 - June 20) + You are a quick and intelligent thinker. People like you because +you are bisexual. However, you are inclined to expect too much for too +little. This means you are cheap. Geminis are known for committing incest. +% +Gentlemen prefer blondes, but who says blondes prefer gentlemen? + -- Mae West +% +Geometry teaches us to bisex angels. +% +George, after tying on a whopper the night before, woke up in the morning to +find a pathetically unattractive woman sleeping blissfully beside him. He +leaped out of bed, dressed quickly, and furtively placed $100 on top of the +bureau. He then started to tiptoe out of the room. But, as he passed the +foot of the bed, he felt a tug at his trouser leg. Glancing down, he saw +another female even homelier than the one he'd left in bed. She gazed up +at him soulfully, and asked, "Nothing for the bridesmaid?" +% +George Washington not only chopped down his father's cherry tree, but he +also admitted doing it. Now, do you know why his father didn't punish him? +Because George still had the axe in his hand. +% +GEORGIA: + Where kinky sex means getting laid. +% +"Get a load of that chick!" "Dude -- you gotta ask her out." +"Weellll, I dunno..." "Look. The worst she can say, is 'No'!" +"Hey! You're right!" "I'm always right!" +"The worst she can say... is 'No'!" + +"Idunnoifyou'vebeennoticingmebutI'vebeennoticingyouandIwaswonderingif +you'd like to go out with me!" + +Oh my god you little Geek! +Get away before I freak! You ugly, stupid, zitfaced scum, +I'm a babe and you are not. You asked me out; you MUST be dumb. +You can't handle what I've got! Well you can beg until you're blue, +I'm too hot, too hot for you.. But you're not even fit to lick my shoe. + I'm too hot, too hot for you. +Ha ha ha! Don't make me laugh! +I want a whole man, not a half. I've got a bitchin' bod and a killer +You wet your pants, I'm so sure. face, +Too bad wimp-itis has no cure. I'm god's gift to the male race. +I'm too hot, too hot for you. I'm the queen of babes supreme, + But you'll only see me in you dreams. +"Well? What'd she say??" I'm too hot, too hot for you. +"Well, she didn't say no..." + -- Barry and the Bookbinders, "The Worst She Can Say is No" +% +GET OFF THE FUCKING SYSTEM THIS INSTANT, YOU ASSHOLE!!!! +% +Get your bytes from our backend! + -- Britton Lee +% +Getting an education at the University of California +is like having $50.00 shoved up your ass, a nickel at a time. +% +Getting Cheryl to shed her apparel +Is like shooting goldfish in a barrel. + But her genital area + Is so vast it'll scareya, +And you venture inside at your peril. +% +Gibble gabble gabble gibble gurgle lubble gibble babble beeble triggle + Lean closer. +Libble gabble gabble ibble gurgle gubble tibble babble feeble riggle + Smile at her *knowingly*. +Gibble gabble sabble gibble surgle gubble gibble babble beeble giggle + Nod sympathetically. Show you're on *her* side. +Bibble gabble gabble babble gurgle gubble gibble tribble beeble figgle + Touch her hand lightly. Nobody understands but we two. +Fibble gabble fobble gibble gurgle bubble gibble tabble beeble giggle + Look sincere. + +"Why don't we have the next drink up at MY place?" + + God's gift to women strikes again. + -- J. Feiffer +% +Gimme that old bisexuality, +Gimme that old bisexuality, +Gimme that old bisexuality, +'Cause it's good enough for me! + +It was good for David Bowie, +It was good for David Bowie, +It was good for David Bowie, +And it's good enough for me! +% +Girls are better looking in snowstorms. + -- Archie Goodwin +% +Girls are like pianos. When they're not upright, they're grand! +% +Girls marry for love. Boys marry because of a chronic irritation +that causes them to gravitate in the direction of objects with +certain curvilinear properties. + -- Ashley Montagu +% +Girls really do know just what they want -- you to figure it out for +yourself! +% +Girls who put out are tramps. Girls who don't are ladies. This is, +however, a rather archaic use of the word. Should one of you boys happen +upon a girl who doesn't put out, do not jump to the conclusion that you +have found a lady. What you have probably found is a lesbian. + -- Fran Lebowitz, "Metropolitan Life" +% +Girls who throw themselves at men, +are actually taking very careful aim. +% +Girls would never stay out late if guys didn't make them. +% +Give a man a free hand and he'll run it all over you. + -- Mae West +% +Give me Librium or give me Meth. +% +Give me the Luxuries, and the Hell with the Necessities! +% +GLEE CLUB GROUPIE: + A girl into choral sex. +% +Go out with girls Dutch treat -- pay for dinner, drinks, +and the movie, and the rest of the evening is on her. +% +God is a polytheist. +% +God is an atheist. +% +God is not dead! He's alive and autographing bibles at Cody's. +% +God is not dead -- he's been busted. +% +God is omnipotent, omniscient, and omnibenevolent -- it says so right here +on the label. If you have a mind capable of believing all three of these +divine attributes simultaneously, I have a wonderful bargain for you. No +checks, please. Cash and in small bills. + -- Lazarus Long +% +God isn't dead, he just couldn't find a parking place. +% +God isn't dead, He's just trying to avoid the draft. +% +God made the world in six days, and was arrested on the seventh. +% +God must love assholes -- She made so many of them. +% +God wanted to have a holiday, so He asked St. Peter for suggestions on +where to go. + "Why not go to Jupiter?" asked St. Peter. + "No, too much gravity, too much stomping around," said God. + "Well, how about Mercury?" + "No, it's too hot there." + "Okay," said St. Peter, "What about Earth?" + "No," sighed God, "They're such horrible gossips. When I was +there 2000 years ago, I had an affair with a Jewish woman, and they're +still talking about it." +% +God wants us to know that if we see a bumper sticker saying "Honk if you love +Jesus" it is a bad idea to honk to express an opinion about Jesus because it +will annoy the turkey who put the bumper sticker on as well as everyone else +in the vicinity. However, it is just fine to honk to annoy the turkey simply +for being a turkey, for God told Man to be fruitful and multiply, and to rule +over the beasts of the field and the birds of the air, and that includes the +turkeys who buy such bumper stickers. Of course, God understands that innocent +bystanders will also be annoyed, but He has wisely created traffic cops to +impose some constraint on how much we may annoy the turkeys within city limits, +for God's wisdom comprehends full well that thou shalt not make an omelette +without breaking eggs. God only wishes they were turkey eggs, so such moral +dilemmas shall be fewer in number in the future, when the generations a-coming +(hallelujah) won't have so many turkeys to deal with. But God knows full well +that such things take time, and the turkeys are showing more resilience than +expected, and may be with us for a long time yet. +% +Going into politics is as fatal to a gentleman as going into a bordello +is fatal to a virgin. + -- H.L. Mencken, "A Carnival of Buncombe" +% +Gold coast slave ship bound for cotton fields +Sold in a market down in New Orleans +Scarred old slaver knows he's doing alright +Hear him whip the women, just around midnight + +Ah, brown sugar how come you taste so good? +Ah, brown sugar just like a young girl should + +Drums beating cold English blood runs hot +Lady of the house wonderin' where it's gonna stop +House boy knows that he's doing alright +You should a heard him just around midnight. +... +I bet your mama was tent show queen +And all her girlfriends were sweet sixteen +I'm no school boy but I know what I like +You should have heard me just around midnight. + -- Rolling Stones, "Brown Sugar" +% +Goldfish: Two naked people tied and put on a mattress together to make love +"fish fashion" (ie: no hands). Originally a nineteenth-century bordel joke. +It can be done (if you are the victims, try on your sides from behind). +Venerable party game, but don't play it with strangers, or leave players +unsupervised, even briefly. There was a nice spoof on this sex stunt in +the movie "Soldier Blue". A good many women can get an orgasm from this +simply by struggling, especially if you put them in front of a mirror. +Don't both tie yourselves, even if you can manage it -- you might not be +able to get loose. + -- The Joy of Sex +% +Good day for water sports. Take a bath with a friend. +% +Good evening Ladies and Gentlemen! +Here's a little number I tossed up in the Caribbean recently... + +Isn't it awfully nice to have a Penis, +isn't it frightfully good to have a Dong. + +It's swell to have a Stiffy, +it's divine to have a Dick, +from the tiniest little Tadger, +to the world's greatest Prick. + +So, breeches for your Willy or John-Thomas, +Hooray! for your One Eyed Trouser's Snake. + +Your Piece of Pork, your Wife's best friend, +your Porky or your Cock, +you can wrap it up in ribbons, +you can stick it in your sock! + +But, don't take it out in public, +or they will stick you in the dock, +and you won't come back. + -- The Meaning of Life, Monty Python +% +good scout, n: + Someone who knows the lay of the land and will take you to her. +% +Gorbachev woke up early one morning, and felt great. He walked over to his +window, threw back the curtains, and saw the sun coming up. He felt *so* +good, he crowed, "Good Morning Sun!", and was startled when a great booming +voice came back to him, "Good morning Comrade! Good morning to you and +the great Soviet Socialist Republic!". Of course, this surprised him, but +great politician that he is, he considers the political ramifications. +Gorbachev then woke up Raisa and his closest aides, brought them into his +bedroom, and shouted out "Good morning, Comrade Sun!". Again a booming reply, +"Good morning, Comrade. Good morning to you and the rest of the Party!" +Everyone was quite excited about this, and Gorbachev sat down to his +day's work with a feeling of being destiny's favorite child. + Later, in the evening, he was preparing for the ballet. As he +dressed, he noticed that the sun was setting. Walking over to the window, +Gorbachev threw up the sash and again addressed the sun, "Good evening to +you, Comrade Sun!". Once more the great voice boomed out, "Fuck you, +asshole! I'm in the West now!" +% +Grain grows best in shit. + -- U.K. LeGuin +% +Gravity is a myth, the Earth sucks. +% +Gravity is an unforgiving motherfucker. +% +great lover, n: + A man who can breathe through his ears. +% +GREAT MOMENTS IN AMERICAN HISTORY (#21): July 30, 1917 + +On this day, New York City hotel detectives burst in and caught then +Senator Warren G. Harding in bed with an underage girl. He bought +them off with a $20 bribe, and later remarked thankfully, "I thought +I wouldn't get out of that under $1000!" Always one to learn from +his mistakes, in later years President Harding carried on his affairs +in a tiny closet in the White House Cabinet Room while Secret Service +men stood lookout. +% +Gross, adj.: + When your bloody mary still has the string in it. +% +Gross, adj.: + When your grandmother kisses you goodnight and + slips you some tongue. +% +Gynecologist, n: + Someone who spends their time spreading old wives' tails. +% +HACKER: + A master byter. +% +Hackers do it bottom-up. +% +Hackers do it with all sorts of characters. +% +Hackers do it with bugs. +% +Hackers do it with fewer instructions. +% +Hackers have kernel knowledge. +% +Hackers know all the right MOVs. +% +Half the posts to this group are about masturbation and the other half +are about penis size. And what I want to know is, if all you're doing +is jerking off, why do you care how big it is? + -- From alt.sex +% +Halt!! Who goes there, friend or enema? +% +Handsome woman. -- Lovely bust. +Fine young fellow. -- Stirred-up lust. -- + Babies' diapers. -- + Bottom wipers. -- +Years of struggle. -- Coffin. -- Dust. +% +Handy hint: + A tea bag or two can be a dandy substitute + when you're out of tampons. +% +Hang gliders come down very slowly. +% +Hangover, n: + The burden of proof. +% +HAPPINESS: + Having your Herpes (Type II) test come back negative. +% +Hardly a pure science, history is closer to animal husbandry than it is to +mathematics, in that it involves selective breeding. The principal difference +between the husbandryman and the historian is that the former breeds sheep +or cows or such, and the latter breeds (assumed) facts. The husbandryman uses +his skills to enrich the future; the historian uses his to enrich the past. +Both are usually up to their ankles in bullshit. + -- Tom Robbins +% +Harold had never wanted a woman so much in his life, upon overhearing the +22- year-old beauty remark that he was too old and out of shape for her. The +determined septuagenarian immediately embarked upon a rigorous self-improvement +program. He had his face lifted, bought a toupee, ran five miles every day, +lifted weights and adopted a strict vegetarian diet. Within months, the +rejuvenated man won the young woman's heart, and she agreed to marry him. + On the way out of the chapel, however, Harold was fatally struck +by lightning. Furious, he confronted Saint Peter at the pearly gates. "How +could you do this to me after all the pain I went through?" + "To be honest, Harold," Saint Peter sheepishly replied, "I didn't +recognize you." +% +Harry came into work on Monday feeling absolutely fine, and so was astonished +when his secretary urged him to lie down on the sofa; even more so when his +boss took one look at him and ordered him to take the day, if not the week, +off. Even his poker buddies wouldn't have anything to do with him, insisting +that he go straight to bed. Finally, tired of resisting everyone's advice, +he went to see his doctor, who took one look at him and rushed over with +a stretcher. + "But doctor," he protested, "I feel fine." +Well, this was a puzzler, conceded the doctor, who proceeded to refer to the +enormous reference tomes behind his desk, muttering to himself. + "Looks good, feels good... No, you look like hell. Looks good, +feels terrible... Nah, you feel fine, right?" +Thumbing furiously through another volume, he said, + "Looks terrible, feels terrible... Nope, that won't do it either." +Finally, "Looks terrible, feels terrific... Aha!! You're a vagina!" +% +Have you ever really thought about there being a simple solution to +America's problems? Why, we could solve all of our raw materials +difficulties, foreign complications etc. over a long weekend. If we +got up early, early mind you, on Saturday, we could take over Mexico +by 10:00. Panama and most of South America would be a bit more difficult, +but I believe we could do it by 6 or 7 that evening. Turning our +attention northward, Canada would require most of Sunday morning. +General mopping up and execution of the civilian populations would take +up Sunday afternoon. I just don't understand why Washington hasn't +thought of this... +% +Have you ever stopped to think what it would be like to have a woman +President? "I can't deal with the Russians today. Not now. I've got +my period." + -- Steven Moore +% +Have you ever tried to tickle yourself? Everybody has some wacko aunt or +uncle that can just point at you and have you rolling with laughter. But +if you shove your fist in your underarm for a week and a half you won't +laugh. Somehow your underarm just knows that it's *your* fist. Thank God +other parts of our bodies are dumber. +% +Have you ever wondered what makes Californians so calm? Besides drugs, I +mean. The answer is hot tubs. A hot tub is a redwood container filled with +water that you sit in naked with members of the opposite sex, none of whom +is necessarily your spouse. After a few hours in their hot tubs, Californians +don't give a damn about earthquakes or mass murderers. They don't give a +damn about anything , which is why they are able to produce "Laverne and +Shirley" week after week. + -- Dave Barry +% +Have you seen how Sonny's burning, +Like some bright erotic star, +He lights up the proceedings, +And raises the temperature. + -- The Birthday Party, "Sonny's Burning" +% +Having discovered the possibility that other creatures could be used +for sexual intercourse, early man was likely to have made many such +attempts... though it is doubtful that he was so sexually carnivorous +as the Christian and Jewish Adam, who, rabbinical interpreters of the +Old Testament tell us, had intercourse with every creature before God +finally hit upon the idea of woman and created Eve. + -- R.E. Masters +% +Having lost his potency years before, the octogenarian was desperate to +satisfy his new 18-year-old wife. He visited a gypsy woman with magical +powers. + After the man downed a foul-tasting potion, the gypsy said, "There. +Now the words beep-beep will give you an enormous erection. Repeating +the phrase will make it disappear. But remember," she cautioned, "it will +work only three times. Make use of them wisely." + As the old man left, he decided to test her prediction. "Beep-beep," +he said, and sure enough, he got the biggest erection of his life. +"Beep-beep", he repeated. It went away. + He sped through traffic on his way home. "Beep-beep," honked a taxi. +The old man gasped as he instantly got hard. + "Beep-beep," honked a truck. His erection wilted. + Pulling into his driveway at last, the frantic man rushed inside +and found his nubile wife lying on the bed reading a novel. + "Have I got a surprise for you," he said, tearing off his clothes. +"Beep-beep!" + "Hold on a second," his wife said, eyeing his magnificent erection. +"What's all this beep-beep shit?" +% +Having made a remark rather coarse, +A young lady was seized with remorse; + She fled from the room, + And later, a groom +Saw her rolling about in the gorse. + -- Edward Gorey +% +He: Am I... am I your first? +She: Well, honey, I could have sworn your face looked familiar... +% +He: "Hey, Baby, I'd sure like to get in your pants!" +She: "No, thanks, I've already got one asshole in there now." +% +He: So, what do you say to little fuck? +She: I say, "get lost, little fuck." +% +He boil my first cabbage, make it awfully hot, +But when he put in the bacon, oooh, you know it overflow the pot. + -- Bessie Smith, "Empty Bed Blues" +% +He carried me over the stream, striding through the current, his strong, +muscular, thighs scarcely hesitating as he sure-footedly forded the water. +But what was that bulge, small, oblong, solid, that might have been, say, +a pocket camera? + -- An Exciting Journey +% +He dove down overweighted with lead. +Passed one hundred and flat lost his head. + He flapped and he flailed, + Spit his hose and he wailed, +Swallowed water and found himself dead. +% +He drank with curvy Mable, +The pace was fast and furious, +He slid beneath the table, +Not drunk but merely curious. +% +He grabbed me by my slender neck, +I could not call or scream. +He dragged me to his tiny room, +Where we could not be seen. +He tore away my filmy wrap, +And gazed upon my form. +I so cold and frightened, +While he so strong and warm. +He pressed me to his thirsty lips, +I gave him every drop. +He drained me of my very self, +I could not make him stop! +And that is why you see me here, +An empty, broken bottle of beer... +% +He had heard that a certain whorehouse had a reputation for the bizarre. +So he drove to the place and, once inside, asked the Madam if she had anything +unusual for him to try. "Things are pretty slow today," she said, "but I +do have one number you might enjoy." She went on to describe a New Jersey +hen that had been trained to do blow jobs. + "We've got her here, but only for the day." + The visitor could hardly believe it, but he paid the fee and went +into a room with a hen. After a frustrating hour of trying to force his +cock into the hen's mouth, he figured out that he was dealing with nothing +but a plain old chicken. He left. Thinking about it later, he decided +that he had had so much fun trying that he returned the few days later and +asked the Madam, "Do you have anything new today?" + "Come this way," she said, and led him to a dark room where a group +of men were looking through a one-way mirror. He saw that they were watching +a girl making it with a large doberman pinscher. + "Wow!" he said to the man standing next to him. "This is really +great!" + The man replied, "Man, it ain't nothin'! You shoulda been here +a week ago and seen the guy with the chicken!" +% +He used to kiss her on her lips, but it's all over now. +% +He was not only a great swordsman, but also a cunning linguist. +% +He was so gay he'd never lean his ass on a baseball bat -- +scared it'd get serious. +% +He was so ugly hookers used to tell him, "Not on the first date." +% +He was the world's only armless sculptor. He put the chisel in his mouth +and his wife hit him on the back of the head with a mallet. + -- Fred Allen +% +He wasn't much of an actor, he wasn't much of a Governor -- +Hell, they HAD to make him President of the United States. +It's the only job he's qualified for! + -- Michael Cain +% +He who farts in church must sit in his own pew. +% +He who findeth sensuous pleasures in the bodies of lush, hot, +pink damsels is not righteous, but he can have a lot more fun. +% +He who sneezes without a handkerchief takes matters into his own hands. +% +He who trains his tongue to quote the learned +sages, will be known far and wide as a smart ass. + -- Howard Kandel +% +Hear about... + one penile desensitizer that's so effective that you + have to stroke the tube for five minutes to get the cap off? +% +Hear about... + the 97-year-old prostitute who got herself listed in the Yellow + Pages and now claims to be the oldest trick in the book? +% +Hear about... + the absent minded nurse who made the patient without disturbing + the bed? +% +Hear about... + the absent minded sculptor who put his model to bed and + started chiseling on his wife? +% +Hear about... + the absent-minded exhibitionist who was arrested for exposing + his whatchamacalit? +% +Hear about... + the ambitious secretary who walked into her boss's office and + demanded a salary on next week's advance? +% +Hear about... + the Ayatollah Khomeini Doll? + Wind it up and it takes Ken and Barbie hostage. +% +Hear about... + the basketball player who was so tall that his girlfriend had to + go up on him? +% +Hear about... + the careless canary that did it for a lark? +% +Hear about... + the careless contortionist who accidentally swallowed his pride? +% +Hear about... + the cinema buff that's very excited by current trends in films? + The hero still gets the girl in the end, but he's never sure + which end it will be. +% +Hear about... + the compulsive gambler who drove to Las Vegas, pulled up to + a parking meter, put a dime in -- and lost his car? +% +Hear about... + the couple on the stalled elevator who got off between floors? +% +Hear about... + the cross-eyed shoe fetishist who was always getting off on the + wrong foot? +% +Hear about... + the doctor that prescribed sex for insomnia? His patients didn't + get any more sleep, but they had more fun staying awake. +% +Hear about... + the drunken midget who walked into a home for girls and kissed + everybody in the joint? +% +Hear about... + the elderly gentleman who was stung on the privates by a bee and + asked the doctor to relieve the pain but leave the swelling? +% +Hear about... + the Eskimo girl who spent the night with her boyfriend and + next morning found she was six months pregnant? +% +Hear about... + the farmer who couldn't keep his hands off his wife, so he + fired them? +% +Hear about... + The fellow who chased his girlfriend up a tree and kissed + her between the limbs? +% +Hear about... + the fellow who got ten years for pumping Ethyl behind the station? +% +Hear about... + the fellow who maintains a special register of particularly + accommodating girls? He refers to it as his little blew book. +% +Hear about... + the fellow who was descended from a long line his mother heard? +% +Hear about... + the fine, upstanding young woman who's wonderful laying down? +% +Hear about... + the freaky WAC who was court-martialed for contributing to the + delinquency of a major? +% +Hear about... + the French soldier who kissed his wife's cheeks before he went + to the front? +% +Hear about... + the freshman coed who decided not to sign up for a course in sex + education when she heard the final exam would be oral? +% +Hear about... + the frustrated musician who worked all week on an arrangement and + then his wife didn't leave town? +% +Hear about... + the fun-loving young lady who insists she won't even consider + marriage until she's gotten some experience under her belt? +% +Hear about... + the gay tattoo artist who had designs on several of the local + sailors? +% +Hear about... + the girl that wanted to impress her new boyfriend, + so she put on her low-cut dress to show him a thing or two? +% +Hear about... + the girl who called her boyfriend Amaretto, 'cause he was + such a sweet liquor? +% +Hear about... + the girl who was so undesirable that she even turned her vibrator + off? +% +Hear about... + the girl with the big wardrobe who started with just a little slip? +% +Hear about... + the guy who couldn't find his way to the orgy? Just kind of lost + his ball bearings. +% +Hear about... + the guy who couldn't find his way to the orgy -- you might say he + lost his ball bearings? +% +Hear about... + the guy who had his vasectomy done by Sears? + Every time he gets a hard-on, the garage door goes up. +% +Hear about... + the guy who took a course in exotic lovemaking and announced that + he'd never be able to face his girl again? +% +Hear about... + the guy who was an incurable romantic until penicillin came along? +% +Hear about... + the guy who was so well endowed that he had a fiveskin? +% +Hear about... + the handsome bachelor Senator who hired a ravishing blonde as his + assistant and then made her the object of a long Congressional probe? +% +Hear about... + the high school drum major who dated two of the majorettes and + so enjoyed the breasts of both whirlers? +% +Hear about... + the hurricane that recently struck Fire Island -- Hurricane Bruce? +% +Hear about... + the inexperienced stenographer who discovered that she could lose + a lot more than letters behind the files? +% +Hear about... + the insurance salesman who says his greatest successes are + with young housewives who aren't adequately covered? +% +Hear about... + the little boy that found a fifty cent + piece, so he went home for some money? +% +Hear about... + the little boy that found a fifty cent piece, so he went home + for some money? +% +Hear about... + the loner who gave up his solitary vice for Lent? Except on + Palm Sunday, of course. +% +Hear about... + the man who never worried about his marriage until he moved from New + York to California and discovered that he still had the same milkman? +% +Hear about... + the man who took a course in exotic lovemaking and announced that + he'd never be able to face his girl again? +% +Hear about... + the mother of 12 who was called upon to use her diaphragm so often + that she kept it tacked to the headboard of her bed? +% +Hear about... + the new breakfast cereal called Queerios? You simply add milk + and they eat each other. +% +Hear about... + the new breakfast cereal called "Swingers". They don't go snap, + crackle, or pop; they just lie there and go bang, bang, bang? +% +Hear about... + the new instrument of credit especially designed for use in + Los Angeles single bars? It's called Bang Americard. +% +Hear about... + the new instrument of credit especially designed for use in + single bars -- BANG AMERICARD? +% +Hear about... + the new rule at the girls' school? + Lights out by ten, candles by eleven. +% +Hear about... + the new vitamin made from chicken blood, + it makes men cocky and women lay better? +% +Hear about... + the nurse they thought had drowned + until they found her under the doc? +% +Hear about... + the nymphomaniac teenager popularly known as Little Often Annie? +% +Hear about... + the over-eager bride who came, walking down the aisle? +% +Hear about... + the perverted Australian who left his wife and returned to Sydney? +% +Hear about... + the poor Greek fisherman who got his upper torso wedged into + a porthole and couldn't get out to save his ass? +% +Hear about... + the real smart girl who could play post-office all night + without getting any mail in her box? +% +Hear about... + the recent cigarette survey that disclosed that 99% of the + men who have tried Camels have gone back to women? +% +Hear about... + the San Franciscan who backed off the bus because he thought + someone would grab his seat? +% +Hear about... + the secretary that got fired because she had one too mini? +% +Hear about... + the sultan who had ten wives, nine of them had it soft. +% +Hear about... + the swinger who labelled his little black book "Future Shack"? +% +Hear about... + the tight end who got two years for possession and came out a + wide receiver? +% +Hear about... + the truck driver who pulled out to avoid a child and fell + off the sofa? +% +Hear about... + the ultimate in singles bars. It's a place where girls have + to show their I.U.D.'s to be admitted? +% +Hear about... + the woman who claimed that two martinis usually made her + feel like a new man? +% +Hear about... + the woman who says two martinis usually make her feel like a + new man? +% +Hear about... + the young lady attacked in San Francisco? + By two men, one held her down while the other one did her hair. +% +Hear about... + the young thing who is fondly known to the men in the office as + Secretariat -- not just because she's a good secretary but because + she's a wonderful mount? +% +Hear about the... + guy who wore a tux to his vasectomy, because he figured that + if he was going to be impotent he might as well look impotent. +% +Hear that... + bookstores will soon be stocking a volume called "The Unsensuous + Census Taker". It's about a guy who comes once every ten years? +% +Hear that... + the Masters and Johnson clinic may well be the only organization + in the world from which a man resigns when he becomes a member + in good standing? +% +Hear that... + the only thing worse than coming home with lipstick on your + collar is being caught with leg make-up on your ears? +% +Hear that... + the Pope's next pronouncement on birth control is to be titled + "Paul's Epistle to the Fallopians"? +% +Hear that... + there's an establishment near the White House that caters to kinky + tastes? There's a House whip in attendance, of course? +% +Hear that... + those new edible candy pants are about to be distributed in a male + version -- with nuts of course? +% +Heard tell that the Iron Magnolia wanted to divorce ol' Jimmy. +Seems he's screwing everyone but her. +% +He'd kiss and the girls called him Georgie +They'd cry and the girls called him Porgie. + So he put Spanish fly + In their pudding and pie +And had the first tiny-tot orgy. +% +Heisenberg may have done it. +% +"Hell, no," said the Duchess of Quick, +"I won't suck his filthy old prick! + It's not that I funk + At a mouthful of spunk, +But the smell of his ass makes me sick!" +% +"Hello? Enema Bondage? I'm calling because I want to be happy, I guess..." + -- Zippy the Pinhead +% +Hello, children!! + This is Uncle Dennis welcoming you to your very own fortune. + Today we are going to hear a story, so sit right here on my lap + and we can all start. Comfortable? Ah, yes, ah... Ah? Ah!! + + One day, Rikki, the magic Pixie, went to visit Daisy Bumble in her + tumbledown cottage. He found her in the bedroom. Roughly he + grabbed her heaving ******* pulling her down on the bed and + hurriedly ripping off her thin *******. + + Old Nick, the Sea Captain was a rough tough jolly sort of fellow. + He loved the life of the sea and he loved to hang out down by the + pier where the men dressed as ladies ****** **** ******* ******* + of ***** ****** **** the ****** with a melon. + + Rumpletweezer ran the Dinky Tinky shop in the foot of the Magic + oak tree by the wobbly dum-dum tree in the shade of the enchanted + glen down in Dingly Dell. Here he sold contraceptives, ******** + and various appliances *** ******** *** ***** naked fun and ***** + the ******** ******* *** into six or seven pairs. +% +Help! I'm a lesbian trapped in a gay man's body! + -- Bisexuality, 101 +% +Help Stamp Out Rape! (Say Yes.) +% +HENPECKED HUSBAND: + One who's afraid to tell his pregnant wife that he's sterile. +% +Her kisses left something to be desired: the rest of her. +% +Here I sit, my cheeks a flexin', +Just gave birth to another Texan. +% +Here is the problem: for many years, the Supreme Court wrestled with the issue +of pornography, until finally Associate Justice John Paul Stevens came up with +the famous quotation about how he couldn't define pornography, but he knew it +when he saw it. So for a while, the court's policy was to have all the +suspected pornography trucked to Justice Stevens' house, where he would look it +over. "Nope, this isn't it," he'd say. "Bring some more." This went on until +one morning when his housekeeper found him trapped in the recreation room under +an enormous mound of rubberized implements, and the court had to issue a ruling +stating that it didn't know what the hell pornography was except that it was +illegal and everybody should stop badgering the court about it because the +court was going to take a nap. + -- Dave Barry, "Pornography" +% +Here's a toast to Screwy Dick, +The man who was born with a corkscrew prick. +He spent his life in a futile hunt, +To find a woman with a spiral cunt. +And when he did, he dropped stone dead, +'Cause the blasted thing had a left-hand thread! +% +Here's to the girl in little red shoes, +She drinks my liquor, she drinks my booze, +She has no cherry, but that's no sin, +She has the box the cherry came in. +% +Here's to the girl that's dressed in black, +She's dressed so neat there's nothing to lack +She feels so fine and kisses so sweet +She makes things stand that have no feet. +% +Here's to the girl that's sweet, +Here's to the girl that's true, +Here's to the girl in all our hearts... + +In other words, guys, what do you say we all go downtown for +the rest of the night? +% +Here's to the woman beautiful and devine +she flowers every month bears fruit every nine +she's the only creature 'tween heaven and hell +can get the juice from a nut without cracking the shell. +% +Here's to women. Would that we could fall into her arms without falling +into her hands. + -- Ambrose Bierce +% +HERMIT: + A man who'd rather get off by himself. +% +HERPES: + The final proof that 'tis better to give than to receive. + Much better. +% +He's a son-of-a-bitch, but he's our son-of-a-bitch. + -- FDR on Nicaraguan dictator Anastasio Somoza +% +He's gallantry personified, in fact, his brochures ought to +read satisfaction guaranteed, or your virginity returned intact. +% +He's learned about 50% of the rules of sex and conversation; +he knows how to stick it in, but not how to stick it out. +% +Hey baby! + How 'bout a brutal face fuck? +% +HEY KIDS! ANN LANDERS SAYS: + A great way to prevent the tragedy of unwanted pregnancy is to +become a homosexual. Every year, millions of young men and women, just +like you, are making the clean change to worry-free homosexuality. +They're having more sex than ever, and more fun than ever. Send 50 cents +today for my leaflet "Gay sexual techniques". Be sure to specify the +male or female edition. +% +HEY, KIDS! ANN LANDERS SAYS: + Masturbation isn't as simple as it looks. Do it right! +Send 50 cents for my illustrated booklet "Masturbation techniques +for the teenager". Be sure to specify the male or female edition. +% +HEY KIDS! ANN LANDERS SAYS: + Remember, oral sex CAN cause pregnancy, unless you use an +oral contraceptive. See your family planning clinic today! +% +Hickory Dickory Dock, +Three mice ran up a clock! +The clock struck one, +Right in the balls! + +There was an old woman, +Who lived in a shoe, +Who had so many children, +Her uterus fell right out. +% +Higgledy Piggledy Coeducational +Yale University Extracurricular +Gave up misogyny Heterosexual +Opened its door. Fun is in store. +% +Hire the handicapped -- they're fun to watch! +% +Home is where the hurt is. + -- Strange de Jim +% +Honest, officer, had I known my health was +in jeopardy, why, I'd never have lit one! +% +HONOR: + Almost as good as in 'er. +% +horny, adj: + When your cock gets hard if the wind blows. +% +Horsecrap, little brother. There's always something more to be done. +Another palm to be greased. Another back to be scratched. Another +weak sister to be shored up. + -- J.R. Ewing +% +HOT TUB TIPS FOR WOMEN + Vol. I -- Etiquette + +1. It's not lady-like to straddle a water jet, moan in ecstasy, and then + scream at the top of your lungs, "Oh, yes, YES, BABY!" +2. Washing your partner's back is sexy. Washing your panty hose is not. +3. Nude bathing with strangers can be a pleasant experience; don't spoil + it for everyone with a thoughtless remark, such as "My God, I've + seen bigger wangs on hamsters!" +4. It's O.K. to pass a joint while tubbing. Don't pass anything else. +5. Don't think you're fooling anybody by passing off your vibrator as a + toy submarine. +% +How can you say that the world isn't +Jewish, when the sun's real name is Sol? +% +How come if you're horny it's lust, but if she's horny it's affection? +% +How do you like the new America? We've cut the fat out of the +government, and more recently the heart and brain (the backbone was +gone some time ago). All we seem to have left now is muscle. +We'll be lucky to escape with our skins! +% +How should they answer? + -- Abigail Van Buren (Dear Abby) in reply to the question + "Why do Jews always answer a question with a question?" +% +How soon can you have sexual relations after your wife delivers? +Well, depends on if she's in a ward or a private room. +% +HOW TO REMOVE STAINS -- #28 + Semen stains can be removed from computer terminals with + Fantastik or the like. Use Windex on the glass however, and + be sure to turn the power off if you have to clean between + the keys. +% +Howard Cosell's biggest protrusion is his asshole. + -- John Valby +% +Hugh Hefner is a virgin. +% +Hunters make the best lovers; they go deeper into the +bush, shoot more often and *always* eat what they shoot. +% +Hypocrisy is the vaseline of social intercourse. +% +hypocrite, n: + A man who says he likes cats, but won't eat pussy. +% +I believe that Ronald Reagan will someday make this +country what it once was... an arctic wilderness. + -- Steve Martin +% +I bet you think you're pretty cool driving around without auto insurance. +You're probably saying to yourself, "I'm beating the system." But what's +going to happen when you get pulled over and lose your license because +you're not insured. What girl's going to ride shotgun on a ten-speed on +a Saturday Night? Yeah, you're going to be beating more than the system... + -- auto insurance ad, heard on KNAC, Long Beach. +% +I call Christianity the one great curse, the one enormous and innermost +perversion, the one great instinct of revenge, for which no means are +too venomous, too underhand, too underground and too petty -- I call it +the one immortal blemish of mankind. + -- Fredrich Nietzsche +% +I call it the "Madman Theory". I want the North Vietnamese to believe that +I've reached the point where I might do *anything* to stop the war. We'll +just slip the word to them that "For God's sake, you know, Nixon is obsessed +about Communism. We can't restrain him when he's angry -- and he has his +hand on the nuclear button." + -- Richard Nixon +% +I came; I saw; I fucked up. +% +I can feel for her because, although I have never been an Alaskan prostitute +dancing on the bar in a spangled dress, I still get very bored with washing +and ironing and dishwashing and cooking day after relentless day. + -- Betty MacDonald +% +I can understand companionship. I can understand bought sex in the +afternoon. I cannot understand the love affair. + -- Gore Vidal +% +I can't quite put my finger on it, but something about you pisses me off. + -- Peter Knight +% +I choked Linda Lovelace. +% +I continued wetting my bed for a long time, not just out of contrariness, +but to have the pleasure of feeling my warm urine running down my legs +and wallowing in its odor. + -- Salvador Dali +% +I did not look behind me, 'till I got to St. Omer's & thence fled to America; +here I offer'd to become a Spy for the English Government which was scornfully +rejected; I then turned to Plunder & Libel the Yankees, for which I was fined +5000 Dollars & kicked out of the Country! I came back to England (after +absconding for Seven years) & set up the Crown & Mitre to establish my Loyalty! +-- accepted from the Doctor L400 to print & disperse a pamphlet against "the +Hellfire of Reform" ... but applied the Money to purchase an estate at Botley, +& left ye Doctor to pay the Paper & Printing! Being now Lord of the Manor, I +began by sowing the seeds of discontent through Hampshire; I oppressed the +Poor, sent the Aged to Hell, & damned the eyes of my Parish Apprentices before +they were open'd in the morning! ... and being now supported by a Band of +Reformers, I renewed my old favorite Toast of Damnation to the House of +Brunswick! & being exalted by the sale of 10,000 Political Registers every +week, I find myself the greatest Man in the World! except that Idol of all my +Adorations, his Royal and Imperial Majesty, NAPOLEONE! + -- William Cobbett, British journalist +% +I don't care who you are, Fatso. Get those reindeer off my roof. +% +I don't discriminate on the basis of sex. + -- Bisexuality, 101 + + [An equal opportunity lover? Ed.] +% +I don't drink water; fish fuck in it. + -- W.C. Fields +% +I don't give a shit what happens. I want you all to stonewall it. Let +them plead the Fifth Amendment, cover up, or anything else if it'll save +the plan. + -- Richard Nixon +% +I don't know why women get so upset, they have half the +money and all the pussy. + -- Gary Bussy, "DC Cab" +% +I don't love you, asshole, I love your daughter. + -- The Undergraduate +% +I Don't Mind If You Lie to Me, As Long As I Ain't Lyin' Alone +I Wouldn't Take You to a Dog Fight Even If I Thought You Could Win +If You Leave Me, Walk Out Backwards So I'll Think You're Comin' In +Since You Learned to Lip-Sync, I'm At Your Disposal +My John Deere Was Breaking Your Field, While Your Dear John Was + Breaking My Heart +Don't Cry, Little Darlin', You're Waterin' My Beer +Tennis Must Be Your Racket, 'Cause Love Means Nothin' to You +When You Say You Love Me, You're Full of Prunes, 'Cause Living + With You Is the Pits +I Wanted Your Hand in Marriage but All I Got Was the Finger + -- proposed Country-Western song titles from "Wordplay" +% +"I don't really mind her being unfaithful," sighed the man to his +marriage counselor, "but I just can't sleep three in a bed." +% +I don't remember ever having had the itch, and yet scratching is +one of nature's sweet pleasures, and so handy. +% +I don't understand what all the fuss was about in Los Angeles. +It's not like we looted Brooks Brothers when Oliver North got off. + -- P.J. O'Rourke +% +I don't want to say that she had big tits, but one day I asked her + just how big they was, and she said, "7 and 7/8". +I said, "7 and 7/8?! What did you measure 'em with?" +And she replied, "A Stetson." +% +"I finally found out what my ranch foreman husband really meant," +sobbed the recent bride, "when he told me he'd love me 'til the +cows came home." +% +I grew up in an Italian family, you know, the strange thing about +Italians -- they're so Jewish. + -- Kay Ballard +% +I had a dream that all the victims of The Pill came back... +boy, were they mad! + -- Stephen Wright +% +I had a virgin once. I had to go to Florida for her. She was twelve +years old, blind in one eye, and carried a stuffed alligator labeled +"Made in Taiwan". + -- The Stunt Man +% +I have a funny daddy +Who goes in and out with me +And everything that baby does +Daddy's sure to see, +And everything that baby says, +My daddy's sure to tell. +You must have read my daddy's verse. +I hope he fries in Hell. + -- Ogden Nash +% +"I have credit with this madam who runs a string of super callgirls," +the executive reminisced at his club bar, "but when I got the bill for +the great head session one of them pleasured me with, I must say that +it was enough to make a blown man cry." +% +I have just enough white in me to make my honesty questionable. + -- Will Rogers +% +I have perfumed my bed with myrrh, aloes, and cinnamon. Come, let us +take our fill of love until the morning. + -- Proverbs 7:17-18 +% +I heard there was a lot of sex on television these days, +but when I tried it I kept falling off. +% +I knew Leo G. Carrol +Was over a barrel +When Tarantula took to the hills. ["Lick it!"] +And I really got hot +When I saw Jeanette Scott +Fight a trifid that spits poison and kills. + +Science fiction, double feature +Doctor X will build a creature. +See androids fighting Brad and Janet +Anne Francis stars in Forbidden Planet +Oh Oh Oh Oh Oh +At the late night, double feature, picture show. + -- The Rocky Horror Picture Show +% +I know a Polack his name is Cliff, +Hey-la-de-la-de-la. +He sticks it in the freezer to get it stiff, +Hey-la-de-la-de-lo. + +I know a girl, her name is Serafina, +Hey-la-de-la-de-la. +She'll get down on all fours for a bowl of Purina, +Hey-la-de-la-de-lo. + +I know a girl, her name is Cuffy, +Hey-la-de-la-de-la. +She douches with Tide and makes her pubes fluffy, +Hey la-de-la-de-lo. + -- Doctor Dirty +% +I know of a fortunate Hindu +Who is sought in the towns that he's been to + By the ladies he knows, + Who are thrilled to the toes +By the tricks that he makes his foreskin do. +% +I know what you're up to, you white-feathered fiend! +Go release your bowels on some lesser personage! + -- W.C. Fields, upon seeing a bird overhead +% +I know why the sun never sets on the British Empire -- God wouldn't trust +an Englishman in the dark. + -- Duncan Spaeth +% +I love this fucking University, and this University loves fucking me. +% +I married an Italian girl; the way you marry an Italian girl in my family +is to bring a New Yorker home first. +% +I may not be able to walk, but I drive from a sitting position. +% +I never believed in Santa Claus because I knew no white dude would come +into my neighborhood after dark. + -- Dick Gregory +% +I never did give anybody hell. I just told the truth and they thought +it was hell. + -- Harry S. Truman +% +I never met a woman I couldn't drink pretty. +% +I never trust a man unless I've got his pecker in my pocket. + -- Lyndon Baines Johnson +% +I never trust a man unless I've got his pecker in my pocket. + -- Lyndon Johnson +% +I only date queers. + -- Bisexuality, 101 + + [I'm not queer, but my boyfriend is! Ed.] +% +I played over the music of that scoundrel Brahms. What a giftless +bastard! It annoys me that this self-inflated mediocrity is hailed +as a genius. Why, in comparison with him, Riff is a genius. + -- Tchaikovsky, October 9, 1886, diary entry +% +I regret to say that we are powerless to act in cases of oral-genital +intimacy, unless it has in some way obstructed interstate commerce. + -- J. Edgar Hoover +% +I shot a query into the net. +I haven't got an answer yet, A posted message called me rotten +But seven people gave me hell For ignoring mail I'd never gotten; +And said I ought to learn to spell; An angry message asked me, Please + Don't send such drivel overseas; +A lawyer sent me private mail +And swore he'd slap my ass in jail -- One netter thought it was a hoax: +I'd mentioned Un*x in my gem "Hereafter, post to net dot jokes!"; +And failed to add the T and M; Another called my grammar vile + And criticized my writing style. +Each day I scan each Subject line +In hopes the topic will be mine; +I shot a query into the net. +I haven't got an answer yet... + -- Ed Nather +% +I think any man in business would be foolish to fool around +with his secretary. If it's somebody else's secretary, fine. + -- Barry Goldwater + +I think every good Christian ought to kick Falwell right in the ass. + -- Barry Goldwater +% +I think every good Christian ought to kick Falwell right in the ass. + -- Barry Goldwater +% +I think every good Christian ought to kick Falwell's ass. + -- Senator Barry Goldwater, commenting on Jerry Falwell's + suggestion that all good Christians should be against + Sandra Day O'Connor's nomination to the Supreme Court +% +I think pop music has done more for oral intercourse +than anything else that has ever happened, and vice versa. + -- Frank Zappa +% +I think the Mormon prophet +Was a very funny man. +I wonder how his wives enjoyed +His Prophet Sharing Plan. +% +I thought Jackie O. was something you did in the bathroom. + -- Strange de Jim +% +I walked on toward Ploughwright, thinking about faeces. What a lot we +had found out about the prehistoric past from the study of fossilized +dung of long-vanished animals. A miraculous thing, really; a recovery +from the past from what was carelessly rejected. And in the Middle +Ages, how concerned people who lived close to the world of nature were +with the faeces of animals. And what a variety of names they had for +them: the Crotels of a Hare, the Friants of a Boar, the Spraints of +an Otter, the Werderobe of a Badger, the Waggying of a Fox, the Fumets +of a Deer. Surely there might be some words for the material so near +to the heart of Ozy Froats [an academic studying feces] than shit? +What about the Problems of a President, the Backward Passes of a +Footballer, the Deferrals of a Dean, the Odd Volumes of a Librarian, +the Footnotes of a Ph.D., the Low Grades of a Freshman, the Anxieties +of an Untenured Professor? + -- Robertson Davies, "The Rebel Angels" +% +I want a girl that can swallow my pride. + -- Frank Zappa, "Jewish Princess" +% +I want the same things all men do, Rice Krispies and some sucking. + -- Dudley Moore +% +I was 15 years old before I found out that "damn yankee" was two words. +% +I was a cock-teaser at Rooster Rama. +I used to enrage the bantams before the big bouts. + -- Firesign Theatre +% +I was having sex just the other night, but she hung up. +% +I was on vacation in Greece last summer, and was being driven round an island +by a Greek cab-driver. He was a friendly man, and as we drove, he told me +about various historic and scenic places he had been involved with. + "See the entrance to that church over there? I built that with my +two sons. But do they call me `Dimitri the church builder'? Do they hell!" + As we passed a dam, he said, "See that dam? Four of us built that +dam by ourselves! But do they call me `Dimitri the dam builder?' Hell, no!" + As we passed a beautiful cottage, Dimitri started up again -- "See +that house? I built that for my wife with my own two hands! But do they +call me `Dimitri the home builder'? No! But just one little sheep!" +% +"I was plodding through the woods when suddenly a giant brown bear +grabbed me from behind and made me drop my gun. He picked it up +and stuck it in my back." + "What did you do?" + "What *could* I do? I married his daughter." +% +I went to a wild party last night. I tell ya, it was so wild, we played +a new version of Russian roulette. We passed around six girls and one +of them had V.D. + -- Rodney Dangerfield +% +I wish I was a fascinating lady +With a past that was cheap and a future that was shady +I'd sleep all day and I'd work all night +I'd live in a house with a little red light +And once a month I'd take a small vacation +And leave all the men to their imagination +And once in a while I'd go all wild +And have myself an illegitimate child +I wish I were a fascinating lady +Instead I'm the minister's child +% +I wouldn't fuck her with your prick. +% +I wouldn't mind dying -- it's that business of +having to stay dead that scares the shit out of me. + -- R. Geis +% +I'd like to give the world a hug +And tell it jokes and stuff +And pull its pants down to its knees +And chase it through the rough + +Then tie it up with bonds and straps +And search its purse for change +Then leave it out at Moose Grin Hall +With our cousin who's deranged ... + -- National Lampoon, to an old Coke commercial +% +I'd like to meet the man who invented sex and see what he's working on now. +% +"I'd like to start a new religion. One that doesn't use a dead young +man as its logo." + -- Bill Cain, "Stand Up Tragedy" +% +I'd walk a mile for a Camel, two for a hump. +% +If being bi increases your chance of getting a date, +does being poly increase your chance of getting dumped? +% +If girls are all sugar and spice, why do they taste like anchovies? +% +If God doesn't destroy San Francisco, +He should apologize to Sodom and Gomorrah. +% +If God had meant for Texans to ski he would have made bullshit white. +% +If God had meant for us to have group sex, he'd have given us more organs. + -- Malcolm Bradbury +% +If God had wanted people to give blow +jobs, he wouldn't have given them teeth. +% +If God hadn't intended man to eat pussy, +would He have made it look like a taco? +% +If Helen Keller is alone in a forest and falls, does she make a sound? +% +If I could reach, I'd never leave the house. + -- George Carlin +% +If I had a penis I'd wear it outside, +In cafes and car lots, with pomp and with pride. +If I had a penis I'd pamper it proper +I'd stay in the tub and use me as the stopper. +If I had a penis I'd take it to parties +Stretch it and stroke it and shove it at smarties. +I'd take it to pet shows and teach it to stay. +I'd stuff it in turkeys on Thanksgiving Day. + +I'd rival my buddies in sportscars and stick shifts. +I'd shower my spire with girlies and gifts. +I'd peek around corners; I'd aim at my toilet; +I'd poke it at foreigners and soap it and oil it. +If I had a penis I'd run to my mother; +Comb out the hair and compare it to brother. +I'd lance her, I'd knight her, my hands would indulge... +Pants would seem tighter and buckle and bulge. +[Chorus] + A penis to plunder, a penis to push + 'Cause one in the hand is worth one in the bush. + A penis to love me, a penis to share, + To pick up and play with when nobody's there. + -- Uncle Bonsai, "Penis Envy" +% +If it flies, floats or fucks, rent it, don't buy it. + -- Tommy Earl Bruner +% +If it weren't for pickpockets, I'd have no sex life at all. + -- Rodney Dangerfield +% +If it's not one thing, it's a mother. +% +If Jesus Christ came to this town, people would say, great guy; terrible +carpenter. + -- Gene Kirkwood, on Hollywood +% +If just one piece of mail gets lost, well, they'll just think they forgot +to send it. But if *two* pieces of mail get lost, hell, they'll just think +the other guy hasn't gotten around to answering his mail. And if *fifty* +pieces of mail get lost, can you imagine it, if *fifty* pieces of mail get +lost, why they'll think someone *else* is broken! And if 1Gb of mail gets +lost, they'll just *know* that Arpa [ucbarpa.berkeley.edu] is down and +think it's a conspiracy to keep them from their God given right to receive +Net Mail ... + -- Casey Leedom +% +If life's a piece of shit, Calculus III is the spoon. +% +If men could get pregnant, abortion would be a sacrament. +% +If men couldn't fuck there'd be a bounty on their heads. +% +If only is was as easy to banish hunger by rubbing the belly as it is to +masturbate. + -- Diogenes the Cynic +% +If Presidents don't do it to their wives, they do it to the country. + -- Mel Brooks +% +If sex is a pain in the ass, you may be doing it wrong. +% +If someone were to ask me for a short cut to sensuality, I would +suggest he go shopping for a used 427 Shelby-Cobra. But it is +only fair to warn you that of the 300 guys who switched to them +in 1966, only two went back to women. + -- Mort Sahl +% +If they can't take a joke, then fuck 'em. +If they can, then fuck 'em. +% +If thine eye offends thee, pluck it out. +If thy dick offends thee, whack it off. +% +If women ran the military complex, would the missiles be shaped differently? +% +If you could get an erection, you would have no need for Emacs. +% +If you don't ride a camel to work, you ain't Sheeite. +% +If you find for your verse there's no call, +And you can't afford paper at all, + For the true poet born, + However forlorn, +There is always the lavat'ry wall. +% +If you live in New York, even if you're Catholic, you're Jewish. + -- Lenny Bruce +% +If you were attacked by a homosexual, would you beat him off? +% +If you're Catholic you've only got two choices: periodic +abstinence and complete continence; (you know, rhythm and blues). +% +If you're going to break up with your old lady and you live in a small +town, make sure you don't break up at three in the morning. Because you're +screwed -- there's nothing to do ... So make it about nine in the morning, +... bullshit around, worry her a little, then come back at seven in the +night. + -- Lenny Bruce +% +If you're gonna sleep with someone whose moral code may be written +in Fortran for all you know, at least make sure there's an existing +friendship of some sort to fall back on if things don't work out +like one or the other of you planned. +% +If you're really into astrology, tell me, what happens +when Mercury is in the Fish, and Jupiter enters the Virgin? +% +"I'll tell ya, Jeb," Wilbur said to his friend, "the tractor business ain't +doin' too well. I ain't sold one all month. + "You think you've got problems?" Jeb replied. "The other day, I went +out to milk Daisy, when she swatted me in the face with her tail, like she +always does. So I took some twine and tied it to the rafters. When I sat +down again, she kicked me like she always does. So I tied her leg to the +side of the stall. When I started to sit down again, I could see her taking +aim with her other leg, so I tied it to the other side of the stall. And I'll +tell you what," he continued with a sigh, "if you can convince my wife I was +gonna *milk* that cow, I'll buy a tractor from you!" +% +I'm a bisexual; I get it maybe twice a year. + -- Rodney Dangerfield +% +I'm a gay man trapped in a lesbian's body! + -- The Queer Gospels of Madonna the Sloppily Conceived +% +I'm a lover not a dancer! +I'm a lover not a dancer! +Don't want to be on my feet, +When I can be on my back, +Don't want to be on the floor, +When I can be in the sack! +I'm a lover not a dancer! +I'm a lover not a dancer! +I'm just a little bit tired +If you know what I mean, +Don't want to be in a crowd +When I can be in a dream! +I'm a lover not a dancer! +Baby! +And, baby, let me prove it to you, +Baby, let me prove it to you! + -- Jim Steinman, "Dance in my Pants" +% +I'm against group sex because I wouldn't know where to put my elbows. + -- Martin Cruz Smith +% +I'm glad we don't have to play in the shade. + -- Golfer Bobby Jones on being told that it was 105 degrees + in the shade. + +Very few blacks will take up golf until the requirement for plaid pants is +dropped. + -- Franklyn Ajaye +% +I'm going to Iowa for an award. Then I'm appearing at Carnegie Hall, +it's sold out. Then I'm sailing to France to be honored by the French +government -- I'd give it all up for one erection. + -- Groucho Marx +% +I'm Jewish. Count Basie's Jewish. Ray Charles is Jewish. Eddie Cantor's +goyish. The B'nai Brith is goyish. The Hadassah is Jewish. Marine Corps +-- heavy goyish, dangerous. Kool-Aid is goyish. All Drake's Cakes are +goyish. Pumpernickel is Jewish and, as you know, white bread is very goyish. +Instant potatoes -- goyish. Black cherry soda's very Jewish. Macaroons are +very Jewish. Fruit salad is Jewish. Lime Jell-O is goyish. Lime soda is +very goyish. Trailer parks are so goyish that Jews won't go near them. + -- Lenny Bruce +% +I'm never through with a girl until I've had her three ways. + -- J.F. Kennedy +% +I'm not a pheasant plucker, +I'm a pheasant plucker's son. +I'm just a'plucking pheasants +'Til the pheasant plucker comes. + -- The Irish Rovers +% +"I'm not against women. Not often enough, anyway." + -- NPR +% +I'm not laughing behind your back; everything funny is in front! + -- Rodney Dangerfield's wife +% +I'm So Miserable Without You It's Almost Like Having You Here + -- Song title by Stephen Bishop. + +She Got the Gold Mine, I Got the Shaft + -- Song title by Jerry Reed. + +When My Love Comes Back from the Ladies' Room Will I Be Too Old to Care? + -- Song title by Lewis Grizzard. + +I Don't Know Whether to Kill Myself or Go Bowling + -- Unattributed song title. + +Drop Kick Me, Jesus, Through the Goal Posts of Life + -- Unattributed song title. +% +I'm sorry I'm late folks, I just got out of jail. I tried to change my +girlfriend's name. Yeah, I went down to the hall of records. I said, "I'd +like to change it... I'd like to change it to... LYING LITTLE BITCH!" + -- Sam Kinison +% +I'm unbuttoning your shirt, unzipping your jeans.... + +Oh, I can feel your fingers on the keys, baby, + I'm getting WARM.... + +I am getting there, oh yes,. Oh, my. OH YES... OHHHH! + ...!!!rrrrrgh!!!!! + +Honey, that was *really* terrific, but, next time, +couldn't you please input a little SLOWER? +% +Immanuel Kant was a real pissant who was very rarely stable. +Heidegger, Heidegger was a boozy beggar who could think you under the table. +David Hume could out-consume Schopenhauer and Hegel, +And Wittgenstein was a beery swine who was just as schloshed as Schlegel. +There's nothing Nietzsche couldn't teach ya 'bout the raising of the wrist. +Socrates, himself, was permanently pissed! + +John Stuart Mill, of his own free will, +On half a pint of shandy was particularly ill. +Plato, they say, could stick it away, half a crate of whiskey every day. +Aristotle, Aristotle was a bugger for the bottle, +Hobbes was fond of his dram, +And Rene Descartes was a drunken fart: "I drink, therefore I am". +Yes, Socrates, himself, is particularly missed; +A lovely little thinker but a bugger when he's pissed! + -- Monty Python, "The Philosopher's Drinking Song" +% +impotent loser, n: + Someone who can't even get his hopes up. +% +In 1953, Stalin dies. The politburo holds a special meeting to decide +what to do about the body. Nobody will let it be buried near their home. +Finally they decide: + "Aha! Call Israel! Offer them ten million rubles; they'll let us +bury Stalin in Israel! Off goes the message and the politburo waits... +Finally a telegram comes back: + "NO CHANCE STOP ONE RESURRECTION HERE ALREADY" +% +In a recent survey on why some men are homosexual, 82 percent of the gay +chaps responding said that either genetics or home environment was the +principal factor. The remaining 18 percent revealed that they had been +sucked into it. +% +In bed Dr. Oscar McPugh +Spoke of Spengler -- and ate crackers too. + His wife said, "Oh, stuff + That philosophy guff +Up your ass, dear, and throw me a screw!" +% +In cosmetics, there's cases of revolutionary Venus Envy Hair Spray; +Legette Hair Fastener Heat Bags; Lady O' Spain Self-Blinding Eye Shadow +with Magic Puncture Pencil; Sanitary Napkin Rings in Little Miss, Moon +Maid and Stuck Pig Strength; and deported Italian Napagel Balls for +soaking or eating; and they're all slash-priced with the lady in mind... + -- Firesign Theatre +% +In days of old, when knights were bold, + And rubbers weren't invented, +They tied their socks around their cocks + And babies were prevented. +% +In France they piss on Main Street +(In pissoirs, Mama, not cheap display). + -- Joni Mitchell +% +In light of the New Morality, Playboy Inc. is offering a new version of +its magazine, for married men. Every month it has the same centerfold. +% +In outer space, nobody can hear you fart. +% +In regards to Oral Roberts' claim that God told him that he would die unless +he received $20 million by March, God's lawyers have stated that their client +has not spoken with Roberts for several years. Off the record, God has stated +that "If I had wanted to ice the little toad, I would have done it a long time +ago." + -- Dennis Miller, SNL News +% +In the beginning was the DEMO Project. And the Project was without form. +And darkness was upon the staff members thereof. So they spake unto +their Division Head, saying, "It is a crock of shit, and it stinks." + +And the Division Head spake unto his Department Head, saying, +"It is a crock of excrement and none may abide the odor thereof." +Now, the Department Head spake unto his Directorate Head, saying, +"It is a container of excrement, and is very strong, such that none +may abide before it." And it came to pass that the Directorate Head +spake unto the Assistant Technical Director, saying, "It is a vessel +of fertilizer and none may abide by its strength." + +And the assistant Technical Director spake thus unto the Technical +Director, saying, "It containeth that which aids growth and it is +very strong." And, Lo, the Technical Director spake then unto the +Captain, saying, "The powerful new Project will help promote the +growth of the Laboratories." + +And the Captain looked down upon the Project, and He saw that it was Good! +% +In the romantic days of Warsaw, Viennese whores were known for their +beauty and delicacy. A gallant officer picked up one such lady of the +evening, who took him to her apartment. They made delicious love all +evening before drifting to sleep in each others' arms. In the morning +the man dressed, staring into a full-length mirror. The lady lay in her +bed watching him. Finally, she said softly, + "Didn't you forget something?" + "What did I forget?" asked the officer. + "You forgot about the money," said the lady. + "Oh, no," said the man, standing at ramrod attention. +"A Polish officer never accepts money." +% +In the shade of the old apple tree +Where between her fat legs I could see + A little brown spot + With the hair in a knot, +And it certainly looked good to me. + +I asked as I tickled her tit +If she thought that my big thing would fit. + She said it would do + So we had a good screw In the shade of the old apple tree +In the shade of the old apple tree. I got all that was coming to me. + In the soft dewy grass +I could hear the dull buzz of the bee I had a fine piece of ass +As he sunk his grub hooks into me. From a maiden that was fine to see. + Her ass it was fine + But you should have seen mine +In the shade of the old apple tree. +% +In the stands here I see a young couple who must be in love -- they're +kissing on every pitch. He's kissing her on the strikes, and she's +kissing him on the balls. + -- Harry Caray, a Chicago sportscaster +% +Incest, n: + Sibling revelry; a sport the whole family can enjoy. +% +Infatuation, n: + When you're in love, there's a lump in your throat. + When you're infatuated, there's a lump in your pants. +% +In spite of all evidence to the contrary, the entire universe +is composed of only two basic substances: magic and bullshit. +% +==================== +Inter-Dwarf Memo +To: Dwarf-list +From: Doc +Re: S. White + + If that bitch cleans one more thermometer with Ajax, I'm gonna kill +her. I'll give her apples, nice big apples. With surprises inside. Yeah, +surprises. +% +==================== +Inter-Dwarf Memo +To: Dwarf-list +From: Happy +Re: S. White + + Let it be noted that if she whistles that goddamned song one +more time I'm gonna rip her fuckin' lips off. Have a nice day. +% +Israeli prime minister Shamir invited the Pope to play a round of golf. Since +the Pope hadn't the faintest of an idea how to play, he convened the college of +cardinals to ask their advice. "Call Arnold Palmer," they suggested, "make him +a cardinal and let him play in your place. Tell Shamir you couldn't make it." + Honored by His Holiness' request, Palmer agreed to represent him. +When he returned from the match, the Pope asked him how he had done. "I came +in second," Palmer replied. + "You mean to tell me Shamir beat you?" + "No, Your Holiness. Rabbi Nicklaus did." +% +It is a sad commentary on today's society that this fortune has to be +classified as "offensive" simply because it contains the word "fuck". +% +It is amusing that a virtue is made of the vice of chastity; and +it's a pretty odd sort of chastity at that, which leads men straight +into the sin of Onan, and girls to the waning of their color. + -- Voltaire +% +It is better to have a positive Wasserman than never to have loved at all. +% +It is better to have Uranus in Cancer than to have Cancer in Uranus. +% +It is considered normal to consecrate virginity in the +general and lust for its destruction in the particular. +% +It is far better to sleep with an old hen than pullet. +% +It is impossible to obtain a conviction for sodomy from an English jury. +Half of them don't believe that it can physically be done, and the other +half are doing it. + -- Winston Churchill +% +It is not true that life is one damn thing after another -- it is one +damn thing over and over. + -- Edna St. Vincent Millay +% +It is not wise to make love more than once in the morning. +You never know who you'll meet later in the day. +% +It is one of the superstitions of the human mind +to have imagined that virginity could be a virtue. + -- Voltaire +% +It is only the man whose intellect is clouded by his sexual impulse that +could give the name of the fair sex to that undersized, narrow-shouldered, +broad-hipped, and short-legged race. + -- Schopenhauer +% +It is recounted that at King's College in the Strand around the time of the +war, the Chief of Services would inevitably begin the year's rounds by +teaching "a singularly important principle of medicine." He asked a nurse +to fetch him a sample of urine. He then talked at length about Diabetes +mellitus. "Diabetes," he said, "is a greek name; but the Romans noticed that +the bees like the urine of diabetics, so they added the word mellitus which +means sweet as honey. Well, as you know, you may find sugar in the urine +of a diabetic ..." + By now the nurse had returned with a sample of urine which the +registrar promptly held up like a trophy. We stared at that straw-colored +fluid as if we had never seen such a thing before. The registrar then +startled us. He dipped a finger boldly into the urine, then licked his +finger with the tip of his tongue. As if tasting wine, he opened and closed +his lips rapidly. Could he perhaps detect a faint taste of sugar? The sample +was passed on to us for an opinion. We all dipped a finger into the fluid, +all of us foolishly licked that finger. + "Now," said the Registrar grinning, "You have learnt the first +principle of diagnosis. I mean the power of observation." We were baffled. +We stood near the sluice room outside the ward, and in the distance, some +anonymous patient was explosively coughing. "You see," the registrar said +continuing triumphantly, "I dipped my MIDDLE finger into the urine, but +licked my INDEX finger -- not like all you chaps. +% +It is very difficult to look at the possibility of lesbian sheep because +if you are a female sheep, what you do to solicit sex is to stand still. +Maybe there is a female sheep out there really wanting another female, +but there's just no way for us to know it. + -- Anne Perkins, in her study of sexuality in sheep. +% +It may not be funny, but it's damned amusing! +% +It must be admitted that we English have sex on the brain, which is a +very unfortunate place to have it. + -- Malcolm Muggeridge +% +It seems that a rabbi, a priest and a minister decided to go fishing one +sunny afternoon. All three climbed into the boat and headed for the middle +of the lake. After several hours of relaxation, the minister decided that +"nature was calling", and climbed out of the boat and walked ashore. In +a few moments, he walked back out to the boat and climbed back in. + The rabbi was absolutely astonished, but decided not to mention +the apparent miracle. + A few minutes later, the priest also decided to go ashore for a +moment, and climbed out of the boat, walked to shore, and a few minutes +later came back. + By now the rabbi was in great distress and had begun to doubt his +beliefs and wonder if there might be some validity to the Christian +teachings. But he immediately reaffirmed the fact that his faith WAS JUST +AS STRONG as either the priest's or the minister's and decided that anything +they could do, with God's help, he could do as well. + The rabbi then announced that he needed relief and would walk to +shore. He climbed out of the boat and went straight to the bottom of the +lake. While the rabbi was thrashing about in the water, the priest turned to +the minister and said, "So... do you think we ought to tell him where the +rocks are?" +% +It seems that a Scotsman and an Irishman walked into a bar. The Scot +immediately singled out the bartender and proclaimed that drinks were +on the house, and that he expected him to serve only his best. The next +day, the headlines read: Irish Ventriloquist Beaten to Death Behind Bar. +% +It seems that John gets this phone call: + "Hello," he answers. The voice on the other end of the line +is hard and cold. + "This is Susan," he hears. "We met at a party a few months +ago. + "Of course, Susan!", John replies. "How are you?" + "Not very well. Remember how after the party you took me home and +we parked? And you told me that I was a 'good sport'? Well, I'm pregnant +and I'm going to kill myself tonight." + John is silent for a few moments, collecting his thoughts. "Well," +he finally replies, "you sure *are* a good sport." +% +It seems that there was this Christian about to be thrown to the lions. He +was shoved into the middle of the arena and the lion was released. Being +a good Christian, as the lion approached he knelt and prayed, asking God for +forgiveness for his (few) sins, and begging that the lion might be dissuaded +from eating him for its breakfast. Much to his dismay, the lion didn't stop +but kept coming, getting faster and faster, now almost running, so the +Christian took off too. There they were, running around and around the arena, +the lion getting closer and the Christian praying harder and harder between +gasps for breath. The lions breath was now hot upon his heels and he could +even feel droplets of the lions saliva splashing on his bare feet. So he +pulled out all the stops, promising God that if the lion will only spare him, +he will devote the rest of his life to spreading the Christian faith, +forsaking all temptation and possessions. Suddenly he no longer felt the +lions breath, no longer heard the great beast's snarls close behind him. +Slowing to a stop, he turned around and saw the lion on its knees, eyes rolled +upward, paws held together. The lion appeared to be muttering something so +the Christian approached until he could make out what the lion was saying. + "Dear Lord, for what I am about to receive..." +% +It takes a brave man to admit his mistakes. +Especially in a paternity hearing. +% +It takes leather balls to play rugby. + (Blood makes the grass grow!) +% +It used to be a man's world, and the woman's place was in the home. +They can kiss that shit goodbye. +% +It was a female that drove me to drink +and I didn't even have the kindness to thank her. + -- R.E. Baber +% +It was a warm, sunny Sunday, and a man and his wife decided to take in the zoo. +They spent the day, and at closing time they walked past the gorilla cage, and +the man noticed the gorilla looking at his wife. "That gorilla is getting +excited just looking at your tits," he said. "Why don't you take your blouse +off and we'll see what he does?" + At first she refused. But finally persuaded by her husband, she took +off her blouse and bra. The gorilla went nuts. He started grunting and +jumping up and down. + "Hey," the husband said, "let's really blow his mind. Take off all +your clothes and we'll see what he does." + Again she said no and again he persuaded her. This time the ape +really went bananas! He climbed up and down the bars, did flips, ran around +in circles and tossed his food all over the cage. The husband went over to +the cage, opened the door and pushed his wife in. + "Now," said the husband, "tell that motherfucker you have a headache!" +% +It was almost closing time when a male patron who had been getting the +frosty treatment from a girl at the end of the bar called to the +bartender and said, "Give that bitchy douche bag over there one on me." + "We discourage that sort of language here, sir," the bartender +answered sternly. + "OK, OK. Serve the lady a cocktail with my compliments." + The bartender approached the female in question. "The, uh, gentleman +at the other end of the bar would like to buy you a drink, miss. What would +you like?" + "Vinegar and water." +% +It was April the 41st, +Being a quadruple leap year. +I was driving in down-town Atlantis. +My Barracuda was in the shop, +So I was in a rented stingray + -- and it was over-heating. +So, I pulled into a Shell station. +They said I'd blown a seal. +I said "Fix the damned thing and leave my private + life out of it, okay pal?" + -- Wet Dreams +% +It was at the eighth annual mouse convention and mice from near and far had +gathered for the ball. A pretty little female mouse waltzed by the stag +line and one of the males whistled a low, dirty whistle to himself. +Turning to another mouse he said, "Look at the legs on that bitch, aren't +they beautiful?" + "Just fair," was the answer. + "You're crazy," said the first mouse and then turning to another, +asked his opinion. + "They're nice," said the third mouse, "but nothing to get excited +about." + "Some mice have no appreciation," exclaimed the first mouse. "Now +you," he said to a fourth mouse, "what did you think?" + "To tell you the truth," was the reply, "I'm no authority on legs; +I'm a tit mouse myself." +% +It was her wedding night, and the sweet young thing was in a romantic haze. +"Oh, darling," she sighed, "We're married at last. It's all like a wonderful +dream!" + Her husband didn't answer. A few moments passed. She sighed again +and said, "I'm afraid I'll awake in a moment and find it isn't true." + Still no response from her spouse. Another pause and another +sensuous sigh, then, softly, "I just can't believe that I'm really your +wife." + "Damn it," growled her mate, "as soon as I get this shoelace untied, +you will!" +% +It was his third marriage and her fourth. He was quite surprised when on +their honeymoon she pleaded, "Please be gentle, I'm still a virgin." + "Darling, what do you mean you're still a virgin? You've been +married three times." + "Yes, but they all worked for DEC. The first was a salesman, +and all he ever did was promise how good it would be. The second was one +of their software hacks, he told me to take care of it myself. And the +third was a field service representative, and he kept promising that it +would be up in 15 minutes. +% +It was New Year's Eve and the house was brightly decorated with holiday +trappings. The only sound that broke the quiet was the click of Grandma's +knitting needles. The children; Jane, eight and Mary, five, were seated +in front of a cheerily burning fire, leafing through a picture book. +Tiring of this, they went over to Grandma's rocker. Jane climbed up on +the arm of the chair and Mary snuggled into Grandma's cozy lap. + "Tell us a story," begged Mary. + "Oh," said the old lady, laying aside her knitting and wrapping +her arms around the children. "What story should I tell you?" + "Tell us our favorite story," whispered little Jane eagerly. +"About the time you were a hooker in Chicago." +% +It was on the tip of my tongue to tell them about the deer, but I ended up +not doing it. That was one thing I kept to myself. I've never spoken or +written of it until just now, today. And I have to tell you that it seems +a lesser thing written down, damn near inconsequential. But for me it was +the best part of that trip, the cleanest part, and it was a moment I found +myself returning to, almost helplessly, when there was trouble in my life -- +my first day in the bush in Vietnam, and this fellow walked into the clearing +where we were with his hand over his nose and when he took his hand away there +was no nose there because it had been shot off; the time the doctor told us +our youngest son might be hydrocephalic (he turned out just to have an +oversized head, thank God); the long crazy weeks before my mother died. I +would find my thoughts turning back to that morning, the scuffed suede of +her ears, the white flash of her tail. But eight hundred million Red Chinese +don't give a shit, right? The most important things are the hardest to say, +because words diminish them. It's hard to make strangers care about the +good things in your life. + -- Stephen King, "The Body" +% +It was the first day of a new term at Princeton, and a Texas A&M freshman +was learning his way around the campus. Stopping a distinguished looking +upperclassman, he inquired, + "Say, buddy, can you tell me where the library is at?" + "My good fellow," came the reply, "at Princeton we do not end our +sentences with a preposition." + "All right," said the freshman, "can you tell me where the library +is at, asshole?" +% +It was this guy's first day in the penitentiary; he was in a cell with a +huge burley inmate, and he was pretty nervous. At lights-out, the inmate +jumped out of his bunk, and, turning to our hero, said, "We're going to +have sex! You want to be the Mommy or the Daddy?" + A very terrified hero managed to squeak out, "Uh, well, uh, I guess +I'll be the Daddy." + "OK," smiled his roommate, "get down here and suck your Momma's dick!" +% +It's a bit hard to bullshit the ocean. It's not listening, you know +what I mean. + -- David Crosby +% +It's a bitch being butch. +% +It's a funny thing that when a woman hasn't got anything +on earth to worry about, she goes off and gets married. +% +It's a question of Napoleon brandy versus Ripple. +I am mellow and amber and I go down real smooth. + -- Rita Moreno, commenting in Newsweek on the sex appeal + of older women versus younger women +% +"It's always the same," the girl sighed to her roommate after returning +in the wee, small hours. "Afterward, I feel so compromised, so cheap, so +soiled... so absolutely wonderful from head to toe!" +% +It's been so long since I made love I can't even remember who gets tied up. + -- Joan Rivers +% +It's better to be pissed off than pissed on. +% +It's hard to keep a good girl down -- but lots of fun trying. +% +It's midnight. The old man is awake, nervously pacing the floor, as his +20-year-old son comes in. + + "Whatta you mean? You staya out alla night, you runna around widda +bums. Whatta you trying to do?" + "Papa, don't talk like that," replies the boy. + "Who-a you, tella me notta talka like that? You no work, you +chase-a bad women, whatta become of you?" + "Papa, *please* don't talk like that." + "Don'ta talka like that? Whatta you mean? Why shouldn't I talka +likka that?" + "Papa, we're not Italian." +% +It's not a sin not to be Irish, but it is a great shame. + -- Sean O'Huiginn +% +It's not pretty being easy. +% +It's not the ups and downs of love, it's the ins and outs. +% +It's so fuckin' great to be alive! +% +It's the sighs that count. +% +I've been feeling kind of jealous, +Of all them well-hung fellas, +Like Michael, Rod, and Mick. It would have to be a big one, +Tell me, Doctor can you mend me? A giant, horny love gun, +I've a case of penis envy -- To let me be a jock. +If I only had a dick. Girls would never beg my pardon, + They would turn on to my hardon -- + If I only had a cock. +Oh, I can tell you now, +The number of times I'd score, +I could fuck girls like I would not be just a housewife, + I never have before, Living a little mouse-life +And then I'd cum (wee!) In days that drag out long. +And fuck some more! I would dance and I'd be merry + Life would be a ding-a-derry + If I only had a dong! + -- to "If I Only Had A Brain", The Wizard of Oz +% +I've been told that it's far more sensuous to have a woman leave something +on rather than being totally nude. Myself, I've always felt that the lights +were more than enough. +% +I've been watching you closely to see if you have been good this year; +and since you have, I will be telling my elves to make some goodies for me +to leave under your tree on Christmas. I was going to bring you all the +gifts from the twelve days of Christmas, but we had a little problem up here. +The twelve fiddlers fiddling have all come down with V.D. from fiddling with +the ten ladies dancing, the eleven lords-a-leaping have knocked up the eight +maids-a-milking, and the nine pipers piping have been arrested for doing +weird things to the seven swans-a-swimming and the six geese-a-laying. The +four calling birds, three French hens, two turtle doves, and the partridge +in the pear tree have me up to my ass in birdshit. On top of all this, Mrs. +Claus is going through menopause, eight of my reindeer are in heat, the elves +have joined gay liberation, and those dumb ass Polacks have scheduled +Christmas for the fifth of February. I'll do what I can. + Sincerely, + Santa +% +I've finally found the perfect girl, +I couldn't ask for more, +She's deaf and dumb and over-sexed, +And owns a liquor store. +% +I've got Hubert's pecker in my pocket. + -- Lyndon B. Johnson + +Don't see 'em this big out here, do they? + -- Lyndon B. Johnson, exposing himself to reporters in a + public toilet during a tour of the Far East +% +Jack an Jill went up the hill. +Jill went down, +Jack came. +% +Jack and Jill went up a hill +To fetch a pail of water. +Jack fell down and broke his crown Jack on Jill produced a thrill +And Jill came tumbling after. When on the ground he got her, + Then went down and told the town + He tumbled Jill and gaffed her. +Jack to Jill thus did such ill +That Jill, to pay the rotter, +Told the town Jack's crown broke down Jack and Jill have split the bill +When he set out to shaft her. Since Jack led Jill to totter. + Half the town deals Jill a frown + And half greets Jack with laughter. +% +Jack and Jill went up the hill +Each had a buck and a quarter. +Jill came down with two and a half -- +And you thought that they went for water. +% +Jack and Jill +Went up the hill, +Each had a buck and a quarter! +Jill came down, +With two and a half, +You think they went for water? +% +Jack be nimble, Jack be quick. +Jack jumped over the candle stick, +And burnt his balls. +% +Jack be nimble, Jack be quick, +Jack jumped over the candle stick. +But Jack wasn't so nimble, +Jack wasn't so quick, +So Jack's in the hospital, with a burned up dick! +% +Jehovah is an alien and still threatens this planet! +% +Jesus died for your sins... make it worth his time. +% +Jesus has just stopped the crowd from stoning Mary Magdalene to death +and is berating the self-pious with the famous speech, "Let the one +among you who is without sin cast the first stone..." + Right about then, a rock comes winging through the air and hits +Jesus upside the head. He whirls around and shouts "Alright, Mom, c'mon! +I'm trying to make a point, here!" +% +Jesus loves you, but everybody else thinks you're a dork. +% +Jesus may love you, but I think you're garbage wrapped in skin. + -- Michael O'Donohugh +% +Jesus Never Fails + +(He's never taken the Massachusetts Bar Exam, either.) +% +Jesus Saves! + +(And Esposito scores on the rebound!) +% +Jesus Saves, +Moses Invests, +But only Buddha pays Dividends. +% +Jesus was killed by a Moral Majority. +% +Jews always know two things: suffering and where to find great Chinese food. + -- From the movie "My Favorite Year". +% +Jimmy Carter, Ted Kennedy, Gary Hart, Joseph Biden and Michael Dukakis were +on a cruise down the Potomac when the ship struck a rock and began to sink. + "Gentlemen," Carter said, "as good Christians, we should let the +women and children aboard the lifeboats first." + "Fuck the women!" Kennedy shouted. + "Do we have time?" Hart asked. + "Do we have time?" Biden asked. + "Did everyone hear that?" Dukakis asked. +% +Joan of Arc is alive and medium well. +% +John Paul II is famous for his touring, and his quaint habit of pressing +his lips to foreign soil on his arrival. This sparked some wit to remark: + "The Pope has it backwards: he kisses the ground, and walks on +the women!" +% +Johnny Carson's Observation on Geriatrics: + Sex in the sixties is great, but it improves if you pull + over to the side of the road. +% +Just go with the flow control, roll with the crunches, and, when you get +a prompt, type like hell. +% +Just go with the flow control, roll with the +crunches, and, when you get a prompt, type like hell. +% +Just once I would like to persuade the audience not to wear any article of +blue denim. If only they could see themselves in a pair of brown corduroys +like mine instead of this awful, boring blue denim. I don't enjoy the sky +or sea as much as I used to because of this Levi character. If Jesus Christ +came back today, He and I would get into our brown corduroys and go to the +nearest jean store and overturn the racks of blue denim. Then we'd get +crucified in the morning. + -- Ian Anderson, of Jethro Tull +% +Kansas, where the men are men, the sheep +are scared and the women are grateful. +% +kasha, n: + Kasha is always defined as "buckwheat groats". There's only one + problem with this definition: what the fuck are "buckwheat groats"? + I know what they are -- they're kasha. But that doesn't help you + much. + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +Kerr's Three Rules for a Successful College: + Have plenty of football for the alumni, sex + for the students, and parking for the faculty. +% +King Louis gave a lesson in class, +One time while enjoying a lass. + When she used the word "Damn" + He rebuked her: "Please ma'am, +Keep a more civil tongue in my ass." +% +Kissing, petting, and even intercourse are all right as long as they are +sincere. I have never given a kiss in my life that wasn't sincere. As +for intercourse, I'd say three times a day was about right. + -- Margaret Sangor +% +Kitten with a whip, Teddy bear in chains, Puss in leather boots, +tail, swish swish, spread on a bed; rising thigh high; +take what you will, fantasy games, black rubber suits; +get what you wish. deep in your head. making him cry. + +Squirm from the blows, Now pussy's all hot, Teddy bear sighs; +writhe from the pain; from the power trip; kitty's on top; +but teddy bear knows, ready or not, there's fire in her eyes, +that he wants it again. next swing's from and the cat won't stop. + the hip. + +The world explodes, Teddy's still tied; Kitten with a whip, +her claws dig in; lying all alone; tail, swish swish, +then kitty cat goes, even if he tried, take what you will, +cause she's through he couldn't go home. get what you wish. + with him. + -- Kitten With A Whip +% +Knowledge Engineering: + +A combination of: + +Engineering, n: + The application of science and mathematics by which the properties +of matter and the sources of energy in nature are made useful to man in +structures, machines, products, systems and processes. + +and + +Knowledge, n: + Sexual intercourse. + +See also: Prostitution, Grantsmanship. +% +Konrad Lorenz, the great animal behaviorist, was scrupulous about cultivating +fruitful confusion. Lorenz lived among his research subjects: dozens of +species of mammals, birds, reptiles, and fishes. He did not quantify, control, +or consciously experiment. He got to know each creature individually, then +threw them together, watching for the unexpected, the unusual, or the bizarre +in the chaos that followed. For example, his interest in one of ethology's +most important concepts, that of intention movements (motions with meaning, +such as the head bobbing in birds that serves as an alarm signal before +flight), derived from an inadvertent experiment. He had trained a free-flying +raven to eat raw meat from his hand and had been feeding the bird for several +hours one day. He would reach into his pants pocket and take out a piece of +meat, and the raven would swoop down to grab it in its bill. By and by, Lorenz +went to relieve himself near a hedge. When the raven saw him put his hand +into his pants and pull out another morsel of meat, it swooped down, hungrily +grasping the new mouthful in its bill. Lorenz howled in pain. But the event +left a deep impression on him -- about how faithfully animals respond to +intention movements, that is. + -- The Sciences, May/June, 1988, N.Y. Academy of Science. +% +Kotex, n: + Not the best thing on earth, but next to the best. +% +Kumquat, n: + Any of several small citrus fruits with sweet spongy rind and + somewhat acidic pulp that are used chiefly for preserves. + Extremely popular in some forms of sexual intercourse. In fact, + an early indication that your partner is willing to experiment + sexually may be a rather insistent moaning of "kumquat, kumquat" + during orgasm. + + Note: this is *not* to be confused with a warning from your + partner that his/her parents are upstairs and probably awake. +% +Labia majora, n: + The curly gates. +% +Lady to Golf Pro: "I was stung by bees on your golf course!" +Pro: "Ummm, well, where?" +Lady: "Between the 1st and 2nd holes." +Pro: "That's going to real tough to treat." +% +lagnaf, n: + Let's All Get Naked And Fuck! +% +Large cats can be dangerous, but a little pussy never hurt anyone. +% +"Last night," said a lassie named Ruth, +"In a long-distance telephone booth, + I enjoyed the perfection + Of an ideal connection -- +I was screwed, if you must know the truth." +% +Last week I saw a girl in a sweater so tight I could hardly breathe. +% +lawyer, n: + Someone who can get a sodomy charge changed to "following too + closely." +% +Lawyers do it to everyone. +% +Left a good broad by the river, +Traveled back into town just to get some rest! +Waited for 10 hours, +Went back to the river, +But I couldn't get her out of that mess! + +chorus: + Poor Mary Jo Kopechne, + Dead Mary Jo Kopechne, + Rollin'... rollin'... rollin' down the window! + +If you're gonna run for office, +And you know that it's an election year. +Don't go in the river, +'Specially by way of bridges, +It could put an end to your political career! +(chorus) + -- Poor Mary Jo, to the tune of "Proud Mary" +% +"Lemme show ya the odds, Sparky... In yer country, ya got 14 million black +people, and 3 million white people. Now, does the name `Custer' mean anything +to you?" + -- Robin Williams, portraying Lester Maddox talking to Prime + Minister Botha of South Africa. +% +Les salons de la ville de Trieste +Sont vaseux, suraigus, at funestes; + Parmi les grandes chaises + On cause des malaises, +Des estropiements, et des pestes. + -- Edward Gorey +% +Let a Field Service Engineer put it in. +% +Liberace was at heaven's gate when Saint Peter told him that he'd been +disqualified from entering. + Stunned, Liberace asked, "Why?" + "Our records show that you once ate a parakeet," Saint Peter answered. + "I never did that," Liberace replied. "Can't you check your records? +They *must* be wrong!" + "It says right here that on August 15, 1981, you ate a chartreuse +parakeet with black trim." + "Hey, listen, you must be thinking of Ozzy Osbourne, " Liberace +replied. "Now, I might have had a cockatoo..." +% +LIBRA (Sept 23 - Oct 22) + You are the artistic type and have a difficult time with +reality. If you are a man, you are more than likely gay. Chances for +employment and monetary gains are excellent. Most Libra women are +prostitutes. All Libra people die of Venereal disease. +% +Lick-a-dee-clit! +% +Life is a bitch, but the puppies can be cute. +% +Life is a shit sandwich, and every day you get to take another bite. +It's just that some days are TWO BITE days ... +% +Life is having a mother-in-law that sucks and a wife that don't. + -- Rodney Dangerfield +% +Life is like a cucumber -- one moment it's +in your hand, the next it's up your ass. +% +Life is like a penis: when it's soft you +can't beat it, and when it's hard you get fucked. +% +Life is like a shit sandwich. The more bread +you have, the less shit you have to eat. +% +Life is not a cabaret. +It's a fucking circus. +% +Life isn't a bitch. Life is a virgin. A bitch is easy. +% +Like private parts to the Gods are we, +they play with us for their sport. + -- Lord Melchett (Blackadder 2) +% +Limericks are art forms complex, +Their topics run chiefly to sex. + They usually have virgins, + And masculine urgin's, +And other erotic effects. +% +Lipstick on your dipstick told a tale on you, +Lipstick on your dipstick said you were untrue. +Bet your bottom dollar you and I are through, +'Cause lipstick on your dipstick told a tale on you. + -- To the tune of "Lipstick On Your Collar" +% +Lisp hackers + ... do it in CARS. + ... do it with tail recursion. + ... first do it in the front, then do it in the back. + ... have DEFUN while doing it. + ... have to be bound to do it. + ... have Moby dicks. +% +Lisp hackers have to be bound (to-do 'it) ... +% +Lisp programmers do it deeper and deeper and deeper. +% +Little Boy Blew... he needed the money. +% +LITTLE DEATH: (la petite mort) Some women do indeed pass right out, the +'little death' of French poetry. Men occasionally do the same. The +experience is not unpleasant, but it can scare an inexperienced partner +cold. A friend of ours had this happen with the first girl he ever slept +with. On recovery she explained, "I am awfully sorry, but I always do that." +By then he had called the police and an ambulance. So there is no cause +for alarm, any more than over the yells, convulsions, hysterical laughter, +or sobbing, or any of the other quite unexpected reactions that go along +with complete orgasm in some people. By contrast others simply shut their +eyes, but enjoy it no less. Sound and fury can be a flattering testimony +to a partners skills, but a fallacious one, because they don't depend on the +intensity of feeling, nor it upon them. + -- The Joy of Sex +% +Little Herbie had been blind since birth. One day at bedtime, his mother +told him that the next day was a very special one. If he prayed extra +hard, he'd be able to see when he woke up the next morning. The next +morning she came into Herbie's room and asked him if he'd prayed hard +the night before. + "Yes, Mommie," was his reply, "all night long!" + "Well, then," she said, "open your eyes and you'll know that +your prayers have been answered." +Little Herbie opened his eyes, only to cry out, + "Mother! Mother! I still can't see!" + "I know, dear," said his mother, "April Fool." +% +Little Johnny with a grin, +Drank up all of daddy's gin, +Mother said, when he was plastered, +Go to bed, you little love-child. +% +Little known facts: the dirtiest words used on television during the +1950's were uttered by June Cleaver. + "Gee, Ward, weren't you a little hard on the Beaver last night?" +% +Little Miss Muffet sat on a tuffet, +Eating her curds and whey. +Along came a spider, +And bit her right in the snatch. +% +Little Miss Muffet, sat on a tuffet, +Eating her curds and whey. +Along came a spider, +Who sat down beside her, +And said, "What's in the bowl, bitch?" +% +Little Miss Muffet sat on a tuffet, +Her knickers all tattered and torn. +For it wasn't a spider that sat down beside her, +But Little Boy Blue with his horn! +% +Little Miss Muffet, +Sat on her tuffet, +Smoking some THC. +Along came a narc'er who sat down beside her +And said, "So... what's in the bag, bitch?!" +% +Little Red Riding Hood was walking through the woods on her way to visit +her grandmother when a wolf jumped out from behind a tree. + "Aha!" the wolf said, "Now I've got you, and I'm going to eat you." + "Eat, eat, eat," said Little Red Riding Hood angrily, +"Damn it, doesn't anybody fuck anymore?" +% +Long, long ago, in the Old West, a rancher rode into town to buy supplies. +When he returned, he found that his whole family had been killed, his wife +raped, his house burned, and all his cattle rustled. When he told his +distant neighbors about the tragedy, a few of them reported that the only +stranger they had seen in the area for weeks was a tall desperado wearing a +black hat and a red neckerchief. + The cowboy saddled his fastest horse and set out to find the villain. +He searched for months but couldn't catch up with the culprit; in town after +dusty town he was told that a man fitting the description had been there but +had just departed; usually after some heinous crime. + One evening after a hard day's ride he came into a town, tied his +horse, and entered the saloon. At a table in the corner sat an ugly man, +with a black hat and a red neckerchief! Slowly the cowboy stalked up to +this man, his hands resting upon his guns. + "Are you the man who killed my family, raped my wife, burned my +house and rustled my cattle?" + "Probably; after so many, how can I be sure?" snarled the bandit. + "You better cut that shit out!" +% +Look out for yourself -- or they'll pee on your grave. + -- Louis B. Mayer + +The reason so many people showed up at Louis B. Mayer's funeral +was because they wanted to make sure he was dead. + -- Samuel Goldwyn +% +Love comes in spurts. +% +Love comes in spurts. + --Devo, "Please Please" +% +Love is blind but desire doesn't give a good goddam. + -- James Thurber +% +Love is eating her even when she's not having her period. +% +Love is just for now ... herpes lasts forever. +% +Love is not the dying moan of a distant violin -- it's the triumphant +twang of a bedspring. + -- S.J. Perelman +% +Love is two minutes and fifty-two seconds of squishy sounds. + -- Johnny Rotten +% +Luser, n: + Someone who picks up a female + hitch-hiker walking home from a date. +% +Ma Bell runs a baudy house. +% +Macho, adj: + Jogging home from a vasectomy. +% +Male, n: + Life support system for a cock. +% +Man in stall: + Hey, buddy? Is there any toilet paper out there? +Man at sink: + No, I don't see any. Just a second... Nope, none in + any of the other stalls either. +A minute passes. +Man in stall: + Say, buddy? +Man at sink: + Yeah? +Man in stall: + You got change for a ten? +% +Man who dance in crowded ballroom +dance cheek to cheek with woman behind him. +% +Man who keep money in jockstrap has financial matters all balled up. +% +Man's lust for a bust is hardly recent, +Some say not even indecent. +But if you lust, +It's a must! +% +Many a bachelor feels the need to insert his masculinity. +% +Many a man has decided to stay alive not because of the will to live, but +because of the determination not to give assorted surviving bastards the +satisfaction of his death. + -- Brendan Francis +% +Many a man has fallen in love with a girl in a light so dim he would +not have chosen a suit by it. + -- Maurice Chevalier +% +Many a man in love with a dimple makes the mistake of marrying the +whole girl. + -- Stephen Leacock +% +Many a man who thinks he's going on a maiden voyage with +a woman finds out later that it was just a shake-down cruise. +% +Many a sober Christian would rather admit that a wafer is God than that God +is a cruel and capricious tyrant. + -- Edward Gibbon +% +Many a wife thinks her husband is the world's greatest lover. +But she can never catch him at it. +% +Many a woman hasn't realized that she was raped until the check bounced. +% +Many nice things suck. +% +Marijuana is like Coors beer. If you could buy the damn stuff +at a Georgia filling station, you'd decide you wouldn't want it. + -- Billy Carter +% +Marriage has driven more than one man to sex. + -- Peter De Vries +% +Marriage is like a bank account. You put it in, you take it out, +you lose interest. + -- Professor Irwin Corey +% +Mary had a little lamb, +Its fleece as white as snow. +It followed her to school one day, +And got fucked by a big black dog. +% +Mary had a little lamb, +She kept it in a bucket. +And every time she let it out, +The bulldog used to +Chase it around the garden. +% +Mary had a little lamb, +The lamb turned out to be a ram, +Now Mary has a little lamb. +% +Mary had a little sheep, +And with the sheep she went to sleep, +The sheep turned out to be a ram, +And Mary had a little lamb. +% +Mary had a little watch; +She swallowed it one day. +And so she took some Ex-Lax +To pass the time away. + +But when she took the Ex-Lax +The time it did not pass. +So when you want to know the time, +Just look up Mary's ... + Uncle, he has a watch, too. +% +Masturbation! The amazing availability of it! + -- James Joyce +% +masturbation, n: + A self-service elevator. +% +masturbation, n: + Coming unscrewed. +% +Math is to physics like masturbation is to sex. +% +Mathematicians + ... do it in groups. + ... do it in theory. + ... take it to the limit. +% +Mathematicians do it with a small, imaginary part. +% +Mathematicians often resort to something called Hilbert space, which is +described as being n-dimensional. Like modern sex, any number can play. + -- James Blish, "Beep/The Quincunx of Time" +% +May a deranged midget on a pogo stick +take refuge in your sister's hoop skirt. +% +May a diseased yak take a liking to your sister. +% +May Allah blow sand in your Preparation H. +% +May the fairy god-camel leave a lump on your pillow! +% +Maybe if the guy who developed Twinkies hadn't had such a low +opinion of himself they would have been an inch or two longer! +% +McGowan's Madison Avenue Axiom: + If an item is advertised as "under $50", + you can bet your ass it's not $19.95. +% +McQuillan was on the stand. The case involved a railroad and several of +the passengers who were injured. + "You say," thundered the counsel for the railroad, "that you saw +the two trains crash head on while doing sixty miles an hour. What did you +think when you saw this happen ?" + I thought," replied the Irishman, "this is one *helluva* way to run +a railroad." +% +Me father makes book on the corner, +Me mother makes second hand gin, +Me sister makes love for a dollar, +And that's how the money rolls in! + + Rolls in, rolls in, just look how the money rolls in! + (Rolls in!) + Rolls in, rolls in, just look how the money rolls in! + +Me father sells cheap prophylactics, +Me mum pokes the tips with a pin, +Me sister performs the abortions, +And that's how the money rolls in! + +Me uncle's a poor missionary, +He saves fallen women from sin. +He'll save you a blonde for five dollars, +And that's how the money rolls in. +% +Me, I love the rich. *Somebody* has to love them. Sure, a lot +of rich people are assholes, but believe me, a lot of poor people +are assholes too. And an asshole with money can at least pay +for his own drinks. + -- Tom Robbins, "Jitterbug Perfume" +% +Meanwhile back at the oasis, the Ay-rabs wuz busy a-eatin' their dates! +% +Meanwhile, back at the ranch, Granny was a-beating off the Indians, but +they jus' kept on a-comin'. Back at the outhouse, things were a-pilin' up. +And, as the U.S. Fourth Calvary mounted the hill, Tonto, cleverly disguised +as a doorknob, came off in the Lone Ranger's hand. +% +Meet Elmer, young son of the Thorpes, +Afflicted with psychotic warps. + His idea of fun + Is to bugger a nun, +And then vomit all over the corpse. +% +Megaton Man: "LOOK at them! Helpless, tender creatures, relying on + ME, waiting for ME to make my move!" + +(from below): "Move your ASS, Fat-head!" + +Megaton Man: "It is a MANDATE, and I am DUTY BOUND to OBEY!" +% +Men -- can't live with 'em, can't leave +'em by the curb when you're done. +% +Men have many faults, + Women only two: +Everything they say, + And everything they do! +% +Men will fuck mud. + -- Lenny Bruce +% +menage a trois, n: + Using both hands to masturbate. +% +Men's magazines often feature pictures of naked ladies. Women's magazines +also often feature pictures of naked ladies. This is because the female +body is a beautiful work of art, while the male body is hairy and lumpy and +should not be seen by the light of day. + -- Richard Roeper, "Men and Women Are Different" +% +Men's skin is different from women's skin. It is usually bigger, and it +has more snakes tattooed on it. Also, if you examine a woman's skin very +closely, inch by inch, starting at her shapely ankles, then gently tracing +the slender curve of her calves, then moving up to her ... + + [EDITOR'S NOTE: To make room for news articles about important + world events such as agriculture, we're going to delete the + next few square feet of the woman's skin. Thank you.] + +... until finally the two of you are lying there, spent, smoking your +cigarettes, and suddenly it hits you: Human skin is actually made up of +billions of tiny units of protoplasm, called "cells"! And what is even more +interesting, the ones on the outside are all dying! This is a fact. Your +skin is like an aggressive modern corporation, where the older veteran cells, +who have finally worked their way to the top and obtained offices with nice +views, are constantly being shoved out the window head first, without so +much as a pension plan, by younger hotshot cells moving up from below. + -- Dave Barry +% +Meteorologist, n: + A man who can look in a woman's eyes and predict whether. +% +Mickey Mouse has a long talk one day with a psychiatrist, after which +the psychiatrist interviews Minnie Mouse. A few days later Mickey meets +with the psychiatrist, and the following conversation ensues: + +Sigmund : I talked with Minnie after talking with you. +Mickey : Oh? +Sigmund : I couldn't find anything wrong with her -- she isn't insane. +Mickey : Idiot! I didn't say she was insane -- I said she was + fuckin' Goofy. +% +Miguel Cervantes wrote Donkey Hote. Milton wrote Paradise Lost, then his +wife died and he wrote Paradise Regained. +% +"Mind you, not as bad as the night Archie Pettigrew ate some sheep's +testicles for a bet... God, that bloody sheep kicked him!" + -- Ripping Yarns +% +Missed the train at the railway station +Oh hell, blast, and damnation! +Asked a lady in there if she had the time, +She said "Yes", and a strong inclination. +% +Missionary position: + The missionary on top. +% +Mistress Mary, quite contrary, +How does your garden grow? +With silver bells and cockle shells, +And one really fucked-up petunia. +% +Mistress, n: + Something between a mister and a mattress. +% +mixed emotions: + Watching your mother-in-law back off a cliff... + in your brand new Mercedes. +% +Montana: + Where men are men and women are sheep. +% +Moody bitch in search of... + kind, considerate, loving man. Objective, love-hate relationship. +% +Moody bitch with attitude, seeks nice, +good-looking guy to dump on. +% +Morris left for a two-day business trip to Chicago. He was only a few +blocks from his house, when he realized that he had left the airplane +tickets on his bureau top. He returned and quietly entered the house. +His wife, in her skimpiest negligee, was standing at the sink washing +the breakfast dishes. She looked so inviting that he tiptoed up behind +her, reached out, and squeezed her breast. + "Leave only one quart of milk," she said. "Morris won't be here +for breakfast tomorrow." +% +Most legislators are so dumb that they couldn't pour piss +out of a boot if the instructions were printed on the heel. +% +Most men would never get laid if it weren't for the pity fuck. +% +Most people wouldn't know music if it came up and bit them on the ass. + -- Frank Zappa +% +Most plain girls are virtuous because of the scarcity of opportunity +to be otherwise. + -- Maya Angelou, "I Know Why the Caged Bird Sings" +% +Most women look for a man who is tall, dark and hung some. +% +Motto of the Electrical Engineer: + Working computer hardware is a lot like an erect penis: + it stays up as long as you don't fuck with it. +% +Moustache rides, 50 cents. +% +Mr. Rection, Mr. Hugh G. Rection, please pick up a white courtesy telephone! +% +Mrs. Johnson had a very beautiful and intelligent parrot. He had just one +problem: He liked to fuck Mr. Hawkins' chickens. Mrs. Johnson scolded him +time and time again, but he would just laugh at her. Finally, she told him +that if he did it again, she would cut off all of the feathers on the top of +his head. Well, he resisted the urge for a week, but one day, he just +couldn't resist going next door. Besides, he figured she was bluffing. + Well, Mr. Hawkins came over, ranting and raving about how the parrot +had been fucking his chickens again. Mrs. Johnson didn't say a word, just +took out her scissors and cut off all of the parrot's head feathers. + That night, Mrs. Johnson had a big party at her house. Before it +started, she took the parrot and put him on top of the piano by the front +door. "Since you disobeyed me today, you have to stay here on the piano +tonight. Now, don't you dare move." + Well, the parrot was pretty pissed off about having his head bare, +and he wasn't too happy about having to spend the whole evening on the piano. +Still, as he usually did, when the butler would announce the guests as they +arrived, he would say hello to them. Just then, two bald-headed men came to +the door. + Before the butler could say anything, the parrot yelled, "Okay, you +chicken-fuckers, up here on the piano with me!" +% +Murphy's Discovery: + Do you know Presidents talk to the country the way men talk + to women? They say, "Trust me, go all the way with me, and + everything will be all right." And what happens? Nine + months later, you're in trouble! +% +Musing on her present and past professions as "dominant/sadomasochism +fantasy fulfiller" and dental hygienist, Sybil said, "I couldn't really +understand why I wanted to be a dental hygienist, but years later, after +being in the SM world a long time, I figured it out: I'm in uniform, +they're not. I'm standing up, they're lying down. I'm doing painful +things to them for their own good. This is so ME." + -- The Daily Cal, September 29, 1992 In an article titled: + "Kinky sex remains alive and whipping despite threat + of AIDS, book reveals" +% +My advice to the women's clubs of America is to raise more hell and fewer +dahlias. + -- William Allen White +% +My brother-in-law has found a way to make ends meet. +He goes around with his head stuck up his ass. +% +My daddy's brains was so scrambled he thought he was Jesus. They put him +in a nut house for 5 years and when he got out, he didn't think he was +Jesus, he thought he was *God*! ... Which made me Jesus. + -- T. Bywater +% +My father was a creole, his father a Negro, and his father a monkey; my +family, it seems, begins where yours left off. + -- Alexandre Dumas +% +My girlfriend's favorite erotic position is bending over my credit cards. +% +My godda bless, never I see sucha people. + -- Signor Piozzi, quoted by Cecilia Thrale +% +My idea of a wild party is where you throw the girls' panties at the wall +and they stick. + -- Johnny Bob +% +My mother didn't breast-feed me. She said she liked me as a friend. + -- Rodney Dangerfield +% +My mother was a test tube; my father was a knife. + -- Friday +% +My mother-in-law broke up my marriage. One day my wife +came home early from work and found us in bed together. + -- Lenny Bruce +% +My mothers are wholly ignorant of the almost universal prevalence of secret +vice, or self-abuse, among the young. Why hesitate to say firmly and without +quibble that personal abuse lies at the root of much of the feebleness, +paleness, nervousness, and good-for-nothingness of the entire community? + -- Dr. J.H. Kellogg, "The Ladies Guide", Modern Medicine + Publishing Company, 1895. Dr. Kellogg helped invent + corn flakes and peanut butter. In addition to denouncing + masturbation, he believed that smoking caused cancer and + that certain ailments could be cured by rolling a + cannonball on the stomach. +% +My reaction to porno films is as follows: After the first ten minutes, I +want to go home and screw. After the first twenty minutes, I never want +to screw again as long as I live. + -- Erica Jong +% +My sex life hasn't been so good; either fist or famine. +% +My travel agent's an Oxford chap +Who rolls his eyes when he speaks. +I asked him about the Isle of Man +For a journey of about six weeks. +And this is what he said to me +As he looked me right in the eye, +"For a far-out trip, try an ice cream dip +Of Elephant Shit On Rye." + +A brand-new store just opened its door +At the corner of 5th and Vine +And I happened to be standing right outside +When they turned on their neon sign. +I heard a strange sound, I looked around, +And that's when I almost died, +They nearly knocked me down to be the first in town +To get their Elephant Shit On Rye! +% +My wife and I only smoke after sex. I've had the same pack since 1967. +She's up to three packs a day. + -- Rodney Dangerfield +% +My wife has breast cancer. She told me to start dating. + -- Howard Stern +% +Naeser's Law: + You can make it foolproof, but you can't make it damnfoolproof. +% +Naked children are so perfectly pure and lovely. I confess I do not admire +naked boys. They always seem to me to need clothes -- whereas one hardly +sees why the lovely forms of girls should ever be covered up. + -- Lewis Carroll +% +Naked couple in bed, woman says to man: + "When I said I had a foot fetish, I was referring to cocks." +% +Nancy Reagan wants to divorce old Ron... +seems he's making it hard for everyone but her. +% +National Sex Week -- don't let your meat loaf. +% +navel, n: + A place to stash your gum on the way down. +% +Necessity is the mother of strange bedfellows. +Watch who you sleep with. +% +necrophilia, n: + Dead boring. + +incest, n: + Relatively boring. +% +necrophilia, n: + Dropping in for a cold one. +% +Need to buy black lace crotchless panties for sheep? +Try Fredricks of Ithaca, New York. +% +Negotiate my ass, let's kill something! +% +Never fly under a seagull - they'll shit on your airplane. + -- Gordon Cooper +% +"Never send a MAN to do a WOMAN'S work! Why do you think I CAME here?" +"Not for the good of my ego, that was for damn sure." +% +Never try to keep up with the Joneses; they might be newlyweds. +% +NEW ADDITION TO THE LIBRARY: + "Sally", the department's new inflatable doll, is available on +a short-term removal basis only -- please sign her out and return her +promptly to avoid extended waits. (We are still awaiting shipment of +our "Big John" doll.) +% +New book out from Gary Hart; "Six Inches from the White House". +% +New Jersey is not the armpit of the nation; +it's the asshole of the universe. + -- Jonathan Michael Smith +% +New York: + Where men are men, sheep enjoy it, and lepers laugh their heads off. +% +Newlywed groom: + Honey, I have something to confess to you. I'm a golfer. + You'll never see me on Tuesday nights, Thursday nights, + and weekends. I'm sorry. +Newlywed bride: + I have something even worse to confess, dear. I'm a hooker. +Groom: + Oh, honey, that's no problem! Just keep your head low and follow + through... +% +Newsflash: + Apparently the rapture did occur last Tuesday as was originally +predicted. All true believers were transported to heaven while the rest +of us were left behind to await the Anti-Christ and the end of the world. + Widespread reports that the rapture had not occurred stemmed from +expectations that the effect would be more widespread than it turned out +to be. The definition of "true believer" was apparently more restrictive +than expected, however, and the only qualifiers were a family of five, +living in Stenton, North Dakota. +% +Next, upon a stool, we've a sight to make you drool. +Seven virgins and a mule, keep it cool, keep it cool. + -- ELP, "Karn Evil 9" (1st Impression, Part 2) +% +Nice computers don't go down. +% +Nine out of ten men who preferred Camels have switched back to women. +% +Nine reasons a taco is better than a woman: + 1: Tacos don't put frilly covers on the toilet seat + so the lid won't stay up. + 2: Tacos don't use your razor on their legs. + 3: Tacos don't say "That's okay, it doesn't have to be good for me." + 4: Tacos don't get upset if you eat another taco, "Just for fun." + 5: Tacos will never contest a divorce, + demand a property settlement or seek custody of anything. + 6: Tacos won't ask you about your last lover, + or speculate about your next one. + 7: A taco will never make a scene because + there are other tacos in the refrigerator. + 8: It's easy to drop a taco. + 9: Tacos don't want to sleep on your chest. +% +Ninety percent of everything is crap. + -- Theodore Sturgeon +% +No matter how clever the hardware boys +are, the software boys piss it away. +% +No one born with a mouth and a need is "innocent". + -- Greg Bear +% +Non Illegitemus Carborundum. + [Don't let the bastards wear you down.] +% +Not everyone has a one-track mind. + -- From a Bisexuality 101 talk +% +Not only is God dead, but just try to find a plumber on weekends. + -- Woody Allen +% +nothing, adj: + A man with an erection who walks into a wall and breaks his nose. +% +Now a Jew, in the dictionary, is one who is descended from the ancient +tribes of Judea ... but you and I know what a Jew is -- one who killed +Our Lord ... A lot of people say to me "Why did you kill Christ?" What +can I say? It was an accident. It was one of those parties that got out +of hand, you know... We killed him because he didn't want to become +a doctor, that's why we killed him. + -- Lenny Bruce +% +Now hear this fair lass from Rhode Isle +Who said with a wink and a smile, + "Sure, please stick it in, + Be it thick be it thin, +But if's rough I won't do as a file." +% +Now it is such a bizarrely improbable coincidence that anything so mind- +bogglingly useful could have evolved purely by chance that some thinkers +have chosen to see it as a final and clinching proof of the non-existence +of God. The argument follows: "I refuse to prove that I exist," says God, +"for proof denies faith, and without faith I am nothing." "But," says Man, +"the Babel fish is a dead giveaway, isn't it? It could not have evolved +by chance, thus proving that you exist, therefore by your own arguments, +you don't. QED." "Oh, dear," says God, "I hadn't thought of that," and +promptly vanishes in a puff of logic. + -- D. Adams +% +Now what would they do if I just sailed away? +Who the hell really compelled me to leave today? +Runnin' low on stories of what made it a ball, +What would they do if I made no landfall?" + -- Jimmy Buffet, "Landfall" +% +Nurse Jones is a regular on the newsgroup [alt.sex.bondage], and +occasionally has problems with folks harassing her. She came up +with this in response to one... + + Fortunately, my ego isn't as fragile as that woodpecker's wing. + When fratboy called me a dyke I told him that actually I was + bisexual, but that he shouldn't feel threatened because he didn't + meet either of my standards. But if it makes you feel more + comfortable, I said, my husband tied me to the bedposts this + morning and screwed the daylights out of me. + + "Just think," said + + Nurse Jones, + "... that was four + hours ago and + my sperm count + is probably *still* + higher than yours." +% +Nybble me... Byte me... Unsigned long int me... +% +Objectivity is to a newspaper what virtue is to a woman. + -- Joseph Pulitzer +% +Obscene? Obscene is young men being trained to drop fire on people, but +their commanders not allowing them to write "fuck" on their airplanes +because it's obscene. +% +Obscenity is a crutch for lazy Motherfuckers. +% +Obscenity is the crutch of inarticulate motherfuckers. +% +Of course, I speak of nothing else but that classic of understated yet wildly +exciting eroticism, "The Windflower," by Laura London. Ms. London is the +author of such other philosophical block-busters as "Bad Baron's Daughter," +"A Heart Too Proud," "Moonlight Mist," and most thigh-warming of all, "Gypsy +Heiress". Well, glasses-steaming scenes are to be found on every page, to +an extent which overwhelms Your Humble Narrator, and so, in order to save +himself extreme embarrassment, he brings you... the blurb: + + "Every lady of breeding knows: no one has a good time on a pirate +ship. No one, that is, but the pirates. Yet there she was, Merry Wilding +-- kidnapped in error, taken from a ship bound from New York to England, +spirited away in a barrel and swept aboard the infamous "Black Joke"... +There she was, trembling with pleasure in the arms of her achingly handsome, +sensationally sensual, golden-haired captor -- Devon." +% +Of course, most people eventually give up bowling for sex. +The balls are lighter and you don't have to change your shoes. +% +Oh, baby, put two fingers here and one finger there and call me bitch. +% +Oh give me a home, where the bookmakers roam, +Where the beer and the whiskey flows free, +Where never is heard, a discouraging word, +And the call-girls keep callin' for me! +% +Oh, I'm looking over, my dead dog Rover, +That got run over with my mower. +One leg is missing, and one other is gone, +The fourth one is scattered all over the lawn. +It's no use explain'n, the one remaining, +It landed by the kitchen door. +Oh, I'm looking over, my dead dog rover, +that ain't gonna walk no more... + -- Tune is something about a four-leaf clover. +% +Oh John, let's not park here. +Oh John, let's not park. +Oh John, let's not. +Oh John, let's. +Oh John. +Oh. +% +Oh what a tangled web we weave when first we practice to conceive. + -- Don Herold +% +OLD FELLA RED CLARET + Produce of Australia -- "The Big 69'er" + +An unusual "Rough-as-Guts" wine that has the Distinctive Bouquet of old +and ill-cared for animals. It is best drunk with the teeth clenched to +prevent ingestion of the seeds and skins. Connoisseurs will savour the +slight Tannin Taste of burnt shag feathers and soiled medical dressings. +Possessors of a cultivated Palate admire the initial assault on the taste +buds which comes from the careful and loving blending of circus hosings +with perished jock straps. The maturing in Midland Abattoir hogsheads +gives it a very Definite Nose. With the bouquet like an aborigine's armpit. +In the United States this wine is marketed as Crow Brand (9 out of 10 people +who drink it for the first time exclaim "VRAAAARRRRRK"). + +It won a Bronze at the "Kings Cross Homosexuals Convention" of 1973 + +Warning: Avoid contact with eyes and open cuts. + Keep away from open naked flames -- both old and new. +% +Old King Cole was a merry old soul, +A merry old soul was he. +He called for his pipe, +And he called for his drums, +And he fiddled with his call girls three. +% +Old King Cole +Was a merry old soul, +A merry old soul was he! +He called for his pipe, +And he called for his bowl, +And he fiddled with his call girls three! +% +Old McDonald had a farm, +E-I-E-I-O! +And on this farm he had some chicks, +E-I-E-I-O! +With a chick-chick here, +And a chick-chick there, +Here a chick, +There a chick, +Everywhere a chick-chick, +Old McDonald lost his farm +'Cause he had too many chicks! +% +Old McDonald had a farm, +E-I-E-I-O +And on this farm he had some chicks, +E-I-E-I-O +With a chickie-poo here, and a chickie-poo there, +Here a chick, there a chick, everywhere a whoop-ti-doo, +Old McDonald lost his farm, +'Cause he had too many chicks. +% +Old mercenaries never die. They go to hell and regroup. +% +Old Mother Hubbard lived in a shoe, +She had so many children, +She didn't know what to do. +So she moved to Atlanta. +% +Old Mother Hubbard, +Went to the cubbard, +To get her poor doggie a bone. + +But when she stooped over, +Old Rover, he drove her. +You see, he had a bone of his own. +% +Olmstead's Law: + After all is said and done, a hell of a lot more is said than done. +% +On an isolated stretch of beach near Cannes, a beautiful French girl threw +herself into the sea and drowned despite a young man's attempt to save her. +The man dragged the half-nude body ashore and left it on the sand while he +went to notify the authorities. Upon his return, he was horrified to find +a man making love to the corpse. + "Monsieur, monsieur," he shouted, "that woman is dead, +that woman is dead!" + "Sacre bleu," exclaimed the man, springing up. +"I thought she was an American!" +% +On Brassieres: + Russian: Uplifts the masses. + Salvation Army: Raises the fallen. + American: Makes mountains out of molehills. +% +On one hot dusty day in 1860, a lone Mexican bandit crossed the border into +Texas. After robbing a small bank and shooting up the town, he led the posse +on a merry chase through the desert. On the sixth day of the chase he was +apprehended. + Sheriff-to-interpreter: "Ask him where the money is." + Interpreter-to-bandit: "He wants to know where you hid the money." + Bandit-to-interpreter: "I'll never tell, never!" + Interpreter-to-sheriff: "He says he'll never tell, senor." +At this point, the sheriff loses his cool. His town has been shot up, his +bank robbed, he's spent a week in the desert tracking this guy, and now he +says he'll never tell. So he takes his pistol, jams it under the bandits' +chin, and, with the veins standing out on his neck, screams "Tell him to tell +me where the money is, or I'm gonna blow his brains all over the desert!" + Interpreter-to-bandit: "He says if you don't tell him where the + money is right now, he will kill you here." + Bandit-to-interpreter: "Do not kill me, senor, the money is hidden + under the big tree at the pass!" + Interpreter-to-sheriff: "He says you ain't got the balls..." +% +Ona day Ima gonna to Detroit to a bigga hotel. Ina morning I go down to +eat breakfast. I tella waitress I wanna two piss's toast. She bringa me +only one piss. I tella her I wanna two piss ona my plate. She says you +better no piss on the plate, you sonna bitch. I don't even know the lady +and she call me sonna bitch. Later I go out to eat at the bigga restaurant. +The waitress bring me a spoon and a knife but no fock. I tell her I wanna +fock. She tells me everone wanna fock. I tell her "you no understand", I +wanna fock on the table. She say you better not fock on the table, you +sonna bitch. So I go back to my room ina hotel and there isa no shits ona +my bed. I calla the manager and tella him I wanna shit. He tella me to go +to the toilet. I say "you no understand", I wanna shit on the bed. He say +you better no shit ona bed, you sonna bitch. I go to check out and the man +at the desk say "peace to you". I say piss on you too, you sonna bitch. I +gonna back to Italy. +% +Once a woman has given you her heart you +can never get rid of the rest of her. + -- Vanbrugh +% +Once I belonged to a group that really had THE WORD. I fought like hell +for them. But another group came along and exposed the word of my group +as shallow and degenerate. They had a better word. So I quit the first +group and lost all the friends I had made and I joined up with this new +group. I fought like hell for them. But another group came around. They +exposed the word of my group as false and materialistic. Their word was +very much better. So I quit the second group and lost all the friends I +had made. And I joined up with this new group. I fought like hell for them. +Till this one guy came along and proved that there wasn't any word at all. +That I should go off as an individual and grow! So I quit the last group +and lost all the friends I had made. And now I sit home alone all day and +all I do is grow. It would be nice to join up with some others who feel +the way I do. + -- J. Feiffer +% +Once upon a girl there was a time... +% +Once upon a time there was a farmer who had borrowed a bull to service his +two cows. He put all three animals on a meadow and sent little Johnny to +observe and report any success. A short time later, little Johnny came +running towards the house shouting: "Daddy, Daddy, the bull just fucked the +white cow!" + The father took little Johnny aside and said: "Look, kid, it's +alright if you use that kind of language around me, but the reverend is +going to be visiting soon. So next time, please use another word; just +say that the bull "surprised" the cow." + Johnny agreed and went back to observe any progress. A little +while later, while the preacher was talking to the farmer, little Johnny +came a-running again, shouting: "Daddy, Daddy!" + The father, trying to avoid embarrassing the preacher, said: "I +know, the bull surprised the brown cow." + Little Johnny replied: "He sure did, he fucked the white one again!" +% +Once upon a time there was a farmer who owned a large number of chickens and +made money by selling chickens to a local distributing company. The farmer +wanted to increase his business, and so went to market to buy another rooster. +"This rooster," assured the vendor, "is my best. He's virile and energetic +and will take care of all your chickens!" The farmer, delighted at this, +bought the rooster and returned to his farm. He set the rooster loose among +his hen houses and, sure enough, the rooster enthusiastically went to work. +It wasn't too long, however, before the rooster finished off all the hens and +began on the few geese and ducks that were on the farm. "If you keep up this +rate," warned the farmer, "you'll screw yourself to death!" The rooster, +however, scoffed at the farmer and continued at an increased speed. The next +morning, the farmer was doing his chores when he noticed several buzzards in +the sky circling over something. He headed out behind the barn, and sure +enough there was the rooster, flat on his back, with eyes closed. The farmer +shook his fist at the motionless body and cursed, shouting "I knew it! I told +you so! I knew you'd screw yourself to death!" The rooster turned his head +toward the farmer, opened one eye, and winked. "Shhh!" he said, pointing to +the birds above. "I think they're coming down." +% +Once upon a time there was a little girl named Little Red Riding Hood. One +fine morning she decided to visit her Grandmother, so she put a freshly baked +cake and a .357 magnum into her basket and set off through the forest. When +she got there, what should she find but a big black wolf in the bed, who +jumped up, grabbed her and snarled, "I'm going to fuck you until the sun goes +down." + So Little Red Riding Hood whipped out the .357 and said, "Oh, no, +you're not! You're going to eat me just like the story says!" +% +Once upon a time, there was a non-conforming sparrow who decided not to +fly south for the winter. However, soon after the weather turned cold, +the sparrow changed his mind and reluctantly started to fly south. +After a short time, ice began to form his on his wings and he fell to +earth in a barnyard almost frozen. A cow passed by and crapped on this +little bird and the sparrow thought it was the end, but the manure +warmed him and defrosted his wings. Warm and happy the little sparrow +began to sing. Just then, a large Tom cat came by and hearing the +chirping investigated the sounds. As Old Tom cleared away the manure, +he found the chirping bird and promptly ate him. +There are three morals to this story: +1) Everyone who shits on you is not necessarily your enemy. +2) Everyone who gets you out of shit is not necessarily your friend. +3) If you are warm and happy in a pile of shit, keep your mouth shut. +% +Once upon a time there was a sperm named Stanley. He'd do pushups and +somersaults and limber up all the time, while the other sperm just lay around +on their fat asses not doing a thing. One day, one of them became curious +enough to ask Stanley why he exercised all day. Stanley said, + "Look, only one sperm gets a woman pregnant and when the right +time comes, I am going to be that one." +A few days later, the all felt themselves getting hotter and hotter, and they +knew that it was getting to be their time to go. They were released abruptly +and, sure enough, there was Stanley swimming far ahead of all the others. +All of a sudden, Stanley stopped, turned around, and began to swim back with +all his might. + "Go back! Go back!" he screamed. "It's a blow job!" +% +Once upon a time there were three coeds -- a big coed, a medium-sized coed, +and a little, tiny coed. One night they came home from a dance, and the big +coed said, "Someone's been sleeping in my bed!" + The medium-sized coed looked in her room and said, "Someone's been +sleeping in my bed!" + And the little, tiny coed said, "Well, nighty-night, girls!" +% +Once upon a time, when I was training to be a mathematician, a group of +us bright young students taking number theory discovered the names of the +smaller prime numbers. + +2: The Odd Prime -- + It's the only even prime, therefore is odd. QED. +3: The True Prime -- + Lewis Carroll: "If I tell you 3 times, it's true." +31: The Arbitrary Prime -- + Determined by unanimous unvote. We needed an arbitrary prime in + case the prof asked for one, and so had an election. 91 received + the most votes (well, it *looks* prime) and 3+4i the next most. + However, 31 was the only candidate to receive none at all. +41: The Female Prime -- + The polynomial X**2 - X + 41 is + prime for integer values from 1 to 40. +43: The Male Prime - they form a prime pair. + +Since the composite numbers are formed from primes, their qualities +are derived from those primes. So, for instance, the number 6 is "odd +but true", while the powers of 2 are all extremely odd numbers. +% +Once you come out as a Pagan bisexual married leatherdyke, +the rest of life is that much easier. +% +Once you've got them by the balls, their hearts and minds will follow. +% +One by one the vice-presidents of a large corporation were called into the +boss's office. Then the junior executives were individually summoned. +Finally the office boy was brought in. + "I want the truth, Charles," the boss bellowed. "Have you been +playing around with my secretary?" + "N-no, sir," the office boy stammered. "I-I'd never do anything +like that, sir." + "All right, all right," sighed the boss, "then you fire her." +% +One day a city dweller decided to take a ride in the country. He hopped +into his sportscar, wandered along the highway for a while and then exited +to some very rural dirt roads in the middle of farm country. After awhile, +he came across a farmer who clearly working his fields. The funny thing was, +the farmer didn't seem to be wearing any pants. The man got out of his car +and approached the farmer. + "Hey, buddy," he asked, "how come you're not wearing any clothes?" + Replied the farmer, "Well, boy, th' other day I was out a-workin' +in the fields, an' I plum fergot t' wear mah shirt. Got back to th' house +that night, and mah neck was stiffer than a oak-wood board. This here's +mah wife's idea." +% +One day a little polar bear cub says to his mother, "Mommy, am I really +a polar bear?" + "Why of course you are, honey!" his mother replies. "You live at +the North Pole and you swim under the ice to catch fish. You play on the +ice floes and you romp through the snow and chase seals. Of *course* you're +a polar bear. Why do you ask?" + "Because," says the little cub, "I'm fuckin' freezing!" +% +One day a mouse was driving along the road in his Mercedes when he heard an +anguished roaring noise coming from the side of the road. Stopping the car, +he got out and discovered a lion stuck in a deep ditch and roaring for help. +Reassuring the lion, the mouse tied a rope around the axle of the Mercedes, +threw the other end down to the lion, and pulled the beast out of the ditch. +The lion thanked the mouse profusely and they went their separate ways. + Two months later the lion was out for a stroll in the country when +he heard a panicked squeaking coming from the side of the road. Investigating +the noise, what should he come across but the mouse stuck in the same hole. +"Oh, please help me, Mr. Lion," squeaked the terrified mouse. "I saved you +with my car once, remember?" + "Course I'll help you, little fellow," roared the lion. "I'll just +lower my dick down to you, you hold on to it, and we'll have you out of there +in a jiffy." Sure enough, a few minutes later the mouse was high and dry on +the roadside, trying to convey his eternal gratitude to the lion. + "Don't give it another thought," said the lion kindly. "It just goes +to show that if you've got a big dick, you don't need a Mercedes." +% +One day Adam, while wandering around the Garden of Eden, noticed that all +the animals seemed to come in pairs, male and female. He also noted that +they seemed to enjoy being together a lot. So, he went to his special +place an reported to God what he'd noticed. + God, understanding his need, said, "Adam, the time has come for me +to provide you with a mate. Go lie down and when you have fallen asleep, I +will create your mate." + So Adam wandered off, found a nice patch of soft grass and fell +asleep. Some time later he awoke, possibly due to a bit of pain in his +ribs, possibly because of the gorgeous woman leaning over him. Remembering +the animals he'd seen having such fun, he immediately reached for her. +Pretty soon Adam's back at his special place. + "God?" + "Yes, Adam, what now?" + "God, what's a headache?" +% +One day Father O'Malley was walking through the park when he came upon an +enchanting scene. A beautiful little girl with long blond hair, deep blue +eyes, and a dainty white dress was reading under a tree with her adorable +little dog. + What a lovely picture, thought the Father to himself. Walking over, +he asked, "Child, what is your name?" + "Blossom," she replied. + "What a fitting name," exclaimed Father O'Malley. "And how did your +parents come to choose such a pretty name?" + "Well, one day when I was still in my mommy's tummy she was lying +under this very tree when a blossom fell and landed on her stomach. She +thought it was a message from God and decided that I would be a girl and my +name would be Blossom," explained the little girl sweetly. + How charming, thought the priest. He started to say good-bye and +walk away, then turned back. "And the name of your little dog?" he +inquired. + "Porky," was the child's reply. + Again he asked her how the unusual name had been chosen. + "Because he likes to fuck pigs." +% +"One day I got on the usual bus, and when I stepped in, I saw the most +gorgeous blond Chinese girl... I sat beside her... I said 'Hi,' and she +said 'Hi,' and then I said 'Nice day, isn't it,' and she said 'Yeah, I +guess'... I said 'What do you mean "you guess"?'... she said 'I saw my +analyst today and he says I have a problem.'... so I asked 'What's the +problem?'... she replied 'I can't tell you, I don't even know you.'... +I said 'Well sometimes it's good to tell your problems to a perfect +stranger on a bus.' So she said, 'Well, my analyst said I'm a nymphomaniac +and I only like Jewish cowboys... by the way, my name is Diane.' I said, +'Hello, Diane, my name is Bucky Goldstein.'" + -- Stephen Wright +% +One day, in a bar, a young man walks in with a little dwarf about one foot +tall on his shoulder and orders a beer. The bartender serves the man a beer; +to his astonishment, the little guy walks down the man's arm, takes a swallow +of the brew and spits it in his face. After a few minutes the customer +orders another beer and the exact same thing happens. Well, by this time, +the bartender is getting pretty upset; he figures that the man should take +care of the dwarf. So he asks the guy, "Why are you letting that guy drink +all your beer and spit it in my face?" + "Well, sir, when I was on a contract in Saudi Arabia I met this genie +and he granted me three wishes. I asked for a million dollars, the most +beautiful woman in the world, and a twelve-inch prick. +% +One day on a busy street corner a huge, burly looking man walked up to a police +officer and asks, "Thcuse me offither, can you tell me where thidee-thid, and +thacramento ith?" + The police officer didn't reply at all, but just looked away. + The large man then asked again, but still no reply. After a few more +attempts which the police officer studiously ignored, the frustrated man +walked away. An onlooking pedestrian then walked up to the officer and asked, +"Officer, why didn't you tell that man where thirty-third and Sacramento was?" The police officer replied, + "Thure, thure, and dit the thit ticked out of me!" +% +One fall day, two men were out in the woods hunting. Feeling a sudden need +to relieve himself, George went over to a nearby clump of bushes, unzipped +his fly, and started in when a poisonous snake lunged out of the bushes and +bit him on his penis. Hearing George's howl of pain and fright, his friend +Fred came running up and told him to lie still while he used the radio to +call a doctor. + "There's only one way to save your friend's life," said the doctor +gravely. "If you cut a shallow 'X' over the bite and then suck as much of +the poison out as you can, he'll probably be okay, but otherwise there's not +much hope." + Hearing Fred's footsteps, George rose weakly up on one elbow and +cried out, "Fred, what'd he say? What did the doctor say?" + "George, old friend," said Fred sadly, "he said you're gonna die." +% +One hundred and one uses for canned peaches. +One hundred and two if you plan to eat them. +% +One man's nightmare is another man's wet dream. +% +One morning after an evening of particularly heavy drinking, a man awoke +and upon rolling over in bed saw one of the ugliest women he had ever +seen. As he was about to get out of bed, he looked on the floor and saw +another woman even less appealing than the first. Seeing his look of +wide-eyed amazement, the woman on the floor snapped, "Don't look at me +like that, I was only the bridesmaid." +% +One of my favorite jokes, a telling commentary on Jewish mothers' capacity +to lay on guilt, involves the mother who gave her son two neckties on Chanuka. + "The boy hurried into his bedroom, ripped off the tie he was wearing, +put on one of the ties his mother had brought him, and hurried back. "Look, +Mama! Isn't it gorgeous?" + "Mama asked, 'What's the matter? You don't like the other one?'" + -- Leo Rosten, "Hooray For Yiddish" +% +One of the airlines recently introduced a special half-fare rate for wives +accompanying their husbands on business trips. Anticipating some valuable +testimonials, the publicity department of the airline sent out letters to +all the wives of businessmen who used the special rates, asking how they +enjoyed their trip. Responses are still pouring in asking, + "What trip?" +% +One of the first things schoolchildren in Texas learn is how to +compose a simple declarative sentence without the word "shit" in it. +% +One of the most expensive things in life +is a girl who is free for the evening. +% +One of the oldest problems puzzled over in the Talmud is: "Why did God create +goyim?" The generally accepted answer is "somebody has to buy retail." + -- Arthur Naiman, "Every Goy's Guide to Yiddish" +% +One of the regular foursome was sick, so a new member named George filled in. +He was good and pleasant company so they asked him to join them again the +following Sunday. + "9:30 okay?" + "Fine," George said, "but I may be a few minutes late." +The following Sunday George showed up right on time. Not only that, he played +left-handed and beat them. They agreed to meet the following Sunday morning. +George was eager to come, but again, mentioned that he might be a few minutes +late. The next Sunday there was George, punctual to the dot. This time he +played right-handed and beat them again. + "You on for next Sunday, George?" one of the foursome asked. + "Sure," George replied, "but I might be a few..." + Another golfer jumped in. "Wait a minute... You always say you might +be late, but you're always right on time, and you always win, left-handed +*or* right-handed." + "Well," George replied, rather sheepishly, "that's true, but see, I'm +superstitious. If my wife is sleeping on her right, when I wake up, I play +right handed. If she's sleeping on her left side, I play left handed." + "What if she's lying on her back?" + George said, "That's when I'm late." +% +One should be cherry of virgins. +% +One, two, three, four +What are we fighting for? +Don't ask me I don't give a damn. +Next stop is Vietnam. +Five, six, seven, eight +Open up the pearly gates. +Ain't no time to wonder why +Whoopie! We're all going to die. + -- Country Joe and the Fish +% +One who does not know a burro from a burrow does not know +his ass from a hole in the ground! +% +Ooooooh, nooooooo, not tonite!! +% +Ooops. Gotta run. My dog wants sex. Later. +% +Operators mount anything! +% +Opinions are like assholes -- everyone's got one, +but nobody wants to look at the other guy's. + -- Hal Hickman +% +OPTIMIST: + A man who makes a motel reservation before a blind date. +% +ORAL CONTRACEPTIVE: + The word "No". +% +oral sex, n: + The taste of things to come. +% +O'Riordan's Theorem: + Brains x Beauty = Constant. + +Purmal's Corollary: + As the limit of (Brains x Beauty) goes to infinity, + availability goes to zero. +% +Other people don't give you orgasms; you have them, and they help you +cash them in. +% +Ouch mosquito, silent by night, +Why pierce my skin, so white? +You grow plump, as a leech. +Stop! I beseech (in vein). + +I have no choice. +Why waste my voice, +When only a slap will do? +Ouch, I am bitten! +What ho, you are smitten! +Yo mosquito, fuck you. + -- Mitchell Peck, "Ouch, Mosquito" +% +Our readers ask, "Why don't more WASPs go to orgies?" Well, it's really +quite simple. They don't want to have to write all those thank-you notes. +% +Our [softball] team usually puts the other woman at second base, where the +maximum possible number of males can get there on short notice to help out +in case of emergency. As far as I can tell, our second basewoman is a pretty +good baseball player, better than I am, anyway, but there's no way to know +for sure because if the ball gets anywhere near her, a male comes barging +over from, say, right field, to deal with it. She's been on the team for +three seasons now, but the males still don't trust her. They know, deep in +their souls, that if she had to choose between catching a fly ball and saving +an infant's life, she probably would elect to save the infant's life, without +ever considering whether there were men on base. + -- Dave Barry, "Sports is a Drag" +% +Our team usually puts the other woman at second base, where the maximum +possible number of males can get there on short notice to help out in case +of emergency. As far as I can tell, our second basewoman is a pretty good +baseball player, better than I am, anyway, but there's no way to know for +sure because if the ball gets anywhere near her, a male comes barging over +from, say, right field, to deal with it. She's been on the team for three +seasons now, but the males still don't trust her. They know, deep in their +souls, that if she had to choose between catching a fly ball and saving an +infant's life, she probably would elect to save the infant's life, without +ever considering whether there were men on base. + -- Dave Barry, "Sports is a Drag" +% +Our team usually puts the other woman at second base, where the maximum +possible number of males can get there on short notice to help out in +case of emergency. As far as I can tell, our second basewoman is a +pretty good baseball player, better than I am, anyway, but there's no +way to know for sure because if the ball gets anywhere near her, a male +comes barging over from, say, right field, to deal with it. She's been +on the team for three seasons now, but the males still don't trust +her. They know, deep in their souls, that if she had to choose between +catching a fly ball and saving an infant's life, she probably would +elect to save the infant's life, without ever considering whether there +were men on base. + -- Dave Barry, "Sports is a Drag" +% +Our universe itself keeps on expanding and expanding, +In all of the directions it can whiz; +As fast as it can go, that's the speed of light, you know, +Twelve million miles a minute and that's the fastest speed there is. +So remember, when you're feeling very small and insecure, +How amazingly unlikely is your birth; +And pray that there's intelligent life somewhere out in space, +'Cause there's bugger all down here on Earth! + -- Monty Python, "The Meaning of Life" +% +Over 5,000 years ago, Moses said to the children of Israel, + "Pick up your shovels, mount your asses and load your camels, +and I will lead you to the promised land." + Not too long ago, Roosevelt said, "Lay down your shovels, sit on +your asses, light a Camel, this is the promised land." + Now Nixon is stealing your shovels, kicking your asses, raising +the price of Camels, and mortgaging the promised land. +% +Painters do it with even strokes. +% +Pardon me, sir, but you've obviously +mistaken me for someone who gives a shit. +% +Passion is that funny feeling that drives a man to +bite a woman's neck because she has beautiful legs. +% +Paying alimony is like pumping gas into another man's car. +% +Pee-wee Recommends: + +When Pee-wee Herman was arrested that evening in Sarasota, Florida, +the bill at the XXX South Trail Cinema featured: + + + Nurse Nancy, starring Sandra Scream + + Turn Up the Heat, starring Savannah + + Tiger Shark, starring Raven +% +penis envy, n: + The desire to be pink and wrinkled and about four inches long. +% +People humiliating a salami! +% +People who live in glass houses should ball in the basement. +% +People will swim through shit if you put a few bob in it. + -- Peter Sellers +% +Perhaps at fourteen every boy should be in love with some ideal woman to put +on a pedestal and worship. As he grows up, of course, he will put her on +a pedestal the better to view her legs. + -- Barry Norman, in "The Listener" +% +Perplexed, a shy virgin named Plummer +Asked, "what's there to do in the summer?" + She declined and declined + Till approached from behind... +When her summer turned out quite a bummer! +% +Persistence, like perspiration, is 99 percent of the fine art of love. +% +philadelphia flying fuck, n: + Okay, see, he hangs from a chin-up bar with his feet on the arms + of the rocking chair. She crouches in the rocking chair pleasuring + him orally. + + [Note: Personally, we've never tried this. If you have, or if + you do, please inform us of the results at Fortune, Box 1597, + Rockville IL. Thank you. Ed.] +% +Philosophy is to the real world as masturbation is to sex. + -- Karl Marx +% +Physicists do it with charm. +% +Picking up a man in a bar is like a snowstorm, you never know when +he's coming, how many inches you'll get or how long'll he'll stay. +% +pile driver, n: + Local drink; two parts vodka, one part prune juice. +% +Planned Parenthood: + The emission Control Center. +% +Playing poker with busty Ms. Ware, +He announced as he folded with flair, + "I had four of a kind, + But those aces combined, +Don't stack up, I'm afraid, with your pair." +% +PLUNDERER'S THEME + (to Supercalifragilisticexpialidocius) + +Pillage, rape, and loot and burn, but all in moderation. +If you do the things we say, then you'll soon rule the nation. +Kill your foes and enemies and then kill your relations. +Pillage, rape, and loot and burn, but all in moderation. +% +pocket pool, n: + Well, for guys, it's two-ball in the side pocket. + For women, it's playing the slots. +% +polish fly, n: + You put it in her drink and she begs you to take her bowling. +% +Politicians do it to everyone. +% +Pompoir: The most sought-after feminine sexual response of all. + +'She must... close and constrict the Yoni until it holds the Lingam as with +a finger, opening and shutting at her pleasure, and finally acting as the +hand of the Gopala-girl who milks the cow. This can be learned only by long +practice, and especially by throwing the will into the part affected, even +as men endeavor to sharpen their hearing... Her husband will then value her +above all other women, nor would he exchange her for the most beautiful +queen in the Three Worlds... Among some races the constrictor vaginae muscles +are abnormally developed. In Abyssinia for instance, a woman can so exert +them as to cause pain to a man, and when sitting on his thighs, she can +induce orgasm without moving any other part of her person. Such an artist +is called by the Arabs Kabbazah, literally, a holder, and it's not surprising +that slave dealers pay large sums for her' Thus Richard Burton. It has +nothing to do with 'race' but a lot to do with practice. See exercises. + -- The Joy of Sex +% +Posterity will ne'er survey +A nobler grave than this; +Here lie the bones of Castlereagh; +Stop, traveler, and piss. + -- Lord Byron, on Lord Castlereagh +% +Postulate #1: Nothing is better than sex. +Postulate #2: Masturbation is better than nothing. +Conclusion: Masturbation is better than sex. +% +Pouring out his troubles to his best friend over a couple of triple martinis, +Brad had to confess that things weren't going too well at home. "My wife and +I just don't hit it off at night," he was saying to Bart. "I hate to admit +it, but I'm afraid I just don't know how to make her happy." + "Hell, boy," said Bart, "there's really nothing to it. Let me +give you some advice. At bedtime, switch on a new Sinatra platter, turn +all the lights low and spray some perfume around the room. Next, tell +your wife to get into her sheerest nightie; then make sure you raise the +bottom window." + "Then what do I do?" asked Brad. + "Just whistle." + "Whistle?" + "That's right. I'll be waiting outside the window. When I hear +you whistle, I'll come right up and finish the job." +% +Pregnancy -- the worst sexually transmitted disease of them all. +% +Pregnancy begins with a single sell. +% +premature ejaculation, n: + A spoilspurt. +% +premature ejaculator, n: + Troubled shooter. +% +Premenstrual Syndrome: + Just before their periods women behave the way men do all the time. +% +Prince Absalom lay with his sister +And bundled and nibbled and kissed her, + But the kid was so tight, + And it was deep night -- +Though he shot at the target, he missed her. +% +Printers do it without wrinkling the sheets. +% +Prior to this year's Rock & Roll Hall of Fame ceremony, [Cash] went to +the bathroom. "I was standing at the urinal, and Keith Richards walked +in... He said, 'Look at this, I'm pissing with Johnny Cash. We need a +picture of this.' I said, 'No, Keith, we *don't* need a picture of this.'" + -- Rolling Stone interview with Johnny Cash. +% +Procrastinators do it tomorrow. +% +Programmers do it bit by bit. +% +Programmers do it until it goes down. +% +Programmers get overlaid. +% +PROMOTION: + New title, new salary, new office, same old crap. +% +Prope mare erat tubulator +Qui virginem ingrediebatur. + Dessine ingressus + Audivi progressus: +Est mihi inquit tubulator. +% +Prostitution is the only business where you +can go into the hole and still come out ahead. +% +Psychiatrists say that one out of four people are mentally ill. +Check three friends. If they're okay, you're it. +% +Psychiatry is quite similar to prostitution, only less honest. They +both promise to make people feel better, but the prostitute doesn't +make pretensions that the feelings will last once the client walks +out the door. +% +pubic hair, n: + Organic dental floss. +% +Puff the Jewish dragon lived in Palestine, +And frollicked in the Autumn mist, +And drank Manishiewitz wine. +Little Rabbi Jacob loved that rascal Puff, +And brought him soup and Matzah balls, +And other kosher stuff. + +Then one day it happened, Puff was eating pork. +Little Rabbi Jacob took that dragon for a walk. +Gently he explained that dragons don't eat meat, +That come from little piggies who have dirty filthy feet. +% +Q: Do you know how to tell a Polack at a cockfight? +A: He's the only one with a duck. + +Q: Do you know how to tell an Aggie at a cockfight? +A: He's the only one who bets on the duck. + +Q: And do you know how to tell the Mafia is at the cockfight? +A: The duck wins! +% +Q: Have you ever been picked up by the fuzz? +A: No, but I bet it hurts like hell. +% +Q: Heard about the who couldn't spell? +A: He spent the night in a warehouse. +% +Q: How can a real man tell when his girl friend's having an orgasm. +A: Real men don't care. +% +Q: How can you tell if a woman is ticklish? +A: Give her a couple of test tickles. +% +Q: How can you tell the bride at a WASP wedding? +A: She's the one kissing the golden retriever. +% +Q: How can you tell when a Polish girl's been sucking cock? +A: She has a mouthful of feathers. +% +Q: How can you tell when a WASP is sexually aroused? +A: By the stiff upper lip. +% +Q: How can you tell when your girlfriend has had an orgasm? +A: Who cares? +% +Q: How did Hellen Keller burn the side of her face? +A: She answered the iron. + +Q: How did she burn the other side of her face? +A: They called back. +% +Q: How do you fit 1000 dead babies into a phone booth? +A: Cusinart. + +Q: How do you get them back out? +A: Doritos. +% +Q: How do you get a woman to stop having sex with you? +A: Propose. +% +Q: How do you hide an elephant in a cherry tree? +A: Paint his balls red and his toenails green. + +Q: Ever see an elephant in a cherry tree? +A: No -- so it must work pretty well! + +Q: How did Tarzan die? +A: Picking cherries!!! +% +Q: How do you know when it's time to wash the dishes? +A: Look inside your pants; if you have a penis, it's not time. +% +Q: How do you know your elephant had her period? +A: There's a nickel on your dresser and your mattress is missing. +% +Q: How do you make a dead baby float? +A: With 2 scoops of dead baby and some rootbeer. +% +Q: How do you pick up a quarter off of Polk Street? +A: Kick it over to Van Ness. +% +Q: How do you play Religious Roulette? +A: You stand around in a circle and blaspheme and see who gets struck + by lightning first. +% +Q: How do you tell if two elephants have been making love in + your backyard? +A: Your Hefty trashcan liners are missing. +% +Q: How do you tell if you're making love to a nurse, a schoolteacher, + or an airline stewardess? +A: A nurse says: "This won't hurt a bit." + A schoolteacher says: "We're just going to have to do this over + and over again until we get it right." + An airline stewardess says: "Just place this over your mouth and + nose and breathe normally." + +... and bank tellers say "Substantial penalty for early withdrawal." +... and saleswomen say "Thank you, come again soon!" +... and WASP's say "Do you have that in a bigger size?" +... and piano teachers say "Keep those fingers arched! TEMPO! TEMPO!" +% +Q: How do you tell that your roommate's gay? +A: When his cock tastes like shit. +% +Q: How does a girl know she's sleeping with a Computer Scientist? +A: It isn't hard. +% +Q: How does a mink get babies? +A: The same way babies get minks. +% +Q: How does the Polish Constitution differ from the American? + +A: Under the Polish Constitution citizens are guaranteed freedom of + speech, but under the United States constitution they are + guaranteed freedom after speech. + + -- being told in Poland, 1987 +% +Q: How many Aggies does it take to eat an armadillo? +A: Three, one to eat it, and two to watch for traffic. +% +Q: How many Christians does it take to change a light bulb? +A: Three, but they're really only one. +% +Q: How many feminists does it take to screw in a lightbulb? +A: NONE! AND THAT'S NOT FUNNY!! + +Q: How many Radcliffe girls does it take to change a light bulb? +A: It's "Women"... AND IT'S NOT FUNNY!! +% +Q: How many gradual (sorry, that's supposed to be "graduate") students + does it take to screw in a lightbulb? +A: "I'm afraid we don't know, but make my stipend tax-free, give my + advisor a $30,000 grant of the taxpayer's money, and I'm sure he + can tell me how to do the shit work for him so he can take the + credit for answering this incredibly vital question." +% +Q: How many heterosexual males does it take to screw in a light + bulb, in San Francisco? +A: Both of them. +% +Q: How many lesbians does it take to screw in a lightbulb? +A: Ten. One to do it, and nine to talk about how gratifying it was + without a man. +% +Q: If Tarzan was Jewish, and Jane was a princess, + what would Cheetah have been? +A: A fur coat. +% +Q: What can you use used tampons for? +A: Tea bags for vampires. +% +Q: What did Jesus tell the Aggies? +A: Play dumb until the second coming. +% +Q: What did the little ghetto-dweller get for Christmas? +A: Your bicycle. +% +Q: What do a walrus and a tupperware container have in common? +A: They both like a tight seal. +% +Q: What do elephants use instead of tampons? +A: Sheep. Well, they used to, anyway. There have been so many cases + of Toxic Flock Syndrome recently that their ewes has been discouraged. + +Q: Why do elephants have trunks? +A: Sheep don't have strings. +% +Q: What do two WASPs say after making love? +A: Thank you very much. It'll never happen again. +% +Q: What do you call a blind, deaf-mute, quadriplegic Virginian? +A: Trustworthy. +% +Q: What do you call a nun who has had a sex change operation? +A: A transistor. +% +Q: What do you call a truck load of vibrators? +A: Toys for twats. +% +Q: What do you call a woman who can suck a golf ball through 50 feet + of garden hose? +A: Darling. + [Often? Ed.] +% +Q: What do you call couples that use that rhythm method? +A: Parents. +% +Q: What do you do if an Irishman throws a pin at you? +A: Run like hell, he's got a grenade in his mouth!! +% +Q: What do you do with an elephant with three balls? +A: Walk him and pitch to the rhino. +% +Q: What do you get when cross a lawyer with a sorority girl?? +A: A woman that, when she goes down on you, gets blood. +% +Q: What do you get when you cross a computer and a JAP? +A: A computer that won't go down. +% +Q: What do you get when you cross a pit bull with a prostitute? +A: Your last blowjob. +% +Q: What do you get when you cross a rooster with a telephone pole? +A: A thirty foot cock that wants to reach out and touch someone! +% +Q: What do you get when you cross an onion with a donkey? +A: Well, most of the time you get an onion with big ears, but every + once in a while you get a piece of ass that will bring tears to + your eyes... +% +Q: What do you have if you have a moth ball in one hand and a + moth ball in the other hand? +A: One hell of a big moth! +% +Q: What do you say to a New Yorker with a job? +A: Big Mac, fries and a Coke, please! +% +Q: What do you say to a Puerto Rican in a three-piece suit? +A: Will the defendant please rise? +% +Q: What does friendship among Soviet nationalities mean? +A: It means that the Armenians take the Russians by the hand; the + Russians take the Ukrainians by the hand; the Ukrainians take + the Uzbeks by the hand; and they all go and beat up the Jews. +% +Q: What goes + Click. "Did I get it?" + Click. "Did I get it?" + Click. "Did I get it?" + Click. "Did I get it?" +A: Stevie Wonder doing the Rubik's Cube. +% +Q: What goes green, red, green, red, pink, pink, pink? +A: A frog in a blender. + +Q: What do you get if you add 2 eggs to it?? +A: Frognogg. If you drink it, you croak. +% +Q: What goes red, white, red, white, pink, pink, pink? +A: Baby in a blender. + +Q: Why do you put a baby in a blender feet first? +A: So you can watch the expression on its little face. +% +Q: What is green and comes in Brownies? +A: Boy Scouts. +% +Q: What is Smoorplay? +A: What Smurfs do before they smuck! +% +Q: What is the difference between snow-men and snow-women? +A: Snowballs! +% +Q: What's a JAP's (Jewish American Princess) dream house? +A: Fourteen rooms in Scarsdale, no kitchen, no bedroom. +% +Q: What's a WASP's idea of open-mindedness? +A: Dating a Canadian. +% +Q: What's black and white and red all over and can't go through + revolving doors? +A: A nun with a javelin through her head. +% +Q: What's black and white and red all over? +A: Half a nun. +% +Q: What's buried in Grant's tomb? +A: A corpse. +% +Q: What's hard going in and soft and sticky coming out? +A: Chewing gum. +% +Q: What's invisible and smells like carrots? +A: Bunny farts. +% +Q: What's meaner than a pit bull with AIDS? +A: The guy that gave it to him. +% +Q: What's more fearsome than a grizzly bear with AIDS? +A: The guy he got it from. +% +Q: What's red and covered with little dents? +A: Snow White's cherry. +% +Q: What's the contour integral around Western Europe? +A: Zero, because all the Poles are in Eastern Europe! + +Addendum: Actually, there ARE some Poles in Western Europe, but they + are removable! + +Q: An English mathematician (I forgot who) was asked by his + very religious colleague: Do you believe in one God? +A: Yes, up to isomorphism! + +Q: What is a compact city? +A: It's a city that can be guarded by finitely many near-sighted + policemen! + -- Peter Lax +% +Q: What's the difference between a cocker spaniel and a doberman + pinscher humping your leg? +A: You let the doberman finish. +% +Q: What's the difference between a dog and a fox? +A: About four drinks. +% +Q: What's the difference between a Fairy Tale, and a War Story? +A: Nothing, except Fairy Tales start off with "Once upon a time". + War Stories start off with "No shit, this really happened". + + [I thought Fairy Tales started off, "Honey, I'm gonna be at the + office a little late, tonight... Ed.] +% +Q: What's the difference between a JAP and a baby elephant? +A: About 10 pounds. + +Q: How do you make them the same? +A: Force feed the elephant. +% +Q: What's the difference between a man and a toilet? +A: A toilet doesn't follow you around for a week after you flush it. +% +Q: What's the difference between a man and the weekend? +A: The weekend never comes too soon. +% +Q: What's the difference between a sorority girl and a fast car? +A: Not everyone's been in a fast car. +% +Q: What's the difference between erotic and kinky? +A: Erotic is when you use a feather. Kinky is when you use + the whole bird... +% +Q: What's the difference between George Washington, Richard Nixon + and Ronald Reagan? +A: One always told the truth, one always lied, and one can't tell the + difference. +% +Q: What's the difference between hard and dark? +A: It stays dark all night. +% +Q: What's the difference between the 1950's and the 1980's? +A: In the 80's, a man walks into a drugstore and states loudly, "I'd + like some condoms," and then, leaning over the counter, whispers, + "and some cigarettes." +% +Q: What's the last thing that goes through a grasshopper's mind when + he hits your windshield? +A: His ass. + +Q. What's the second-to-last thing to go through a grasshopper's + mind when he hits your windshield? +A. Oh, SHIT!! +% +Q: What's white and crawls up your leg? +A: Uncle Ben's Perverted Rice. +% +Q: What's worse than getting raped by Jack the Ripper? +A: Getting fingered by Captain Hook! +% +Q: Where does Catwoman go for a good time? +A: To the batpoles, Robin! +% +Q: Where does virgin wool come from? +A: Ugly sheep. +% +Q: Why are babies born with soft spots on their heads? +A: So you can pick 'em up five at a time. +% +Q: Why are Unix emulators like your right hand? +A: They're just pussy substitutes! +% +Q: Why can't Hellen Keller have children? +A: Because she's dead. +% +Q: Why did Captain Kirk piss on the bridge? +A: He wanted to boldly go where no man had gone before! +% +Q: Why did God invent booze? +A: So ugly men could get laid too. +% +Q: Why did Hellen Keller go all the way on her first date? +A: She'd never been taught to say no. +% +Q: Why did Menachem Begin invade Lebanon? +A: To impress Jodie Foster. +% +Q: Why did Ted Kennedy report the accident 8 hours after Mary + Jo Kopechne drowned? +A: Do you have any idea how hard it is to dress a woman underwater? +% +Q: Why do dogs lick their private parts? +A: Because they can. +% +Q: Why do ducks have webbed feet? +A: To stamp out forest fires. + +Q: Why do elephants have big flat feet? +A: To stamp out flaming ducks. +% +Q: Why do men die before their wives? +A: They want to. +% +Q: Why do men marry women? +A: You can't teach sheep to do housework. +% +Q: Why do mice have such small balls? +A: Very few of them know how to dance! +% +Q: Why do Scotsmen wear kilts? +A: Because a sheep can hear the sound of a zipper from fifty feet away. + -- Iain MacKintosh, Glasgow folksinger +% +Q: Why do WASP's play golf ? +A: So they can dress like pimps. +% +Q: Why do women have vaginas? +A: So when they're drunk, you can carry them like a six-pack. +% +Q: Why do women love Pacman? +A: Only place you can get eaten three times for a quarter. +% +Q: Why does an elephant have 4 feet? +A: Because 8 inches isn't enough. +% +Q: Why don't blind people skydive? +A: It scares the dogs! + +Q: How can a blind skydiver tell when he is near the ground? +A: The leash goes slack. +% +Q: Why is it that Mexico isn't sending anyone to the '84 summer games? +A: Anyone in Mexico who can run, swim or jump is already in LA. +% +Q: Why is Poland just like the United States? + +A: In the United States you can't buy anything for zlotys and in + Poland you can't either, while in the U.S. you can get whatever + you want for dollars, just as you can in Poland. + + -- being told in Poland, 1987 +% +Q: Why is Sister Pat the way she is? +A: Because when she was 16, a group of boys tied her up and + gang-rejected her. +% +Q: Why was Cinderella banished from the Magic Kingdom? +A: For sitting on Pinocchio's face and screaming, "Tell the truth! + Tell a lie! Tell the truth! Tell a lie!" +% +Q: What's the difference between VMS and PMS? + +A1: PMS is only a problem for some people. +A2: PMS is only a problem for part of the month. +A3: The drugstore has remedies for PMS. +A4: People with PMS get sympathy. +A5: People with PMS don't wish they were UNIX. +% +Q: What do agnostic, insomniac dyslexics do at night? +A: Stay awake and wonder if there's a dog. +% +Q: What's the difference between a hold-up and a stick-up? +A: Age. +% +Q: What's the difference between an oral and a rectal thermometer? +A: The taste. +% +Q: What's the difference between "Oooh" and "Aaah"? +A: About three inches. +% +Q: Why did the epileptic cross the road? +A: He couldn't help it. + +Q: What do you do if an epileptic has a seizure in the bathtub? +A: Throw in the dirty clothes and some laundry detergent. +% +Q: Why do dogs lick their balls? +A: 'Cause they can! + +(Real answer: 'Cause they can't curl their little paws into fists...) +% +Q: Why do elephants wear springs on their feet? +A: So they can jump into trees and rape mice. + +Q: What is the most fearsome sound in the world to a mouse? +A: BOING!! BOING!! BOING!! +% +QOTD: + "... was it a dream where you see yourself standing in sort-of + Sun-God robes, on a pyramid, with a thousand naked women screaming + and throwing little pickles at you? ... Why am I the only one + who has that dream?" +% +QOTD: + "Are you into casual sex, or should I dress up?" +% +QOTD: + "Do you smell something burning or is it me?" + -- Joan of Arc +% +QOTD: + "Even the Statue of Liberty shaves her pits." +% +QOTD: + "He's on the same bus, but he's sure as hell got a different + ticket." +% +QOTD: + "He's so egotistical he yells his own name when he comes." +% +QOTD: + "I don't give a flying fuck at a rolling doughnut." +% +QOTD: + I get girls because of who I am... a rapist. +% +QOTD: + I met her [his fiance] over lunch on Thursday. She had a firm + grip. He's a lucky man. +% +QOTD: + "I never met a man I couldn't drink handsome." +% +QOTD: + I own my own body, but I share. +% +QOTD: + "I say, and without apology, hang the bitch." +% +QOTD: + "I used to beat off so much in the shower, I'd get a hard on every + time it rained." +% +QOTD: + "I was a fifty-four-year-old virgin, but I'm all right now." +% +QOTD: + I won't say he's unsavory, but for his birthday he bought himself + a pair of velcro gloves. +% +QOTD: + "I'd crawl a mile over burning desert sand just to kiss the dick of + the guy who screwed her last." +% +QOTD: + "I'd drag my dick a mile over broken glass just to masturbate in + her shadow!" +% +QOTD: + "I'd never marry a woman who didn't like pizza... I might play + golf with her, but I wouldn't marry her!" +% +QOTD: + It *was* wonderfully polite of me. Usually I call the kind of + cretinous dipshit that pisses me off a ``fucking asshole.'' + -- Richard Sexton +% +QOTD: + "It's been so long since I've had sex, I've forgotten + who gets tied up." +% +QOTD: + "Let go of my ears, I know what I'm doing!" +% +QOTD: + Men come in four sizes -- small, medium, large, and "You're + going to put that thing *where*?" +% +QOTD: + My penis is better than corn, because corn doesn't squeal when + you stick those little prongs into it. + -- Mark-Jason Dominus +% +QOTD: + No, honey, I've never been circumcised; it's simply wear and tear. +% +QOTD: + "One day, I'd like to wake up in the morning to find that every gay + and lesbian has lavender skin. On that morning, I will be -- mauve." +% +QOTD: + Sex is like everything else. To get it done right, do it yourself. +% +QOTD: + She began coming, making noises like a small animal in pain. + Ouch! Ow! My paw! Ouch!! +% +QOTD: + "She was so tough she rolled her own tampons." +% +QOTD: + Talk about willing people... over half of them are willing to work + and the others are more than willing to watch them. +% +QOTD: + "The difference between dark and hard is... it stays dark + all night." +% +QOTD: + "The marines and I have something in common; we're both looking for + a few good men!" +% +QOTD: + "The only real difference between men and women is that men are + crabby all month long." +% +QOTD: + "Well, let's say she's friendly. Last year she was the Herpes + Poster Girl." +% +QOTD: + "What would the world be like without men? A lot of fat, + happy women." +% +QOTD: + "When she hauled ass, it took three trips." +% +QOTD: + "Whhoooooooeeeeeeeeeee, Elmer! Take a look at that purty young lady + over thar! Why, I'd walk a mile barefoot over barbed wire and broken + glass just to drive the truck that takes her panties to the cleaners!" +% +QOTD: + "Whip me, beat me, come all over me, tell me you love me. + Then get the fuck out." +% +QOTD: + "You might as well say "yes", the sheets are messy already." +% +quickie, n: + A moment's piece. +% +quickie, n: + No sooner spread than done. +% +QWERT (kwirt) n. [MW < OW qwertyuiop, a thirteenth] 1. a unit of weight +equal to 13 poiuyt avoirdupois (or 1.69 kiloliks), commonly used in +structural engineering 2. [Colloq.] one thirteenth the load that a fully +grown sligo can carry. 3. [Anat.] a painful irritation of the dermis +in the region of the anus 4. [Slang] person who excites in others the +symptoms of a qwert. + -- Webster's Middle World Dictionary, 4th ed. +% +Ralph: Lisa, you have no tits and a awful tight pussy. +Lisa: Ralph... get off my back!! +% +randel, n: + A nonsensical poem recited by Irish schoolboys as an + apology for farting at a friend. + -- Mrs. Byrne's Dictionary of Unusual, Obscure & + Preposterous Words +% +Raquel Welch: 36-24-36 +Bo Derek: 35-24-36 +Ann-Margaret: 37-25-36 +Bette Middler: 37-25-36 +Marilyn Monroe: 37-24-37 +Jane Russell: 39-27-38 +Jayne Mansfield: 40-23-37 +Sophia Loren: 37-25-36 +% +Rating women on the Budweiser scale; the number +of Clydesdales it would take to pull you off her. +% +Reach out and fuck someone. +% +Readers Ask: + Is it possible to kill a vampire with a gun? + +Vampires are a source of great irritation to the average homeowner and it is +usually to one's advantage to remove these pests as rapidly as possible. If +a professional exterminator specializing in the undead is unavailable, it is +possible to handle the situation with common household items. However, much +of the common folklore of vanquishing the undead needs clarifying. First, +driving a sharpened Louisville Slugger through a vampire's heart will NOT kill +it. Since it's not quite alive, why would the heart be any different than +puncturing it in the, for example, left buttock? Stake driving should be +avoided at any cost since its effect will be to terribly annoy the vampire, +and the last thing you want on your hands is an irate Lord of Darkness. +Handguns are also a definite no-no. Common sense indicates that it requires +more to defeat an incarnation of evil than hurling lumps of lead or silver +through its body. One time-honored method is to expose the vampire to the +sun, sever its head (any power saw should be sufficient), fill its mouth with +holy wafers (vanilla wafers over which the Lord's prayer has been read will +do in a pinch), immerse the head in an urn filled with holy water, place the +urn in consecrated lands and bury the rest of the body underneath a crossroad +(i.e. the intersection of Broad & Chestnut). Sure, it's a lot of work. But +you'll never have to worry about those damn bats pestering the neighbors again. +% +real buddy, n: + Someone who'll go downtown and get two blowjobs, and come back + and give you one. +% +real class, adj: + When you're by yourself, fart, and say "Excuse me." +% +Real fur: the ultimate sadist symbol. +% +Reefers and roach clips and papers and rollers +Cocaine and procaine for twenty year molars +Reds and peyote to work out your bugs +These are a few of my favorite drugs. + +Uppers and downers and methedrine freakout +Take some amphetamines, watch your brains leak out +Acid and mescaline pull out your plugs +These are a few of my favorite drugs. + +Backs that are perfect for carrying monkeys +Users of heroin, often called junkies +Methadone helps then to stop being thugs +Takes them off one of my favorite drugs. + + On a bad trip + When the cops come + When I lose my head + I simply take more of my favorite drugs + And then I'm not sad -- I'm dead! + -- My Favorite Drugs, sung to "My Favorite Things" +% +Reformed, n: + A synagogue that closes for the Jewish holidays. +% +rejection, n: + When you're masturbating and your hand falls asleep. +% +Religion is fine, Churchianity sucks. +% +Remember, there's a big difference between kneeling down and bending over. + -- Frank Zappa +% +Remember, when preparing a dish for bedtime, +champagne is the best tenderizer. +% +Remember when you were a kid and the boys didn't like the girls? Only +sissies liked girls? What I'm trying to tell you is that nothing's +changed. You think boys grow out of not liking girls, but we don't grow +out of it. We just grow horny. That's the problem. We mix up liking +pussy for liking girls. Believe me, one couldn't have less to do with +the other. + -- Jules Feiffer +% +Returning from the men's room, a bar customer was sadly, shaking his head. + "What's the matter, buddy?", inquired the bartender. + "Well," replied the customer, "while I was in the men's room, I saw +someone had scribbled `Wendy gives really fabulous head; absolutely the best +blow job in the world!' on the wall." + "Ahh, hell," said the bartender. "Don't give it a second thought, +we get jerks in here like anywhere else." + "I know," snarled the headshaker. "One of them scratched out the +phone number!" +% +Revenge is sleeping with your enemy's wife. +Sweet revenge is the realization that she's a lousy lay. +% +rodeo fuck, n: + When you lean down and whisper in your lover's ear, "Honey, you're + the worst piece of ass I've ever had!". And then try to stay on + for seven seconds... +% +Rogue players do it with all sorts of different animals. +% +Roland was a warrior, from the land of the midnight sun, +With a Thompson gun for hire, fighting to be done. +The deal was made in Denmark, on a dark and stormy day, +So he set out for Biafra, to join the bloody fray. +Through sixty-six and seven, they fought the Congo war, +With their fingers on their triggers, knee deep in gore. +Days and nights they battled, the Bantu to their knees, +They killed to earn their living, and to help out the Congolese. + Roland the Thompson gunner... +His comrades fought beside him, Van Owen and the rest, +But of all the Thompson gunners, Roland was the best. +So the C.I.A decided, they wanted Roland dead, +That son-of-a-bitch Van Owen, blew off Roland's head. + Roland the headless Thompson gunner... +Roland searched the continent, for the man who'd done him in. +He found him in Mombasa, in a bar room drinking gin, +Roland aimed his Thompson gun, he didn't say a word, +But he blew Van Owen's body from there to Johannesburg. +The eternal Thompson gunner, still wandering through the night, +Now it's ten years later, but he stills keeps up the fight. +In Ireland, in Lebanon, in Palestine, in Berkeley, +Patty Hearst... heard the burst... of Roland's Thompson gun, and bought it. + -- Warren Zevon, "Roland the Headless Thompson Gunner" +% +ROMEO: Courage, man; the hurt cannot be much. +MERCUTIO: No, 'tis not so deep as a well, nor so wide + as a church-door; but 'tis enough, 'twill serve. +% +Rosenberg wanted to leave the country. +"And what is *your* reason?" asks the official at the Passport Office. +"I am told a pogrom is being prepared. Against the Jews and the barbers," + replies Rosenberg. +"Why the barbers?" +"Everybody asks that question. That's why I want to leave." +% +Roses on your piano isn't nearly as good as tulips on your organ. +% +Rugby is a game played by men with peculiarly shaped balls. +% +rugby, n: + A sport requiring leather balls. +% +Rumour has it that the intrepid New Zealanders have finally discovered +two new uses for sheep. Meat and wool. +% +Runners do it alone. +% +Sam Lefkovitz is having an intimate party to celebrate his thirty +immensely profitable years in the construction business. + "You know," he laments to his friends, "over the years I have +constructed dozens of enormous projects in and around this city, but +am I known as Sam the Builder? No. + And over the years I have contributed literally millions of +dollars to charitable causes of one sort or another, but am I called +Sam the Philanthropist? No sir! + But suck one little cock..." +% +San Francisco: + A nice place to visit, but I wouldn't want to tie my shoelaces + there. +% +San Francisco is my kind of city, +Where the women are strong and the men are pretty. +% +Save a forest - eat a beaver! +% +Save a mouse, eat a pussy! +% +Save Soviet Jewry -- Win Valuable Prizes!!!! +% +Save the whales. Club a seal instead. +% +schnuffel, n.: + A dog's practice of continuously nuzzling in your crotch in mixed + company. + -- Rich Hall, "Sniglets" +% +"Scott, baby," the sexually aggressive girl murmured as she guided +her date's finger to her clitoris, "This bud's for you." +% +Scratch the average female and you'll find a purring bundle... at the +ready to love and honor, bake a torte and still produce quintuplets. + -- Edgar Berman +% +SDW/M, 35, offers French lessons for ladies. +If you desire fluency in the French tongue, +this cunning linguist can lick your problem. + +Fortune -- P.O. Box 478 +% +Seems like there were these two dogs in a vet's waiting room, each eyeing +the other suspiciously. One of them turns to the other. + "What are you here for?" he asks. + "Well," replies the other, "I was feeling really bad the other day, +and Master's six year old son started bothering me. I tried to ignore it, +but I was feeling so rotten that I bit his hand." + "Yeah, I now what you mean. So, what are you here for?" + "Erm ... well ... Master reckons that I'm too vicious, so I'm going +to be ... you know ... I'm going to have the *operation*." + "Oh. Well, I'm sorry," sympathised the first dog. + Time passed. The about-to-be-neutered dog coughed politely. + "So," he asked, "What are you in here for?" + "Oh, nothing really," the other replied, embarrassed. + "Go on, I told you, it *can't* be as bad!" + "OK. Well, it's like this. The bitch next door was in heat, and so +I was feeling, you know, a bit randy. Then Mistress came into the kitchen +wearing a short skirt and no underwear, and she bent over. I just couldn't +resist it!" admitted the dog. + "Oh! So you're here for the operation too!" + "No," came the reply, "I'm here to have my nails clipped!" +% +Seems like these four rabbis had a series of theological arguments, and three +were always in accord against the fourth. One day, the odd rabbi out, with +the usual "3 to 1, majority rules" statement that signified that he had lost +again, decided to appeal to a higher authority. "Oh, God!" he cried. "I +know in my heart that I am right and they are wrong! Please show me a sign, +so they too will know that I understand Your laws." + It was a beautiful, sunny day. As soon as the rabbi finished his +plaint, a storm cloud moved across the sky above the four. It rumbled once +and dissolved. "A sign from God! See, I'm right, I knew it!" But the other +three disagreed, pointing out that stormclouds form on hot days. + So he asked again: "Oh, God, I need a bigger sign to show that I am +right and they are wrong. So please, God, a bigger sign." + This time four stormclouds appeared, rushed toward each other to form +one big cloud, and a bolt of lightning knocked down a tree ten feet away from +the rabbis. The cloud dispersed at once. "I told you I was right!" insisted +the loner, but the others insisted that nothing had happened that could not +be explained by natural causes. + The insisting rabbi is all ready to ask for a *very big* sign when +just as he says "Oh God..." the sky turns pitch black, the earth shakes, and +a deep, booming voice intones, "HEEEEEEEE'S RIIIIIIIGHT!" + The sky returns to normal. The one rabbi puts his hands on his hips +and snarls, "Well?" "Okay, okayyyy," replied another, "so now it's 3 to 2!" +% +Seems like this guy is hitting up on a woman in a bar. After assiduously +pursuing her for several minutes, she leans forward and tells him that he's +a nice guy and all that, but, well, that she's a lesbian. Confused, he asks +her what that means. + "Well," she replies, "you see that woman at the corner table?" + "Yeah..." + "I'd like to walk over to her, and unbuttom her blouse." + "Yeah..." + "And then I'd like to kiss her and suck on her nipples... and +then I'd like to take off her skirt... and run my hand over her thighs..." + "Right! Right!" interrupts the guy. "I think I'm a lesbian too!" +% +Seems there was this traveling salesman who wandered into a brothel and +asked the madam for a woman who would give him the absolutely worst blow-job +imaginable. Not horny, just homesick. +% +Seems this guy notices a young nun sitting on the bus; through her heavy veil +he just spots a glimmer of her face. Gorgeous! She moves, and her vestments +cannot hide the fact she has a truly phenomenal body. The guy gets more and +more excited until he finally approaches the nun and tells "Sister, please +believe me, I don't normally do this sort of thing, but I think I love you. +Could we maybe talk?" + The nun almost runs off the bus. As the young man's stop comes up, +the bus driver asks the guy if he was the person bothering the nun. The man +starts apologizing, but the bus driver interrupts him. "No, don't apologize, +I was checking her out myself. Listen, you see where she got on? She goes +there every day, to a little park. Why don't you meet here there?" + Sure enough, the man goes to the park the next day and there's the nun +in a secluded grove of trees. He approaches her, and she seems, although shy, +much more willing to talk. After an hour of cautious talk, he asks her if +she'd be willing to make love with him. She blushes, smiles, blushes again +and says "yes". But that she doesn't dare risk getting pregnant, so it would +have to be the "back door". + As they start to make love, the young man is overcome with guilt; +panting, he says, "Sister, I have to tell you, I'm the guy who was annoying +you on the bus yesterday. + Replies the nun, "Well, that's okay. I'm not really a nun. I'm +actually the bus driver." +% +Seems to me that both the Democrats and the Republicans should change their +symbols to a contraceptive device; it stands for inflation, inhibits +production, protects a bunch of pricks and gives everyone a false sense of +security while they're being screwed. +% +Self-abuse is the most certain road to the grave. + -- Dr. George M. Calhoun, 1855 +% +SEMINARS: + From 'semi' and 'arse', hence, any half-assed discussion. +% +Sen. Danforth: "There is nothing on the face of the album which would + notify you if the record has pornographics material or + material glorifying violence?" +Tipper Gore: "No, there is nothing that would suggest that to me." +Frank Zappa: "I would say that a buzz saw blade between the guy's legs on + the album cover is good indication that it's not for little + Johnny." + + -- The Senate Commerce Committee hearing on rock + lyrics, from The Village Voice, 6 Oct 1985 +% +Send lawyers, guns, and money, +The shit has hit the fan. + -- Warren Zevon +% +Sensible and responsible women do not want to vote. + -- Grover Cleveland, 1905 +% +Sentenced to two years hard labor (for sodomy), Oscar Wilde stood handcuffed +in driving rain waiting for transport to prison. "If this is the way Queen +Victoria treats her prisoners," he remarked, "she doesn't deserve to have +any." +% +Sex and drugs and UNIX. +% +Sex and mathematics have one thing in common. +You can do each while thinking about the other. +% +Sex appeal is 50% what you've got and 50% what people think you've got. + -- Sophia Loren +% +Sex is a biological function; kissing is a commitment. +% +Sex is better than grass, if you have the right pusher. +% +Sex is dirty, but only if you do it right. +% +Sex is great, +Sex is grand, +Sex around here, +Is mostly by hand. +% +Sex is just one damp thing after another. +% +Sex is like a bridge game -- +If you have a good hand no partner is needed. +% +Sex is low in calories, and *oooh* that aftertaste! +% +Sex is nobody's business but the three people involved. +% +Sex is not the answer. Sex is the question. "Yes" is the answer. +% +Sex is the poor man's opera. + -- G.B. Shaw +% +Sex is what women have and men want. +% +Sex; it's always best when one partner is at least a little bit desperate. +% +SEX-CHANGE NUN BECOMES TV WRESTLER!!! + details at 11! +% +Shamus: A shamus is a guy who takes care of handyman tasks around the +temple, and makes sure everything is in working order. A shamus is at +the bottom of the pecking order of synagog functionaries, and there's +a joke about that: + +A rabbi, to show his humility before God, cries out in the middle of a +service, + "Oh, Lord, I am nobody!" +The cantor, not to be bested, also cries out, + "Oh, Lord, I am nobody!" +The shamus, deeply moved, follows suit and cries, + "Oh, Lord, I am nobody!" +The rabbi turns to the cantor and says, + "Look who thinks he's nobody!" +% +Share and enjoy, share and enjoy. +Journey through life with a plastic boy or girl by your side. +Let your pal be your guide. +And when it breaks down or starts to annoy, + or grinds when it moves and gives you no joy, + 'cause it digs up your hat, + or has sex with your cat, + sprays oil on your wall or rips off your door, + and you get to the point you can't stand any more. +Bring it to us, we won't give a shit. +We'll tell you: "Go stick your head in a pig". +% +She Ain't Much to See, but She Looks Good Through the Bottom of a Glass +If Fingerprints Showed Up On Skin, I Wonder Who's I'd Find On You +I'm Ashamed to be Here, but Not Ashamed Enough to Leave +It's Commode Huggin' Time In The Valley +If You Want to Keep the Beer Real Cold, Put It Next to My Ex-wife's Heart +If You Get the Feeling That I Don't Love You, Feel Again +I'm Ashamed To Be Here, But Not Ashamed Enough To Leave +It's the Bottle Against the Bible in the Battle For Daddy's Soul +My Wife Ran Off With My Best Friend, And I Sure Miss Him +Don't Cut Any More Wood, Baby, 'Cause I'll Be Comin' Home With A Load +I Loved Her Face, But I Left Her Behind For You + -- proposed Country-Western song titles +% +She asked me if I loved her still. +"Yes," I replied. "I've never had you any other way." +% +She called her parakeet Onan, because he spilled his seed. + -- Dorothy Parker +% +She hates testicles, thus limiting the men she can admire to Democratic +candidates for president. + -- John Greenway, "The American Tradition", + on feminist Elizabeth Gould Davis +% +She never liked zippers, she said, +Until she opened one in bed. +% +She was a farmer's daughter but she couldn't keep her calves together. +% +She was only: + a coal digger's daughter, but she'll always be mine. + a statistician's daughter, but she knew all the standard deviations. + a wrestler's daughter, but you should have seen her box. + a moonshiner's daughter, but I loved her still. + a chimney sweep's daughter, but she sure knew how to haul ash. + a fireman's daughter, but her face was a cause for alarm. + a banker's daughter, but she opened her drawers for cash. +% +She was wearing a very tight skirt, and when she tried to board the Fifth +Avenue bus she found she couldn't lift her leg. She reached back and +unzipped her zipper. It didn't seem to do any good, so she reached back +and unzipped it again. Suddenly the man behind her lifted her up and put +her on the top step. + "How dare you?" she demanded. + "Well, lady," he said, "by the time you unzipped my fly for the +second time I thought we'd become good friends." +% +She's fine, upstanding, and wonderful laying down. +% +She's looking for: He's looking for: Foreplay: +1957 Someone who'll go Her: Finding a place to put +Mr. Nice Guy all the way her gum + Him: Wondering which word would + best describe her breasts + to the guys + +1967 Someone who's got The first ten minutes +Mr. Natural rolling papers and of "In-A-Gadda-Da-Vida" + will go all the way + +1977 Someone who'll go Testing the batteries +Mr. Goodbar all the way in leg + warmers and a leather + face mask + +1987 Someone who's never Examination of the genitalia +Mr. Clean gone all the way in under the magnifying glass + San Francisco that Grandma used for needle- + point before she passed away + -- Michael Corcoran, "National Lampoon", October 1987 +% +She's the kind of woman you could fall madly in bed with. +% +Shit happens. +% +Shopping at this grody little computer store at the Galleria for a +totally awwwsome Apple. Fer suuure. I mean Apples are nice you +know? But, you know, there is this cute guy who works there and HE +says that VAX's are cooler! I mean I don't really know, you know? +He says that he has this totally tubular VAX at home and it's stuffed +with memory-to-the-max! Right, yeah. And he wants to take me home +to show it to me. Oh My God! I'm suuure. Gag me with a Prime! +% +Short man who dance with tall woman gets bust in mouth. +% +Shouted Frosty the Snowman "Hooray! +I'm agog with excitement today! + And the reason of course, + A reliable source, +Said the snow blower's heading this way!" +% +Showerbath: Natural venue for sexual adventures -- wash together, make love +together: only convenient overhead point in most apartments or hotel rooms +to attach a partner's hands. Don't pull down the fixture, however -- it +isn't weightbearing. See Discipline. + -- The Joy of Sex +% +Sir Francis Drake circumcised the world with a 100 foot clipper. +% +Sixteen'll get you twenty. +% +Size counts. +% +small, adj: + Is it in yet? +% +Smoking a woman is like kissing a fish. +% +Sniff sniff... Hey! Who farted? +% +Snow White: + "Gee guys, I've always dreamed of getting ten inches... + but not an inch-and-a-half at a time! +% +So, good night, you moonlit ladies, +Rock-a-bye sweet baby James. +Deep greens and blues are the colors I choose, +Won't you let me go down in my dreams? +And rock-a-bye sweet baby James. + -- James Taylor, "Rock-a-bye Sweet Baby James" +% +So, how's your love life? +Still holding your own? +% +So... if you could choose any nose in the whole wide world, +which one would you pick? +% +So it's ai yi yi yi, +Your mother scores more than Wayne Gretzky! +So sing me another verse that worse than the other verse, +And waltz me around by my willie! + + There once was a man from Nantucket! + Whose cock was so long he could suck it! + He said with a grin, + As he wiped off his chin, + If my ear were a cunt I could fuck it! + +So it's ai yi yi yi, +Your sister does squat thrusts on flag poles! +So sing me another verse that worse than the other verse, +And waltz me around by my willie! + + There once was a young man from Boston! + Who drove around town in an Austin! + There was room for his ass, + And a gallon of gas, + So he hung out his balls and he lost 'em! +% +So it's ai yi yi yi, +Your sister swims out to meet troop ships! +So sing me another verse that worse than the other verse, +And waltz me around by my willie! + + There once was a man from Racine! + Who invented a screwing machine! + Both concave and convex, + It could please either sex, + But, oh, what a bastard to clean! + +So it's ai yi yi yi, +Your girlfriend douches with Drano! +So sing me another verse that worse than the other verse, +And waltz me around by my willie! + + One night a girl had an affair! + With a fellow all covered with hair! + His enormous red whang, + Gave her a wonderful bang -- + She'd been diddled by Smokey the bear! +% +So this elderly couple were sitting in their tiny cold water flat on the +lower East Side when the husband said, "Doris, we're in bad shape. Inflation +has eaten up our Social Security check. The next one isn't due for a week +and we've got no money left for food." + "Could I do anything to help?" she asked. + "Yes," he said. "I hate to see you do this but it's the only way. +You're going to have to go out and hustle." + "Me?" she asked. "At the age of sixty-five?" + "It's the only way," he said. +Resigned to the situation, she went out into the warm night. She came +staggering in early the next morning. + "How did you do?" asked the husband. + "Here," she said, "I've got four dollars and ten cents." + "Four dollars and ten cents," he said . "Who gave you the ten cents?" + "Everybody," she said. +% +So this is a very confusing situation, and what makes it even worse is, our +standards keep changing. Take Playboy magazine. Back in the 1950s, when +I started reading it strictly for the articles, Playboy was considered just +about the raciest thing around, even though all it ever showed was women's +breasts. Granted, any given one of these breasts would have provided adequate +shelter for a family of four, but the overall effect was no more explicit +than many publications we think nothing of today, such as Sports Illustrated's +Annual Nipples Poking Through Swimsuits Issue. + -- Dave Barry +% +So this traveling salesman got an audience with the Pope. + "Hey, father," he said, "have you heard the joke about the two +Polacks who --" + "My son," the Pope reminded him, "I'm Polish." +The salesman thought for a moment. + "That's okay, Father," he said. "I'll tell it very slowly." +% +So you fucked up... you trusted us! + -- Animal House +% +So, your daughter was voted "Most Likely to Conceive", +and you're still drinking ordinary scotch? +% +Social interaction can be fatal. Come to Irvine and live forever. +% +Sodomy, fellatio, cunnilingus, pederasty, +Father, why do these words sound so nasty? + -- Hair +% +Sodomy is a pain in the ass. +% +SOFTWARE: + Formal evening attire for female computer analysts. +% +Some companies idea of playing ball is, you play ball with us, +and we'll stick the fucking bat up your ass. +% +Some Harvard men, stalwart and hairy, +Drank up several bottles of sherry; + In the Yard around three + They were shrieking with glee: +"Come on out, we are burning a fairy!" + -- Edward Gorey +% +Some of the greatest love affairs I've known have involved one actor, +unassisted. + -- Wilson Mizner +% +Some of the management around here are the final proof that the Indians +fucked the buffalo. +% +Some people seem to think that "damn" is God's last name. +% +Some women achieve greatness, some have greatness thrust into them. +% +Some women are like musical glasses. +To keep them in tune they must be wet. + -- Samuel Coleridge +% +Some women should be beaten regularly, like gongs. + -- Noel Coward +% +Something better... + +13 (sympathetic): Oh, What happened? Did your parents lose a bet with God? +14 (complimentary): You must love the little birdies to give them this to + perch on. +15 (scientific): Say, does that thing there influence the tides? +16 (obscure): Oh, I'd hate to see the grindstone. +17 (inquiry): When you stop to smell the flowers, are they afraid? +18 (french): Say, the pigs have refused to find any more truffles until you + leave. +19 (pornographic): Finally, a man who can satisfy two women at once. +20 (religious): The Lord giveth and He just kept on giving, didn't He. +21 (disgusting): Say, who mows your nose hair? +22 (paranoid): Keep that guy away from my cocaine! +23 (aromatic): It must be wonderful to wake up in the morning and smell the + coffee ... in Brazil. +24 (appreciative): Oooo, how original. Most people just have their teeth + capped. +25 (dirty): Your name wouldn't be Dick, would it? + -- Steve Martin, "Roxanne" +% +Sometimes guys'll say to you, "Have a good one." I say, "I already have +a good one. Now I'm looking for a longer one." + -- George Carlin +% +Sometimes, you just gotta say "What the fuck." + -- Risky Business +% +Sorry 'bout that sweat, honey. That's just holy water. + -- Little Richard +% +SPINSTER: + Unlusted number. +% +Starkle, starkle, little twink, +Who the hell you are I think +I'm not as drunk as thinkle peep +I'm just a little slort of sheep. +Tee martoonis make a guy, +Feel so woozy, I don't know why. +So mass the pixer and kill my fup +I've all day sober to sunday up. +% +Statisticians do it with 95 percent confidence. +% +Statisticians probably do it. +% +Sticks and stones may break my bones but whips and chains excite me!!! +% +Stockmayer's Theorem: + If it looks easy, it's tough. + If it looks tough, it's damn well impossible. +% +STRAPLESS EVENING GOWN: + Bust truster. +% +stress, n: + The confusion created when one's mind overrides the body's + desire to choke the living shit out of some asshole who + desperately needs it. +% +subpoena, n: + From the root "sub", below, and the Latin "poena" for male organ + or penis. Therefore, "below the penis" or "by the balls." +% +Success has many fathers, but failure is a bastard. +% +Success is like a fart -- only your own smells nice. + -- James P. Hogan +% +successful cunnilingus: + When you wake up the next morning with a face like a + frosted doughnut. +% +SUGAR DADDY: + A man who can afford to raise cain. +% +Sure, and of course I would vote for a woman for president! +Quite naturally, we wouldn't have to pay her so much. +% +Sure banking is Biblical! + +How about when Onan received a substantial penalty for early withdrawal? +Or when Pharaoh's daughter went into the bulrushes and came out with a +little prophet? And it was Moses who led the Children of Israel to the +Banks of the Jordan! +% +Sure eating yoghurt will improve your sex life. People +know that if you'll eat that stuff, you'll eat anything. +% +swallow, v: + The (blew) bird of birth control. +% +Systems people do it with a small, but clean, interface. +% +Take a look around you, tell me what you see, +A girl who thinks she's ordinary lookin' she has got the key. +If you can get close enough to look into her eyes +There's something special right behind the bitterness she hides. + And you're fair game, + You never know what she'll decide, you're fair game, + Just relax, enjoy the ride. +Find a way to reach her, make yourself a fool, +But do it with a little class, disregard the rules. +'Cause this one knows the bottom line, couldn't get a date. +The ugly duckling striking back, and she'll decide her fate. + (chorus) +The ones you never notice are the ones you have to watch. +She's pleasant and she's friendly while she's looking at your crotch. +Try your hand at conversation, gossip is a lie, +And sure enough she'll take you home and make you wanna die. + (chorus) + -- Crosby, Stills, Nash, "Fair Game" +% +Taoism: Shit Happens. +Confucianism: Confucius say, "Shit Happens". +Buddhism: If shit happens, it isn't really shit. +Hinduism: This shit has happened before. +Protestantism: Shit happens, but it happens to someone else. +Catholicism: Shit happens, but you deserved it. +Judaism: Why does shit always happen to US? +% +TAXIDERMIST: + A man who mounts animals. +% +Teaching undergraduates is like herding sheep. And, like the old Basque +sheepherder explained, whenever the livestock starts looking good to you, +it's time to spend a night in town. +% +tear leather: + To become excited, as in the sentence "Robin Hood tore + his leather jerkin' off." +% +tearing off a quicky: + Gunning the jump. +% +Teddy Kennedy: A Blond in Every Pond! +% +Teen-age prostitution: the problem is mounting! +% +Television is a whore. Any man who wants her full favors can have them +in five minutes with a pistol. + -- Hijacker, quoted in "Esquire" +% +Tell you what," the haberdasher said to a persistent job applicant. "I've +got one suit I can't sell -- that purple, green and yellow number over there. +If you can make that sale, you've not only got the job, you've got it for +life." + Then the store owner left for lunch. When he returned, he was shocked +to see the young man's clothes in tatters and his hands and face bleeding. + "My God, what happened to you?" + "I sold the suit! I sold the suit!" the young man shouted, a smile +on his bloodied lips. + "Congratulations," the haberdasher said. "You've got the job. But +what happened? Did the customer start a fight?" + "Oh, no," the new salesman replied. "But his Seeing Eye dog was +*pissed*." +% +Tequila my girl, is deceiving: +Take two at the very most. +Take three and you're under the table, +Take four and you're under the host. +% +Test makers do it: + A: sometimes + B: always + C: never + D: none of the above. +% +TEXAN: + A wet-back that didn't make Oklahoma. +% +That girl could suck the chrome off a bumper. +% +That reminds me of a friend of mine who went north to work on the Alaskan +pipeline. Before he went up there, he was just a skinny little runt. When +he got back, he was a husky fucker. +% +The abbess of a nunnery was instructing a group of novices on the house rules +of her particular order. The indoctrination period, which went on for hours, +began with "No washing of undies in the founts," and ended with "Lights out at +nine. Candles out at ten." +% +The attractive and grief-stricken widow had been living in seclusion at the +home of her deceased husband's younger brother for several weeks. One evening, +when she could no longer control her emotions, she barged into her brother-in- +law's study and pleaded, "James, I want you to take off my dress." Shyly, +the brother-in-law did as she requested. "Now," she continued, "take off my +slip." He again complied. "And now," she said, with a slight blush, "remove +my panties and bra." Once more James obeyed her command. + Then, regaining her composure, she stared directly at the young man +and boldly announced, "I have only one more request, James. Don't ever let +me catch you wearing my things again." +% +The best way to cut off a cat's tail is to repossess his Jaguar. +% +The Bible says that woman was the last thing God made. +Evidently He made her on Saturday night. She reveals his fatigue. + -- Dumas +% +The big difference between sex for money and sex for free is that +sex for money usually costs a lot less. + -- Brendan Francis +% +The blacksmith told me before he died, +And I have no reason to believe that he lied, +That no matter how he tried, +His wife was never satisfied! + +And so he built a bloody great wheel, +Harnessed to a cock of steel, +Two balls of brass were filled with cream, +And the whole damn thing was driven by steam. + +Round and round went the bloody great wheel, +In and out went the cock of steel, +Till at last the maiden cried, +"Enough! Enough! I am satisfied!" + +And now we come to the crucial bit -- +There was no way of stopping it. +And she was split from hole to hole, +And the whole fucking thing was covered in shit... +% +The blind daters had really hit it off and at the end of the evening, as +they were beginning to undress each other in his apartment, the fellow said, + "Before we go any further, Charmaine, tell me -- do you have +any special fetishes that I should take into account in bed?" + "As a matter of fact," smiled the girl, "I do happen to have a foot +fetish -- but I suppose I'd settle for maybe seven or eight inches." +% +The bottom-up approach always gets me buggered. + -- Sidney J. Hurtubise +% +The boys in the Epperson family all acquired fine educations except for Edward. +They made him go to school, but most of the time he just ignored what was said +there. Yet there were rare moments when he could display a bit of curiosity. + One day Edward was sitting at home looking at a magazine, and he said +to his brilliant older brother, Hud, he said, "Hud, what does fox pass mean?" + Brother Hud gave the question some deep consideration and then said, +"You must mean _faux_pas_." + "The way it's spelled," said dumb Ed, "it's fox pass." + Hud took a look at the way it was spelled and then said, "It's a French +phrase -- it means a social blunder. Remember last Sunday when the Bishop came +for dinner? Mother took him out in the garden and they were looking over the +roses when the Bishop got stuck on the thumb by a thorn. It was bleeding quite +a bit so Mother brought him in the house. They went into the bathroom together +and stayed quite a while, and when they came out we all went to the dinner +table. Remember all that, Ed?" + "Yeh." + "Now," Hud continued, "you recall that I was just getting to pass +the gravy when Mother said, 'Bishop, does your prick still throb?' The gravy +bowl flew out of my hands and hit the table, and the gravy splattered all +over everyone. And just at that point you, Brother Edward, you hollered, +'Sheee-itt!' You remember that?" + "Yeh." + "Well, when you hollered 'Sheee-itt!' that was a _faux_pas_." +% +The butcher, the baker, the candlestick make her, why can't I? +% +The computer is the ultimate polluter: +Its shit is indistinguishable from the food it produces. +% +The country girl who became a city madam +has obviously gone from rags to rigids. +% +The difference between a lawyer and a rooster is that +the rooster gets up in the morning and clucks defiance. +% +The difference between a sorority girl and a bowling ball +is that you can only get three fingers in a bowling ball. +% +The difference between graffiti and philosophy is the word "fuck". +% +The difference between her and the Titanic is that only 1100 men +went down on the Titanic. +% +The difference between like and love is the +same as the difference between a spit and a swallow. +% +The difference between this school and a cactus plant +is that the cactus has the pricks on the outside. +% +The difference between women and girls +is as much as twenty years in some states. +% +The early worm gets the bird. +% +The ecumenical movement has reached a milestone with the agreement on the +text of the first Jewish-Catholic prayer -- one that begins "Oy vay, Maria". +% +The Father, the Son and the Holy Ghost would never throw the Devil +out of Heaven as long as they still need him as a fourth for bridge. + -- New Libertarian Notes, #19 +% +The first time we slept together she drove a recreational vehicle into +the bedroom. + -- Richard Lewis +% +The five-alarm fire had been raging out of control for hours, pouring thick, +black smoke over the street. At last the blaze was under control and the +fire chief began accounting for his men. Two were missing, so he ordered +a search. Captain Kelly finally rounded a fire truck parked in an alley +and found, to his shock, one fireman with his trousers down leaning over a +garbage can and another fireman screwing him in the ass. + "What's the meaning of this!", the captain roared. + "Jones here had passed out from smoke inhalation," the fireman on +top panted. + "You're supposed to give mouth to mouth resuscitation for that!" +the captain yelled. + "I know. That's what started this," the fireman replied. +% +The Fortune Travel Agency offers a special... Vacation in Hell! + -- Grace Kelly drives you to the airport. + -- Thurman Munson flies you to a remote tropical island. + -- Ted Kennedy's your chauffeur on the island. + -- You go yachting with Natalie Wood. + -- You have drinks with William Holden. + -- And Roman Polanski stays at home and watches your kids. +% +The fucking ain't worth the fighting. +% +The girls that go to see a man's etchings +may not know art, but they know what they like. +% +The good doctor had been an inspiration to the jungle natives. He had cured +their sick and taught them the religious and moral values of his own England. +He was loved and respected by every native in the village, but on this +particular afternoon the chief was obviously troubled as he entered the +doctor's hut. "You live among my people long time now," said the chief. +"You tell us not right for a man and girl to be close together before +marriage and we believe what you say. This morning white child born to +woman in village. You only white man in jungle. What I tell my people?" + The doctor smiled and led the chief to a window. "My son," he said, +"I'll won't attempt to give you a full scientific explanation for the +phenomenon known as an albino. But look at the flock of sheep upon that +hill. Every one is snow white except one. The white baby born to the +woman in your village means nothing more or less than that one black sheep +in the white flock. It is simply one of nature's mysterious accidents." + The black chief became embarrassed and looked at his feet. "OK, doc," +he said. "You no tell -- I no tell." +% +The good news is that the horse is dead, but your mother's pregnant. +% +The good thing about masturbation is that you don't have to dress up for it. + -- Truman Capote +% +The government [is] extremely fond of amassing great quantities of statistics. +These are raised to the nth degree, the cube roots are extracted, and the +results are arranged into elaborate and impressive displays. What must be +kept ever in mind, however, is that in every case, the figures are first +put down by a village watchman, and he puts down anything he damn well +pleases. + -- Sir Josiah Stamp +% +The greatest lies of all time: + (1) I love you. + (2) This won't hurt a bit. + (3) The Mercedes is paid for. + (4) The check is in the mail. + (5) I was just going to call you. + (6) I've always worn cowboy boots. + (7) I swear I won't come in your mouth. + (8) Of course I'll respect you in the morning. + (9) We have a really challenging assignment for you. + (10) I'm from the government, and I'm here to help you. +% +The hacker as a mate/lover and the signs of trouble: + +-- The morning after note reads: + Whiting, Barbara: + I enjoyed last night. We really interfaced. You looked so cute + I wanted to byte your ear. +-- He believes Steve Wozniak offered the Apple to Adam. +-- The people he tries to emulate are five years his junior. +-- The last straw: + Once again, your date has lost all track of time debugging a new + program and shows up an hour late. + + You Don't...: + Make nasty asides regarding his 5-1/4 inch floppy. + You Do...: + Remind him that "going down" doesn't necessarily + indicate a malfunction. +% +The harder they come, the more important it is to have +an extra-firm mattress. +% +The honest female orgasm is three to fifteen rhythmic contractions of the +outer third of the vagina at .8 second intervals, which is approximately +the beat of Surfing Safari" by the Beach Boys. Unless these contractions +occur, you can regard her groaning, moaning, clawing, kicking, begging for +mercy, and shouting filthy religious epithets as bargain-basement histrionics. + -- John Hughes, National Lampoon +% +The honeymoon is over when a quickie before dinner refers to a short drink. +% +The hope that springs eternal +Springs right up your behind. + -- Ian Drury, "This Is What We Find" +% +The hungover couple dawdled over a midafternoon breakfast, after a +particularly wild all-night party held in their fashionable apartment. + "Dearest, this is rather embarrassing," said the husband, "but +was it you I made love to in the library last night?" + His wife looked at him reflectively and then asked, "About what +time?" +% +The husband was disturbed by his wife's indifferent attitude towards him +and the marriage counselor suggested he try being more aggressive in his +lovemaking. + "Act more like a romantic lover and less like a bored spouse," he +was advised. "When you go home, make love to her as soon as you meet -- +even if it's right inside the front door." + At the next consultation, the adviser was pleased to hear that the +husband had followed his instructions. "And how did she react this time?" +the consultant asked. + "Well, to tell you the truth," the husband replied, "she was still +sort of indifferent. But one thing I've got to admit: her bridge club went +absolutely wild!" +% +The husband wired home that he had been able to wind up his business trip a +day early and would be home on Thursday. When he walked into his apartment, +however, he found his wife in bed with another man. Furious,he picked up his +bag and stormed out. He met his mother-in-law on the street, told her what +had happened and announced that he was filing for divorce in the morning. + "Give my daughter a chance to explain before you take any action," +the older woman pleaded. Reluctantly, he agreed. + An hour later his mother-in-law phoned the husband at his club. +"I knew my daughter would have an explanation," she said, a note of triumph +in her voice. "She didn't receive your telegram!" +% +The Italian entry in the Eurovision Song Contest, "I Can't Get No +Contraception", has been withdrawn after the Pope advised them to +pull it out at the last minute. + -- Not the Nine O'Clock News +% +The king arranged a regal marriage for his daughter -- a bond that would unite +two great kingdoms. Yet, because the young couple seemed so formal to each +other, he posted a spy outside the royal wedding chamber and demanded a full +account of the wedding night's progress. + "It's hard to tell," said the spy the next morning. "When the prince +entered the chamber, I heard the princess say, quite formally, 'I offer you my +honor.' Then the prince said, with equal courtliness, 'I honor your offer.' +And that's the way it went all night long -- honor, offer, honor, offer. +% +The largest gay community in the U.S. (as a percentage of total population) +is not in San Francisco, but in Iowa Falls, Minnesota (pop. 763), a small +town in which virtually everyone is gay. In 1976, a group of about 100 +gays fleeing persecution in the South settled in the town, and soon won a +majority on the town council. Ordinances prohibiting heterosexual acts +soon followed. "After all," said mayor Harry Whalen, "If the Supreme Court +has refused to strike down laws prohibiting homosexual acts, then our +anti-straight laws are equally valid." Rigorous enforcement of those laws +has resulted in a community that is now almost 100% gay. Said one long-time +resident: "I've lived here 35 years and didn't want to leave, but I didn't +want to give up sex either. Then my neighbor Ed came over one night, and +said how about I do it with him, and my wife Millie could do it with his +wife. Well, I found it wasn't nearly as bad as I thought it was gonna be. +Fact is, I rather like it." +% +The lights are on, +but you're not home; +Your will +is not your own; +Your heart sweats, +Your teeth grind; +Another kiss +and you'll be mine... + +You like to think that you're immune to the stuff +(Oh Yeah!) +It's closer to the truth to say you can't get enough; +You know you're gonna have to face it, +You're addicted to love!" + -- Robert Palmer +% +The little boy pointed to two dogs in the park and asked his father what +they were doing. "They're making puppies, son," replied the father. + That night, the boy wandered into his parents' room while they were +making love. Asked what they were doing, the father replied, "Making you +a baby brother." + "Gee, Dad," the boy pleaded, "turn her over -- I'd rather have a +puppy." +% +The little old lady rushed into the taxidermist and unwrapped a package +containing two recently deceased monkeys. Her instructions to the proprietor +were delivered in a welter of tears. + "Favorite pets... (blubber,sob)... caught cold... (moan)... Don't +see how I'll live without them... (weep,sob)... want to have them stuffed... +(blubber,blubber)!" + "Of course, madam," said the proprietor in an understanding voice, +"and would you care to have them mounted?" + "Oh, no," she sobbed, "shaking hands. They were just close friends." +% +The long-peckered Bey of Algiers +Loved to spear chubby lads in their rears. + A demon for semen, + This buffersome he-man +Shot the chute till it seeped from their ears. +% +The man and woman make love, attain climax, fall separate. Then she +whispers, "I'll tell you who I was thinking of if you tell me who you +were thinking of." Like most sex jokes the origins of the pleasant +exchange are obscure. But whatever the source, it seldom fails to evoke +a certain awful recognition. + -- Gore Vidal, "New York Review of Books" +% +The man-hating woman, like the cold woman, is largely imaginary. She +is simply a woman who has done her best to snare a man and has failed. + -- Norton +% +The Messiah will come. There will be a resurrection of the dead -- all +the things that Jews believed in before they got so damn sophisticated. + -- Rabbi Meir Kahane +% +The mind is its own place, and in itself +Can make a Heaven of Hell, a Hell of Heaven. +What matter where, if I be still the same, +And what I should be, all but less than he +Whom thunder hath made greater? here at least +We shall be free; the almighty hath not built +Here for his envy, will not drive us hence; +Here we may reign secure, and, in my choice, +To reign is worth ambition, though in Hell: +Better to reign in Hell than serve in Heaven. + -- Satan, Milton's "Paradise Lost", I, 254-263 +% +The more crap you put up with, the more crap you're going to get. +% +The more I learn about women, the more I love my dog. +% +The most common form of marriage proposal: "YOU'RE WHAT!?" +% +The most pressing issue facing women today is finding a contraceptive +jelly that smells like a fresh fruit salad. +% +The most romantic thing any woman ever said to me in bed was +"Are you sure you're not a cop?" + -- Larry Brown +% +The most unfair thing about STDs (sexually transmitted diseases) is +that the guys who bought vasectomies have to wear condoms anyway. +% +The most unsatisfactory men are those who pride themselves on their +virility and regard sex as if it were some form of athletics at which +you win cups. It is a woman's spirit and mood which a man has to +stimulate in order to make sex interesting. The real lover is the +man who can thrill you by just touching your head or smiling into +your eyes - or just by staring into space. + -- Marilyn Monroe +% +The mother of the year should be a sterilized woman with two +adopted children. + -- Paul Ehrlich +% +The moving finger having writ... gestures. +% +The nervous young bride became irritated by her husband's lusty advances on +their wedding night and reprimanded him severely. + "I demand proper manners in bed," she declared, "just as I do at +the dinner table." + Amused by his wife's formality, the groom smoothed his rumpled hair +and climbed quietly between the sheets. "Is that better?" he asked, with a +hint of a smile. + "Yes," replied the girl, "much better." + "Very good, darling," the husband whispered. "Now would you +be so kind as to please pass the pussy?" +% +The new priest was so nervous about performing his first mass that he could +hardly speak. He asked his Monsignor how he could relax. The Monsignor +replied that it might help relax him to add just a bit of vodka to the water +pitcher. The next Sunday, after following the Monsignor's advice, the priest +returned to the rectory to find a note from that worthy. + + 1. Next time sip rather than gulp. + 2. There are ten commandments, not 12. + 3. There are 12 disciples, not 10. + 4. We do not refer to the cross as the "Big T". + 5. The recommended grace before meals is not, + "Rub-a-dub-dub, thanks for the grub, Yaaaay, God!" + 6. Do not refer to our Saviour, Jesus Christ, and his + Apostles as "J.C. and the Boys". + 7. David slew Goliath, he did not kick the shit out of him. + 8. The Father, Son, and the Holy Ghost are never referred + to as, "Big Daddy, Junior, and the Spook". + 9. It is always the Virgin Mary, never The Mary with the Cherry. + 10. Last, but not least, next Wednesday there will be a + Taffy-Pulling Contest at St.Peter's, not a Peter-Pulling + Contest at St. Taffy's. +% +The new rooster caused a great stir in the barnyard. From resplendent comb +to defiant spurs, he was the picture of young bantamhood. Almost immediately +upon arrival, he was greeted by and elderly rooster who took him behind the +barn and whispered in his ear: "Young fellow, I'm long past my prime. All I +want now is peace and solitude. So you take over right now as ruler of the +roost with my blessings." + The newcomer did just that. He went about his squirely duties as only +a young rooster could. After several days, however, the elder rooster again +took the young champion behind the barn. "Kid," he said, "the hens are after +me for giving up my position so readily. So why don't we have a race, say, +ten laps around the farmhouse? The winner becomes undisputed keeper of the +henhouse and the hens will stop nagging me. + The young rooster, with only contempt for his elder, agreed. +Surprisingly, the older one jumped off to an early lead. His counterpart, +weakened by the activities of the previous week, was never quite able to +overtake him. As they rounded the barn for the fourth time, the elder rooster +maintained a formidable lead. + Suddenly, a shotgun blast rang out. The young rooster fell in the +dust, his plumage riddled with buckshot. + "Dammit, Emmy," said the farmer. "That's the last rooster we buy +from Ferguson. Four of 'em this month, and every one's been queer." +% +The only difference between your current lover and a doorknob is +that a doorknob warms up when you hold it. +% +The only difference between your girlfriend +and a barracuda is the nailpolish. +% +The only excuse for God is that he doesn't exist. + -- Stendhal +% +The only psychologically damaging thing about masturbation is +that there's nobody else to blame later for persuading you to do it. +% +The only thing faster than the speed of light is shit flowing downhill. + -- Mike O'Dell +% +The only way for writers to meet is to share a quick pee over a common +lamp-post. + -- Cyril Connolly, "Journal and Memoir" +% +The only way I can lose this election is if I'm caught in +bed with a dead girl or a live boy. + -- Edwin Edwards, Louisiana governor +% +The only way to behave to a woman is to make love to +her if she is pretty and to someone else if she is plain. + -- Oscar Wilde +% +The only way you'll ever hear from +me is if you're living in the same hell. + -- Roy Harper +% +The operator's left hand quivered as she gingerly unlatched the +catch to the diskette reader. Uncontrollably, she reached down, +guiding the sharply pointed diskette into the deep, dark slot. +The floppy diskette nearly folded under the repeated thrusts of +her hand, until finally she could control it no longer, her right +hand instinctively taking an option zero. And then it all came at +once, thousands upon thousands of data bits flowing from diskette +to disk in a torrent of torrid transfer, as the helpless legs +of the 32 strained to remain on the floor. +% +The other night I was having sex, but the girl hung up on me. +% +The outraged husband discovered his wife in bed with another man. + "What is the meaning of this?" he demanded. "Who is this fellow?" + "That seems like a fair question," said the wife, rolling over. +"What IS your name?" +% +The penis mightier than the sword. +% +the perfect woman: + Four feet tall, no teeth and a flat head so you can rest + your drink. + + [Pistol-grip ears? Ed.] +% +The pleasure is momentary, +The position ridiculous, +The expense damnable. + -- Chesterfield, on sex +% +The pleasure is transitory, the cost +prohibitive, and the position ridiculous. + -- Disraeli, on sex +% +The plural of spouse is spice. + -- R.A. Heinlein +% +The police were investigating the mysterious death of a prominent businessman +who had jumped from a window of his 11th story office. His voluptuous private +secretary could offer no explanation for the action but said that her boss had +been acting peculiarly ever since she started working for him a month ago. + "After my very first week on the job," she said, "I received a +twenty-dollar raise. At the end of the second week he called me into his +private office, gave me a lovely black nightie, five pairs of nylon stockings +and said, 'These are for a beautiful, efficient secretary.' At the end of the +third week he gave me a gorgeous mink stole. Then, this afternoon, he called me +into his private office again, presented me with this fabulous diamond bracelet +and asked me if I would consider making love to him and what it would cost. +I told him I would, and because he had been so nice to me, he could have it +for five dollars, although I was charging all the other boys in the office ten +dollars. That's when he jumped out the window." +% +The poor little doe +Crawled out of the woods, +Tired, bedraggled and blue. +"Look," she said, "What I did for a buck, +I should have asked for two!" +% +The Pope is working on a crossword puzzle one Sunday afternoon. He stops +for a moment, scratches his forehead, then asks a Cardinal, "Can you think +of a four-letter word for `woman' that ends in `u-n-t'?" + "Aunt," replies the Cardinal. + "Say, thanks," says the Pope. "You got an eraser?" +% +The priest at Sunday mass noticed that Michael took a ten-dollar bill and two +one-dollar bills from the collection plate, instead of putting something in. +He thought to himself, I'd better watch out for Michael. The next week he +noticed the same thing. So he waited outside church when mass was over, and +as Michael came out, he accosted his and said, + "Michael, tell me -- why did you take out a ten-dollar bill and two +singles two weeks in a row, instead of putting money into the collection?" + Michael replied, "Father, I'm embarrassed, but I did it because I +wanted to go downtown for a blow job." + The priest looked surprised but said to Michael, "Listen, don't do +that anymore. I'll be watching you from now on." + When he got back to the rectory, the priest was still perplexed. +Finally he decided to call Mother Agatha at the convent. He said, "Mother, +you've been such a great friend of mine, I have a question I need to ask you. +What is a blow job?" + Mother Agatha replied, "Oh, twelve dollars, same as downtown." +% +The problem with being best man at a wedding +is that you never get a chance to prove it. +% +The problems with "Medflies" may have hurt Jerry Brown's chances to become a +Senator. After all, if they won't allow California fruit out of the state, +how is Brown going to get to Washington? +% +The public is an old woman. Let her maunder and mumble. + -- Thomas Carlyle +% +The quality of a blow-job is determined by the +length of sheet you have to pull out of your ass. +% +The real problem with fucking a sheep is that you have +to walk around in front every time you want to kiss her. +% +The real trouble with women is that they have *all* the pussy. +% +The reason big companies have lots and lots of meetings is because +they can't masturbate. +% +The reason Roman Catholics are allowed to use the +rhythm method of birth control is that it doesn't work. +% +The reason that sex is so popular is that it's centrally located. +% +The REVERSE function works on the opposite SEXPR. +% +The rich man uses vaseline, + The poor man uses lard; +The worker uses axle grease + But gets it twice as hard. +% +The romantic young man sat on the park bench with a first date. He was +certain his charming words and manner would win her as they had many others. + "Some moon out tonight,"he cooed. + "There certainly is," she agreed. + "Some really bright stars in the sky." + She nodded. + "Some dew on the grass." + "Some do," she said indignantly, "but I'm not that sort." +% +The San Francisco police are nothing if not sensitive to the mood of the +community. The word is that Dirty Harry has been replaced by Bitchy Gerald. +% +The sergeant walked into the shower and caught me giving myself a +dishonorable discharge. Without missing a beat, I said... + "It's my dick and I can wash it as fast as I want!" +% +The sex act is the funniest thing on the face of this earth. + -- Diana Rigg +% +The sex life of spiders is very interesting. +He fucks her. +She bites his head off. + -- From a Women's Lib Poster +% +The sex was nice, but confusing. The whole situation kept going di-polar +on Sta-Hi. One instant Misty would seem like a lovely warm girl who'd +survived a terrible injury, like a lost puppy to be stroked, a lonely +woman to be husbanded. But then he'd start thinking of the wires behind +her eyes, and he'd be screwing a machine, an inanimate object, a public +toilet. Just like with any other woman for him, really. + -- Rudy Rucker, "Software" +% +The shy young man had been married for three months when he reported to his +doctor that his marriage was still in name only. The doctor, after hearing +the sad tale, told him that waiting until bedtime to make advances was causing +psychological pressure and advised him to take advantage of the next time he +felt in the mood. A week later, the doctor happened to meet the man again, +and noticed a new spring in his step. "My advice worked, I take it?" he +inquired. + The young man grinned. "Perfectly. The other night, we were having +supper, and as I reached for the salt -- so did she! Our hands touched... It +was as if an electric current ran through us. I leaped to my feet, swept the +dishes from the table and then and there consummated our marriage! There's +just one problem, however. We can't go back to The Four Seasons again..." +% +The Stealth Condom -- they'll never see you coming. +% +The struggling for knowledge has a pleasure in it +like that of wrestling with a fine woman. + -- Lord Halifax +% +The sun was shining brightly The breeze was blowing briskly, +And I could hardly wait, It made the flowers sway, +To ponder at my window The garden was enchanting +And gaze at my estate. On this inspiring day. + +My eyes fell on a little bird, I smiled at him cheerfully +With a beautiful yellow bill, And gave him a crust of bread, +I beckoned him to come and light And then I closed the window +Upon my window sill. And smashed his fucking head. + -- "Good Morning", Debbie Smith +% +The three faithful things in life are money, a dog, and an old woman. +% +The three most important parts of a stove: lifter, leg, and poker. +% +The three sexual positions during pregnancy. + +During the first four months: Missionary style +During the second four months: Doggie style +And during the last month: Coyote style + +Coyote style? + You sit by the hole and howl. +% +The time has come for kicking ass and taking names. +% +The townspeople stood in despair as the fire that had begun in a diner +threatened to spread to adjoining homes. Just then, a truck filled with +farm workers came speeding down a hill toward the fire. The crowd moved +back and the truck drove right into the thickest of the flames. The workers +jumped out and beat at the fire with their coats, miraculously bringing the +blaze under control. + The city fathers were so grateful for the men's heroism that they +gave each a plaque and $1000. After the ceremony, newsmen interviewed the +driver and asked him what he was going to do with the money. + "You can be damned sure the first thing I'm gonna do," he replied, +"is get the brakes fixed on that son-of-a-bitchin' truck!" +% +The truth about a woman often lasts longer than the woman is true. +% +The two couples were enjoying their vacation together at a resort hotel. They +were in the middle of a game of Scrabble in the lobby when a thunderstorm cut +off the hotel's electricity, leaving little to do but retire to their rooms. +Bill was a rather devout man, so before getting into bed with his companion, +he said his prayers. As he got under the covers, the lightning suddenly +flashed through the window and he discovered that he was in the wrong room. +He instantly jumped up and started to dash for the hallway. "It's too late, +called the girl from the bed, "my guy doesn't pray." +% +The two men feigned friendship but secretly hated each other's guts and took +great pleasure in giving one another the needle on any and all occasions. +This particular evening they met, quite by accident, at a popular bar. +The conversation started innocently enough; then one, with sudden inspiration, +ran his hand over the other's bald head and exclaimed, + "By God, Fred, that feels just like my wife's ass!" +The other ran his own hand over his head and nonchalantly retorted, + "Well, I'll be damned, Jim, so it does, so it does!" +% +The two things that you should never lend out are your car +or your woman. Someone's bound to throw a rod in either one. +% +The Unitarians are really just a bunch of atheists who really +like going to church. +% +The Utah version of this joke goes: + One of the Council of the Twelve runs breathlessly into the Presidents' +office one day. The President looks up and says "Brother, what is so important +that you ran all the way here, losing your breath?" + The Council member finally regains his breath, and says "The Savior is +in the lobby!!" + The President immediate starts for the door, crying "It has come! The +prophecies are fulfilled! We are all about to be uplifted!" + The Council member says "Wait! You didn't let me finish! She's... +black, and SHE IS PISSED!" +% +The very proper spinster didn't go out very often, but she had some important +shopping to do that morning and so decided to have her lunch in what appeared +to be a nice quiet respectable restaurant. With the noontime crowd, many +customers shared their tables with strangers; the spinster selected a seat +next to an attractive, young office girl. The girl finished her sandwich and +coffee, then settled back and lit up a cigarette. The older woman controlled +herself for a few moments and then snapped, + "I'd rather commit adultery than smoke in public." + "So would I," said the girl, "but I only have half an hour for lunch." +% +The voters have spoken, the bastards... +% +The wages of sin are high -- unless you know someone who does it for nothing. +% +The warden of the De Luxington preparatory school for boys was holding a +hearing. The lad before his desk, a very popular young fellow, was angrily +accusing one of his schoolmates of having assaulted him sexually. + "I must warn you, m'boy, this is a very serious charge, the warden +said. + "I don't care. I tell you it is true. He raped me, warden." The +youth pointed to another, somewhat larger boy smirking in the corner. +"That's him, sir, the one who forced me to do all those crimes against +nature. The bully!" + "Now tell me, son, as closely as you can, when this happened." + "Sir, two weeks ago on Wednesday at 4:00, then at 7:00 that same +evening, on Friday, twice on Saturday, two times on Monday, once on +Wednesday, and then he met that bitch Roy and he hasn't touched me since." +% +The whole religious complexion of the modern world is due to the +absence from Jerusalem of a lunatic asylum. + -- Havelock Ellis +% +The woman you buy -- and she is the least expensive -- takes a great +deal of money. The woman who gives herself takes all your time. + -- Balzac +% +The word `spine' is, of course, an anagram of `penis'. This is true in +almost fifty percent of the languages of the Galaxy, and many people have +attempted to explain why. Usually these explanations get bogged down in +silly puns about "standing erect". +% +The world is an 8000 mile in diameter spherical pile of shit. +% +The young girl was having a heart-to-heart talk with her mother on her +first visit home since starting college. + "Mom, I have to tell you," the girl confessed. "I lost my virginity +last weekend." + "I'm not surprised," said her mother. "It was bound to happen sooner +or later. I just hope it was a romantic and pleasurable experience." + "Well, yes and no," the pretty student remarked. "The first eight +guys felt great, but after them my pussy got real sore." +% +The young stud walked into a bordello. After he took his clothes off, the +woman was puzzled to see him put a clothespin on his nose, stuff cotton in +his ears, and put a prophylactic on his penis. + "Hey," she asked, "what the hell are you doing?" + "Well, ma'am", replied the stud, "there are two things I just can't +stand. A screaming woman and the smell of burning rubber." +% +Then there was the girl who was engaged +to a gymnast -- 'til he broke it off. +% +Then there was the girl whose boyfriend didn't smoke, drink or +swear, and never, ever made a pass at her. He also made his own dresses. +% +Then there was the guy that got badly messed up fighting +for his girl's honor. It seems she wanted to keep it. +% +Then there was the middle-aged businessman who took his spouse to Paris. +After traipsing with her from one mansion du couture to another, be begged +for a day off to rest and got it. With the wife gone shopping again, he +went to the Ritz Bar and picked up a luscious parisienne. They got on +well until the question of money came up. She wanted a hundred American +dollars; he offered fifty. They couldn't get together on the price; so +they didn't get together. That evening he escorted his wife to one of the +nicer restaurants on the Rue de Rivoli, and there he spotted his gorgeous +babe of the afternoon seated at a table near the door. + "See, monsieur?" she said as they passed her. "Look what you got +for your lousy fifty bucks." +% +Then there was the Scot that wanted to rob a jewelry store -- he tossed a +brick through the show window and ran off with a king's ransom. They +caught him when he came back for the brick. +% +There are a couple of things about her I greatly admire. +% +There are Jews in the world, there are Buddhists, Every sperm is sacred, +there are Hindus and Mormons and then Every sperm is great, +there are those that follow Mohammed ...But... If a sperm is wasted, +I've never been one of them. God gets quite irate. + +I am a Roman Catholic Every sperm is wanted, +And have been since before I was born, Every sperm is good. +And the one thing they say about Catholics is Every sperm is needed, +They'll take you as soon as you're warm. In your neighborhood. + +You don't have to be a six-footer. Let the heathens spill theirs, +You don't have to have a great brain. On the dusty ground. +You don't have to have any clothes on, God shall make them pay for +You're a Catholic the moment Dad came Each sperm that can't be found. +...Because... + +Hindu, Taoist, Mormon, Every sperm is useful, +spill theirs just anywhere Every sperm is fine. +but God loves those who treat their God needs everybodies, +semen with more care. Mine, and mine, and mine. + -- Monty Python, "Every Sperm is Sacred" +% +There are many ways to say "I love you", but fucking is the fastest. +% +There are only six Democrats in all of Hinsdale County and you, you son of +a bitch, you ate five of them. + -- Colorado judge, sentencing Alfred E. Packer for + cannibalism in 1874. +% +There are so many people wanting a piece of my ass that some of them +are having to take turns. + -- T.K. +% +There are three women on the fast track in a particular company. The +president realizes it's time to promote one of them, but they're all so +competent that he's not sure which one to choose. So he devises a little +test. One day while they're all at lunch, he places $500 on each of their +desks. #1 returns it to him immediately. #2 pockets it. #3 invests +in the market and returns $1,500 to him in the morning. Who gets the +promotion? The one with the big tits! +% +There are two sides to every divorce: yours and the shithead's. +% +There are two trees in the forest. They are very proud trees. One day +they notice a sapling half-way between them. + One tree proclaims, "That is a son of beech!" + "No, that is a son of a birch!" insists the other. + "A son of a BEECH!" + "A son of a BIRCH!" + "Son of a beech!" + "Son of a birch!" + +The fighting attracts a woodpecker who informs them that he can tell what +kind of tree the sapling is by its taste. First he tastes the beech and +the birch. Then he tastes the sapling. "Well now, is that a son of a +beech or a son of a birch?" asks the beech. + "You're both wrong!" says the bird. "That's the best piece of ash +I've had my pecker in for a long time!" +% +There is a definite parallel between shots of tequila and a +woman's breasts. One is not enough and three are too many. +% +There is a new model of car being sold in San Francisco -- +the pervertible. The top doesn't go down, but the driver does. +% +There is nothing as overrated as a bad +lay, or as underrated as a great shit. +% +There is nothing wrong with screwing everyone in sight. +Boring your friends about it is the sin. + -- Mama Liz +% +There once was a Sailor who looked through a glass +And spied a fair mermaid with scales on her... island. +Where seagulls flew over their nest. +She combed the long hair which hung over her... shoulders. +And caused her to tickle and itch. +The sailor cried out "There's a beautiful... mermaid. +A sittin' out there on the rocks." +The crew came a running, all grabbing their... glasses. +And crowded four deep to the rail. +All eager to share in this fine piece of... news. +... +"Throw out a line and we'll lasso her... flippers. +And soon we will certainly find +If mermaids are better before or be... brave +My dear fellows," The captain cried out. +And cursing with spleen. +This song may be dull, but it's certainly clean. + -- "The Clean Song", Oscar Brandt +% +There was a man who, every day, would buy a newspaper on the way to work, +glance at the headline, and hand it back to the newsboy. Day after day the +man would go through this routine. Finally the newsboy could not stand it +and he asked the man, "Why do you always buy a paper and only look at the +front page before discarding it?" + The man replied, "I am only interested in the obituaries." + "But they are on page 21. You never even unfold the newspaper." + "Young man," he replied, "the son-of-a-bitch I'm looking for will +be on the front page." + -- Attributed to FDR. +% +There was a young man hitchhiking along a road one day. A car stopped and the +driver opened the door and asked, "What political party are you with?" + He replied, "Why, I'm a Democrat." + And the driver slammed the door and rode off. The guy was pretty +discouraged when another car came along, and the driver asked the same +question. + The guy answered, "Uh, I'm a Democrat." + And again, the driver slammed the door and rode off. Now he was +downright confused when another car came along. The driver was an attractive +lady, and she asked the same question. + He answered: "I'm a Republican." + And she answered, "Well, then, hop on in." + They drove on for a few minutes when he began to notice that her +skirt was beginning to get hiked up on her thighs. Finally, he couldn't take +it any more, and said "Ma'am, stop the car and let me out. I've only been +a Republican for 15 minutes, and already I feel like screwing someone!" +% +There was a young tenor named Springer, +Got his testicles caught in a wringer. + He hollered in pain, + As they rolled down the drain, +"There goes my career as a singer!" +% +There was once a newly-married couple. Now these two lovers were, well, +rather uptight about using expressions such as "having sex", "getting it on", +or "boffing the brains out". So, they decided to use the euphemism, "doing +the laundry" whenever the topic of sex came up. + One evening, hubby said, "Well, honey, feel like doing some laundry +tonite?", and she consented. The next evening, hubby again asked, "Sweetie, +feel like doing some laundry tonite?" Well, wifey wasn't really in the mood, +but complied. On the third night, when hubby approached her, asking her to +participate in doing still MORE laundry, she replied, "Oh, Hon, I'm really not +in the mood for doing any laundry tonite." + Well, hubby, being a bit disappointed, locked himself in the bathroom +and engaged in a spot of self-abuse instead. Upon returning to the living +room, wifey said, "Well, Poopsie, I've changed my mind -- how about doing +some laundry?" To which he replied, "Oh, no, that's okay, I just did a small +load!" +% +There was once a salesman who had an outstanding record for selling tooth- +brushes. His boss, wondering at his unlikely success, sent a man out to +follow the salesman on rounds to see what pitch he gave that brought such +good results. It was soon found that this particular salesman went to the +corner of a busy street and opened up his briefcase, and on one side was the +assortment of toothbrushes, and on the other side various chips and garnishes +and a bowl of brownish stuff. He would grab a likely customer and give them +the following pitch. + "Good morning, ma'am, this is a commercial promotion for --- brand +of chip dip. Would you care to give it a try?" + At that point the person would try it, then spit it out and scream +in utter disgust, "This tastes like shit!" + The salesman would smile and say, "It is. You want to buy a +toothbrush?" +% +There was something about her I liked, +but I couldn't put my finger on it. +% +There were the Scots +Who kept the Sabbath +And everything else they could lay their hands on. +Then there were the Welsh +Who prayed on their knees and their neighbors. +Thirdly there were the Irish +Who never knew what they wanted +But were willing to fight for it anyway. +Lastly there were the English +Who considered themselves a self-made nation +Thus relieving the Almighty of a dreadful responsibility. +% +There's a handsome boy who tells me how I've changed his past. He buys me +a brandy... Could it be he's really just after my ass? + -- Pete Townshend, "How Many Friends" +% +There's a tendency today to absolve individuals from moral responsibility and +treat them as victims of social circumstance. You buy that, you pay with your +soul. It's not men who limit women, it's not straights who limit gays, it's +not whites who limit blacks. What limits people is lack of character. What +limits people is that they don't have the fucking nerve or imagination to star +in their own movie, let alone direct it. + -- Bernard Mickey Wrangle +% +There's a vas deferens between men and women. +% +There's amnesia in a hangknot, +And comfort in the ax, +But the simple way of poison will make your nerves relax. + There's surcease in a gunshot, + And sleep that comes from racks, + But a handy draft of poison avoids the harshest tax. +You find rest on the hot squat, +Or gas can give you pax, +But the closest corner chemist has peace in packaged stacks. + There's refuge in the church lot + When you tire of facing facts, + And the smoothest route is poison prescribed by kindly quacks. +Chorus: With an *ugh!* and a groan, and a kick of the heels, + Death comes quiet, or it comes with squeals -- + But the pleasantest place to find your end + Is a cup of cheer from the hand of a friend. + -- Jubal Harshaw, "One For The Road" +% +There's many a slurp t'wixt the tip and the zip. +% +There's more than one way to skin a cat: + Way #3 -- Krazy Glue and a toothbrush. + Way #27 -- Use an electric sander. + Way #32 -- Wrap it around a lonely frat man's pecker. + Way #33 -- A bicycle pump. +% +There's nothing better than good sex. But bad sex? +A peanut butter and jelly sandwich is better than bad sex. + -- Billy Joel +% +There's nothing wrong with America that a good erection wouldn't cure. + -- David Mairowitz +% +They ought to make butt-flavored cat food. + -- Gallagher +% +They watched the sun slowly sink behind the hills, and the fiery glow on the +lake fade into darkness. He eyed her shadowy figure, accentuated by the moon- +light, as the tension from within began to fuel his animalistic desires. +She followed him, ever so quietly, as they sought a secluded corner in the +barn. Alone! At last. His hands roamed about her soft back, around to her +thighs, and finally caressed her budding nipples. Oh, how smooth and succulent +she was! "Was it so wrong?", he asked himself. No, he thought, for his +father had done it, as did his own father, ad infinitum. The boiling, +uncontrollable rage within him became unbearable. She signalled her eagerness, +spreading her legs, as he grasped her nipples again. Stroking, again and +again, longer each time. It began coming; again, again, again, again. His +mind raced with fear "Will it stop?". Exhausted, he lay down beside her. +"Dear God, what have I done?". Suddenly, his father burst in. His eyes +burned as he stared for what seemed an eternity. Finally, his father spoke. + "Son, you ain't supposed to milk the damn cow till mornin'!" +% +This Czech walks into police station in 1968 during the Fraternal Assistance. +Czech: Hey, out there in the street, a Swiss soldier knocked me down and + took my Russian watch. +Desk Sergeant: Come again? +Czech: Right out there in the street, a Swiss soldier knocked me down and + took my Russian watch. +DS: You're confused. Why would there be a Swiss soldier here? And who + would want to own a Russian watch? It was a Russian soldier who + knocked you down and took your Swiss watch, right? +Czech: Well, maybe, but you said it, not me. +% +This fellow rushed into a crowded tavern on Saturday night. Men and women +stood three-deep at the bar. Our man, who felt nature calling strongly, +looked about him but couldn't see anything that resembled a john. He saw a +stairway and bounded up the steps to the second floor in his increasingly +desperate search. Just as his bowels threatened to erupt, he spotted a +one-foot by one-foot hole in the floor. Now, at the end of his control, he +decided to take advantage of the hole. He dropped his pants, hunched over it, +and did his thing. Thoroughly relieved and relaxed, he sauntered down the +steps to find, to his surprise, that the crowded bar was now empty. + "Hey!" he yelled to the seemingly empty room, "Where is everyone?" + From behind the bar a voice responded, "Hey! Where were you when +the shit hit the fan?" +% +This guy makes an appointment with a doctor because his hemorrhoids are +really bothering him. The doctor gives him some suppositories and tells +him to come back in a week for a checkup. "How's it going?" he asks +the patient a week later. + "I gotta tell you the truth, Doc," said the man. "For all the +good these pills did me, I coulda shoved them up my ass." +% +This guy, see, was walkin' down the street sportin' two -- not one, but two +-- black eyes; a coupla real shiners. He chanced upon his buddy walkin' th' +other way... they stopped to talk... "Hey guy," sez his buddy, "where'd'ja +git them good lookin' shiners? Musta been a helluva fight." + "Well, actually, I got them in church," sez he. + "Nowwaitaminnit," sez the friend, "nobody gits black eyes in church!" + "I swear I did," sez he, "and here's how it happened. We all got up +to sing a hymn, you see, and the fat lady in front of me got her dress all +stuck up in the crack of her butt, so bein' as how I'm a real gennulman an' +all, well, I leaned forward and pulled it out for her. And you know what? +She just turned around, hauled off and slugged me one!" + "Well," his buddy replies, after he can talk again, "that shore 'nuff +explains one of 'em. Howdja git th' other one?" + "Well," sez he, "like I said, I'm a gennulman, even when somebody does +me wrong, so when I saw she didn't like it like that, I stuck it back in." +% +This guy walks into a bank and up to a female bank teller: + +Man: "I want to open a fuckin' savings account." +Teller: "Excuse me, sir?" +M: "Listen, bitch, I want to open a fuckin' savings account." +T: "Sir, I don't have to listen to this abusive language." +M: "LOOK! I just want to open a fuckin' savings account." +T: "Sir, you leave me no choice but to speak to the manager." + +The teller walks over and explains the customer's rude behavior to the bank +manager who then accompanies her back to the teller booth. + +Mgr: "Can I help you, sir?" +M: "I want to open a fuckin' savings account." +Mgr: "Please, sir, we'll be delighted to help you, but we must request + that you not use abusive language to our tellers." +M: "Look. I just won $25 million in the state lottery and I want to + open a fuckin' savings account!" +Mgr: "I see. And has this cunt been giving you any trouble?" +% +This guy was screwing his neighbors wife when a car pulls into the drive. +"My husband!" she screams. He panics and jumps out the window. He finds +himself on the street, naked, under cloudy skies. There is no place to hide +except in a crowd of joggers. As he runs along, a woman looks over and says, + "Do you always jog in the nude?" + "Yes ma'am!" he replies. + "Does it always result in that kind of sexual excitement?" she asks. + "Yes ma'am!" he replies. + "Do you always wear a condom?" + "Only when it rains, lady. Only when it rains." +% +This here's the wattle +The emblem of our land +You can stick it in a bottle +Or you can hold it in your hand. + -- Monty Python +% +This hot and dusty cowboy rode in from the mesa, filthy and exhausted. He +obviously had had nothing but his horse for company for a couple of weeks +and was looking forward to a couple of cold beers in the saloon. Swinging +off his horse and hitching it to the rail, the cowboy gave his horse an +affectionate slap on the neck. Then he astonished an old cowhand lounging +on the porch by moving around to the horse's hindquarters, lifting up its +tail and planting a demure kiss on its asshole. + "What'd you do that for?" asked the cowhand, completely repulsed. + "Chapped lips," said the cowboy, heading for the saloon doors. + "Wait a minute," said the old guy. "Whaddaya mean, chapped lips?" + "Keeps ya from lickin' 'em," explained the cowboy. +% +This is a test of the emergency cunnilingus system. +If this had been an actual emergency, you would have known it! +% +This is National Smokers-Are-Shits Week. +% +This limerick is **SO**FILTHY** that it would offend you. +So I'll put in "di-dah" for the filthy words. + + Di-dah, di-dah, di-dah di-dah, + Di-dah di-dah di-dah, di-dah; + Di-dah di-dah di-dah? + Di-dah di-dah di-dah. + Di-dah di-dah, di-dah di-fuck. +% +This story concerns a man who, after putting his son to bed each night, would +stand by his boy's door and listen to his son saying his prayers. One night, +the boy ended his prayers with, "God specially bless Granddad, who won't be +with us much longer." The man thought this was rather curious, but passed it +off as childish whimsy. The next day, however, he received a call from his +mother, informing him that his father had passed away early that morning. +During the next few weeks, he listened particularly closely to his son's +prayers, but noticed nothing unusual. Then, one night, the boy ended his +prayers with, "God specially bless Grandmom, who won't be with us much longer." +Although the shock of the original incident had worn off during the intervening +weeks, he nonetheless phoned his mother to inquire as to her health. He went to +bed reassured, only to be awakened in the night by his sister calling with the +news that their mother had died suddenly in the night. The father had a series +of psychological tests done; nothing unusual was uncovered. About a month +later, the boy ended his prayers with, "God specially bless Daddy, who won't +be with us much longer." The man was panic-stricken, certain that he was +going to die during the night. He resolved to stay awake all night; if awake +and alert he should be able to prevent any tragedy. Morning came. Breathing +a huge sigh of relief, he went to get the paper off the porch. There, lying +dead on the doorstep, was the milkman. +% +This system goes down more often than a two-dollar whore. +% +This time it's for love; next time it's $100.00. +% +THORNY: + A thailor at thea. +% +Thou shalt not omit adultery. +% +Thought: + Girls get minks the same way minks get minks! +% +Three fine Irish lads, O'Rourke, O'Malley and O'Donnell, worked together at +the local brewery. One day, as fate would have it, O'Rourke fell into one +of the beer vats and drowned. O'Malley and O'Donnell, completely crestfallen, +had to break the news to his wife. + They went 'round the Widow O'Rourke's house and informed her that her +poor dear Patrick had drowned in a beer vat that very day. Choking back her +tears, she asked them "Tell me now, did me poor Patty suffer much?" + "I don't think so," replied O'Donnell. "He climbed out twice to take +a piss." +% +Three gay guys were discussing what they thought their favorite sport would +be. The first decides on football, 'cause of all those gorgeous guys bending +over in their tight pants. + "Definitely wrestling," sighs the second guy. "Those skimpy little +costumes, and think of the holds." + "Definitely baseball," says the third guy. "Why? Well, I'd be +pitching with the bases loaded, the batter would hit a savage one-hopper +right to me, I'd catch it, and I'd just stand there while the other guys +rounded the bases. Meanwhile, the crowd would be going crazy, screaming, +`Throw the ball, you cocksucker!' and that's what I like -- recognition!" +% +Three minutes of serious sex and I need eight hours of sleep and +a bowl of Wheaties. + -- Richard Pryor +% +Three things have been difficult to tame: The oceans, fools, +and women. We may soon be able to tame the ocean. Fools and +women will take a little longer. + -- Spiro Agnew +% +Three women always hang their laundry out in the backyard. When it rains, +however, the laundry always gets wet. All the laundry, that is, except +for Laurie's. Laurie never seems to have her laundry out when it rains. + So, one day, they are all out in the backyard putting their clothes +on the line when one of the women says to Laurie, "Laurie, how come when it +never rains when you have your laundry out?" + "Well," replies Laurie, "when I wake up in the morning, I check out +my husband Paul. If his penis is hanging over his right leg, I know it's +going to be a great day. If his penis is hanging over his left leg, I know +it might rain. I don't know why it works, but he's never been wrong!" + "Laurie, what if he has an erection?" asks the other woman. + "Honey, on a day like *that*, you don't do the *laundry." +% +Three young women were attending the same logic class given at one of the +better universities. During a lecture the professor stated that he was +going to test their ability at situation reasoning. + "Let us assume," said the prof, "that you are aboard a small craft +alone in the Pacific, and you spot a vessel approaching you with several +sex-starved sailors on board. What would you do in this situation to avoid +the problem?" + "I would attempt to turn my craft in the opposite direction and +flee," said the first girl. + "I would pass them, and hope that I could fend them off," responded +the second woman. + "Frankly," murmured the third woman, "I understand the situation, +but I fail to see the problem." +% +three-bag ugly, adj: + That's when you put one bag over her head, one bag over your + head in case her's falls off, and one over the dog's to keep + it from howling. + +four-bag ugly, adj: + When you leave a bag by the door in case someone drops by. +% +Through a major bureaucratic error, you are made county coroner. +You seriously consider the job because it gives you: + + 1: Lots of unclaimed wedding rings and watches. + 2: Lots of gold fillings and bridges. + 3: Free blood. + 4: A constantly changing array of new friends who aren't at + all stuffy about what happens to their genitalia. +% +Tim and I a hunting went +We found three damsels in a tent, +As they were three, and we were two, +I bucked one and Timbuktu. + -- the only known poem using the word "Timbuktu" +% +'Tis the dream of each programmer, +Before his life is done, +To write three lines of APL, +And make the damn things run. +% +To a Real Woman, every ejaculation is premature. +% +To be the kind of girl designed to be kissed between the thighs. +% +To win a woman in the first place one must please her, then undress her, and +then somehow get her clothes back on her. Finally, so she will allow you +to leave her, you've got to annoy her. + -- Jean Giraudoux, "Amphitryon 38" +% +Today is gonna be one helluva week! +% +Todays title: + Creative Violence in Sexual Relationships +% +Tonight's piss is tommorrow's Tang. + -- An American astronaut +% +tourist, n: + A pretty girl in Oklahoma. +% +Tourist to New Yorker: + "Pardon me, sir, do you know what time it is, or should I + just go fuck myself?" +% +transvestite, n: + Someone who likes to eat, drink, and be Mary. +% +Tri Delts; everyone else has. +% +TRUST: + Two cannibals having oral sex. +% +trust me: + Los Angeles for "Fuck you, your mother, and the horse + she rode in on." +% +T-shirt of the Day: + Head for the Mountains + -- courtesy Anheuser-Busch beer + +Followup T-shirt of the Day (on the same scenic background): + If you liked the mountains, head for the Busch! + -- courtesy someone else +% +T-shirt of the Day: + + See Dick Drink... + See Dick Drive... + See Dick Die. + DON'T BE A DICK. +% +T-shirt of the Week: + I'm not excited, I'm cold! +% +'Twas orgy, and the hip and mod +Did groove and trip out at the pad: "Beware the Radcliff girl, my son! +All whimsy were the slamming chicks, The looks that mell, the claws that +And the Radcliffe undergrad. catch! + Beware the Byrn Mawr deb, and shun +He took his venerable staff in hand: The uppity Wellesleysnatch!" +Long time the cool young stuff he + sought -- And as in raffish thought he sprawled, +So rested he among the spree The Radcliffe girl, no idle flirt, +And paused to smoke some pot. Crept past the hippies getting balled + And doffed her miniskirt. +One, two! One, two! And through + and through "And hast thou laid the Radcliffe girl? +The venerable staff went snicker-snack! Come to my arms, my horny boy! +He left her bred, sans maidenhead, O spaced-out day! Calooh! Callay!" +And went galumphing back. He cackled in his joy. + +'Twas orgy, and the hip and mod +Did groove and trip out at the pad: +All whimsy were the slamming chicks, +And the Radcliffe undergrad. +% +Twenty years of romance make a woman look like a ruin; but +twenty years of marriage make her something like a public building. + -- Wilde +% +Two friends, an Italian boy and a Jewish boy, come of age at the same time. +The Italian boy's father presents him with a brand-new pistol. On the other +side of town, at his Bar Mitzvah, the Jewish boy receives a beautiful gold +watch. + The next day, in school, the two boys are showing each other what +they got. It turns out that each boy likes the other's present better, and +so they trade. + That night, the Italian boy is at home and his father sees him +looking at his new watch. "Where did you getta thatta watch?" he asks. + The boy explains the trade, and the father blows his top. "Whatta +you? Stupidda boy? Whatsa matta you!" + "Somma day, you maybe gonna getta married. Then maybe somma day +you gonna comma home and finda you wife inna bed with another man. Whatta +you gonna do then? Looka atta you watch and say, `How longa you gonna be?'" +% +Two gentlemen met at the club after a long absence and talked. + "Did you hear about Chumley?", one asked. + "No, old man, what about him?" + "Last seen in Africa, you know." + "No, I didn't." + "Yes. Appalling. Ran off with a gorilla. Fallen in love." + "Queer." + "Not Chumley. Female gorilla." +% +Two golfers were being held up as the twosome of women in front of them +whiffed shots, hunted for lost balls and stood over putts for what seemed +like hours. + "I'll ask if we can play through," Bill said as he strode toward +the women. Twenty yards from the green, however, he turned on his heel +and went back to where his companion was waiting. + "Can't do it," he explained, sheepishly. "One of them's my wife +and the other's my mistress!" + "I'll ask," said Jim. He started off, only to turn and come back +before reaching the green. + "What's wrong?" Bill asked. + "Small world, isn't it?" +% +Two men and a woman were stranded on a desert island - + +Two weeks later, the woman was so ashamed of what she +had been doing, she committed suicide. + +Two weeks later, the men were so ashamed of what they +had been doing, they buried her. + +Two weeks later, the men were so ashamed of what they +had been doing, they dug her back up. +% +Two men, both close to retirement, are working on the assembly line. One +boasts to the other, "Last night I made love to my wife *three* times!" + "Three times!", replies his friend. "How did you do it?" + "Well," says the first man, "I made love to my wife and set the +alarm clock for two hours later. When it went off we made love again. +Then, I reset it for the morning and we made love once more before I came +to work. I feel like a bull!" + His friend says, "Well, that *is* fantastic! I'm going to have +to give it a try." So, he goes home that night and makes love to his +wife. Figuring he doesn't need to set the alarm clock, he settles off +to sleep. Waking up a few hours later, he nudges his wife and they make love +again. Waking up in the morning he makes love to his wife for the third +time. Looking over at the clock he realizes that he's twenty minutes late +for work. He throws on his clothes and runs down to the subway. When +he gets to the factory his boss is standing there waiting. + "Frank", he says, "I've been working for you for 18 years, and I've +never been late before. You've got to forgive me twenty minutes this once!" + "Well," replies his boss, "okay, but it's not the twenty minutes +that had me worried. Where were you Tuesday, where were you Wednesday..." +% +Two men were standing around talking while nearby a large German Shepherd +lay licking his balls. One man says to the other, "Damn, I wish I could +do that." + The other man replies, "Well, it's okay by me, but I think you +ought to get to know him a little first." +% +Two midgets arrived at the convent door and asked to speak with the Mother +Superior. Led into her office, the first one asked respectfully "Excuse +me, your holiness, but are there any midget nuns in this convent?" + Receiving a reply to the negative, he asked whether any midget +nuns were to be found in any of the neighboring parish. Again the reply +was no. + The tiny man scratched his head and posed a final question. "Beggin' +your pardon, Mother Superior, but would you know of *any* midget nuns at +all, anywhere?" The nun shook her head. + At which the first midget turned to the second midget, put his hand +on his shoulder, and said, "You see, I told you you fucked a penguin!" +% +Two nuns, a mother superior and a new nun, are walking home one night from +church when they are attacked by two vicious rapists. The two men drag the +nuns off into the bushes and proceed to have their way with them. The mother +superior is very afraid, but she knows that God will protect her. To show her +strength and trust in God she yells out "Forgive him Father, for he knows not +what he does!" + To which the young nun replies "Oooooh, mine does!!" +% +Two old men are walking down the boardwalk when one of them tells the other +that he has to leave, his wife is expecting him to come home and make love +with her. + The other man is astonished. "Make love to your wife? You're as old +as I am! Nearly eighty years old! What do you mean you have to go home and +make love to your wife?" + The first man smiles and says, "We have a *great* sex life. We make +love every day." + "You're kidding!" says his friend. "How do you do it?" + "Pumpernickel bread. That's the secret." And he dashes off home. + The other man starts to walk home. "Hmmm," he thinks to himself +pumpernickel bread. Well, it's worth a try." So he goes into a nearby +bakery. + Going up to the woman at the counter, he asks for their entire stock +of pumpernickel bread. The woman stares at him in astonishment. "You want +all the pumpernickel bread we have? Are you sure? Don't you know that it +will get hard?" + "How come," demands the man, "everybody knows about this but me?" +% +Two Peace Corp. doctors who had just returned to a stateside hospital +were in front of the main desk in the midst of a heated argument that +went along these lines: + (1st doctor) "No, no, no! It's 'waaaahmmmb'" + (2nd doctor) "No you're wrong! It's 'woooooommmb'" +and this continued for quite sometime. + Finally a nurse stepped in and said: "The correct pronunciation is +'womb'" and trotted off. + (1st doctor) "That shows you what she knows." + (2nd doctor) "Yeah. I bet she's never even SEEN a hippopotamus, +let alone heard one fart underwater." +% +Two pirates are sitting in a seaside tavern, talking. One of them has a +hook instead of a hand, and an eye patch. The other pirate has a wooden +leg. Over a few beers, they start to tell each other how they received their +injuries. + "One day," says the first pirate, "we had pulled alongside a merchant +vessel and were boarding her. I had my sword drawn when suddenly a man with +a saber caught me by surprise and cut my hand off. So I had this hook put +on. How did you lose your leg?" + "From a broadside of grapeshot from an English military vessel, in a +terrific battle off the coast of France. And how about your eye?" + "Well, I don't really like to talk about it," said the first pirate. + "Come on," says the second pirate. "It doesn't matter after all +these years, does it?" + "Oh, okay," says the first pirate. "See, it's pretty embarrassing; +a seagull shit in my eye." + "A seagull!? I can see how that would hurt, but I don't see why +you would *lose* the eye..." + "But," the first pirate says, "it was my first day with the hook." +% +Two recent emigrants to the United States, on their first day off the boat +in New York City, spied a hotdog vendor. "Do they eat dogs in America?" +one asked his companion. + "I don't know." + "Well, if we're going to live in America, we have to learn to eat +American foods." + So they each bought a wax paper wrapped hotdog and sat down to eat +them on a nearby park bench. One man looked inside his wax paper, then over +at the other man, and asked, "So, what part did you get?" +% +Two women are talking; one says to the other, "Say, weren't you dating that +cute French horn player? What ever happened to him?" + "Well," replies her friend, we're still seeing each other, but, +I must admit, we've had some problems." + "Problems? What's wrong?" + "You see," says the second woman, "every time he kisses me, he +wants to shove his fist up my ass." +% +Two young men seated in a restaurant were watching a customer busily +disposing of a plate of oysters on the half shell. One of the young +men remarked to his friend, + "Did you ever hear that business about raw oysters being +good for a man's virility?" + "Yes, why?" the friend replied. + "Well, take it from me, that's a lot of foolishness. I ate a +dozen of them the other night, and only nine worked." +% +Uncle Sam comes off as the perverted relative who'll offer you a +bit of candy, but if you won't bend over for him, you get a beating. +% +Unfair animal names: + +-- tsetse fly -- bullhead +-- booby -- duck-billed platypus +-- sapsucker -- Clarence + -- Gary Larson +% +Unitarians pray "To whom it may concern". +% +Unix programmers do it with pipes. +% +Upon leaving a hotel bar one evening, an executive noticed a drunk sitting +on the edge of a potted palm in the lobby, crying like a baby. Because he'd +had a couple himself that night, and was feeling rather sorry for his fellow +man, he asked the inebriated one what the trouble was. + "I did a terrible thing tonight," sniffled the drunk. "I sold my +wife to a guy for a bottle of Scotch." + "That is terrible," said the man, too much under the weather to +muster any real indignation. "And now that she's gone, you wish you had her +back." + "Thas right," said the drunk, still sniffling. + "You're sorry you sold her, because you realize too late that you +love her," sympathized the executive. + "No, no," said the drunk. "I wish I had her back because I'm +thirsty again." +% +U.S. of A.: + "Don't speak to the bus driver." +Germany: + "It is strictly forbidden for passengers to speak to the driver." +England: + "You are requested to refrain from speaking to the driver." +Scotland: + "What have you got to gain by speaking to the driver?" +Italy: + "Don't answer the driver." +% +Useful Farsi phrases for Americans traveling to Iran: + +AKBAR KHALI-KILI HAFTIR LOTFAN. + Thank you for showing me your marvelous gun. + +FEKR GABUL CARDAN DAVAT PAEH GUSH DIVAR. + I am delighted to accept your kind invitation to lie down + on the floor with my arms above my head and my legs apart. + +SHOMAEH FEKR TAMOMEH QEH GOFTEH BANDE. + I agree with everything you have ever said or thought in your life. +% +Useful Farsi phrases for Americans traveling to Iran: + +AUTO ARRAREGH DAVATEMAN MANO SEPAHEH-HAST. + It is exceptionally kind of you to allow me to + travel in the trunk of your car. + +FASHAL-EH TUPEHMAN NA DEGAT MANO +GOFTAM CHEESHAYEH MOHEMA RAJEBEH KESHVAREHMAN. + If you will do me the kindness of not harming my genital + appendages I will gladly reciprocate by betraying my + country in public. + +KHREL, JEPAHEH MANEH VA JAYEH AMRIKAHEY. + I will tell you the names and addresses of + many American spies traveling as reporters. +% +Useful Farsi phrases for Americans traveling to Iran: + +MAMNOUNAN GHORBAN IN DAFAYEH MEEMUNAM. + It is with greatest pleasure that I sign + this confession of capital crimes. + +MATERNIER GHERMEZ AHLIEH, GHORBAN. + The red blindfold would be lovely, excellency. + +TIKEH NUNEH BA OB KHRELEH BEZORG VA KHRUBE BOYAST INO BEGERAM. + The water-soaked bread crumbs are delicious, thank you. + I must have the recipe. + +ETEHFOR'AN, DEHRATEE, OTAGEH SHOMA MIKRASTAM KHE +DO HAFTAEH BA BODANEH SHEEREEL TEEGZ. + Truly, I would rather be a hostage to your greatly esteemed + self than spend a fortnight upon the person of Cheryl Tiegs. +% +USENET is like a herd of performing elephants with diarrhea -- +massive, difficult to redirect, awe-inspiring, entertaining, and +a source of mind-boggling amounts of excrement when you least +expect it. + -- Gene Spafford +% +User friendly software searching for friendly Hardware to interface with. +Hardware may present itself in floppy format as software has capability to +upgrading same to full size firm. Size is not all that important; but byte +sized bandwidth required -- header width is of more concern. Joystick should +be able to toggle in different speeds and for some duration. Software is +looking for system willing to perform intensive manipulation of keyboard as +well as preparing the mainframe and disk drives. Fingering of all files +permitted, and encouraged, before thrusting joystick into drive. Software +is programmed not to copy; there is no need for removing joystick before +completed execution of program. Program may be run several times per day... +especially if special features and options are utilized. +% +vagina, n: + The box a penis comes in. +% +vaginal lubricant, n: + A slitty slicker. +% +Vandalism On The Upswing! + Last night, windows were broken and graffiti was sprayed over the + front of the local sex shop, Le Sex Boutique, causing several hundred + dollars in damage. In a later anonymous phone call, the provisional + wing of the Salvation Army claimed responsibility. +% +Vatican upholds ban on contraceptives: "To heir is humane," claims the Pope. +% +Vd, n: + The gift that keeps on giving. +% +Very few modern women either like or desire marriage, especially after the +ceremony has been performed. Primarily women wish attention and affection. +Matrimony is something they accept when there is no alternative. Really, +it is a waste of time, and hazardous, to marry them. It leaves one open +to a rival. Husbands, good or bad, always have rivals. Lovers, never. + -- Helen Lawrenson, "Esquire" +% +Vidi, vici, veni. +(I saw, I conquered, I came.) +% +Viennese Oyster: Lady who can cross her feet behind her head, lying on her +back, of course. When she has done so, you hold her tightly round each instep +with your full hand and squeeze, lying on her full-length. Don't try to put +an unsupple partner into this position -- it can't be achieved by brute force. +You can get a very similar sensation -- unique rocking pelvic movement -- with +less expertise if she crosses her ankles on her tummy, knees to shoulders, and +you lie on her crossed ankles with your full weight. Why "Viennese" we don't +know. Tolerable for short periods only but gives tremendous genital pressure +for both. + -- The Joy of Sex +% +virgin, n: + An ugly third grader. +% +Virginity is a bubble on the sea of life, +which takes but one prick to break. + -- Jordan Sand +% +VIRGO (Aug. 23 to Sep. 22) + Get it in writing. Be careful. You are surrounded by lechers and + assholes; birds of a feather flock together. Trust no one. People + will not be offended, because they've come to recognize you for the + paranoid neurotic that you are. Your dentures are loose. +% +Visiting a lawyer for advice, the wife said, "I want you to help me obtain a +divorce. My husband is getting a little queer to sleep with." + What do you mean?" asked the attorney. "Does he force you to indulge +in unusual sex practices?" + "No, he doesn't," replied the woman, "and neither does the little +queer." +% +VYARZERZOMANIMORORSEZASSEZANSERAREORSES? +% +W. Lafayette may not be the asshole of the universe... + but you sure as hell can see it from there! +% +Waldheimers disease is what you have when you can't remember you were a Nazi. +% +War is menstruation envy. +% +Was it you that did the pushin', +Left the stains upon the cushion, +The footprints on the dashboard upside-down? +Was it you, you little pecker, +That got into my Rebecca, +If you did, you'd better leave this town! + +Yes, 'twas I that did the pushin', +Left the stains upon the cushion, +Footprints on the dashboard upside-down. +But since I stuck your daughter, +I've had trouble passin' water, +So I guess we're kind of even all around! +% +wasp, n: + Someone who gets out of the shower to take a piss. +% +Watch out for a cold wave this week. (Or maybe a warm WAC.) +% +Watching girls go passing by +It ain't the latest thing +I'm just standing in a doorway +I'm just trying to make some sense +Out of these girls passing by A smile relieves the heart that grieves +The tales they tell of men Remember what I said +I'm not waiting on a lady I'm not waiting on a lady +I'm just waiting on a friend I'm just waiting on a friend +... +Don't need a whore +Don't need no booze +Don't need a virgin priest Ooh, making love and breaking hearts +But I need someone I can cry to It is a game for youth +I need someone to protect But I'm not waiting on a lady + I'm just waiting on a friend + I'm just waiting on a friend + -- Rolling Stones, "Waiting on a Friend" +% +Water? Never touch the stuff! Fish fuck in it. + -- W.C. Fields +% +We ... make the modern error of dignifying the Individual. We do everything +we can to butter him up. We give him a name, assure him that he has certain +inalienable rights, educate him, let him pass on his name to his brats and +when he dies we give him a special hole in the ground ... But after all, he's +only a seed, a bloom and a withering stalk among pressing billions. Your +Individual is a pretty disgusting, vain, lewd little bastard ... By God, +he has only one right guaranteed him in Nature, and that is the right to die +and stink to Heaven. + -- Ross Lockridge, quoted in "Short Lives" by Katinka Matson +% +We Americans, we're a simple people... but piss us off, and we'll bomb +your cities. + -- Robin Williams +% +We are upping our standards ... so up yours. + -- Pat Paulsen for President +% +We aren't what we eat. We are what we don't shit. + -- Hugh Romney +% +We boggies are a hairy folk Ever hungry, ever thirsting, +Who like to eat until we choke. Never stop till belly's bursting. +Loving all like friend and brother, Chewing chop and pork and muttons, +And hardly ever eat each other. A merry race of boring gluttons. + +Sing: GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE. + +Boggies gather 'round the table, Anything edible, we've got dibs on, +Eat as much as you are able. And hope we all die with our bibs on. +Gorge yourselves from moon till noon Ever gay, we'll never grow up, +(Don't forget your plate and spoon.) Come! And sing and play and throw-up! + +Sing: GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE, GOBBLE! + -- Bored of the Rings, "The Hobbits National Anthem" +% +We call our dog Egypt, because in every room he leaves a pyramid. +% +We came, we saw, we kicked its ass! + -- Bill Murray, "Ghostbusters" +% +We don't have to protect the environment -- the Second Coming is at hand. + -- James Watt, noted ecologist +% +We drove to the hotel and said goodbye. How hypocritical to go upstairs +with a man you don't want to fuck, leave the one you do sitting there alone, +and then, in a state of great excitement, fuck the one you don't want to +fuck while pretending he's the one you do. That's called fidelity. That's +called civilization and its discontents. + -- Erica Jong, "Fear of Flying" +% +We have reason to believe that man first walked upright to free +his hands for masturbation. + -- Lily Tomlin +% +We must! We must! +We must increase our bust! +The bigger the better! +The tighter the sweater! +And the boys will think more of us! +% +We took some pictures of the girls, but they weren't developed. + -- Groucho Marx +% +We will follow Zarathustra, We will worship like the Druids, +Zarathustra like we use to, Dancing naked in the woods, +I'm a Zarathustra booster, Drinking strange fermented fluids, +And he's good enough for me! And it's good enough for me! +(chorus) (chorus) + +In the church of Aphrodite, +The priestess wears a see through nightie, +She's a mighty righteous sightie, +And she's good enough for me! +(chorus) + +CHORUS: Give me that old time religion, + Give me that old time religion, + Give me that old time religion, + 'Cause it's good enough for me! +% +Welcome back, my friends, to the show that never ends! +We're so glad you could attend, come inside, come inside! +There behind the glass there's a real blade of grass, +Be careful as you pass, move along, move along. +Come inside, the show's about to start, +Guaranteed to blow your head apart. +Rest assured, you'll get your money's worth, +Greatest show, in heaven, hell or earth! +You gotta see the show! It's a dynamo! +You gotta see the show! It's rock 'n' roll! + -- ELP, "Karn Evil 9" (1st Impression, Part 2) +% +Welcome to Fortune Blackmail!! + Ms. Kat****** Bl****an is the mistress of a well-known + banker in Houston, Texas. That's $5000, please, to stop + us from revealing both of your names, Mr. L*****, so that + your wife Doreen, and your lovely children Diane, Janice + and Tom need never know the name of your mistress. You + have two days to reach us at: + + Fortune Blackmail + Behind the hot water pipes, + Third stall from the end, + Greyhound Bus Terminal, Fayette MO. +% +Welcome to Fortune Blackmail!! + This is the first of a series of revelations which could + add up to a divorce, premature retirement and possible + criminal proceedings for a company vice-president in Langley Virginia. + So, Mr. S*****, $10,000 please to stop us from revealing: + 1: Whose shoulders you were sitting on. + 2: What you were doing. + 3: The names of the three people involved. + 4: The youth organization to which they belonged. + 5: The shop where you bought the equipment. +% +Well, actually, I don't mind going to weddings or anything, as long as they're +not my own, I show up, but uh, I've always kinda been partial to callin' myself +up on the phone, asking myself out, y'know, yeah, one thing about it, you're +always around. Yeah, I know, yeah, you ask yourself out, y'know, some class +joint somewhere, the Burrito King, or somethin', y'know, well, I ain't cheap +y'know. Take yourself out for a coupla drinks, mebbe, then you eat, some +provocative conversation on the way home, and uh, park in front of the house, +y'know, and you, oh yeah, you smoo with yourself, put a little nice music on, +mebbe you put on like, uh, y'know, like shoppin' music, something that's not +too interruptive, y'know, and then uh, y'know, slide over real nice, and say, +"Oh, I think you have something in your eye", well, maybe it's not that +romantic with you, but I don't, y'know, I get into it, y'know, I take myself +up to the porch, and uh, take myself inside, maybe, oh, I might get a little +something in a brandy snifter, "Would you like to listen to some of my back +records, I got something here...", well, usually, about two-thirty in the +morning, you've ended up takin' advantage of yourself, and there ain't no way +around that, y'know, yeah, makin' the scene with a magazine, ain't no way +around it. I'll confess, y'know, I'm no different, y'know, I'm not weird +about it or anything, I don't tie myself up first, I just, I just kinda +spend a little time with myself. + -- Tom Waits, "Nighthawks at the Diner" +% +Well, God gave me a bust. What am I supposed to do with it? + -- Martha Mitchell +% +Well, he went down to dinner in his Sunday best, +Excitable boy, they all said! +And he rubbed the pot roast all over his chest, +Excitable boy, they all said! (Well, he's just an excitable boy.) + +He took in the 4am show at the Clark, +Excitable boy, they all said! +And he bit the usherette's leg in the dark, +Excitable boy, they all said! (Well, he's just an excitable boy.) + +He took little Susie to the junior prom, +Excitable boy, they all said! +And he raped her and killed her, then he took her home, +Excitable boy, they all said! (Well, he's just an excitable boy!) + +After ten long years they let him out of the home, +Excitable boy, they all said! +And he dug up her grave and built a cage with her bones, +Excitable boy, they all said! (Well, he's just an excitable boy.) + -- Warren Zevon, "Excitable Boy" +% +Well, I don't know where they come from but they sure do come, +I hope they comin' for me! +And I don't know how they do it but they sure do it good, +I hope they doin' it for free! +They give me cat scratch fever... cat scratch fever! +First time that I got it I was just ten years old, +Got it from the kitty next door... +I went to see the doctor and he gave me the cure, +I think I got it some more! +Got a bad scratch fever... + -- Ted Nugent, "Cat Scratch Fever" +% +Well, I went to a party, and what did they do? +They took off their socks and they took off their shoes. +They took off their shirts, and they took off their pants, +I had a hunch, we weren't gonna dance. + +Everybody, everybody's ass was bare, +No bras left, just a queer over there. +But the whole damn thing didn't faze me a bit; +I just jumped on the pile and grabbed some tit. + +My baby's not a sports fan, +But she plays with balls whenever she can. +'Cause her favorite sport you see, +Is playing tonsil hockey. +[chorus] + Eat, bite, fuck, suck, gobble, nibble, chew; + Nipple, bosom, hair pie, finger fuck, screw. + Moose piss, cat pud, orangutan tit; + Sheep pussy, camel crack, pig-lie-in-shit. + -- Doctor Dirty, "The Eat-Bite Song" +% +Well, I'd left home just a week before, +And I'd never ever kissed a woman before, +But Lola smiled and took me by the hand, +And said 'Little boy, gonna make you a man!' +Well, I'm not the world's most masculine man, +But I know what I am and I'm glad I'm a man and so's Lola. +La, la, la, la-Lola... la, la, la, la-Lola... Lola. + -- The Kinks +% +Well, it seems that there was this traveling saleswoman whose car broke +down, late at night, in the middle of a torrential downpour. Hoping to +find a phone she ran to a nearby farmhouse. When she was unable to find +a garage still open, the farmer told her that, while they were short of +beds, she could sleep with his daughter. The daughter proved to eighteen +and beautiful. So they went to bed, and shortly afterward, the saleswoman +rolled over toward the daughter and said, "Dear, I'm sure that you're aware +that some women like... to be with... other women. Let me be frank..." + "No!" interrupted the daughter, sternly. "This time *I* want to +be Frank!" +% +"Well, madam," the bishop declared, +While the vicar just mumbled and stared, + "'Twere better, perhaps, + In the crypt or the apse, +Because sex in the nave must be shared." +% +Well, now that SUN's in bed with AT&T, I sure hope she sleeps with her +back to the wall. + -- Guy Harris, on AT&T buying 20% of SUN Microsystems + +Eat shit and die. Strong memo to follow. + -- Mike O'Dell, on AT&T buying 20% of SUN Microsystems +% +Well, see, I was out with this chick last night, and we were in bed, and +she groaned to me, "Give me nine inches, and make it hurt!" So, I fucked +her twice and slapped her. +% +Well, see, Joyce, there we were, trapped in the elevator. Now, I had +my tennis racquet and the goldfish; she was holding the Crisco. Surely +you can imagine how one thing naturally led to another! +% +Well, you almost got it right. The only problem is, you're doing it exactly +backwards! Just reverse the motions you described and your partner will +experience an incredibly intense orgasm. One trouble with this technique, +though, is that it works so well. Believe me, word will get around about +your newfound prowess and you'll be inundated by prospective sexual partners. +So try to be discreet. I prefer maple syrup to pineapple/apricot lotion, but +that's a matter of personal preference. Also, I'd advise against the syrup, +or using honey, if you're outside, because the insects it attracts tend to +distract the quail. You can substitute crazy glue (but obviously not thumb +tacks!) for the masking tape, but only if you don't want to use the piano for +awhile. +% +Well, you got your mules and you got your racehorses, and you can kick +a mule in the ass all you want, and he's still not gonna be a racehorse. + -- Billy Martin, "Esquire", May, 1984 +% +Well, you see, it's such a transitional creature. It's a piss-poor reptile +and not very much of a bird. + -- Melvin Konner, from "The Tangled Wing", quoting a + zoologist who has studied the Archaeopteryx and found it + "very much like people". +% +Well, you see there was this neighborhood that had a priest, a minister, and +a rabbi who lived near each other. One summer afternoon the priest went out +and bought himself a new car, and the minister and rabbi, not to be outdone, +did the same. + The next day the priest went out and blessed his car. The minister +hired a crane and baptized his car in a swimming pool. The rabbi, after +thinking seriously for a bit, got a hacksaw and cut three inches off the end +of the tail pipe. +% +We're all looking for a woman who can sit in a mini-skirt and talk +philosophy, executing both with confidence and style. +% +Were it not for imagination, sir, a man would be as happy in the arms +of a chambermaid as a duchess. + -- Dr. Johnson +% +wet dream, n: + Overnight sensation. +% +We've all heard about the woman who married a Field Service engineer but +divorced him after one day because he'd done nothing on their wedding night +but promise to have it up in 15 minutes. What few people realize is that the +poor man was in the bathroom all night, masturbating furiously, muttering +"I just don't understand, it passes all the diagnostics!" +% +"We've got things well in hand." + -- Master Byte Software, Los Gatos California. +% +We've just received the results of a survey conducted to ascertain the +various reasons men get out of bed in the middle of the night. According +to the report, 2% are motivated by a desire to visit the bathroom, and +3% have an urge to raid the refrigerator. The other 95% get up to go home. +% +What a man enjoys most about a woman's clothes are his fantasies of how +she would look without them. + -- Brendan Francis +% +What creatures of habit we are. This morning, without thinking, half asleep, +I put $100 on my pillow. That's not so bad, no one would worry about it, but +my wife, half asleep, without thinking, gave me $20 change. +% +What did Snow white say when told she was pregnant? + "I'd like to thank all the little people who made this possible..." + +Presumably this all started that evening when she was feeling Happy... +% +What do hookers do on their nights off, type? + -- Elayn Boosler +% +What do you call someone with herpes, AIDS, syphilis, and gonorrhea? +An incurable romantic. +% +What is a promiscuous person -- it's usually someone who is getting more +sex than you are. + -- Victor Lownes, quoted in "In and Out: Debrett 1980-81", + by N. Mackwood +% +What the fuck, over? +% +What the hell, go ahead and put all your eggs in one basket. +% +What this department needs is a really good inflatable doll. +% +What with chromodynamics and electroweak too +Our Standardized Model should please even you, +Tho' once you did say that of charm there was none +It took courage to switch as to say Earth moves not Sun. +Yet your state of the union penultimate large +Is the last known haunt of the Fractional Charge, +And as you surf in the hot tub with sourdough roll +Please ponder the passing of your sole Monopole. +Your Olympics were fun, you should bring them all back +For transsexual tennis or Anamalon Track, +But Hollywood movies remain sinfully crude +Whether seen on the telly or Remotely Viewed. +Now fasten your sunbelts, for you've done it once more, +You said it in Leipzig of the thing we adore, +That you've built an incredible crystalline sphere +Whose German attendants spread trembling and fear +Of the death of our theory by Particle Zeta +Which I'll bet is not there say your article, later. + -- Sheldon Glashow, Physics Today, December, 1984 +% +What you mean, how old am I? About one hundred! But Viennese answer is +better: we say, "I keep passing the open windows." This is an old joke. +There was a street clown called King of the Mice: he trained rodents, he +did horoscopes, he could impersonate Napoleon, he could make dogs fart +on command. One night he jumped out his window with all his pets in a box. +Written on the box was this: "Life is serious, but art is fun!" I hear his +funeral was a party. A street artist had killed himself. Nobody had +supported him but now everybody missed him. Now who would make the dogs +make music and the mice pant? The bear knows this, too: it is hard work +and great art to make life not so serious. + -- John Irving "The Hotel New Hampshire" +% +Whatever you say about pornography, sex is here to stay. +% +What's on the floor of the old hen-house? +Doo-doo, doo-doo. + -- Foghorn Leghorn, to "Camptown Ladies" +% +What's the worst thing about being an atheist? +No one to talk to when you're having an orgasm. +% +When a girl admits she's had a checkered career, it's your move. +% +When a man grows old and his balls + grow cold, So find me a seat and stand me a drink +And the end of his knob turns blue; And a tale to you I'll tell +When it's bent in the middle like a Of Dead-eye Dick and Mexican Pete + one-string fiddle, And the gentle Eskimo Nell. +He can tell a tale or two. + +When Dead-eye Dick and Mexican Pete +Go out in search of fun, And when Dead-eye Dick and Mexican Pete +It's usually Dick who wields the prick Are sore, depressed, and mad, +And Mexican Pete the gun. 'Tis the cunt that bears the brunt + So the shooting ain't so bad. +There was rarely a day without a lay +And usually two or three Now Dead-eye Dick and Mexican Pete +For Dead-eye Dick, his kingly prick Had been hunting in Deadman's creek. +Was always like a tree. And they'd had no luck in the way of + a fuck +Just a moose or two and a caribou, For nigh on half a week. +And a bison cow or so; +And for Dead-eye Dick with his kingly prick +This fucking was mighty slow. + -- The Ballad of Eskimo Nell +% +When better women are made, computer programmers will make them. +% +When ev'rybody's tryin' to sleep, +I'm somewhere makin' my midnight creep. Chorus: +In the mornin' the rooster crow, I am a back door man, +Somethin' tells me I got to go. I am a back door man, + Well, the men don't know, +They take me to the doctor, But the little girls understand. + shot full of holes, +Nurse try to save a soul. +Killed her for murder first degree, +Judge what tried let the man go free. + +Stand up, cop's wife cried, don't take him down, +Rather be dead six feet in the ground. +When you come home, you can eat pork and beans, +I eats more chicken than any man's seen. + -- Willie Dixon, "Backdoor Man", 1961 +% +When he tried to inject his huge whanger +A young man aroused his girl's anger. + As they strove in the dark + She was heard to remark, +"What you need is a zeppelin hanger." +% +When his company fell on hard times, the boss realized that he'd have to +lay off one of his two middle managers. As both Jack and Liz were equally +honest and dedicated to their jobs, he was unable to decide which one to +fire. To resolve his dilemma, the boss arbitrarily decided that the first +to leave his or her desk the next morning would be the one to get the ax. + The next morning found Liz at her desk, rubbing her temples. Asking +Jack for some aspirin, she headed for the water fountain and that's where +the boss caught up with her. "I've got some bad news for you, Liz," he said. +"I've got to lay you or Jack off." + "Jack off," she snapped. "I have a headache." +% +When I need something +To help me unwind +I find a six-foot baby What kind of guy +With a one-track mind Does a lot for me +Smart guys are nowhere Superman +They make demands With a lobotomy +Give me a moron My father's out of Harvard +With talented hands My brother's out of Yale +I go bar-hopping Well the guy I took home last night +And they say "Last call" Just got out of jail +I start shopping The way he grabbed and threw me +For a Neanderthal Oooo, it really got me hot + But the way he growled and bit me +The bigger they come I hoped he had his shots +The harder I fall +In love till we're done The bigger they are +Then they're out in the hall The harder they'll work + I got a soft spot + For a good-looking jerk + -- Julie Brown, "I Like 'Em Big and Stupid" +% +When I was eight years old I came home with tears in my eyes because some +kids had stolen my samwich. My father handed me an ice pick, and said, +"Next time, hit 'em first and hit 'em hard." + -- Jake LaMotta + +You can't go into the ring and be a nice guy. I would go a month, two +months, without having sex. It worked for me because it made me a +vicious animal. You can't fight if you have any compassion or anything +like that. + -- Jake LaMotta +% +When in calling, plain speaking is out; +When the ladies (God bless 'em) are milling about, +You may wet, make water, or empty the glass; +You can powder your nose, or the "johnny" will pass. +It's a drain for the lily, or man about dog +When everyone's drunk, it's condensing the fog; +But sure as the devil, that word with a hiss +It's only in Shakespeare that characters ____. + -- Ogden Nash +% +When it all boils down to the essence of truth one must live by +a dog's rule of life: If you can't eat it or fuck it, piss on it! +% +When Snow White turns on with the dwarfs she probably winds up feeling Dopey. +% +When somebody protested at [Pope Alexander VI's] wholesale distribution of +pardons for the most heinous crimes -- one of which included the murder of +a daughter by the father -- he retorted easily, "It is not God's will that +a sinner should die, but that he should live -- and pay." + -- E.R. Chamberlin, "The Bad Popes" + +Judas sold Christ for 30 denari, this man [Pope Alexander VI] would sell +him for 29. + -- Ottaviano Ubaldini, chamberlain to Pope Alexander VI +% +When the candles are out all women are fair. + -- Plutarch +% +When the naive young lady asked the clerk in Le Sex Shoppe to show her his +selection of vibrators, he brought out the two most popular ones. + "The basic white plastic one here is twenty dollars," the clerk said. +"The flesh-toned rubber models are thirty." + "I'm just not sure," the woman said, Then she noticed an eye-catching +item on the back shelf. "How much is that plaid one over there? + "Uh, well, that's a pretty special one," said the clerk. "I couldn't +sell you that one for less than a hundred." + "I'll take it." + Later that day, the store owner checked in to see how business was +going. "Great," the clerk told him. "This morning, I sold four white +vibrators and three flesh-toned ones. And, this afternoon, I got a hundred +bucks for my Thermos." +% +When the prick stands up, the brains get buried in the ground. + -- Old Jewish saying + +[How come there aren't ever any "New Jewish sayings?" Ed.] +% +When the shit hits the fan, keep your mouth shut! +% +When they tell me to stick it where +the sun don't shine, I put it in Oregon. +% +When things go wrong as they usually will, +And your daily road seems all uphill, +When funds are low and debts are high, +When you try to smile, but can only cry -- +And you really feel you'd like to quit, +Don't talk to me; I don't give a shit. +% +When you and I are far apart +Can sorrow break your tender heart? +I love you darling, yes I do; +Sleep is so sweet when I dream of you; +All you are is a blossoming rose. +Night is here so I must close. +With care read the first word of each line. +You will find a question of mine. + -- Yours hopefully, The VAX. +% +When you're lying on the bed, +And the thought is in your head, +But the feeling is way down between your legs, +Take your problem in your hand, +And beat it to the band, +And try your best to keep it off the walls. + +Don't let your lover tell you, +Don't let anybody sell you, +That the joy of masturbation is a crime. +For I've rid myself of fears, +(I've been doing it for years) +And now I have an erection all the time. +% +Whenever someone tells you to "take it like a man" it usually means +up your ass. +% +"Where'd she get those crow's feet? You really want to know?" +"Yeah." +"From squinting and screaming, "Suck what!?" +% +Which of the following doesn't belong? + a. meat + b. eggs + c. drum + d. blowjob. + +Answer: + d: A blowjob, because you can beat your meat, your eggs, + or your drum, but you just can't beat a blowjob. +% +While away at a convention, an executive happened to meet a young woman who +was pretty, chic, and intelligent. When he persuaded her to disrobe in his +hotel room, he found out she had a superb body as well. Unfortunately, as +will happen, the executive sadly found himself unable to perform. + On his first night home, the executive padded naked from the shower +into the bedroom to find his wife swathed in a rumpled bathrobe, her hair +curled, her face creamed, munching candy loudly as she pored through a movie +magazine. And then, without warning, he felt the onset of a magnificent +erection. + Looking down at his throbbing member, he snarled, "Why you ungrateful, +mixed-up, son-of-a-bitch! Now I know why they call you a prick!" +% +While farmers generally allow one rooster for ten hens, ten men are +scarcely sufficient to service one woman. + -- Boccaccio +% +While not actually a sailor, I certainly enjoy getting blown ashore. +% +While sitting 'neath an oak one morn +In thought on this and that, +A tiny, twitt'ring little bird "Oh tiny bird, O Nature's gift +A load dropped in my hat. Of music and of wit! + Why didst thou feel that my best hat +"Thy music gladdens my poor soul, Was thy best place to shit?" +And brings joy to my heart. +But tell me, little bird divine, The tiny bird a few notes sang, +Why didst thou not just fart?" Then answer'd "Pardon me, + For thy hat I thought was my nest, +I rose and stood in solemn awe A-fallen from the tree." +His words to better mull, +Then lifted up a paving block +And crushed his fucking skull. + -- Bill Wordsworth, "A Tiny Twitt'ring Bird" +% +While vacationing last summer in the North Woods, a young fellow thought it +might be a good idea to write his girl. He had brought no stationery with +him, however; so he had to walk into town for some. Entering the one and +only general store, he discovered that the clerk was a young, full-blown farm +girl with languorous eyes. + "Do you keep stationery?" he asked. + "Well," she giggled, "I do until the last few seconds, and then I +just go wild." +% +Whip it, baby. +Whip it right. +Whip it, baby. +Whip it all night! +% +Why does Dr. Pepper come in a bottle? + +Because his wife left him. But things are looking up for their reconciliation. +Seems that when she left, she took his word processor, and she's been renting +it out occasionally in Japan. That is, every now and then she gets a yen for +his Wang. +% +Why, Good Morning! I'm the bluebird of fellatio! +% +Why I am an atheist: + +1. Atheists do not believe in higher powers. +2. God is the highest power. +3. Therefore, God must be an atheist. +4. We should all strive to be like God. +5. We should all be atheists. +% +Why is it that there are so many more +horses' asses than there are horses? + -- G. Gordon Liddy +% +Why is Mrs. Carter always on top when she and Jimmy make love? +Because all Jimmy Carter can do is fuck up. +% +Why marry a virgin? If she wasn't good enough for the rest of them +then she isn't good enough for you. +% +Why not, for example, offer a brand-new Mustang convertible to every girl +who consents to having her Fallopian tubes tied in a Gordian knot? ... It +would have the additional benefit of eliminating from the gene pool those +stupid enough to consent to such a deal. + -- Edward Abbey +% +...why should you waste a single moment of *your* life seeming to be something +you don't want to be? Lord, that's so simple. If you hate your job, quit it. +If your friends are tedious, go out and find new friends. You are queer, you +lucky fool, and that makes you one of life's buccaneers, free from the clutter +of 2000 years of Judeo-Christian sermonizing. Stop feeling sorry for yourself +and start raising your sails. You haven't a moment to lose. + -- Edmund Carlevale +% +Willie, looking in the mirror, Willie with the nursery shears +Sucked the mercury off Cut off both the baby's ears. +Thinking in his childish error To the baby so unsightly +It would cure the whooping cough. Mother raised her eyebrows slightly. + +At the funeral his weeping mother In the family drinking well +Sadly said to Mrs. Brown, Willie pushed his sister, Nell. +"'Twas a chilly day for Willie She's there still because it killed her, +When the mercury went down." Now, we have to buy a filter. +% +Winning isn't everything, but losing really sucks. +% +With a bushel of apples, you can have +a hell of a time with the doctor's wife. +% +wok, n: + Something to thwow at a wabbit. +% +Woman is: finally screwing and your groin and buttocks and thighs ache like +hell and you're all wet and maybe bloody and it wasn't like a Hollywood +movie at all but Jesus at least you're not a virgin any more but is this +what it's all about? And meanwhile, he's asking "Did you come?" + -- Robin Morgan, "Sisterhood Is Powerful" +% +Women -- can't live with 'em, can't leave 'em by the curb when you're done. +% +Women should be obscene and not heard. +% +Women think of being a man as a gift. It is a duty. Even making love can +be a duty. A man has always got to get it up, and love isn't always enough. + -- Norman Mailer +% +Working hard around here is like pissing on yourself in a dark suit; +you get a warm feeling but nobody notices. +% +Working here is like a pregnancy. +After nine months you wish you hadn't come. +% +World War III is about to break out, but hidden somewhere in Switzerland, +a small group of international statesmen are trying to avert disaster. +The key members of this group are the representatives from Moscow, Bonn, and +Jerusalem, who, despite their personal enmity, manage to forge a peaceful +settlement, at the last moment. As the treaty is signed, and the war +postponed, almost entirely through the efforts of those three men, an angel +appears. "The earth is saved through the efforts of these three men! +Therefore, I will grant each of them their heart's desire!" + So, the angel asks the German for his wish, and the German, recalling +the nearness of their disaster, and perceiving the cause to have been the +Russians, immediately says "I wish there were no more Russians!" And God +said, "It will be done." + The angel asks the Russian for his wish, which, of course, is "*I* +wish there were no more Germans!" Replies the angel, "It will be done." + So the angel asks the Jew for his wish. The Jew is in a state of +shock. "Will you really grant the German's wish?" he asks, and the angel +avers. "And the Russian's, too?" The angel avers yet again. Then the Jew +thinks a moment, leans back and says, "In that case, I think I'd like a small +cup of coffee." +% +Would you rather have a 5-inch hard or an 8-inch floppy? +% +Writers do it between periods. +% +"Yeah, I used to be into necrophilia, bestiality and sadism, but then I +realized I was just flogging a dead horse." +% +Yesterday is a memory, + Tomorrow is a vision, + Today is a bitch! +% +You are a tower of strength in the office, but only so-so in bed. +% +You are without a doubt a rogue, a rascal, a villain, a thief, a scoundrel, +and a mean, dirty, stinking, sniveling, sneaking, pimping, pocketpicking, +thrice double-damned, no-good son-of-a-bitch. +% +You are witty, charming, handsome and above average in length. +% +You better believe that marijuana can cause castration. +Just suppose your girlfriend gets the munchies! +% +"You can beat my meat, but you can't lick my sauce!" + -- Boss' Ribs, Portland, Oregon +% +You can find sympathy, in the dictionary, right near shit and suicide. +% +You can get used to living at a nudist camp. +The first three days are the hardest. + -- R. Dreiser +% +You can pick your friends, and you can pick your nose; +but you can't pick your friend's nose. +% +You come out of a woman and you spend the rest +of your life trying to get back inside. + -- Heathcote Williams +% +You have been bitchy since Tuesday and you'll probably get fired today. +% +You have to be a bastard to make it, and that's a fact. And the Beatles +are the biggest bastards on earth. + -- John Lennon +% +You know the Norplant thing? It's a new birth control device for women. +It's a cartridge, that goes in your arm. Well, they're coming out with +a new one for men: it's a brain, that goes in your head. +% +You know what burns my ass? A flame about three feet high. +% +You might get caught holding the bag. Say she's your sister. +% +You pedophiliac sodomizer of ducklings!! +% +You see that fucking fish? +If he'd kept his mouth shut, he wouldn'ta got caught. + -- Sam Giancana +% +You should be a hemorrhoid, you're such a pain in the ass. +% +You wanna play the dozens, +Well, the dozens is a game, +But the way I fuck your mother is an ass-wringing shame! + -- George Carlin +% +You will always have friends +Some friends will peter out. +But I'll always be your friend, +Peter in or peter out. +% +You'll be a guest at a gay party. +That will have important consequences for you. +% +Young men want to be faithful and are not; +old men want to be faithless and cannot. + -- Oscar Wilde +% +Your boy/girl friend is *so* ugly that... + + -- when you look up ugly in the dictionary, their picture's there. + -- it looks like their face caught fire and someone put it out + with an ice pick. + -- Nabisco used their face to model for animal cookies. + -- when they yelled "Rape", the guy screamed "No way!" + -- they were the birth control poster child. + -- when they were born, the doctor slapped their mother. + -- as a child, their parents tied a pork chop around her neck to + get the puppy to play with them. + -- they have to sneak up on a glass of water, just to get a drink! +% +Your chances of getting hit by lightning go up if you stand under a tree, +shake your fist at the sky, and say, "Storms suck!" + -- Johnny Carson +% +Your first husband was the one you married while firmly believing that +there are more important things in life than great sex. +% +YOUR FOAMY FUTURE + by Miss Fortune + +SCORPIO (October 24 - November 21) + "Hard work never killed anybody, but why take the chance?" is your +motto. You don't do much other than sleep, eat, down brewskis, and watch TV. +Your friends and family are constantly pestering you to clean up your act. +But it's OK, Scorpio. A kick in the ass is at least one step forward. + +SAGITTARIUS (Nov. 22 - Dec. 21) + You've been on a diet for two weeks and all you've lost is two weeks. +My advice is to drink copious amounts of beer just to get the thought of food +out of your mind. Remember, a good reducing exercise consists of placing +both hands against the table edge and pushing back. + +CAPRICORN (Dec. 22 - Jan 19) + Remember that day you had one beer too many and did something +extremely foolish? Now your friends are coming and going and your enemies +accumulating. Cheer up! All is not lost. It's better to be hated for +what you are than loved for what you're not. +% +Your spooning days are over, + And your pilot light is out; +When what used to be your sex appeal + Is now your water spout! +% +You're not an alcoholic unless you go to the meetings. +% +Yuck Foo. +% +Zippity doo dah, zippity ay, +I just gave my sister's cherry away! +To a couple of truckers from Erie P.A., +Zippity doo dah, zippity ay. + -- John Valby +% diff --git a/fortune/datfiles/limerick b/fortune/datfiles/limerick new file mode 100644 index 0000000..05c3ab7 --- /dev/null +++ b/fortune/datfiles/limerick @@ -0,0 +1,160 @@ +A UNIX saleslady, Lenore, +Enjoys work, but she likes the beach more. + She found a good way + To combine work and play: +She sells C shells by the seashore. +% +A computer, to print out a fact, +Will divide, multiply, and subtract. + But this output can be + No more than debris, +If the input was short of exact. + -- Gigo +% +A crusader's wife slipped from the garrison +And had an affair with a Saracen. + She was not oversexed, + Or jealous or vexed, +She just wanted to make a comparison. +% +A dozen, a gross, and a score, +Plus three times the square root of four, + Divided by seven, + Plus five times eleven, +Equals nine squared plus zero, no more. +% +A dreary young bank clerk named Fennis +Wished to foster an aura of menace; + To make people afraid + He wore gloves of grey suede +And white footgear intended for tennis. + -- Edward Gorey +% +A hacker who screwed a mag tape +Was caught and convicted of rape. + To jail he did go, + From which, to his woe +He couldn't get out with ESC. +% +A limerick packs laughs anatomical +Into space that is quite economical. + But the good ones I've seen + So seldom are clean, +And the clean ones so seldom are comical. +% +A linguist thought it a farce +That memory space was so sparse. + One day they increased it. + Said he as he seized it: +"At last! Enough core for the parse". +% +A new dramatist of the absurd +Has a voice that will shortly be heard. + I learn from my spies + He's about to devise +An unprintable three-letter word. +% +A progressive professor named Winners +Held classes each evening for sinners. + They were graded and spaced + So the vile and debased +Would not be held back by beginners. +% +A very intelligent turtle +Found programming UNIX a hurdle + The system, you see, + Ran as slow as did he, +And that's not saying much for the turtle. +% +A wonderful bird is the pelican. +His mouth can hold more than his belican. + He can take in his beak + Enough food for a week. +And I'm darned if I know how the helican. +% +Despising machines to a man, +The Luddites joined up with the Klan, + And ride out by night + In a sheeting of white +To lynch all the robots they can. + -- C. M. and G. A. Maxson +% +Flappity, floppity, flip +The mouse on the m"obius strip; + The strip revolved, + The mouse dissolved +In a chronodimensional skip. +% +If you stick a stock of liquor in your locker, +It is slick to stick a lock upon your stock. + Or some joker who is slicker, + Will trick you of your liquor, +If you fail to lock your liquor with a lock. +% +Limericks are art forms complex, +Their topics run chiefly to sex. + They usually have virgins, + And masculine urgin's, +And other erotic effects. +% +System/3! System/3! +See how it runs! See how it runs! + Its monitor loses so totally! + It runs all its programs in RPG! + It's made by our favorite monopoly! +System/3! +% +There once was a girl named Irene +Who lived on distilled kerosene + But she started absorbin' + A new hydrocarbon +And since then has never benzene. +% +There once was a member of Mensa +Who was a most excellent fencer. + The sword that he used + Was his -- (line is refused, +And has now been removed by the censor). +% +There once was an old man from Esser, +Who's knowledge grew lesser and lesser. + It at last grew so small, + He knew nothing at all, +And now he's a College Professor. +% +There was a young lady from Hyde +Who ate a green apple and died. + While her lover lamented + The apple fermented +And made cider inside her inside. +% +There was a young lady from Niger +Who smiled as she rode on a tiger; + They returned from the ride + With the lady inside, +And the smile on the face of the tiger. +% +There was a young man who said "God, +I find it exceedingly odd, + That the willow oak tree + Continues to be, +When there's no one about in the Quad." + +"Dear Sir, your astonishment's odd, +For I'm always about in the Quad; + And that's why the tree, + Continues to be," +Signed "Yours faithfully, God." +% +There was a young poet named Dan, +Whose poetry never would scan. + When told this was so, + He said, "Yes, I know. +It's because I try to put every possible syllable into that last line that I can." +% +A computer called Illiac4 +Had a rather tough bug in its core. + It chewed up its cards + And spewed yards and yards +Of illegible tape on the floor. +% diff --git a/fortune/datfiles/limerick-o.fake b/fortune/datfiles/limerick-o.fake new file mode 100644 index 0000000..3b3f5a3 --- /dev/null +++ b/fortune/datfiles/limerick-o.fake @@ -0,0 +1,2 @@ +There are no potentially offensive fortunes installed on this +system. For further details, contact your system administrator. diff --git a/fortune/datfiles/limerick-o.real b/fortune/datfiles/limerick-o.real new file mode 100644 index 0000000..5a6ef8e --- /dev/null +++ b/fortune/datfiles/limerick-o.real @@ -0,0 +1,6173 @@ +"For the tenth time, dull Daphnis," said Chloe, +"You have told me my bosom is snowy; + You have made much fine verse on + Each part of my person, +Now do something -- there's a good boy!" +% +"Fucked by the finger of Fate!" +Bewailed a young fellow named Tate. + "Since dating Miss Baugh, + My whole tongue has been raw-- +It must have been something I ate." +% +"I do love a lay every day, +So whenever you're coming this way + Just phone in advance + And I'll jerk off my pants, +And we're set for a sexy soiree!" +% +"Snyder's got a stiff ticket," said Kay, +"Come on, take it out, and let's play." + He pulled it on out, + But she started to pout, +His ticket was only a quarter-inch stout. +% +"The testes are cooler outside," +Said the doc to the curious bride, + "For the semen must no + Get too fucking hot, +And the bag fans your bum on the ride." +% +"Well, I took your advice, Doc", said Knopp, +"And told my wife to try it on top. + She bounced for an hour, + Till she ran out of power, +And the kids, who'd grown bored, made us stop." +% +'Tis a custom in Castellamare +To fuck in the back of a lorry. + The chassis and springs + Are like woodwinds and strings +In the midst of a musical soiree. +% +A CS student named Lin +Had a prick the size of a pin + It was no good for girls + But just great for squirrels +Who squealed with delight with it in. +% +A Frenchman who lived in Alsace +Had sex with a virgin named Grace. + When he popped her cherry, + She made things hairy +By bleeding all over his face. +% +A bad little girl in Madrid, +A most reprehensible kid, + Told her Tante Louise + That her cunt smelled like cheese, +And the worst of it was that it did! +% +A bather whose clothing was strewed +By breezes that left her quite nude, + Saw a man come along + And, unless I am wrong, +You expected this line to be lewd. +% +A bather whose clothing was strewed +By breezes that left her quite nude, + Saw a man come along + And, unless I'm quite wrong, +You expected this line to be lewd. +% +A beat schizophrenic said, "Me? +I am not I, I'm a tree." + But another, more sane, + Shouted, "I'm a Great Dane!" +And covered his pants leg with pee. +% +A beautiful belle of Del Norte +Is reckoned disdainful and haughty + Because during the day + She says: "Boys, keep away!" +But she fucks in the gloaming like forty. +% +A beautiful lady named Psyche +Is loved by a fellow named Ikey. + One thing about Ike + The lady can't like +Is his prick, which is dreadfully spikey. +% +A beetling young woman named Pridgets +Had a violent abhorrence of midgets; + Off the end of a wharf + She once pushed a dwarf +Whose truncation reduced her to fidgets. + -- Edward Gorey +% +A big-bosomed Bunny named Gression +Sold cigars at a key-club concession. + When she swiveled about + Even strong men cried out, +For her costume did not keep her flesh in. +% +A bobby of Nottingham Junction +Whose organ had long ceased to function + Deceived his good wife + For the rest of her life +With the aid of his constable's truncheon. +% +A broken-down harlot named Tupps +Was heard to confess in her cups: + "The height of my folly + Was diddling a collie- +But I got a nice price for the pups." +% +A burlesque dancer, a pip +Named Virginia, could peel in a zip; + But she read science fiction + And died of constriction +Attempting a Moebius strip. + -- Cyril Kornbluth, "The Unfortunate Topology" +% +A busy young lady named Gloria +Was had by Sir Gerald du Maurier + And then by six men, + Sir Gerald again, +And the band at the Waldorf-Astoria. +% +A cabin boy on an old clipper +Grew steadily flipper and flipper. + He plugged up his ass + With fragments of glass +And thus circumcised his old skipper. +% +A cautious young fellow named Lodge +Had seatbelts installed in his Dodge. + When his date was strapped in, + He committed a sin, +Without even leaving his grodge. +% +A cautious young fellow named Lodge, +Had seatbelts installed in his Dodge. + With his date all strapped in + He committed a sin +Without even leaving the garage. + -- "A Boy and His Dog" +% +A cautious young fellow named Tunney +Had a whang that was worth any money. + When eased in half-way, + The girl's sigh made him say, +"Why the sigh?" "For the rest of it, honey." +% +A certain young man, it was noted, +Went about in the heat thickly-coated; + He said, "You may scoff, + But I shan't take it off; +Underneath I am horribly bloated." + -- Edward Gorey +% +A certain young person of Ghent, +Uncertain if lady or gent, + Shows his organs at large + For a small handling charge +To assist him in paying the rent. +% +A certain young sheik of Algiers +Said to his harem, "My dears, + Though you may think it odd of me, + I'm tired of just sodomy +Let's try straight fucking." (loud cheers!) +% +A chap down in Oklahoma +Had a cock that could sing La Paloma, + But the sweetness of pitch + Couldn't put off the hitch +Of impotence, size and aroma. +% +A charmer from old Amarillo, +Sick of finding strange heads on her pillow, + Decided one day + That to keep men away +She would stuff up her crevice with Brillo. +% +A chippy who worked in Black Bluff +Had a pussy as large as a muff. + It had room for both hands + And some intimate glands, +And was soft as a little duck's fluff. +% +A clergical student named Simms +Hums liturgical tunes while he rims: + A nice piece of ass + Gets the B-Minor Mass ... +All the others get Anglican hymns. +% +A clerical student named Pryne +Through pain sought to reach the divine: + He wore a hair shirt, + Quite often ate dirt, +And bathed every Friday in brine. + -- Edward Gorey +% +A clever young man named Eugene +Invented a jack-off machine. + On the twenty-third stroke + The fuckin' thing broke +And beat both his balls to a cream. +% +A cocksucking steno named Beeman +Remarked as she swallowed my semen : + "On my minuscule salary + I must watch every calorie, +So I get `ahead' eating you he-men!" +% +A contortionist hailing from Lynch +Used to rent out his tool by the inch. + A foot cost a quid -- + He could and he did +Stretch it to three in a pinch. +% +A corpulent maiden named Kroll +Had a notion exceedingly droll: + At a masquerade ball, + Dressed in nothing at all, +She backed in as a Parker House roll. +% +A couple was fishing near Clombe +When the maid began looking quite glum, + And said, "Bother the fish! + I'd rather coish!" +Which they did -- which was why they had come. +% +A cowhand way out in Seattle +Had a dooflicker flat as a paddle. + He said, "No, I can't fuck + A lamb or a duck, +But golly! it just fits the cattle." +% +A crusader's wife slipped from the garrison +And had an affair with a Saracen. + She was not oversexed, + Or jealous or vexed, +She just wanted to make a comparison. +% +A cute little twerp from Samoa +Had a cock of one inch and no moa. + It was good for keyholes + And debutantes' peeholes +But not worth a damn on a whoa. +% +A daredevil skater named Lowe, +Leaps barrels arranged in the snow, + But is proudest of doing, + Some incredible screwing, +Since he's jumped thirteen girls in a row! +% +A deep-throated virgin named Netty +Was sucking a cock on the jetty. + She said, "It tastes nice, + Much better than rice, +Though not quite as good as spaghetti." +% +A delighted, incredulous bride +Remarked to her groom at her side : + "I never could quite + Believe till tonight +Our anatomies would coincide." +% +A dentist, young doctor Malone, +Got a charming girl patient alone, + And, in his depravity, + Filled the wrong cavity. +God, how his practice has grown. +% +A despairing old landlord named Fyfe, +With a frigid and quarrelsome wife, + Let his third-story front, + To a willing young cunt, +Who supplied him a new lease on life! +% +A desperate spinster from Clare +Once knelt in the moonlight all bare, + And prayed to her God + For a romp on the sod-- +'Twas a passerby answered her prayer. +% +A distinguished professor from Swarthmore +Got along with a sexy young sophomore. + As quick as a glance + He stripped off his pants, +But he found that the sophomore'd got off more. +% +A do-it-yourselfer named Alice, +Used a dynamite stick for a phallus. + She blew her vagina + To South Carolina, +And her tits landed somewhere in Dallas. + +A cute friend of hers, Fanny Hill, +Used two dynamite sticks for a dil. + They found her vagina, + In South Carolina, +And part of her ass in Brazil. +% +A doctoral student from Buckingham +Wrote his thesis on cunts and on fucking'em. + But a dropout from paree + Taught him Gamahuchee +So he added a footnote on sucking 'em. +% +A dolly in Dallas named Alice, +Whose overworked sex is all callous, + Wore the foreskin away + On uncircumcised Ray, +Through exuberance, tightness, and malice. +% +A dulcet-voiced callgirl named Shedd, +Who's cultured, well-spoken, well-bred, + Had achieved some reknown + For her tone going down-- +There's a nice civil tongue in her head. +% +A fair-haired young damsel named Grace +Thought it very, very foolish to place + Her hand on your cock + When it turned hard as rock, +For fear it would explode in your face. +% +A farmer I know named O'Doole +Had a long and incredible tool. + He can use it to plow, + Or to diddle a cow, +Or just as a cue-stick at pool. +% +A fellatrix's healthful condition +Proved the value of spunk as nutrition. + Her remarkable diet + (I suggest that you try it) +Was only her clients' emission. +% +A fellow whose surname was Hunt +Trained his cock to perform a slick stunt: + This versatile spout + Could be turned inside out, +Like a glove, and be used as a cunt. +% +A fisherman off of Cape Cod +Said, "I'll bugger that tuna, by God!" + But the high-minded fish + Resented his wish, +And nimbly swam off with his rod. +% +A foolish geologist from Kissen +Just didn't know what he was missin', + By studying rock + And neglecting his cock, +And using it merely for pissin'. +% +A frustrated lady named Alice +Used a dynamite stick for a phallus. + They found her vagina + In North Carolina +And bits of her tits were in Dallas. +% +A gay young prince from Morocco +Made love in a manner rococco. + He painted his penis + To resemble a venus +And flavored his semen with cocoa. +% +A geneticist living in Delft +Scientifically played with himself, + And when he was done + He labled it: son, +And filed him away on a shelf. +% +A gentleman, otherwise meek, +Detested with passion the leek; + When offered one out + He dealt such a clout +To the maid, she was down for a week. + -- Edward Gorey +% +A german composer named Bruckner +Remarked to a lady while fuckener : + "Less lento, my dear, + With your cute little rear; +I like a hot presto when muckener!" +% +A gift was delivered to Laura +From a cousin who lived in Gomorrah; + Wrapped in tissue and crepe, + It was peeled, like a grape, +And emitted a pale, greenish aura. + -- Edward Gorey +% +A gifted young fellow from Sparta +Was widely renowned as a farta'. + He could fart anything + From "Of Thee I Sing," +To Beethoven's "Moonlight Sonata." +% +A girl camper once had an affair +With a fellow all covered with hair. + When she gave him his hat + She realized that +She'd been had by Smokey the Bear. +% +A girl of the Enterprise crew +Refused every offer to screw. + But a Vulcan named Spock + Crawled under her smock, +And now she is eating for two. +% +A girl of uncertain nativity +Had an ass of extreme sensitivity + While she sat on the lap + Of a German or Jap, +She could sense Fifth Column activity. +% +A graduate student named Zac +Was said to be great in the sack. + An inch of his boner + Put girls in a coma +And two gave them epileptic attacks. +% +A greedy young lady from Sidney +Liked it in up to her kidney, + Till a man from Quebec + Shoved it up to her neck-- +He really diddled her, didn' he? +% +A green-thumbed young farmer from Leeds +Once swallowed a package of seeds. + In a month, his ass + Was covered with grass +And his balls were grown over with weeds. +% +A guest in a household quite charmless +Was informed its eccentric was harmless: + "If you're caught unawares + At the head of the stairs, +Just remember, he's eyeless and armless." + -- Edward Gorey +% +A habit depraved and unsavory +Held the bishop of Bingham in slavery + Midst screeches and howls + He deflowered young owls +Which he kept in an underground aviary +% +A habit obscene and bizarre, +Has taken a-hold of papa. + He brings home young camels + And other odd mammals, +And gives them a go at mama. +% +A hacker-turned-pervert named Fisk +Made love to the drive of his disk. + The thing circumsized him, + Which rather suprised him. +He wasn't aware of *that* risk. +% +A handsome young rodent named Gratian +As a lifeguard became a sensation. + All the lady mice waved + And screamed to be saved +By his mouse-to-mouse resuscitation. +% +A happy old hooker named Grace +Once sponsored a cunt-lapping race. + It was hard for beginners + To tell who were winners : +There were cunt hairs all over the place. +% +A hardware debugger named Court +Shoved his tool in an Ethernet port. + But its buffer array + Only handled 1K, +So the port's driver cut it off short. +% +A haughty young wench of Del Norte +Would fuck only men over forty. + Said she, "It's too quick + With a young fellow's prick; +I like it to last, and be warty." +% +A headstrong young woman in Ealing +Threw her two weeks' old child at the ceiling; + When quizzed why she did, + She replied, "To be rid +Of a strange, overpowering feeling." + -- Edward Gorey +% +A hearty young fellow named Yost +Once had an affair with a ghost. + At the height of the spasm + The poor ectoplasm +Cried, "Goodie, I feel it ... almost." +% +A hidebound young virgin named Carrie +Would say, when the fellows got hairy : + "Keep your prick in your pants + Till the end of this dance--" +Which is why Carrie still has her cherry. +% +A highly aesthetic young Jew +Had eyes of a heavenly blue; + The end of his dillie + Was shaped like a lilly, +And his balls were too utterly two! +% +A highway patrol buff named Claire, +Once screwed half a troop on a dare, + And her parts grew so hot, + There was steam on her twat, +So they nicknamed her Smokey the Bare! +% +A horny young fellow named Reg, +Was jerking off under a hedge. + The gardener drew near + With a huge pruning shear, +And trimmed off the edge of his wedge. +% +A huge-organed female in Dallas, +Named Alice, who yearned for a phallus, + Was virgo intacto, + Because, ipso facto, +No phallus in Dallas fit Alice. +% +A joker who haunts Monticello +Is really a terrible fellow. + In the midst of caresses + He fills ladies dresses +With garter snakes, ice cubes, and jello. +% +A lacklustre lady of Brougham +Weaveth all night at her loom. + Anon she doth blench + When her lord and his wench +Pull a chain in the neighbouring room. +% +A lad from far-off Transvaal +Was lustful, but tactful withal. + He'd say, just for luck, + "Mam'selle, do you fuck?" +But he'd bow till he almost would crawl. +% +A lad of the brainier kind +Had erogenous zones in his mind. + He got his sensations, + By solving equations, +(Of course, in the end, he went blind.) +% +A lad, at his first copulation, +Cried, "What a sensation! Inflation, + Gyration, elation + Throughout the duration, +I guess I'll give up masturbation." +% +A lady born under a curse +Used to drive forth each day in a hearse; + From the back she would wail + Through a thickness of veil: +"Things do not get better, but worse." + -- Edward Gorey +% +A lady both callous and brash +Met a man with a vast black moustache; + She cried, "Shave it, O do! + And I'll put it with glue +On my hat as a sort of panache." + -- Edward Gorey +% +A lady from Kalamazoo +Once found she had nothing to do, + So she sat on the stairs + And she counted her hairs: +4,302. +% +A lady from Old Little Rock +In fidelity took little stock, + And deserted her man + In the streets of Japan +For a boy with a prehensile cock. +% +A lady removing her scanties, +Heard them crackle electrical chanties. + Said her beau, "Have no fear, + For the reason is clear: +You simply have amps in your panties. +% +A lady stockholder quite hetera +Decided her fortune to bettera: + On the floor, quite unclad, + She successively had +Merrill Lynch, Pierce, Fenner, et cetera... +% +A lady was seized with intent +To revise her existence misspent. + So she climbed up the dome + Of St. Peter's in Rome, +Where she stayed through the following Lent. + -- Edward Gorey +% +A lady who signs herself "Vexed" +Writes to say she believes she's been hexed: + "I don't mind my shins + Being stuck full of pins, +But I fear I am coming unsexed." + -- Edward Gorey +% +A lady with features cherubic +Was famed for her area pubic. + When they asked her its size + She replied in surprise, +"Are you speaking of square feet, or cubic?" +% +A lady, while dining in Crewe, +Found an elephant's whang in her stew. + Said the waiter, "Don't shout + Or wave it about +Or the others will ask for one, too." +% +A lass at the foot of her class +Asked a brainier chick how to pass. + She replied, "With no fuss + You can get a B-plus, +By letting the prof pat your ass." +% +A lecherous barkeep named Dale, +After fucking his favorite female, + Mixed Drambuie and scotch + With the cream in her crotch +For a lustier, Rusty-er Nail. +% +A licentious old justice of Salem +Used to catch all the harlots and jail 'em. + But instead of a fine + He would stand them in line, +With his common-law tool to impale 'em. +% +A limerick packs laughs anatomical +Into space that is quite economical. + But the good ones I've seen + So seldom are clean, +And the clean ones so seldom are comical. +% +A lonely young lad of Eton +Used always to sleep with the heat on, + Till he ran into a lass + Who showed him her ass -- +Now they sleep with only a sheet on. +% +A lovely young diver named Nancy, +Wore a bikini bottom quite chancy, + The fish of Bonaire, + Watched her Derriere, +And the sea fans all tickled her fancy. +% +A lovely young maid from St. Jude +Once rode through the streets in the nude. + The police cried, "Whatam-- + Agnificent bottom" +And slapped it as hard as they could. +% +A lusty young maid from Seattle +Got pleasure by sleeping with cattle; + Till she found a bull + Who filled her so full +It made both her ovaries rattle. +% +A lusty young woodsman of Maine +For years with no woman had lain, + But he found sublimation + At a high elevation +In the crotch of a pine -- God, the pain! +% +A madam who ran a bordello +Put come in her pineapple jello, + For the rich, sexy taste + And not wanting to waste +That greasy kid stuff from a fellow. +% +A maestro directing in Rome +Had a quaint way of driving it home. + Whoever he climbed + Had to keep her tail timed +To the beat of his old metronome. +% +A maiden who lived in Virginny +Had a cunt that could bark, neigh and whinny. + The horsey set rushed her, + But success finally crushed her +For her tone soon became harsh and tinny. +% +A maiden who travelled in France +Once got on a train, just by chance. + The engineer fucked her, + The conductor sucked her, +And the fireman came in his pants. +% +A maiden who wrote of big cities +Some songs full of love, fun and pities, + Sold her stuff at the shop + Of a musical wop +Who played with her soft little titties. +% +A man was once heard to boast, +That he received a parcel by post, + It contained, so we heard, + A magnificent turd, +And the balls of his grandfather's ghost. +% +A marine being sent to Hong Kong +Got a doctor to alter his dong. + He sailed off with a tool + Flat and thin as a rule - +When he got there he found he was wrong. +% +A mathematician named Hall +Had a hexhedronical ball, + And the square of its weight + Times his pecker's, plus eight, +Was four-fifths of five-eighths of fuck-all. +% +A mathematician named Hall +Has a hexahedronical ball, + And the cube of its weight + Times his pecker's, plus eight +Is his phone number -- give him a call. +% +A mathematician named Klein +Thought the Mobius band was divine. + Said he, "If you glue + The edges of two, +You'll get a weird bottle like mine! +% +A middle-aged codger named Bruin +Found his love life completely in ruin, + For he flirted with flirts + Wearing pants and no skirts, +And he never got in for no screwin'. +% +A milkmaid there was, with a stutter, +Who was lonely and wanted a futter. + She had nowhere to turn, + So she diddled a churn, +And managed to come with the butter. +% +A mortician who practised in Fife +Made love to the corpse of his wife. + "How could I know, Judge? + She was cold, did not budge-- +Just the same as she'd acted in life." +% +A nasty old drunk in Carmel +Thinks it funny to piss in the well. + He says, "Some don't favor + That unusual flavor, +But I don't drink the stuff -- what the hell!" +% +A nervous young fellow named Fred +Took a charming young widow to bed. + When he'd diddled a while + She remarked with a smile, +"You've got it all in but the head." +% +A new dramatist of the absurd +Has a voice that will shortly be heard. + I learn from my spies + He's about to devise +An unprintable three-letter word. +% +A newly-wed man of Peru +Found himself in a terrible stew: + His wife was in bed + Much deader than dead, +And so he had no one to screw. +% +A newlywed couple from Goshen +Spent their honeymoon sailing the ocean. + In twenty-eight days + They got laid eighty ways -- +Imagine such fucking devotion! +% +A notorious whore named Ms. Hearst, +In the pleasures of men was well-versed. + Reads the sign o'er the head + Of her well-rumpled bed +"The customer always comes first." +% +A novice was told by the Abbot: +"Consider the goat and the rabbit. + While they roll in the hay + You just stay home and pray. +You've got to get out of that habit." +% +A nudist resort at Benares +Took a midget in all unawares. + But he made members weep + For he just couldn't keep +His nose out of private affairs. +% +A nurse motivated by spite +Tied her infantine charge to a kite; + She launched it with ease + On the afternoon breeze, +And watched till it flew out of sight. + -- Edward Gorey +% +A passionate red-haired girl +When you kissed her, her senses would whirl, + And her twat would get wet, + And would wiggle and fret, +And her cunt-lips would curl and unfurl. +% +A pathetic old maid of Bordeaux +Fell in love with a dashing young beau. + To arrest his regard + She would squat in his yard +And longingly pee in the sneaux. +% +A petulant man once said, "Pish, +Your cunt is as big as a dish." + She replied, "Why, you fool, + With your limp little tool, +It's like driving a pin with a fish." +% +A physical fellow named Fisk +Could screw at a rate very brisk. + So fast was his action + The Fitzgerald contraction +Would shrink up his rod to a disk. +% +A pious old woman named Tweak +Had taught her vagina to speak. + It was frequently liable + To quote from the Bible, +But when fucking -- not even a squeak! +% +A pious young lady named Finnegan +Would caution her friend, "Well, you're in again; + So time it aright, + Make it last through the night, +For I certainly don't want to sin again!" +% +A pious young lady of Chichester +Made all of the saints in their niches stir + And each morning at matin + Her breast in pink satin +Made the bishop of Chichester's breeches stir. +% +A playful young chemist named Byrd +Had an urge that could not be deferred. + So to irritate Knox + He shit in his sox, +And plastered the walls with his turd. +% +A plumber whose name was John Brink +Plumbed the cook as she bent o'er the sink. + Her resistance was stout, + And John Brink petered out, +With his pipe-wrench all limber and pink. +% +A potter who lived in Bombay +Once fashioned a cunt out of clay; + But the heat of his prick + Kilned the damn thing to brick +And chafed all his foreskin away. +% +A pretty wife living in Tours +Demanded her daily amour. + But the husband said, "No! + It's to much. Let it go! +My backsides are dragging the floor." +% +A pretty young boy known as Kevin +Was raped in a pasture by seven + Lascivious beasts + (Oh, those Anglican priests) +And such is the Kingdom of Heaven. +% +A pretty young lady named Vogel +Once sat herself down on a molehill. + A curious mole + Nosed into her hole -- +Ms. Vogel's ok, but the mole's ill. +% +A pretty young lady named Vogel +Once sat herself down on a molehill. + A curious mole + Nosed into her hole -- +Ms. Vogel's okay, but the mole's ill. +% +A pretty young maiden from France +Decided she'd "just take a chance." + She let herself go + For an hour or so, +And now all her sisters are aunts. +% +A princess who lived near a bog +Met a prince in the form of a frog. + Now she and her prince + Are the parents of quints, +Four boys and one fine polliwog. +% +A princess who reigned in Baroda +Made her home on a purple pagoda. + She festooned the walls + Of her halls with the balls +And the tools of the fools who be-stroda'. +% +A progressive professor named Winners +Held classes each evening for sinners. + They were graded and spaced + So the vile and debased +Would not be held back by beginners. +% +A rapist who reeked of cheap booze +Attempted to ravish Miss Hughes. + She cried, "I suppose + There's no time for my clothes, +But PLEASE let me take off my shoes!" +% +A rapturous young fellatrix +One day was at work on five pricks. + With an unholy cry + She whipped out her glass eye: +"Tell the boys I can now take on six." +% +A reckless young lady of France +Had no qualms about taking a chance, + But she thought it was crude + To get screwed in the nude, +So she always went home with damp pants. +% +A remarkable race are the Persians, +They have such peculiar diversions. + They screw the whole day + In the regular way, +And save up the nights for perversions. +% +A remarkable race are the Persians; +They have such peculiar diversions. + They make love the whole day + In the usual way +And save up the nights for perversions. +% +A responsive young girl from the East +In bed was an able artiste. + She had learned two positions + From family physicians, +And ten more from the old parish priest. +% +A romantic attraction has clung +To a chap of whom damsels have sung: + "'Tis the Scourge from the East, + That lascivious beast +Who was known as Attila the Hung!" +% +A sailor who slept in the sun, +Woke to find his fly buttons undone, + He remarked with a smile, + "Good grief, a sun-dial! +And now it's a quarter-past one." +% +A savvy young hooker named Gail +Got busted and lodged in the jail. + But the jailer got hot, + To be lodged in her twat, +And so Gail made the bail with her tail. +% +A scandal involving an oyster +Sent the Countess of Clews to a cloister + She preferred it, in bed, + To the count (so she said) +'Cause it's longer and stronger and moister. +% +A scream from the crypt of St. Giles +Resounded for miles upon miles. + Said the friar, "Good gracious, + The brother Ignatious +Forgeteth the abbot hath piles." +% +A seafaring hacker named Slatey +Went to bed with a VAX/780. + The thing's learned to swear + With a nautical air, +And refers to its users as "matey". +% +A sex-loving coed named Bree +Caught the clap from her Apple IIE. + The joystick, she found, + Had been fooling around +With a neighboring student's PC. +% +A silly young man from Hong Kong +Had hands that were skinny and long. + He ate rice with his fingers-- + The taste of it lingers, +But now all his fingers are gone. +% +A slick talking pirate named Bruce +To steal code, had a plan to seduce + An Apple II+. + Now Bruce wears a truss +And was jailed for computer abuse. +% +A software technician from Digital +Had hardware extremely prodigical. + It's rumoured, I hear, + That when he was near +He made the ladies all flustered and fidgital. +% +A space shuttle pilot named Ventry, +Made love to a lovely girl sentry. + She started to pout, + Because it fell out, +But the mission was saved by re-entry. +% +A sperm faced, alack and forsooth, +His moment of sexual truth. + He'd expected to fall + On a womb's spongy wall +But was dashed to his death on a tooth. +% +A spinster in Kalamazoo +Once strolled after dark by the zoo. + She was seized by the nape, + And fucked by an ape, +And she murmured, "A wonderful screw." + +And she added, "You're rough, yes, and hairy, +But I hope -- yes I do -- that I marry + A man with a prick + Half as stiff and as thick +As the kind that you zoo-keepers carry." +% +A spunky young schoolboy named Fred +Used totoss off each night while in bed. + Said his mother, "Dear lad, + That's exceedingly bad-- +Jump in here with your mamma instead." +% +A starship commander named Kirk +Emerged from his cabin berserk. + He grabbed a girl yeoman + Beneath the abdomen, +And gave her a physical jerk. +% +A stout Gaelic warrior, McPherson, +Was having a captive, a person + Who was not averse + Though she had the curse, +And he'd breeches of bristling furs on. +% +A structured programmer named Drew +Was intensely turned on by "goto". + When he saw it in code + He'd shoot off his load. +It's a good thing his shop used so few. +% +A studious professor named Nestor +Bet a whore all his books that he could best her. + But she drained out his balls + And skipped up the walls, +Beseeching poor Nestor to rest her. +% +A sweetheart named Teresa Arden +Went down on her beau in the garden. + He said, "Good lord, Tess, + Don't swallow that mess " +And she replied, "Ulp, beg your pardon?" +% +A systems programmer named Sprotic +Found his software intensely erotic. + In jealous distress + He wiped his OS. +It's possible that he's psychotic. +% +A talented fuckstress, Miss Chisholm, +Was renowned for her fine paroxysm. + While the man detumesced + She still spent on with zest, +Her rapture sheer anachronism. +% +A talented girl from Detroit +Could fuck you in ways quite adroit. + She could squeeze her vagina + To a pin-point or finer +Or open it out like a quoit. +% +A team playing baseball in Dallas +Called te umpire blind out of malice. + While this worthy had fits + The team made eight hits +And a girl in the bleachers named Alice. +% +A team playing baseball in Dallas +Called the umpire blind out of malice. + While this worthy had fits + The team made eight hits +And a girl in the bleachers named Alice. +% +A teenage protester named Lil +Cried, "Those watergate spies make me ill + First they bugged our martinis, + Our bras and bikinis, +And now they are bugging the pill." +% +A thrice-married gal from L.A. +Said, "My hymen's intact to this day, + 'Cause my first (a shrink) talked of it, + The voyeur only gawked at it, +And my most recent man's a gourmet." +% +A tidy young lady of Streator +Dearly loved to nibble a peter. + She always would say, + "I prefer it this way. +I think it is very much neater." +% +A timid young woman named Jane +Found parties a terrible strain; + With movements uncertain + She'd hide in a curtain +And make sounds like a rabbit in pain. + -- Edward Gorey +% +A tired young trollop of Nome +Was worn out from her toes to her dome. + Eight miners came screwing, + But she said, "Nothing doing; +One of you has to go home!" +% +A trapper named Francois Lefevre +Once captured and buggered a beaver. + The result of this fuck + Was a three titted duck, +A canoe, and an Irish retriever. +% +A tutor who tooted a flute +Tried to tutor two tutors to toot + Said the two to the tutor: + "Is it harder to toot or +To tutor two tutors to toot" +% +A vengeful technician named Schmitz +Caused a disk drive to go on the fritz. + He covered the platter + With bats' fecal matter. +Now it's seek time is really the pits. +% +A very odd pair are the Pitts: +His balls are as large as her tits, + Her tits are as large + As an invasion barge-- +Neither knows how the other cohabits. +% +A wanton young lady from Wimley +Reproached for not acting quite primly + Said, "Heavens above! + I know sex isn't love, +But it's such an entrancing facsimile." +% +A water pipe suited miss Hunt; +She used it for many a bunt. + But the unlucky wench + Got it caught in her trench --- +It took twenty-two men and a big Stillson wrench, +To get the thing out of her cunt. +% +A weary old lecher named Blott +Took a luscious young blond to his yacht. + Too lazy to rape her, + He made darts out of paper, +Which he leisurely tossed at her twat. +% +A whimsical fellow named Bloch +Could beat the base drum with his cock. + With a special erection + He could play a selection +From Johann Sebastian Bach. +% +A wicked stone cutter named Cary +Drilled holes in divine statuary. + With eyes full of malice + He pulled out his phallus, +And buggered a stone Virgin Mary. +% +A wide-bottomed girl named Trasket +Had a hole as big as a basket. + A spot, as a bride, + In it now, you could hide, +And include with your luggage your mascot. +% +A widow who fancied a man some +Was diddled three times in a hansome. + When she clamored for more + Her young man became sore +And exclaimed "My name's Simpson not Samson." +% +A widow whose singular vice +Was to keep her late husband on ice + Said, "It's been hard since I lost him -- + I'll never defrost him! +Cold comfort, but cheap at the price." +% +A wonderful tribe are the Sweenies, +Renowned for the length of their peenies. + The hair on their balls + Sweeps the floors of their halls, +But they don't look at women, the meanies. +% +A wood-fetish busboy named Gable +Is rapid, is thorough, is able; + But when everything's cleared, + He gives way to the weird, +As he lovingly busses each table. +% +A worn-out young husband named Lehr +Her daily his wife's plaintive prayer: + "Slip on a sheath, quick, + Then slip your big dick +Between these lips covered with hair." +% +A worried young man from Stamboul +Founds lots of red spots on his tool. + Said the doctor, a cynic, + "Get out of my clinic; +Just wipe off the lipstick, you fool!" +% +A young Juliet of St. Louis +On a balcony stood acting screwy. + Her Romeo climbed, + But he wasn't well timed, +And half-way up, off he went -- blooey! +% +A young bride and groom of Australia +Remarked as they joined genitalia : + "Though the system seems odd, + We are thankful that God +Developed the genus Mammalia." +% +A young fellow discovered through Freud +That although of penis devoid, + He could practice coitus + By eating a foetus, +And his parents were quite overjoyed. +% +A young lad named Lester McGraw +Caught a stranger on top of his Maw. + As he watched him stick her + He said, with a snicker, +"You do it much faster than Paw." +% +A young lady sat by the sea, +Just as proper as proper could be. + A young fellow goosed her, + And roughly seduced her, +So she thanked him and went home to tea. +% +A young lady who lived by the Usk +Subsisted each day on a rusk; + She ate the first bite + Before it was light, +And the last crumb sometime after dusk. + -- Edward Gorey +% +A young lass got married at Chester; +Her mother she kissed and she blessed her. + Said she, "You're in luck -- + 'E's a stunning good fuck, +For I've 'ad 'im meself down in Leicester." +% +A young maiden from France was no prude, +She decided to dive in the nude, + But her buddy, behind, + Went out of his mind, +When he noticed where she was tatooed. +% +A young man by a girl was desired +To give her the thrills she required, + But he died of old age + Ere his cock could assuage +The volcanic desire it inspired. +% +A young man from the banks of the Po +Found his cock had elongated so, + That when he'd pee + It was never he +But only his neighbors who'd know. +% +A young man grew increasingly peaky +In a house where the hinges were squeaky, + The ferns curled up brown, + The ceilings flaked down, +And all of the faucets were leaky. + -- Edward Gorey +% +A young man maintained that his trigger +Was so big that there weren't any bigger. + But this long and thick pud + Was so heavy it could +Scarcely lift up its head. It lacked vigor. +% +A young man of Llanfairpwllgwyngyll +While bent over plucking a dingle + Had the whole of Eisteddfod + Taking turns at his pod +While they sang some impossible jingle. +% +A young man of acumen and daring, +Who'd amassed a great fortune in herring, + Was left quite alone + When it soon became known +That their use at his board was unsparing. + -- Edward Gorey +% +A young man with passions quite gingery +Tore a hole in his sister's best lingerie. + He slapped her behind + And made up his mind +To add incest to insult and injury. +% +A young polo-player of Berkeley +Made love to his sweetheart beserkly. + In the midst of each chukker + He would break off and fuck her +Horizontally, laterally and verkeley. +% +A young systems programmer of Sprotic +Found his software intensely erotic. + In jealous distress + He wiped his OS. +It's possible that he's a psychotic. +% +A young violinist from Rio +Was seducing a woman named Cleo. + As she took down her panties + She said, "No andantes; +I want this allegro con brio!" +% +A young wife in the outskirts of Reims +Preferred frigging to going to mass. + Said her husband, "Take Jacques, + Or any young cock, +For I cannot live up to your ass." +% +A young woman got married at Chester, +Her mother she kissed her and blessed her. + Says she, "You're in luck, + He's a stunning good fuck, +For I've had him myself down in Leicester." +% +Aboard the good ship Venus, The cabin boy, the captain's joy, +The mast it was a penis, A cunning little nipper, + Her figurehead They filled his ass, + A whore in bed, With broken glass, +Good grief you should have seen us! And circumcised the skipper. + +The first mate's name was Higgins, The captain's daughter Mabel, +And Higgins was a biggins, They screwed when they were able, + Once round the deck, They nailed her tits, + Twice up the mast, Those nasty shits, +And the rest was used for riggins'! Right to the captain's table. + +The engineer's name was Carter, The second mate's name was Andy, +And Carter was a farter, By God, he was a dandy, + When the wind wouldn't blow, They broke his cock, + And the ship couldn't go, With chunks of rock, +Carter the farter would start her! For conking in the brandy! +% +According to experts, the oyster +In its shell - a crustacean cloister - + May frequently be + Either he or a she +Or both, if it should be its choice ter. +% +Alas for the Countess d'Isere, +Whose muff wasn't furnished with hair. + Said the Count, "Quelle surprise!" + When he parted her thighs; +"Magnifique! Pourtant pas de la guerre." +% +All the female apes ran from King Kong +For his dong was unspeakably long. + But a friendly giraffe + Quaffed his yard and a half, +And ecstatically burst into song. +% +An AI researcher named Bluth +Wrote, to find out the sexual truth, + Eroticon VI, + Which he taught certain tricks +Which I'm sure can't be found in Knuth. +% +An ARPAnaut name of Corvette +Had a fetish involving the net. + As he fondled his IMP + His cock went from limp +To as hard as concrete which has set. +% +An Argentine gaucho named Bruno +Who said, "Fucking is one thing I do know. + Women are fine + And sheep are divine +But llamas are numero uno." +% +An Edwardian father named Udgeon, +Whose offspring provoked him to dudgeon, + Used on Saturday nights + To turn down the lights, +And chase them around with a bludgeon. + -- Edward Gorey +% +An aesthete from South Carolina +Had a cock that tickled like China, + But while shooting his load + It cracked like old Spode, +So he's bought him a Steuben vagina. +% +An agreeable girl named Miss Doves +Likes to jack off the young men she loves. + She will use her bare fist + If the fellows insist +But she really prefers to wear gloves. +% +An amazon giantess named Dunne +Let a midget screw her for fun. + But the poor little runt + Was engulfed in her cunt +And re-born as the twin of his son. +% +An ambitious lady named Harriet +Once dreamed she was raped in a chariot + By seventeen sailors + A monk and three tailors, +Mohammed and Judas Iscariot. +% +An angst-ridden amorist, Fred, +Saw sartorial changes ahead. + His mind kept on ringing + With fishy girls singing; +Soft fruit also filled him with dread. + -- J. Walker, "The Love Song Of J. Alfred Prufrock" +% +An anonymous woman we knew +Was dozing one day in her pew; + When the preacher yelled "Sin!" + She said, "Count me in +As soon as the service is through." +% +An architect fellow named Yoric +Could, when feeling euphoric, + Display for selection + Three kinds of erection -- +Corinthian, ionic, and doric. +% +An ardent young man named Magruder +Once wooed a girl nude in Bermuda. + She thought it quite lewd + To be wooed in the nude, +But magruder was shrewder, he screwed her. +% +An arrogant wench from Salt Lake +Liked to tease all the boys on the make. + She was finally the prize + Of a man twice her size +And all she recalls is the ache. +% +An artist who lived in Australia +Once painted his ass like a Dahlia. + The drawing was fine, + The colour - devine, +The scent - ah, that was a failia. +% +An eager young hacker named Gus +Once buggered a VAX Unibus. + The hardware went bad, + But not the young lad +(Except for the toupee and truss). +% +An eager young hacker named Gus +Once buggered a VAX Unibus. + The hardware went bad, + But not the young lad +He didn't expect all that fuss! +% +An envious girl named McMeanus +Was jealous of her lover's big penis. + It was small consolation + That the rest of the nation +Of women were with her in weeness. +% +An exotic young lady named Suki +Once danced in a troupe of kabuki + When asked for a fuck + She said, "Solly, no luck-- +See here: looky looky, no nuki " +% +An impish young fellow named James +Had a passion for idiot games. + He lighted the hair + Of his lady's affair +And laughed as she pissed through the flames. +% +An impotent Scot named MacDougall +Had to husband his sperm and be frugal. + He was gathering semen + To gender a he-man, +By screwing his wife through a bugle. +% +An incautious young woman named Venn +Was seen with the wrong sort of men; + She vanished one day, + But the following May +Her legs were retrieved from a fen. + -- Edward Gorey +% +An indefatigable woman named Bavel +Had often occasion to travel; + On the way she would sit + And furiously knit, +And on the way back she'd unravel. + -- Edward Gorey +% +An ingenious young man in South Bend +Made a synthetic ass for a friend, + But the friend shortly found + Its construction unsound, +It was simply a bother -- no end. +% +An innocent maiden named Herridge +Was cruelly tricked ito marriage; + When she later found out + What her spouse was about, +She threw herself under a carriage. + -- Edward Gorey +% +An inquisitive virgin named Dora +Asked the man who started to bore 'er : + "Do you mean birds and bees + Go through antics like these, +To suppy us our fauna and flora?" +% +An irate young lady named Booker +Told her husband, "You beast, I'm no hooker! + If you want it queer ways, + Go to whores for your lays!" +So he packed up his tool and forsook 'er. +% +An octagenerian Jew +To his wife remained steadfastly true. + This was not from compunction, + But due to dysfunction +Of his spermatic glands -- nuts to you. +% +An old couple just at Shrovetide +Were having a piece -- when he died. + The wife for a week + Sat tight on his peak, +And bounced up and down as she cried. +% +An old electronic designer +Had designs on a minor named Dinah. + He couldn't carry them out + For his prick was too stout, +And too small was the minor's vagina. +% +An old gentleman's crotchets and quibblings +Were a terrible trial to his siblings, + But he was not removed + Till one day it was proved +That the bell-ropes were damp with his dribblings. + -- Edward Gorey +% +An old maid who had a pet ape +Lived in fear of perpetual rape. + His red, hairy phallus + So filled her with malice +That she sealed up her snatch with Scotch tape. +% +An old man at the Folies Bergere +Had a jock, a most wondrous affair: + It snipped off a twat-curl + From each new chorus girl, +And he had a wig made of the hair. +% +An organist playing in York +Had a prick that could hold a small fork, + And between obbligatos + He'd munch at tomatoes, +To keep up his strength while at work. +% +An orgasmic young sex star named Sue +Was a hit as she writhed to a screw. + Her climatic fame spread + With an ad blitz that said: +Coming soon at a theater near you! +% +An uptight young lady named Breerley +Who valued her morals too dearly + Had sex, so I hear, + Only once every year, +And she strained her vagina severely. +% +And earnest young woman in Thrace +Said, "Darling, that's not the right place!" + So he gave her a thwack, + And did on her back, +What he couldn't have done face to face. +% +And let me the canakin clink, clink; +and let me the canakin clink. + A soldier's a man; + O, man's life's but a span, +Why then, let a soldier drink. +% +And then there's the story that's fraught +With disaster -- of balls that got caught, + When a chap took a crap + In the woods, and a trap +Underneath... Oh, I can't bear the thought! +% +As for weirdness, the guy who's the tops +Is a kinky old butcher named Pops. + Since he thinks it's effete + To be beating his meat, +What he's into is licking his chops. +% +As he came in his chubby choirboy, +Father Burke said, "There's no greater joy! + If no sodomy levens + And possible heavens, +Existence will merely annoy." +% +As the breeches-buoy swing towards the rocks, +Its occupant cried, "Save my socks! + I could not bear the loss, + For with scarlet silk floss +My mama has embroidered their clocks." + -- Edward Gorey +% +As tourists inspected the apse +An ominous series of raps + Came from under the altar, + Which caused some to falter +And others to shriek and collapse. + -- Edward Gorey +% +Asked a supplicant priest of the pontiff, +"Do I sin if I do what I want, if + I screw a young nun + In the eastertide sun?" +His holiness murmured, "Gut yontiff." +% +At Vassar, sex isn't injurious, +Though of love we are never penurious. + Thanks to vulcanized aids, + Though we may die old maids, +At least we shall never die curious. +% +At a contest for farting in Butte +One lady's exertion was cute : + It won the diploma + For fetid aroma, +And three judges were felled by the brute. +% +At a dance, a girl from Connecticut +Showed an absolute absence of etiquette + Letting all comers press + Through the skirt of her dress +And wiping the mess with her petticoat. +% +At the Villa Nemetia the sleepers +Are disturbed by a phantom in weepers; + It beats all night long + A dirge on a gong +As it staggers about in the creepers. + -- Edward Gorey +% +At the end of all civilization +Is the planet Terminus's location. + There's a girl there whose feat, + Without stone or concrete, +Nonetheless, was to lay the Foundation. +% +At the moment Japan declared war +A sailor was fucking a whore. + He said, "After this poke + `Long and hard' ain't no joke; +This means months 'til I get back ashore." +% +At whist drives and strawberry teas +Fan would giggle and show off her knees; + But when she was alone + She'd drink eau de cologne, +And weep from a sense of unease. + -- Edward Gorey +% +Augustus, for splashing his soup, +Was put for the night on the stoop; + In the morning he'd not + Repented a jot, +And next day he was dead of the croup. + -- Edward Gorey +% +Back in the days of old Adam +The grass served as mattress for madam, + And they spent the whole day + On the sex that today +They would bounce on box springs, if they had 'em. +% +Coitus upon a cadaver +Is the ultimate way you can have 'er. + Her inanimate state + Means a man needn't wait, +And eliminates all the palaver. +% +Cried Miss Pratt : "What are you staring at? +I know - you don't have to say that! + All you guys want of me + Is a poke where I pee, +And it's pounding my ass mighty flat!" +% +Cum Hilde autem ambulabat +Homo qui aedificabat. + Dixit volebat. Debet et potebat. + Sic ille ducebat. Statim faciebat. +Sed virginem pine necebat. +% +Dame Catherine of Ashton-on-Lynches +Got on with her grooms and her wenches: + She went down on the gents, + And pronged the girl's vents +With a clitoris reaching six inches. +% +De Hispanice puella verumque +Simplex oris verborumque + Tulit potens vagina + Hominum agmina +Iterum iterum iterumque. +% +Did you hear about young Henry Lockett? +He was blown down the street by a rocket. + The force of the blast + Blew his balls up his ass, +And his pecker was found in his pocket. +% +DuPont, I.G., Monsanto, and Shell +Built a world-circling pussy cartel, + And by planned obsolescence, + So controlled detumescence, +A poor man could not get a smell. +% +Each Friday his engines abort, +But Scotty is never caught short. + He fills his machines + With space-navy beans, +And farts the ship back into port. +% +Each night Father fills me with dread +When he sits on the foot of my bed; + I'd not mind that he speaks + In gibbers and squeaks, +But for the seventeen years he's been dead. + -- Edward Gorey +% +Es giebt ein Arbeiter von Tinz, +Er schlaft mit ein Madel von Linz. + Sie sagt, "Halt sein' plummen, + Ich hore Mann kommen." +"Jacht, jacht," sagt der Plummer, "Ich binz." +% +Ethnologists up with the Sioux +Wired home for two punts, one canoe. + The answer next day, + Said, "Girls on the way, +But what the hell's a `panoe'?" +% +Exuberant Sue from Anjou +Found that fucking affected her hue. + She presented to sight + Nipples pink, bottom white; +But her asshole was purple and blue. +% +Flappity, floppity, flip +The mouse on the Mobius strip; + The strip revolved, + The mouse dissolved +In a chronodimensional skip. +% +Fond of equestrians, Mabel +Looked for true love in the stable. + But she found the studs, + For her were all duds, +Now she's out with the leg of a table. +% +For the sores on his prick he used Dial. +That failed; he gave Lava a trial. + But the one remedy + For contagious V.D. +Is the wonder drug sulfa-denial. +% +From Number Nine, Penwiper Mews, +There is really abominable news; + They've discovered a head + In the box for the bread, +But nobody seems to know whose. + -- Edward Gorey +% +From deep in the crypt at St. Giles +Came a bellow that echoed for miles. + Said the rector, "My gracious, + Has Father Ignatius +Forgotten the Bishop has piles!?" +% +From the bathing machine came a din +As of jollification within; + It was heard far and wide, + And the incoming tide +Had a definite flavour of gin. + -- Edward Gorey +% +Fucking is a filthy deed. -- I like it. +It satisfies a normal need. -- I like it. + It makes you sick, it makes you well, + It turns your spine to fucking jell, +It damns your soul to Eternal Hell! -- I like it. +% +God's plan had a great beginning, +But man spoiled his chances by sinning + We trust that the story + Will end in God's glory +But at present the other side's winning. +% +God's plan made a hopeful beginning +But man spoiled his chances by sinning. + We trust that the story + Will end in God's glory +But at present, the other side's winning. +% +Have you heard about Magda Lupescu, +Who came to Rumania's rescue? + It's a wonderful thing + To be under a king-- +Is democracy better, I esk you? +% +Have you heard of knock-kneed Samuel McGuzzum +Who married Samantha, his bow-legged cousin? + Some people say, + Love finds a way, +But for Sam and Samantha it doesn'. +% +Have you heard of the lady named Cox +Who had a capacious old box? + When her lover was in place + She said, "Please turn your face. +I look like a gal, but I screw like a fox." +% +Have you heard of those trollops of Birmingham +And the scandal that's currently concerning'em? + How they lift the frock + And tickle the cock +Of the bishop while he was confirming 'em? +% +He hated to mend, so young Ned +Called in a cute neighbor instead. + Her husband said, "Vi, + When you stitched his torn fly, +Did you have to bite off the thread?" +% +He hated to mend, so young Ned +Called in a cute neighbor instead. + Her husband said, "Vi, + When you stitched up his torn fly, +Did you have to bite off the thread?" +% +He played smooch and stinkfinger with Daisy +Till this virgin was gotch-eyed and hazy. + Then his gargantuan pole in + Her pink, tight, and swollen +Young cunt just about drove her crazy. +% +Her brother, a bastard named Ben, +Could rotate his pecker, and then + He would shoot through his rear + Which made him dear +Of the girls, and the envy of men. +% +Her daughter, thought worried Ms. Coffin, +Had morals the city might soften. + So she phoned and asked, "Lynn, + Are you living in sin?" +Lynn said, "No -- but I visit there often." +% +His shy bride admitted to Crandall +That for years she'd worked off with a candle, + But a cock like his dick + Gave her ten times the kick, +Though it stained her wee peehole to handle! +% +I dined with Lord Hughing Fitz-Bluing +Who said, "Do you squirm when you're screwing?" + I replied, "Simple shagging + Without any wagging +Is only for screwing canoeing." +% +I met a young man in Chungking +Who had a very long thing -- + But you'll guess my surprise + When I found that its size +Just measured a third-finger ring! +% +I never had Miss Defauw, +But it wouldn't have been quite so raw + If she'd only said "No" + When I wanted her so; +But she didn't -- she laughed and said "Naw!" +% +I once had the wife of a Dean +Seven times while the Dean was out skiin'. + She remarked with some gaiety, + "Not bad for the laiety, +Though the Bishop once managed thirteen." +% +I once met a lassie named Ruth +In a long distance telephone booth. + Now I know the perfection + Of an ideal connection +Even if somewhat uncouth. +% +I once was annoyed by a queer +Who made his intentions quite clear. + Said I, "I'm no prude, + So don't think me rude, +But I'm already stewed, screwed, and tattooed." +% +I wish that my room had a floor; +I don't so much care for a door, + But this walking around + Without touching the ground +Is getting to be quite a bore! + -- Gelett Burgess +% +I wonder what my wife will want tonight; +Wonder if the wife will fuss and fight? + I wonder can she tell + That I've been raising hell; +Wonder if she'll know that I've been tight? + +My wife is just as nice as can be, +I hope she doesn't feel too nice toward me. + For an afternoon of joy, + Is hell on the old boy, +I wonder what the wife will want tonight! +% +I wooed a stewed nude in Bermuda, +I was lewd, but my God! she was lewder. + She said it was crude + To be wooed in the nude-- +I pursued her, subdued her, and screwed her! +% +I would like to say, Mister Bunce, +I'm a great connoisseur of hot cunts. + And in all my lewd life + I've met none like your wife, +So why leave her to me, you big dunce? +% +I'd rather have fingers than toes, +I'd rather have ears than a nose, + And a happy erection + Brought just to perfection +Makes me terribly sad when it goes. +% +If continence causes neurosis +And intercourse causes thrombosis + I'd rather expire + Fulfilling desire +Than live in a state of psychosis. +% +If you're speaking of actions immoral +The how about giving the laurel + To doughty Queen Esther, + No three men could best her -- +One fore, and one aft, and one oral. +% +If your thesis is utterly vacuous, +Employ first-order predicate calculus. + With sufficient formality, + The sheerest banality, +Will be hailed by all as miraculous! +% +Il y a une jeune fille amoureuse +D'un homme qu'a une conduite honteuse; + Il la mene chaque soir + A son caveau noir +Et la bat avec plaintes crapuleuses. + -- Edward Gorey +% +Il y avait un jeune homme de dijon, +Qui n'avait que peu de religion. + Il dit:"quant a' moi, + Je deteste tous les trois, +Le pere, et le fils, et le pigeon-" +% +Il y avait un plombier, Francois, +Qui plombait sa femme dans le Bois. + Dit-elle, "Arretez! + J'entends quelqu'un venait." +Dit le plombier, en plombant, "C'est moi." +% +Il y avait une madame de Lahore +Dont la figure n'etait la meilleure, + Mais la vagine tres forte, + Toujours ouverte la porte, +Encore, et encore, et encore. +% +In Duluth there's a hostess, forsooth, +Who doesn't know gin from vermouth, + But this lubricant lapse + Isn't noticed, perhaps +Because nobody does in Duluth. +% +In my sweet little Alice Blue gown +Was the first time I ever laid down, + I was both proud and shy + As he opened his fly +And the moment I saw it I thought I would die. + +Oh it hung almost down to the ground, +As it went in I made not a sound, + The more that he shoved it + The more that I loved it, +As he came on my Alice Blue gown. +% +In my sweet little night gown of blue, +On the first night that I slept with you, + I was both shy and scared + As the bed was prepared, +And you played peekaboo with my ribbons of blue. + +As we both watched the break of day, +And in peaceful submission I lay, + You said you adored it + But dammit, you tore it, +My sweet little night gown of blue. +% +In the Garden of Eden lay Adam, +Complacently stroking his madam, + And loud was his mirth + For on all of the earth +There were only two balls -- and he had 'em. +% +In the Garden of Eden sat Adam, +Massaging the bust of his madam, + He chuckled with mirth, + For he knew that on earth, +There were only two boobs and he had 'em. +% +In the case of a lady named Frost, +Whose cunt's a good two feet acrost, + It's the best part of valor + To bugger the gal, or +You're apt to fall in and get lost. +% +In the little French town of Le'Beau, +Lived a maiden exceedingly droll. + At a masquerade ball, + Clad in nothing at all, +She backed in as a Parker house roll. +% +It always delights me at Hank's +To walk up the old river banks. + One time in the grass + I stepped on an ass, +And heard a young girl murmur, "Thanks." +% +It had snowed, and the man in the drift, +Flagged her down and asked, "Give me a lift?" + They sat in her Bentley, + She fondled him gently, +And the lift that he'd asked for was swift! +% +It takes little strain and no art +To bang out an echoing fart. + The reaction is hearty + When you fart at a party, +But the sensitive persons depart. +% +Love letters no longer they write us, +To their homes they so seldom invite us. + It grieves me to say, + They have learned with dismay, +We can't cure their `vulva pruritus'. +% +Marlene wanted Joy to relent, +She said, "AIDS is so hard to prevent. + If you want to get laid, + Then we'll have to tribade!" +(But Joy didn't know what she meant.) +% +McCoy's a seducer galore, +And of virgins he has quite a score. + He tells them, "My dear, + You're the Final Frontier, +Where man never has gone before." +% +Mrs. Kelly is partial to cocks; +Mr. Kelly likes rye on the rocks. + When he's under the weather + They can't get together, +So others get into her box. +% +My jaw aches, my pussy is sore. +I simply can't fuck any more; + I'm covered with sweat, + And you haven't come yet, +And my God, it's a quarter to four! + -- The Gray-haired Woman's Complaint +% +Oden the bardling averred +His muse was the bum of a bird, + And his Lesbian wife + Would finger his fife +While Fisherwood waited as third. +% +Of his face she thought not very much, +But then, at the very first touch, + Her attitude shifted -- + He was terribly gifted +At frigging and fucking and such. +% +Oh pity the prince, Montezuma +He tried to make love to a puma. + Seems the puma, in play, + Tore his testes away -- +An example of animal huma. +% +Oh, pity the Duchess of Kent! +Her cunt is so dreadfully bent, + The poor wench doth stammer, + "I need a sledgehammer +To pound a man into my vent." +% +On a cannibal isle near Malaysia +Lives a lady they call Anastasia. + Not russian elite- + She's eager to eat +Whatever or whoever lays her. +% +On a ship wrecked far out at sea, +The girl said, "I can't seem to pee." + "Aha!" said the mate, + "That settles the fate +Of the captain, the pilot, and me." +% +On day a Monterey daughter +Did scuba down under the water. + She later turned up + The mom of a pup, +And they say t'was a otter that gotter. +% +On the breasts of a harlot from Yale +Was tattooed the price of her tail + And on her behind, + For the sake of the blind, +Was the same information in Braille. +% +On the porch of a dude named Horatio, +His girl got a yen for fellatio. + As she sucked on his dingus + He tried cunnilingus +But the cops ran 'em off of that patio. +% +Once a young gay from Khartoum +Took a lesbian up to his room. + They argued all night + Over who had the right +To do what, and with which, and to whom. +% +Once was a hooker named Gail, +Busted and sent-off to jail, + She liked the jailer, + He wanted to nail her, +So Gail made bail with her tail. +% +One evening a guru had coitus +With an actress, a whore and a poetess. + When asked what position + He used for coition, +He answered serenely, "the loetus." +% +One evening a guru had coitus +With an actress, a whore and a poetess. + When asked what position + He used for coition, +He answered serenely, "the lotus." +% +One night a girl had an affair +With a fellow all covered with hair. + His enormous red whang + Gave her a wonderful bang -- +She'd been diddled by Smokey the bear. +% +One night a girl had an affair +With a fellow all covered with hair. + Then she picked up his hat + And realized that +She'd been had by Smokey the Bear. +% +Our staff proctologist, Dr. Barr, +Has invented a new kind of car. + With a tank full of shit + There's no stopping it -- +For short trips, two poots take you far. +% +Poor Alice who lived in Corvallis +Had heard of, but not seen, the male phallus. + At her first sight of one + She started to run, +And last was seen sprinting through Dallas. +% +Pour guerir un acces de fievre +Un jeune homme poursuivit un lievre; + Il le prit a son trou, + Et fit faire un ragout +Des entrailles et des pattes au genievre. + -- Edward Gorey +% +Said Einstein, "I have an equation +Which to some may seem Rabelaisian: + Let V be virginity + Approaching infinity; +Let P be a constant persuasion; + +"Let V over P be inverted +With the square root of Mu inserted + N times into V ... + The result, Q.E.D., +Is a relative!" Einstein asserted. +% +Said Einstein, "I have an equation +Which to some may seem rabelaisian: + Let _V be virginity + Approaching infinity; +Let _P be a constant persuasion; + +"Let _V over _P be inverted +With the square root of _M_u inserted + _N times into _V ... + The result, Q.E.D., +Is a relative!" Einstein asserted. +% +Said Francesca, "My lack of volition +Is leading me straight to perdition; + But I haven't the strength + To go to the length +Of making an act of contrition." + -- Edward Gorey +% +Said President Jobcock one day : +"War's better than love, I should say. + Instead of a virgin, + It's murder I'm urgin'-- +You get lots more blood that-a-way." +% +Said a dainty young whore named Ms. Meggs, +"The men like to spread my two legs, + Then slip in between, + If you know what I mean, +And leave me the white of their eggs." +% +Said a decadent wench of Bombay : +"This has been a most wonderful day. + Three cherry tarts, + At least twenty farts, +Two shits, and a bloody fine lay." +% +Said a girl who upon her divan +Was attacked by a virile young man: + "Such excess of passion + Is quite out of fashion" +And she fractured his wrist with her fan. + -- Edward Gorey +% +Said a happy young man of Fort Drum : +"What care I for this shortage of gum? + My favorite chew + Is a condom or two, +With a goodly amount of fresh come." +% +Said a horny young girl from Milpitas, +"My favorite sport is coitus." + But a fullback from State, + Made her period late, +And now she has athlete's fetus. +% +Said a lecherous fellow named Shea, +When his prick wouldn't rise for a lay, + "You must seize it, and squeeze it, + And tease it, and please it, +For Rome wasn't built in a day." +% +Said a lesbian lady, "It's sad; +Of all the girls that I've had, + None gave me the thrill + Of real rapture until +I learned how to be a tribade." +% +Said a madam named Mamie La Farge +To a sailor just off of a barge, + "We have one girl that's dead, + With a hole in her head-- +Of course there's a slight extra charge." +% +Said a modest young miss to de Sade, +I'm simply too shy and afraid + To take part in your pranks. + But to show you my thanks, +I'd just love to become your first aide. +% +Said a pornographistic young poet +"Although I perhaps do not show it, + My interest in sin + Is wearing quite thin, +And I'll soon tell those fuckers to stow it." +% +Said a swinging young chick named Lyth +Whose virtue was largely a myth, + "Try as hard as I can, + I can't find a man +That it's fun to be virtuous with." +% +Said crew girl Angelica Bauer : +"The captain's withdrawn, cold, and sour." + Uhura said, "No, + At night that's not so-- +He doesn't withdraw for an hour." +% +Said sneering Mohammed el-Din : +"Only infidel dogs put it in. + Back home in Arabia + We nibble the labia +Till the juice dribbles off of our chin." +% +Said the Duchess of Danzer at tea, +"Young man, do you fart when you pee?" + I replied with some wit, + "Do you belch when you shit?" +I think that was one up for me. +% +Said the cunt-lapping Bey of Algiers, +In a cunt halfway up to his ears : + "This nautch is delicious, + And without doubt nutritious. +She's my best-tasting wife in ten years!" +% +Said the nun as the bishop withdrew, +"This must be our final adieu, + For the vicar is slicker, + And thicker, and quicker, +And two inches longer than you." +% +Saint Peter was once heard to boast +That he'd had all the heavenly host : + The Father and Son, + And then - just for fun - +The hole in the Holy Ghost. +% +Says an airlining wanton named Vi: +"I'm a pantyless stew when I fly. + To a muffer's delight, + I'll take head on a flight, +So the guy can have pie in the sky." +% +She begged and she pleaded for more. +I said, "We've already had four, + And I'm sure that you've heard, + Though it's somewhat absurd, +That eros spelt backwards is sore." +% +She made a thing of soft leather, +And topped off the end with a feather. + When she poked it inside her + She took off like a glider, +And gave up her lover forever. +% +She stood there and peeled off her clothes, +And begged for a bang : goodness knows + I am surely impure + And I sizzled to scrure, +But the push had gone out of my hose. +% +She was coming round the mountain doin' ninety, +When the chain on her motorcycle broke, + Now she's lying in the grass, + With the muffler up her ass, +And her tits a-playin' Dixie on the spokes. +% +She was peeved, and called her beau "Mr." +Not because, when she came in, he kr., + But she knew, just before + She opened the door, +This same Mr. had kr. sr. +% +She wasn't what one could call pretty +And other girls offered her pity, + So nobody guessed + That her Wasserman test +Involved half the men in the city. +% +Sighed a neat little package named Annie : +"I've the tits and the twat and the fanny, + Plus the yen, but the men + Only call now and then-- +Can it be I've B.O. in my cranny?" +% +So here was this fellow of Strensall +Whose pecker was shaped like a pencil, + Anemic, 'tis true, + But an interesting screw, +Inasmuch as the tip was prehensile. +% +Thank God for the Duchess of Gloucester, +She obliges all who accost her. + She welcomes the prick + Of Tom, Harry or Dick, +Or Baldwin, or even Lord Astor. +% +That Harvard don down at El Djim -- +Oh, wasn't it nasty of him, + With the whole harem randy, + The sheik himself handy, +To muss up a young camel's quim. +% +That naughty old Sappho of Greece +Said: "What I prefer to a piece + Is to have my pudenda + Rubbed hard by the enda +The little pink nose of my niece." +% +The Dowager Duchess of Spout +Collapsed at the height of a rout; + She found strength to say + As they bore her away: +"I should never have taken the trout." + -- Edward Gorey +% +The Enterprise crew when off work +Will fuck like an Ottoman Turk. + Uhura the Zulu + Is shacked up with Sulu, +And Spock shares a crew girl with Kirk. +% +The Enterprise girls, so one hears, +Have chased Spock for several years. + His look of disdain + Has spared them great pain, +For his prick is as sharp as his ears. +% +The Grecians were famed for fine art, +And buildings and stonework so smart. + They distinguished with poise + The men from the boys, +And used crowbars to keep them apart. +% +The King named Oedipus Rex +Who started this fuss about sex + Put the world to great pains + By the spots and the stains +Which he made on his mother's pubex. +% +The King plugged the Queen's ass with mustard +To make her fuck hot, but got flustered, + And cried, "Oh, my dear, + I am coming, I fear, +But the mustard will make you come `plus tard'." +% +The Reverend Henry Ward Beecher +Called a girl a most elegant creature. + So she laid on her back + And, exposing her crack, +Said, "Fuck that, you old Sunday School Teacher!" +% +The Reverend Henry Ward Beecher +Called a hen a most elegant creature. + The hen, pleased with that, + Laid an egg in his hat -- +And thus did the hen reward Beecher. + -- Oliver Wendell Holmes +% +The Shah of the Empire of Persia +Lay for days in a sexual merger. + When the nautch asked the Shah, + "Won't you ever withdraw?" +He replied with a yawn, "It's inertia." +% +The Sultan was peeved with his harem, +And cooked up a scheme for to scare'em. + He caught a big mouse + Which he loosed in the house. +(Such confusion is called harem-scarem). +% +The acrobats - Tom and Louise- +Do an act in the nude on their knees. + They crawl down the aisle + While screwing dog-style, +As the orchestra plays Kilmer's "Trees." +% +The babe, with a cry brief and dismal, +Fell into the water baptismal; + Ere they'd gathered its plight, + It had sunk out of sight, +For the depth of the font was abysmal. + -- Edward Gorey +% +The bedsprings next door jounce and creak : +They have kept me awake for a week. + Why do newlyweds + Select squeaky beds +To develop their fucking technique? +% +The bishop of Alexandretta +Loved a girl and he couldn't forget her. + So he thought he'd enshrine her + As the Holy Vagina +In the Church of the Sacred French Letter. +% +The bustard's a remarkable fowl +With surely no reason to growl + He escapes what would be + Illegitimacy +By the grace of a fortunate vowel. +% +The cruelest of creatures' the crab +With claws that can pinch you or stab, + And then when you dine + On crab and white wine +It gets you as well with the tab. +% +The fearless old bishop of Brest +Put his faith in the Lord to the test. + He fucked whores in the apse + With chancres and claps, +But first they were sprinkled and blessed. +% +The first child of a Mrs. Keats-Shelley +Came to light with its face in its belly; + Her second was born + With a hump and a horn, +And her third was as shapeless as jelly. + -- Edward Gorey +% +The genital area of Ann +Will accommodate any size man, + From the wee that cause titters + To the mighty twat-splitters +That cause screams peasants hear in Japan. +% +The kings of Peru were the Incas, +Who were known far and wide as great drincas. + They worshipped the sun + And had lots of fun, +But the peasants all thought they were stincas. +% +The late Brigham Young was no neuter -- +No faggot, no fairy, no fruiter. + Where ten thousand virgins + Succumbed to his urgin's +There now stands the great State of Utah. +% +The latest reports from Good Hope +State that apes there have pricks thick as rope, + And fuck high, wide, and free, + From the top of one tree +To the top of the next -- what a scope! +% +The limerick is furtive and mean; +You must keep her in close quarantine, + Or she sneaks to the slums + And promptly becomes +Disorderly, drunk, and obscene. + -- Morris Bishop +% +The limerick, a verse form iniquitous, +Has nonetheless been ubiquitous. + Once Congress in session, + Declared its suppression, +But people got around that by writing the last line with no rhyme or meter. +% +The moyel who treated young Alec +Was cross-eyed and hydrocephalic. + Presented the child + His aim was so wild +He rendered the poor boy biphallic. +% +The new cinematic emporium +Is not just a super-sensorium, + But a highly effectual + Heterosexual +Mutual masturbatorium. +% +The new local cinematorium +Is not only a super sensorium, + But a highly effectual + Heterosexual +Mutual masturbatorium. +% +The nipples of Sarah Sarong +When excited are twelve inches long + This embarrassed her lover + Who was pained to discover +She expected no less of his dong +% +The notorious Duchess of Peels +Saw a fisherman fishing for eels. + Said she, "Would you mind? -- + Shove one up my behind. +I am anxious to know how it feels." +% +The office brown-noser named Bunky +Would claim he was nobody's flunky. + But when the chips were all down, + His proboscis was brown, +And there hung many strands which were gunky. +% +The old archeologist, Throstle, +Discovered a marvelous fossil. + He knew from its bend + And the knot on the end, +T'was the penis of Paul the Apostle. +% +The once was a man from Bombay +Who modeled his cunts out of clay + So hot was his prick + That he turned them to brick +And rubbed all his foreskin away. +% +The partition of Vavasour Scowles +Was a sickener: they came on his bowels + In a firkin; his brain + Was found clogging a drain, +And his toes were inside of some towels. + -- Edward Gorey +% +The prick of the engineer, Scott, +Fell off from Saturnian rot. + He went to the basement + And made a replacement +Of tungsten and plastic and snot. +% +The randy old Bey of Algiers +Who'd confined his cock-poking to queers, + Tried a cunt for a change, + And remarked : "It felt strange ... +Just think what I've missed all these years!" +% +The sight of his guests filled Lord Cray +At breakfast with horrid dismay, + So he launched off the spoons + The pits from his prunes +At their heads as they neared the buffet. + -- Edward Gorey +% +The skater, Barbara Ann Scott +Is so fuckingly "winsome" a snot, + That when posed on her toes + She elaborately shows +Teeth, fat ass, titties and twat. +% +The spouse of a pretty young thing +Came home from the wars in the spring. + He was lame but he came + With his dame like a flame -- +A discharge is a wonderful thing. +% +The star of that X-rated hit +Plays a nurse with a throat full of clit. + This serves as a palace + For each turgid phallus-- +Some say that the plot is pure shit. +% +The wife of young Richard of Limerick +Complained to her husband, "My quim, Rick, + Still grows in diameter + Each time that you ram at her; +How can your poor tool stay so slim, Rick?" +% +The woman who lives on the moon +Is still cherishing the balloon + Of an earthling who'd come + And given her some, +But had dribbled away all too soon. +% +The work of Mess Sergeant Potgieter +Is not merely reading a meter. + By orders of Kirk + A part of his work +Is dosing the food with saltpeter. +% +The world is so full of a number of things, +I'm sure we should all be as happy as kings. + I'll tell you a story-- + It won't take me long-- +Of a brother and sister whose tale is my song. + +There was an old fellow and what do you think? +He lived on the cheese that he scraped from his dink. + He whacked it, he hacked it, + He ate it with glee- +Was there ever a fellow so happy as he? + +This charming old chap had a sister as well : +She was ugly and gaunt, with a horrible smell. + Her cunt was so dirty + It stank like a beast, +And the odor killed flies as they gathered to feast. + +What a wonderful family! What marvellous style! +I'll bet you and I aren't close by a mile. + Their odor and diet + Won't soon be forgotten, +And one day you and I may be equally rotten. +% +There a young man from the Coast +Who had an affair with a ghost. + At the height of orgasm + Said the pallid phantasm, +"I think I can feel it -- almost!" +% +There are some things we mustn't expose, +So we hide them away in our clothes. + Oh, it's shocking to stare + At what's certainly there-- +But why this is so, heaven knows. +% +There is a young faggot named Mose +Who insists that you fuck his long nose. + And you'll double the joy + Of this lecherous boy +If you'll tickle his balls with your toes. +% +There is a young lady named Aird, +Whose bottom is always kept bared. + When asked why she pouts, + She says "The Boy Scouts, +All beg me to please Be Prepared!" +% +There once was a Duchess of Beever +Who slept with her golden retriever. + Said the potted old Duke : + "Such tricks make me puke! +Were it not for her money, I'd leave her." +% +There once was a Duchess of Bruges +Whose cunt was incredibly huge. + Said the king to this dame + As he thunderously came: +"Mon Dieu! Apres moi, le deluge!" +% +There once was a Scot named McAmeter +With a tool of prodigious diameter. + It was not the size + That cause such surprise; +'Twas his rhythm -- iambic pentameter. +% +There once was a Swede in Minneapolis, +Discovered his sex life was hapless: + The more he would screw + The more he'd want to, +And he feared he would soon be quite sapless. +% +There once was a Usenetter named Mark, +Whose gender was kept in the dark. + He/she/it said with a nod, + "My ancestors were odd!" +Did Noah need two for the ark? +% +There once was a bishop from Birmingham +Who deflowered young girls while confirming 'em. + As they knelt on the hassock + He lifted his cassock +And slipped his episcopal worm in 'em. +% +There once was a boy named Carruthers +Who was busily fucking his mother + "I know it's a sin," + He said, shoving it in, +"But it's better than blowing my brother." +% +There once was a chick named Longet, +Who went out to Aspen to play. + Along came a Spyder, + Who sat down beside her +And she blew the poor bastard away. +% +There once was a clergyman's daughter +Who detested the pony he bought her, + Till she found that its dong + Was as hard and as long +As the prayers her father had taught her. + +She married a fellow named Tony +Who soon found her fucking the pony. + Said he, "What's it got, + My dear, that I've not?" +Sighed she, "Just a yard-long bologna." +% +There once was a couple named Kelley, +Who lived their life belly to belly. + Because in their haste + They used Library Paste, +Instead of Petroleum Jelly. +% +There once was a couple named Kelley, +Who lived their life belly to belly. + Because in their haste + They used library paste, +Instead of petroleum jelly. +% +There once was a couple named Kelly +Who walked around belly-to-belly. + It seems in their haste, + They used Carter's paste +Instead of petroleum jelly. +% +There once was a dentist named Stone +Who saw all his patients alone. + In a fit of depravity + He filled the wrong cavity, +And my, how his practice has grown! +% +There once was a fairy named Avers +Who encircled his cock with lifesavers. + Though buggers all claimed + That their asses were maimed, +Sixy-niners all cheered the new flavors. +% +There once was a feisty young terrier +Who liked to bite girls on the derriere. + He'd yip and he'd yap, + Then leap up and snap; +And the fairer the derriere the merrier. +% +There once was a fellow named Bob +Who in sexual ways was a snob. + One day he was swimmin' + With twelve naked women +And deserted them all for a gob. +% +There once was a fellow named Brewster +Who said to his wife, as he goosed her, + "It used to be grand + But look at my hand +You're not wiping as clean as ya uster." +% +There once was a fellow named Howard, +Whose tool it was nuclear-powered, + While grabbing some ass, + He reached critical mass, +But think of the girl he deflowered! +% +There once was a fellow named Potts +Who was prone to having the trots + But his humble abode + Was without a commode +So his carpet was covered with spots. +% +There once was a fellow named Siegel +Who attempted to bugger a beagle, + But the mettlesome bitch + Turned and said with a twitch, +"It's fun, but you know it's illegal." +% +There once was a fellow named Sweeney +Who spilled gin all over his weenie. + Not being uncouth, + He added vermouth +And slipped his amour a martini. +% +There once was a fencer named Fisk, +Whose speed was incredibly brisk. + So fast was his action, + The Fitzgerald contraction, +Foreshortended his foil to a disk. +% +There once was a fiesty young terrier +Who liked to bite girls on the derriere. + He'd yip and he'd yap, + Then leap up and snap; +And the fairer the derriere the merrier. +% +There once was a floozie named Annie +Whose prices were cosy--but cannie: + A buck for a fuck, + Fifty cents for a suck, +And a dime for a feel of her fanny. +% +There once was a freshman named Lin, +Whose tool was as thin as a pin, + A virgin named Joan + From a bible belt home, +Said "This won't be much of a sin." +% +There once was a gangster named Brown +- the sneakiest bastard in town. + He was caught by G-men + Shooting his semen +Where the cops would slip and fall down. +% +There once was a gaucho named Bruno, +Who said, "About sex, well, I do know, + Sheep are just fine, + Chickens, divine, +But iguanas are Numero Uno." +% +There once was a gay young Parisian +Who screwed an appendix incision, + And the girl of his choice + Could hardly rejoice +At the horrible lack of precision. +% +There once was a girl from Cornell +Whose teats were shaped like a bell. + When you touched them they shrunk, + Except when she was drunk, +And then they got bigger than hell. +% +There once was a girl from Decatur, +Who got laid by a big alligator. + Now nobody knew + The result of that screw, +'Cause after he laid her, he ate her. +% +There once was a girl from Madras +Who had such a beautiful ass - + It was not round and pink + (As you bastards think) +But had two ears, a tail, and ate grass. +% +There once was a girl from Spokane, +Went to bed with a one-legged man. + She said, "I know you-- + You've really got two! +Why didn't you say so when we began?" +% +There once was a girl named Irene +Who lived on distilled kerosene + But she started absorbin' + A new hydrocarbon +And since then has never benzene. +% +There once was a girl named Louise +Who cunt hair hung down to her knees + The crabs in her twat + Tied the hairs in a knot +And constructed a flying trapeze +% +There once was a girl named Mcgoffin +Who was diddled amazingly often. + She was rogered by scores + Who'd been turned down by whores, +And was finally screwed in her coffin. +% +There once was a girl named Priscilla +Whose vagina was flavored vanilla. + The taste was so fine + Man and beast stood in line +(Including a stud armadilla). +% +There once was a girl so lovely, +Who wanted to make love in the bubbly, + She strapped on her tanks, + And started her pranks, +But the lobsters all thought she was ugly. +% +There once was a golfer named Leer, +Who got put in the clink for a year, + For an action obscene, + On the very first green. +Where the sign said "Enter course here." +% +There once was a gouty old colonel +Who grew glum when the weather grew vernal, + And he cried in his tiffin + For his prick wouldn't stiffen, +And the size of the thing was infernal. +% +There once was a guardsman from Buckingham +Who said, "As for girls, I hate fucking 'em. + But when I meet boys, + God! how I enjoys +Just licking their peckers and sucking 'em." +% +There once was a hacker named Ken +Who inherited truckloads of Yen. + So he built him some chicks, + Of silicon chips, +And hasn't been heard from since then. +% +There once was a handsome young seaman +Who with ladies was really a demon. + In peace or in war, + At sea or on shore, +He could certainly dish out the semen. +% +There once was a horny old bitch +With a motorized self-frigger which + She would use with delight + All day long and all night - +Twenty bucks: Abercrombie & Fitch. +% +There once was a horse named Lily +Whose dingus was really a dilly. + It was vaginoid duply, + And labial quadruply -- +In fact, he was really a filly. +% +There once was a husky young Viking +Whose sexual prowess was striking. + Every time he got hot + He would scour the twat +Of some girl that might be to his liking. +% +There once was a jolly old bloke +Who picked up a girl for a poke. + He took down her pants, + Fucked her into a trance, +And then shit into her shoe for a joke. +% +There once was a kiddie named Carr +Caught a man on top of his mar. + As he saw him stick 'er, + He said with a snicker, +"You do it much faster than par." +% +There once was a lady from Exeter, +So pretty that men craned their necks at her. + One was even so brave + As to take out and wave +The distinguishing mark of his sex at her. +% +There once was a lady from Kansas +Whose cunt was as big as Bonanzas. + It was nine inches deep + And the sides were quite steep -- +It had whiskers like General Carranza's. +% +There once was a lady named Carter, +Fell in love with a virile young Tartar. + She stripped off his pants, + At his prick quickly glanced, +And cried: "For that I'll be a martyr!" +% +There once was a lady named Clair, +Who posessed a magnificent pair. + Or that's what I thought, + Till I saw one get caught, +On a thorn and begin losing air. +% +There once was a lady named Myrtle +Who had an affair with a turtle. + She had crabs, so they say, + In a year and a day +Which proved that that turtle was fertile. +% +There once was a lawyer named Rex +With minuscule organs of sex. + Arraigned for exposure, + He maintained with composure, +"De minimis non curat lex." + + [Trans: the law does not concern itself with small things. Ed.] +% +There once was a lifeguard named Lee +Who rescued a girl from the sea + She asked how to pay, + And he said "Try this way, +Go down for the third time on me." +% +There once was a maid from Mobile +Whose cunt was made of blue steel. + She only got thrills + From pneumatic drills +And an off-centered emery wheel. +% +There once was a man from Bombay +He would do it all night and all day + He soon became sore + You shoulda' heard him roar +When his wife rubbed his balls with Ben-Gay! +% +There once was a man from Calcutta +Who used to beat off in the gutta + The heat of the sun + Affected his gun +And turned all his cream into butta! +% +There once was a man from Dunoon, +Who always ate soup with a fork. + He said "When I eat + Either fish, foul or flesh, +I otherwise finish too quick." +% +There once was a man from Exameter +Who had a prodigious diameter + But it wasn't the size + That brought forth the cries +'Twas his rythm, iambic pentameter. +% +There once was a man from Madras, +Whose balls were made out of brass. + When they clanged together, + They played "Stormy Weather", +And lightning shot out of his ass. +% +There once was a man from Nantee +Who buggered an ape in a tree. + The results were most horrid + All ass and no forehead +Three balls and a purple goatee. +% +There once was a man from Nantucket +Who kept all his cash in a bucket. + His daughter, named Nan, + Ran away with a man, +And as for the bucket, Nantucket. + +The pair of them went to Manhasset, +(Nan and the man with the asset.) + Pa followed them there, + But they left in a tear, +And as for the asset, Manhasset. + +Pa followed the pair to Pawtucket, +(Nan and the man with the bucket.) + Pa said to the man, + "You're welcome to Nan." +But as for the bucket, Pawtucket. +% +There once was a man from Nantucket +Whose dick was so long he could suck it. + He said with a grin + As he wiped off his chin, +"If my ear was a cunt, I could fuck it!" +% +There once was a man from Racine, +Who invented a screwing machine. + Both concave and convex, + It could please either sex, +But, oh, what a bastard to clean! +% +There once was a man from Sandem +Who was making his girl on a tandem. + At the peak of the make + She jammed on the brake +And scattered his semen at random. +% +There once was a man from Sydney +Who could put it up to her kidney. + But the man from Quebec + Put it up to her neck; +He had a big one, now didn't he? +% +There once was a man named Eugene +Who invented a screwing machine + Concave and convex + It served either sex +And it played with itself in between. +% +There once was a man named Lodge, +who had seatbelts installed in his Dodge. + When his date was strapped in, + He committed a sin, +without ever leaving the garage. +% +There once was a man named McGruder, +Who canoed with a girl in Bermuder. + But the girl thought it crude, + To be wooed in the nude, +So McGru took an oar and subduder. +% +There once was a man named McSweeny +Who spilled some raw gin on his weeny. + Just to be couth, + He added vermouth, +And slipped his girlfriend a martini. +% +There once was a man named Parridge +With peculiar views on marriage. + He sucked off his brother, + Fucked his own mother, +And gobbled his sister's miscarriage. +% +There once was a man with a hernia +Who said to his doctor, "Gol dern ya, + When you work on my middle + Be sure you don't fiddle +With things that do not concern ya." +% +There once was a member of Mensa +Who was a most excellent fencer. + The sword that he used + Was his -- (line is refused, +And has now been removed by the censor). +% +There once was a miner named Dave, +Who kept a dead whore in his cave. + She was ugly as shit, + And missing one tit, +But think of the money he saves. +% +There once was a monk of Camyre +Who was seized with a carnal desire + And the primary cause + Was the abbess's drawers +Which were hung up to dry by the fire. +% +There once was a newspaper vendor, +A person of dubious gender. + He would charge one-and-two + For permission to view +His remarkable double pudenda. +% +There once was a plumber from Leigh, +Who was plumbing his maid by the sea, + Said she, "Please stop plumbing, + I think someone's coming!" +Said he, "Yes I know love, it's me." +% +There once was a pretty young Mrs. +Whose tearful but short story thrs. + Her mind lost its grasp - + Now she thinks she's an asp +And just sits in the corner and hrs. +% +There once was a queen of Bulgaria +Whose bush had grown hairier and hairier, + Till a prince from Peru + Who came up for a screw +Had to hunt for her cunt with a terrier. +% +There once was a reverend at Kings +Whose mind 'twas on heavenly things. + But his heart was on fire + For a boy in the choir +Whose buns were like jelly on springs. +% +There once was a sad Maitre d'hotel +Who said, "They can all go to hell! + What they do to my wife -- + Why it ruins my life; +And the worst is they all do it well." +% +There once was a sailor named Gasted, +A swell guy, as long as he lasted, + He could jerk himself off + In a basket, aloft, +Or a breeches-buoy swung from the masthead. +% +There once was a son-of-a-bitch, +Neither clever, nor handsome, nor rich, + Yet the girls he would dazzle, + And fuck to a frazzle, +And then ditch them, the son-of-a-bitch! +% +There once was a spaceman named Spock +Who had a huge Vulcanized cock. + A girl from Missouri + Whose name was Uhura +Just fainted away from the shock. +% +There once was a whore from Regina +Who had a stupendous vagina. + To save herself time, + She had six at a time, +And another one working behind her. +% +There once was a woman from Arden +Who sucked off a man in a garden. + He said, "My dear Flo, + Where does all that stuff go?" +And she said, "[Swallow hard] I beg pardon?" +% +There once was a yokel of Beaconsfield +Engaged to look after the deacon's field, + But he lurked in the ditches + And diddled the bitches +Who happened to cross that antique 'un's field. +% +There once was a young fellow named Blaine, +And he screwed some disgusting old jane. + She was ugly and smelly, + With an awful pot-belly, +But... well, they were caught in the rain. +% +There once was a young girl from Natches +Who chanced to be born with two snatches + She often said, "Shit! + I'd give either tit +For a guy with equipment that matches." +% +There once was a young man from Boston +Who drove around town in an Austin, + There was room for his ass, + And a gallon of gas, +So he hung out his balls and he lost 'em. +% +There once was a young man from France +Who waited ten years for his chance; +Then he muffed it... +% +There once was a young man from Yuma +Who attempted sex with a puma + He gave up real quick + Minus nose, toes, and prick +In obvious pain and ill huma. +% +There once was a young man from Yuma, +Who told an elephant joke to a puma. + Now his dry bleached bones lie, + Under hot Asian skies, +'Cause the puma had no sense of huma. +% +There once was a young man named Clyde +Who fell in an outhouse, and died. + He had a twin brother + Who fell in another +And now they're interred side by side. +% +There once was a young man named Gene, +Who invented a screwing machine. + Concave and convex, + It served either sex, +And it played with itself inbetween. +% +There once was a young man named Lancelot +Whom the townsfolk would look at askance a lot + For when he should pass + A desirable lass +The front of his pants would advance a lot. +% +There once was an Arpanet freak, +Who better response-time did seek. + He searched coast to coast, + For a reliable host, +Whose logger took less than a week. +% +There once was an old man from Esser, +Who's knowledge grew lesser and lesser. + It at last grew so small, + He knew nothing at all, +And now he's a College Professor. +% +There once were two brothers named Luntz +Who buggered each other at once. + When asked to account + For this intricate mount, +They said, "Ass-holes are tighter than cunts." +% +There once were two women from Birmingham. +And this is the story concerning 'em. + They lifted the frock + And fondled the cock +Of the bishop as he was confirming 'em. +% +There was a bluestocking in Florence +Wrote anti-sex pamphlets in torrents, + Till a Spanish grandee, + Got her off with his knee, +And she burned all her works with abhorrence. +% +There was a family named Doe, +An ideal family to know. + As father screwed mother, + She said, "You're heavier than brother." +And he said, "Yes, Sis told me so!" +% +There was a fat lady of China +Who'd a really enormous vagina, + And when she was dead + They painted it red, +And used it for docking a liner. +% +There was a fat man from Rangoon +Whose prick was much like a ballon. + He tried hard to ride her + And when finally inside her +She thought she was pregnant too soon. +% +There was a gay countess of Bray, +And you may think it odd when I say, + That in spite of high station, + Rank and education, +She always spelled cunt with a 'k'. +% +There was a gay dog from Ontario +Who fancied himself a Lothario. + At a wench's glance + He'd snatch off his pants +And make for her Mons Venerio. +% +There was a gay parson of Norton +Whose prick, although thick, was a short 'un. + To make up for this loss, + He had balls like a horse, +And never spent less than a quartern. +% +There was a gay parson of Tooting +Whose roe he was frequently shooting, + Till he married a lass + With a face like my arse, +And a cunt you could put a top-boot in. +% +There was a girl from Aberystwyth +Who brought grain to the mill to get grist with. + The miller's son Jack + Laid her flat on her back +And united the organs they pissed with. +% +There was a lewd fellow named Duff +Who loved to dive deep in the muff. + With his head in a whirl + He said, "Spread it, Pearl; +I cunt get enough of the stuff!" +% +There was a man from Mich. +Who used to wish and wich. + That spring would come + So he could bum +Around and go out fich. +% +There was a pianist named Liszt +Who played with one hand while he pissed, + But as he grew older + His technique grew bolder, +And in concert jacked off with his fist. +% +There was a poor parson from Goring, +Who made a small hole in his flooring, + Fur-lined it all round, + Then laid on the ground, +And declared it was cheaper than whoring. +% +There was a strong man of Drumrig +Who one day did seven times frig. + He buggered three sailors, + Four dogs and two tailors, +And ended by fucking a pig. +% +There was a teenager named Donna +Who never said, "No, I don't wanna." + Two days out of three + She would shoot LSD, +And on weekends she smoked marijuana. +% +There was a young German named Ringer +Who was screwing an opera singer. + Said he with a grin, + "Well, I've sure got it in!" +Said she, "You mean that ain't your finger?" +% +There was a young Jew of Far Rockaway +Whose screams could be heard for a block away. + Perceiving his error, + The Rabbi in terror +Cried, "God! I have cut his whole cock away!" +% +There was a young Scot in Madrid +Who got fifty-five fucks for a quid. + When they said, "Are you faint?" + He replied, "No, I ain't, +But I don't feel as good as I did." +% +There was a young belle of old Natchez +Whose garments were always in patchez. + When comment arose + On the state of her clothes +She, drawled, "When ah itchez, ah scratchez." +% +There was a young blade from South Greece +Whose bush did so greatly increase + That before he could shack + He must hunt needle in stack. +'Twas as bad as being obese. +% +There was a young bride of Antigua +Whose husband said, "Dear me, how big you are!" + Said the girl, "What damn'd rot! + Why, you've only felt my twot, +My legs and my arse and my figua!" +% +There was a young bride, a Canuck, +Told her husband, "Let's do more than suck. + You say that I, maybe, + Can have my first baby-- +Let's give up this Frenchin' and fuck!" +% +There was a young chap in Arabia +Who courted a widow named Fabia. + "Yes, my tongue is as long + As the average man's dong," +He said, licking the lips of her labia. +% +There was a young cook with the art +Of making a delicious tart + With a handful of shit, + Some snot and some spit, +And he'd flavor the whole with a fart. +% +There was a young curate whose brain +Was deranged from the use of cocaine; + He lured a small child + To a copse dark and wild, +Where he beat it to death with his cane. + -- Edward Gorey +% +There was a young damsel named Baker +Who was poked in a pew by a Quaker. + He yelled, "My God! what + Do you call this -- a twat? +Why, the entrance is more than an acre!" +% +There was a young dolly named Molly +Who thought that to frig was a folly. + Said she, "Your pee-pee + Means nothing to me, +But I'll do it just to be jolly." +% +There was a young fellow called Clyde +Who fell in an outhouse and died. + He had a twin brother + Who fell in another +So now they're interred side by side. +% +There was a young fellow from Cal., +In bed with a passionate gal. + He leapt from the bed, + To the toilet he sped; +Said the gal, "What about me, old pal?" +% +There was a young fellow from Florida +Who liked a friend's wife, so he borrowed her. + When they got into bed + He cried, "God strike me dead! +This ain't a cunt -- it's a corridor!" +% +There was a young fellow from Kent +Whose cock was so long that it bent + To save himself trouble + He put it in double +And instead of coming, he went. +% +There was a young fellow from Leeds +Who swallowed a package of seeds. + Great tufts of grass + Sprouted out of his ass +And his balls were all covered with weeds. +% +There was a young fellow from Parma +Who was solemnly screwing his charmer. + Said the damsel demure, + "You'll excuse me, I'm sure, +But I must say you fuck like a farmer." +% +There was a young fellow name Tucker +Who, instructing a novice cock-sucker, + Said, "Don't bow out your lips + Like an elephant's hips, +The boys like it best when they pucker." +% +There was a young fellow named Ades +Whose favorite fruit was young maids. + But sheep, nigger boys, whores, + And the knot holes in doors +Were by no means exempt from his raids. +% +There was a young fellow named Babbitt +Who could screw nine times like a rabbit, + But a girl from Johore + Could do it twice more, +Which was just enough extra to crab it. +% +There was a young fellow named Bill, +Who took an atomic pill, + His navel corroded, + His asshole exploded, +And they found his nuts in Brazil. +% +There was a young fellow named Blaine, +And he screwed some disgusting old jane. + She was ugly and smelly + With an awful pot-belly, +But... well, they were caught in the rain. +% +There was a young fellow named Bliss +Whose sex life was strangely amiss, + For even with Venus + His recalcitrant penis +Would never do better than t + h + i + s + . +% +There was a young fellow named Bowen +Whose pecker kept growin' and growin'. + It grew so tremendous, + So long and so pendulous, +'Twas no good for fuckin' -- just showin'. +% +There was a young fellow named Brewer +Whose girl made her home in a sewer. + Thus he, the poor soul, + Could get into her hole, +And still not be able to screw her! +% +There was a young fellow named Case +Who entered a cunt-lapping race. + He licked his way clean + Through Number thirteen, +But then slipped and got pissed in the face. +% +There was a young fellow named Charteris +Put his hand where his young lady's garter is. + Said she, "I don't mind, + And higher up you'll find +The place where my fucker and farter is." +% +There was a young fellow named Cribbs +Whose cock was so big it had ribs. + They were inches apart, + And to suck it took art, +While to fuck it took forty-two trips. +% +There was a young fellow named Feeney +Whose girl was a terrible meany. + The hatch of her snatch + Had a catch that would latch +- She could only be screwed by Houdini. +% +There was a young fellow named Fletcher, +Was reputed an infamous lecher. + When he'd take on a whore + She'd need a rebore, +And they'd carry him out on a stretcher. +% +There was a young fellow named Fyfe +Whose marriage was ruined for life, + For he had an aversion + To every perversion, +And only liked fucking his wife. + +Well, one year the poor woman struck, +And she wept, and she cursed at her luck, + And said, "Where have you gotten us + With your goddamn monotonous +Fuck after fuck after fuck? + +"I once knew a harlot named Lou -- +And a versatile girl she was, too. + After ten years of whoredom + She perished of boredom +When she married a jackass like you!" +% +There was a young fellow named Gene +Who first picked his asshole quite clean. + He next picked his toes, + And lastly his nose, +And he never did wash in between. +% +There was a young fellow named Gluck +Who found himself shit out of luck. + Though he petted and wooed, + When he tried to get screwed +He found virgins just don't give a fuck. +% +There was a young fellow named Goody +Who claimed that he wouldn't, but would he? + If he found himself nude + With a gal in the mood +The question's not woody but could he? +% +There was a young fellow named Grant +Who was made like the sensitive plant. + When they asked "Do you fuck?" + He replied, "No such luck. +I would if I could, but I can't." +% +There was a young fellow named Grimes +Who fucked his girl seventeen times + In the course of a week -- + And this isn't to speak +Of assorted venereal crimes. +% +There was a young fellow named Harry, +Had a joint that was long, huge and scary. + He grabbed him a virgin, + Who, without any urgin', +Immediately spread like a fairy. +% +There was a young fellow named Hatch +Who was fond of the music of Bach. + He said: "It's not fussy + Like Brahms and Debussy; +Sit down, and I'll play you a snatch." +% +There was a young fellow named Kimble +Whose prick was exceedingly nimble, + But fragile and slender, + And dainty and tender, +So he kept it encased in a thimble. +% +There was a young fellow named Meek +Who invented a lingual technique. + It drove women frantic, + And made them romantic, +And wore all the hair off his cheek. +% +There was a young fellow named Morgan +Who possessed an unusual organ: + The end of his dong, + Which was nine inches long, +Was tipped with the head of a gorgon. +% +There was a young fellow named Paul +Who confessed, "I have only one ball. + But the size of my prick + Is God's dirtiest trick, +For my girls always ask, 'Is that all?'" +% +There was a young fellow named Pell +Who didn't like cunt very well. + He would finger or fuck one, + But never would suck one-- +He just couldn't get used to the smell. +% +There was a young fellow named Price +Who dabbled in all sorts of vice. + He had virgins and boys + And mechanical toys, +And on Mondays... he meddled with mice! +% +There was a young fellow named Prynne +Whose prick was so short and so thin, + His wife found she needed + A Fuckoscope -- she did -- +To see if he'd gotten it in. +% +There was a young fellow named Skinner +Who took a young lady to dinner + At a quarter to nine, + They sat down to dine, +At twenty to ten it was in her. +The dinner, not Skinner -- Skinner was in her before dinner. + +There was a young fellow named Tupper +Who took a young lady to supper. + At a quarter to nine, + They sat down to dine, +And at twenty to ten it was up her. +Not the supper -- not Tupper -- It was some son-of-a-bitch named Skinner! +% +There was a young fellow named Sweeney, +Whose girl was a terrible meanie, + The hatch of her snatch, + Had a catch that would latch, +She could only be screwed by Houdini. +% +There was a young fellow named dick +Who had a magnificent prick. + It was shaped like a prism + And shot so much gism +It made every cocksucker sick. +% +There was a young fellow of Burma +Whose betrothed had good reason to murmur. + But now that he's married he's + Been using cantharides +And the root of their love is much firmer. +% +There was a young fellow of Greenwich +Whose balls were all covered with spinach. + He had such a tool + It was wound on a spool, +And he reeled it out inich by inich. + +But this tale has an unhappy finich, +For due to the sand in the spinach + His ballocks grew rough + And wrecked his wife's muff, +And scratched up her thatch in the scrimmage. +% +There was a young fellow of Harrow +Whose john was the size of a marrow. + He said to his tart, + "How's this for a start? +My balls are outside in a barrow." +% +There was a young fellow of Kent +Whose prick was so long that it bent, + So to save himself trouble + He put it in double, +And instead of coming he went. +% +There was a young fellow of Mayence +Who fucked his own arse in defiance + Not only of custom + And morals, dad-bust him, +But of most of the known laws of science. +% +There was a young fellow of Perth +Whose balls were the finest on earth. + They grew to such size + That one won a prize, +And goodness knows what they were worth. +% +There was a young fellow of Strensall +Whose prick was as sharp as a pencil. + On the night of his wedding + It went through the bedding, +And shattered the chamber utensil. +% +There was a young fellow of Warwick +Who had reason for feeling euphoric, + For he could by election + Have triune erection: +Ionic, Corinthian, and Doric. +% +There was a young fellow whose dong +Was prodigiously massive and long. + On each side of his whang + Two testes did hang +That attracted a curious throng. +% +There was a young gaucho named Bruno +Who said, "Screwing is one thing I do know. + A woman is fine, + And a sheep is divine, +But a llama is Numero Uno." +% +There was a young gaucho named Bruno +Who said, "There is one thing I do know, + Women are fine + And children devine, +But the llama is numero uno." +% +There was a young girl from Annista +Who dated a lecherous mister. + He fondled her titty, + Got one finger shitty, +Then screwed up his courage and kissed 'er. +% +There was a young girl from Decatur +Who was raped by an alligator. + But no one quite knew + How she relished that screw, +For after he screwed her, he ate her. +% +There was a young girl from Dundee, +From her fanny there grew a plum tree. + No one ate the nice fruit, + To tell you the truth, +Because they knew it came from her tooty-toot-toot. +% +There was a young girl from East Lynn +Whose mother ( to save her from sin ) + Had filled up her crack + With hard-setting shellac, +But the boys picked it out with a pin. +% +There was a young girl from Hong Kong +Who said, "You are utterly wrong + To say my vagina + Is the largest in China +Just because of your mean little dong." +% +There was a young girl from Hong Kong +Whose cervical cap was a gong. + She said with a yell, + As a shot rang her bell, +"I'll give you a ding for a dong!" +% +There was a young girl from Medina +Who could completely control her vagina. + She could twist it around + Like the cunts that are found +In Japan, Manchukuo and China. +% +There was a young girl from New York +Who plugged up her cunt with a cork. + A woodpecker or two + Made the grade it is true, +But it totally baffled the stork. + +Till along came a man who presented +A tool that was strangely indented. + With a dizzying twirl + He punctured that girl, +And thus was the cork-screw invented. +% +There was a young girl from New York +Who plugged up her quim with a cork + A woodpecker or two + Made the grade, it is true, +But it totally baffled the stork. +% +There was a young girl from Peru, +Who had nothing whatever to do. + So she sat on the stairs, + And counted cunt hairs, +Four thousand, three hundred and two. +% +There was a young girl from Peru, +Who noticed her lovers were few; + So she walked out her door + With a fig leaf, no more, +And now she's in bed - with the flu. +% +There was a young girl from Samoa +Who pledged that no man would know her. + One young fellow tried, + But she wriggled aside, +And he spilled all his spermatozoa. +% +There was a young girl from Seattle, +Whose hobby was sucking off cattle. + But a bull from the South + Shot a wad in her mouth +That made both her ovaries rattle. +% +There was a young girl from Siam +Who said to her boyfriend Priam, + "To seduce me, of course, + You'll have to use force, +And thank goodness you're stronger than I am. +% +There was a young girl from St. Cyr +Whose reflex reactions were queer. + Her escort said, "Mable, + Get up off the table; +That money's to pay for the beer." +% +There was a young girl from St. Paul +Who went to a newspaper ball. + Her dress caught on fire + And burnt her entire +Front page and sport section and all. +% +There was a young girl from the Bronix +Who had a vagina of onyx. + She had so much `tsoris' + With her clitoris, +She traded it in for a Packard. +% +There was a young girl from the coast +Who, just when she needed it most, + Lost her Kotex and bled + All over the bed, +And the head and the beard of her host. +% +There was a young girl in Berlin +Who eked out a living through sin. + She didn't mind fucking, + But much preferred sucking, +And she'd wipe off the pricks on her chin. +% +There was a young girl in Berlin +Who was fucked by an elderly Finn. + Though he diddled his best, + And fucked her with zest, +She kept asking, "Hey, Pop, is it in?" +% +There was a young girl in Dakota +Had a letter from Ickes; he wrote her: + "In addition to gas + We are rationing ass, +And you've greatly exceeded your quota." +% +There was a young girl name McKnight +Who got drunk with her boy-friend one night. + She came to in bed, + With a split maidenhead-- +That's the last time she ever was tight. +% +There was a young girl named Ann Heuser +Who swore that no man could surprise her. + But Pabst took a chance, + Found a Schlitz in her pants, +And now she is sadder Budweiser. +% +There was a young girl named Heather +Whose twitcher was made out of leather. + She made a queer noise, + Which attracted the boys, +By flapping the edges together. +% +There was a young girl named McCall +Whose cunt was exceedingly small, + But the size of her anus + Was something quite heinous -- +It could hold seven pricks and one ball. +% +There was a young girl named O'Clare +Whose body was covered with hair. + It was really quite fun + To probe with one's gun, +For her quimmy might be anywhere. +% +There was a young girl named O'Malley +Who wanted to dance in the ballet. + She got roars of applause + When she kicked off her drawers, +But her hair and her bush didn't tally. +% +There was a young girl named Sapphire +Who succumbed to her lover's desire. + She said, "It's a sin, + But now that it's in, +Could you shove it a few inches higher?" +% +There was a young girl of Aberystwyth +Who screwed every man that she kissed with. + She tickled the balls + Of the men in the halls, +And pulled on the prongs that they pissed with. +% +There was a young girl of Aberystwyth +Who took grain to the mill to get grist with. + The miller's sun, Jack, + Laid her flat on her back, +And united the organs they pissed with. +% +There was a young girl of Angina +Who stretched catgut across her vagina. + From the love-making frock + (With the proper sized cock) +Came Tocata and Fugue in D minor. +% +There was a young girl of Angina +Who stretched catgut across her vagina. + From the love-making frock + (With the proper sized cock) +Came Toccata and Fugue in D minor. +% +There was a young girl of Asturias +With a penchant for practices curious. + She loved to bat rocks + With her gentlemen's cocks -- +A practice both rude and injurious. +% +There was a young girl of Batonger +who diddled herself with a conger, + When asked how it feels + To be pleasured by eels +She said, "Just like a man, only longer. +% +There was a young girl of Cah'lina, +Had a very capricious vagina: + To the shock of the fucker + "Twould suddenly pucker, +And whistle the chorus of "Dinah." +% +There was a young girl of Cape Cod +Who dreamt she'd been buggered by God. + But it wasn't Jehovah + That turned the girl over, +'Twas Roger the lodger, the dirty old codger, + the bugger, the bastard, the sod! +% +There was a young girl of Cape Town +Who usually fucked with a clown. + He taught her the trick + Of sucking his prick, +And when it went up -- she went down. +% +There was a young girl of Coxsaxie +Whose skirt was more mini than maxi. + She was fucked at the show + In the twenty-third row, +And once more going home in the taxi. +% +There was a young girl of Darjeeling +Who could dance with such exquisite feeling + There was never a sound + For miles around +Save of fly-buttons hitting the ceiling. +% +There was a young girl of Des Moines +Whose cunt could be fitted with coins, + Till a guy from Hoboken + Went and dropped in a token, +And now she rides free on the ferry. +% +There was a young girl of Detroit +Who at fucking was very adroit: + She could squeeze her vagina + To a pin-point, or finer, +Or open it out like a quoit. + +And she had a friend named Durand +Whose cock could contract or expand. + He could diddle a midge + Or the arch of a bridge -- +Their performance together was grand! +% +There was a young girl of East Lynne +Whose mother, to save her from sin, + Had filled up her crack, + To the brim with shellac, +But the boys picked it out with a pin. +% +There was a young girl of Gibraltar +Who was raped as she knelt at the altar. + It really seems odd + That a virtuous God +Should answer her prayers and assault her. +% +There was a young girl of LLewellyn +Whose breasts were as big as a melon. + They were big it is true, + But her cunt was big too, +Like a bifocal, full-color, aerial view +Of Cape Horn and the Straits of Magellan. +% +There was a young girl of Mobile, +Who hymen was made of chilled steel, + To give her a thrill, + Took a rotary drill, +Or a number nine emery wheel. +% +There was a young girl of Moline +Whose fucking was sweet and obscene. + She would work on a prick + With every known trick, +And finish by winking it clean. +% +There was a young girl of Newcastle +Whose charms were declared universal. + While one man in front + Wired into her cunt, +Another was engaged at her arsehole. +% +There was a young girl of Pawtucket +Whose box was as big as a bucket. + Her boy-friend said, "Toots, + I'll have to wear boots, +For I see I must muck it, not fuck it." +% +There was a young girl of Penzance +Who boarded a bus in a trance. + The passengers fucked her, + Likewise the conductor, +While the driver shot off in his pants. +% +There was a young girl of Pitlochry +Who was had by a man in a rockery. + She said, "Oh! You've come + All over my bum; +This isn't a fuck -- it's a mockery." +% +There was a young girl of Rangoon +Who was blocked by the Man in the Moon. + "Well, it has been great fun," + She remarked when he'd done, +"But I'm sorry you came quite so soon." +% +There was a young girl of Spitzbergen, +Whose people all thought her a virgin, + Till they found her in bed + With her twat very red, +And the head of a kid just emergin'. +% +There was a young girl who begat +Three babies named Nat, Pat and Tat. + T'was fun in the breeding + But hell in the feeding +When she found there's no tit for Tat. +% +There was a young girl who begat +Three brats, by name Nat, Pat, and Tat. + It was fun in the breeding, + But hell in the feeding, +When she found there was no tit for Tat. +% +There was a young girl, very sweet, +Who thought sailors' meat quite a treat. + When she sat on their lap + She unbuttoned their flap, +And always had plenty to eat. +% +There was a young harlot from Kew +Who filled her vagina with glue. + She said with a grin, + "If they pay to get in, +They'll pay to get out of it too." +% +There was a young harlot named Schwartz +Whose cock-pit was studded with warts, + And they tickled so nice + She drew a high price +From the studs at the summer resorts. + +Her pimp, a young fellow named Biddle, +Was seldom hard up for a diddle, + For according to rumor + His tool had a tumor +And a fine row of warts down the middle. +% +There was a young hayseed from Tiffan +Whose cock would constantly stiffen. + The knob out in front + Attracted foul cunt +Which he greatly delighted in sniffin'. +% +There was a young idler named Blood, +Made a fortune performing at stud, + With a fifteen-inch peter, + A double-beat metre, +And a load like the Biblical Flood. +% +There was a young lad from Nahant +Who was made like the Sensitve Plant. + When asked, "Do you fuck?" + He replied, "No such luck. +I would if I could but I can't." +% +There was a young lad from Siam, +Whose sexlife was caught in a jam. + He loved them real small, + 'Cause they're funner to ball, +So he went out and bought him a lamb! +% +There was a young lad name of Durcan +Who was always jerkin' his gherkin. + His father said, "Durcan! + Stop jerkin' your gherkin! +Your gherkin's for ferkin', not jerkin'. +% +There was a young lad name of Ward +Who strung himself up with a cord + Said he, of his work + (Ere the rope snapped with a jerk) +"I am leaving because I am bored." + - E.A. Guest +% +There was a young lad named McFee +Who was stung in the balls by a bee + He made oodles of money + By oozing pure honey +Every time he attempted to pee. +% +There was a young lady at sea +Who complained that it hurt her to pee. + Said the brawny old mate, + "That accounts for the state +Of the cook and the captain and me." +% +There was a young lady at sea +Who said, "God, how it hurts me to pee." + "I see," said the mate, + "That accounts for the state +Of the captain, the purser, and me." +% +There was a young lady called Ciss +Who went to the river to piss. + A young man in a punt + Put his hand on her cunt; +No wonder she thought it was bliss. +% +There was a young lady from Bangor +Who slept while the ship lay at anchor + She woke in dismay + When she heard the mate say: +"Let's lift up the topsheet and spanker!" +% +There was a young lady from Bright, +Whose speed was much faster than light. + She went out one day + In a relative way +And returned on the previous night. +% +There was a young lady from Bristol +Who went to the Palace called Crystal. + Said she, "It's all glass, + And as round as my ass," +And she farted as loud as a pistol. +% +There was a young lady from Brussels +Who was proud of her vaginal muscles. + She could easily plex them + And so interflex them +As to whistle love songs through her bustles. +% +There was a young lady from Drew +Who ended her verse at line two. +% +There was a young lady from Dumfries +Who said to her boyfriend, "It's some freeze! + My navel's all bare, + So stick it in there, +Before both my legs and my bum freeze." +% +There was a young lady from Exeter, +So pretty that men craned their necks at her. + One was even so brave + As to take out and wave +The distinguishing mark of his sex at her. +% +There was a young lady from Hyde +Who ate a green apple and died. + While her lover lamented + The apple fermented +And made cider inside her inside. +% +There was a young lady from Maine +Who claimed she had men on her brain. + But you knew from the view, + As her abdomen grew, +It was not on her brain that he'd lain. +% +There was a young lady from Munich +Who had an affair with a eunuch. + At the height of their passion + He dealt her a ration +From a squirt gun concealed in his tunic. +% +There was a young lady from Norway +Who hung by her heels in a doorway. + She told her young man, + "Get off the divan, +I think I've discovered one more way " +% +There was a young lady from Prentice +Who had an affair with a dentist. + To make things easier + He used anesthesia, +And diddled her, `non compos mentis'. +% +There was a young lady from Rheims +Who amazingly pissed in four streams. + A friend poked around + And a fly-button found +Lodged tight in her hole so it seems. +% +There was a young lady from Rio +Who slept with the Fornier trio. + As she dropped her panties + She said, "No andanties +I want this allegro con brio." +% +There was a young lady from Siam +Who said to her lover, one Kiam, + "You may kiss me of course, + But you'll have to use force. +Though god knows you're stronger than I am." +% +There was a young lady from Spain +Who demurely undressed on a train. + A helpful young porter + Helped more than he orter, +And she promptly cried "Help me again" +% +There was a young lady from Spain +Who got sick as she rode on a train; + Not once, but again, + And again, and again, +And again, and again, and again. +% +There was a young lady from Spain +Whose face was exceedingly plain, + But her cunt had a pucker + That made the men fuck her, +Again, and again, and again. +% +There was a young lady from Troy +Had a moustache, just like a young boy + Though it tickled to kiss + 'Twas a source of much bliss +When she used it to brush a man's toy. +% +There was a young lady from Wheeling +Who claimed to lack sexual feeling. + But a cynic named Boris + Just touched her clitoris +And she had to be scraped off the ceiling. +% +There was a young lady from Wheeling +Who had a peculiar feeling. + She laid on her back + And tickled her crack +And pissed all over the ceiling. +% +There was a young lady from Wooster +Who complained that too many men gooster. + So she traded her scanties + For sandpaper panties, +Now they goose her much less than they used 'ter. +% +There was a young lady in Reno, +Who lost all her dough playing Keno. + But she lay on her back, + And opened her crack, +So now she owns the Casino! +% +There was a young lady named Alice +Who was known to have peed in a chalice. + 'Twas the common belief + It was done for relief, +And not out of protestant malice. +% +There was a young lady named Astor +Who never let any get past her. + She finally got plenty + By stopping twenty, +Which certainly ought to last her. +% +There was a young lady named Banker, +Who slept while the ship lay at anchor, + She woke in dismay, + When she heard the mate say, +"Now hoist up the topsheet and spanker." +% +There was a young lady named Blount +Who had a rectangular cunt. + She learned for diversion + Posterior perversion, +Since no one could fit here in front. +% +There was a young lady named Bower +Who dwelt in an Ivory Tower. + But a poet from Perth + Laid her flat on the earth, +And proceeded with penis to plough her. +% +There was a young lady named Brent +With a cunt of enormous extent, + And so deep and so wide, + The acoustics inside +Were so good you could hear when you spent. +% +There was a young lady named Bright +Who could travel much faster than light. + She took off one day, + In a relative way, +And returned on the previous night. +% +There was a young lady named Brook +Who never could learn how to cook. + But on a divan + She could please any man- +She knew every darn trick in the book! +% +There was a young lady named Cager +Who, as the result of a wager, + Consented to fart + The entire oboe part +Of Mozart's quartet in F major. +% +There was a young lady named Ciss +Who said, "I think skating's a bliss " + But she'll never restate, + For a wheel off her skate +.siht ekil gnihtemos pu hsinif reh edaM +% +There was a young lady named Clair +Who possessed a magnificent pair; + At least so I thought + Till I saw one get caught +On a thorn, and begin losing air. +% +There was a young lady named Dot +Whose cunt was so terribly hot + That ten bishops of Rome + And the Pope's private gnome +Failed to quench her Vesuvial twat. +% +There was a young lady named Duff +With a lovely, luxuriant muff. + In his haste to get in her + One eager beginner +Lost both of his balls in the rough. +% +There was a young lady named Etta +Who was constantly seen in a swetta. + Three reasons she had: + To keep warm wasn't bad, +But the other two reasons were betta. +% +There was a young lady named Fleager +Who was terribly, terribly eager + To be all the rage + On the tragedy stage, +Though her talents were pitifully meagre. + -- Edward Gorey +% +There was a young lady named Flo +Whose lover had pulled out too slow. + So they tried it all night, + Till he got it just right... +Well, practice makes pregnant, you know. +% +There was a young lady named Flynn +Who thought fornication a sin, + But when she was tight + It seemed quite all right, +So everyone filled her with gin. +% +There was a young lady named Gilda +Who went on a date with a builder. + He said that he would, + And he could and he should, +And he did and it damn well near killed her. +% +There was a young lady named Gloria +Who was had by Sir Gerald Du Maurier, + And then by six men, + Sir Gerald again, +And the band at the Waldorf-Astoria. +% +There was a young lady named Gloria, +Whose boyfriend said, "May I explore ya?" + She replied to the chap, + "I'll draw you a map, +Of where others have been to before ya." +% +There was a young lady named Grace +Who would not take a prick in her "place." + Though she'd kiss it and suck it, + She never would fuck it-- +She just couldn't relax face-to-face. +% +There was a young lady named Hall, +Wore a newspaper dress to a ball. + The dress caught on fire + And burned her entire +Front page, sporting section, and all. +% +There was a young lady named Hatch +Who would always come through in a scratch. + If a guy wouldn't neck her, + She'd grab up his pecker +And shove the damn thing up her snatch. +% +There was a young lady named Mable +Who liked to sprawl out on the table, + Then cry to her man, + "Stuff in all you can -- +Get your ballocks in, too, if you're able." +% +There was a young lady named Mandel +Who caused quite a neighborhood scandal + By coming out bare + On the main village square +And frigging herself with a candle. +% +There was a young lady named Maud, +A terrible society fraud: + In company, I'm told, + She was distant and cold, +But if you got her alone, Oh God! +% +There was a young lady named May +Who strolled in a park by the way, + And she met a youg man + Who fucked her and ran -- +Now she goes to the park every day. +% +There was a young lady named Nance +Who learned about fucking in France, + And when you'd insert it + She'd squeeze till she hurt it, +And shoved it right back in your pants. +% +There was a young lady named Nelly +Whose tits would jiggle like jelly. + They could tickle her twat + Or be tied in a knot, +And could even swat flies on her belly. +% +There was a young lady named Ransom +Who was raped three times in a hansom + When she cried out for more + Said a voice from the floor, +"My name, ma'am, is Simpson, not Samson +% +There was a young lady named Ransom +Who was rogered three times in a hansom. + When she cried out for more + A voice from the floor +Replied, "My name is Simpson, not Samson." +% +There was a young lady named Riddle +Who had an untouchable middle. + She had many friends + Because of her ends, +Since it isn't the middle you diddle. +% +There was a young lady named Rose +Who fainted whenever she chose; + She did so one day + While playing croquet, +But was quickly revived with a hose. + -- Edward Gorey +% +There was a young lady named Rose +With erogenous zones in her toes. + She remained onanistic + Till a foot-fetishistic +Young man became one of her beaux. +% +There was a young lady named Schneider +Who often kept trysts with a spider. + She found a strange bliss, + In the hiss of her piss, +As it strained through the cobwebs inside her. +% +There was a young lady named Smith +Whose virtue was largely a myth. + She said, "Try as I can + I can't find a man +Who it's fun to be virtuous with." +% +There was a young lady named Twiss +Who said she thought fucking a bliss, + For it tickled her bum + And caused her to come +.siht ekil gniyl ylbatrofmoc elihW +% +There was a young lady named Wylde +Who kept herself quite undefiled + By thinking of Jesus; + Contagious diseases; +And the bother of having a child. +% +There was a young lady of Arden, +The tool of whose swain wouldn't harden. + Said she with a frown, + "I've been sadly let down +By the tool of a fool in a garden." +% +There was a young lady of Bicester +Who was nicer by far than her sister: + The sister would giggle + And wiggle and jiggle, +But this one would come if you kissed her. +% +There was a young lady of Brabant +Who slept with an impotent savant. + She admitted, "We shouldn't, + But it turned out he couldn't- +So you can't say we have when we haven't." +% +There was a young lady of Bude +Who walked down the street in the nude. + A bobby said, "Whattum + Magnificent bottom!" +And slapped it as hard as he could. +% +There was a young lady of Carmia +Whose housekeeping ways would alarm ya. + At every cold snap + She would climb in your lab, +So her little base burner could warm ya. +% +There was a young lady of Dee +Who went down to the river to pee. + A man in a punt + Put his hand on her cunt, +And God! how I wish it were me. +% +There was a young lady of Dee +Whose hymen was split into three. + And when she was diddled + The middle string fiddled : +"Nearer My God To Thee." +% +There was a young lady of Dexter +Whose husband exceedingly vexed her, + For whenever they'd start + He'd unfailingly fart +With a blast that damn nearly unsexed her. +% +There was a young lady of Dover +Whose passion was such that it drove her + To cry, when you came, + "Oh dear! What a shame! +Well, now we shall have to start over." +% +There was a young lady of Ealing +And her lover before her was kneeling. + Said she, "Dearest Jim, + Take your hands off my quim; +I much prefer fucking to feeling." +% +There was a young lady of Fez +Who was known to the public as "Jez." + Jezebel was her name, + Sucking cocks was the game +She excelled at (so everyone says). +% +There was a young lady of Gaza +Who shaved her cunt bare with a razor. + The crabs, in a lump, + Made tracks to her rump-- +This passing parade did amaze her. +% +There was a young lady of Gloucester +Whose friends they thought they had lost her + Till they found on the grass + The marks of her arse, +And the knees of the man who had crossed her. +% +There was a young lady of Gloucester, +Met a passionate fellow who tossed her. + She wasn't much hurt, + But he dirtied her skirt, +So think of the anguish it cost her. +% +There was a young lady of Kent, +Who admitted she knew what it meant + When men asked her to dine, + And plied her with wine, +She knew, oh she knew -- but she went! +% +There was a young lady of Lee +Who scrambled up into a tree, + When she got there + Her arsehole was bare, +And so was her C U N T. +% +There was a young lady of Lincoln +Who said that her cunt was a pink'un, + So she had a prick lent her + Which turned it magenta, +This artful old lady of Lincoln. +% +There was a young lady of Natchez +Who chanced to be born with two snatches, + And she often said, "Shit! + Why, I'd give either tit +For a man with equipment that matches." + +There was a young fellow named Locke +Who was born with a two-headed cock. + When he'd fondle the thing + It would rise up and sing +An antiphonal chorus by Bach. + +But whether these two ever met +Has not been recorded as yet, + Still, it would be diverting + To see him inserting +His whang while it sang a duet. +% +There was a young lady of Norway +Who hung by her toes in a doorway. + She said to her beau + "Just look at me, Joe, +I think I've discovered one more way." +% +There was a young lady of Rhyll +In an omnibus was taken ill, + So she called the conductor, + Who got in and fucked her, +Which did more good than a pill. +% +There was a young lady of Spain +Who took down her pants on a train. + There was a young porter + Saw more than he orter, +And asked her to do it again. +% +There was a young lady of Spain +Who was fucked by a monk in a drain. + They did it again + And again and again, +And again and again and again. +% +There was a young lady of Twickenham +Who thought men had not enough prick in 'em. + On her knees every day + To God she would pray +To lengthen and strengthen and thicken 'em. +% +There was a young lady of Wheeling +Said to her beau, "I've a feeling + My little brown jug + Has need of a plug" -- +And straightaway she started to peeling. +% +There was a young lady of Wheeling +Who professed to lack sexual feeling. + But a cynic named Boris + Just touched her clitoris, +And she had to be scraped off the ceiling. +% +There was a young lady of fashion +Who had oodles and oodles of passion. + To her lover she said, + As they climbed into bed, +"Here's one thing the bastards can't ration!" +% +There was a young lady who said, +As her bridegroom got into the bed, + "I'm tired of this stunt, + That they do with one's cunt, +You can get up my bottom instead." +% +There was a young lady whose cunt +Could accommodate a small punt. + Her mother said, "Annie, + It matches your fanny, +Which never was that of a runt." +% +There was a young lady whose thighs, +When spread showed a slit of such size, + And so deep and so wide, + You could play cards inside, +Much to her bridegroom's surprise. +% +There was a young lass from Surat. +The cheeks of her ass were so fat + That they had to be parted + Whenever she farted, +And also whenever she shat. +% +There was a young laundress named Wrangle +Whose tits tilted up at an angle. + "They may tickle my chin," + She said with a grin, +"But at least they keep out of the mangle." +% +There was a young maiden from Osset +Whose quim was nine inches across it. + Said a young man named Tong, + With tool nine inches long, +"I'll put bugger-in if I loss it." +% +There was a young man from Bear Ridge +Who had strange ideas about marriage. + He fucked his wife's mother + And sucked off her brother +And ate up her sister's miscarriage. +% +There was a young man from Bel-Air +Who was screwing his girl on the stair, + But the banister broke, + So he doubled his stroke, +And finished her off in mid-air. +% +There was a young man from Bel-Aire +Who was screwing his girl on the stair. + But the banister broke + So he doubled his stroke +And finished her off in mid-air. +% +There was a young man from Bengal +Who claimed he had only one ball, + But two little bitches + Pulled down this man's breeches +And proved he had nothing at all. +% +There was a young man from Biloxi +Whose bowels responded to Moxie. + Drinking glass after glass, + He would tune up his ass, +Till he played like the band at the Roxy. +% +There was a young man from Boston +Who rode around in an Austin. + There was room for his ass + And a gallon of gas, +But his balls hung out and he lost 'em. +% +There was a young man from Calcutta +Who was heard in his beard to mutter, + "If her Bartholin glands + Don't respond to my hands, +I'm afraid I shall have to use butter." +% +There was a young man from Dallas +Who had an exceptional phallus. + He couldn't find room + In any girl's womb +Without rubbing it first with Vitalis. +% +There was a young man from Dundee +Who buggered an ape in a tree. + The results were quite horrid: + All ass and no forehead, +Three balls and a purple goatee. +% +There was a young man from East Lizes +Whose balls were of two different sizes + One was so small + It was no ball at all +The other was large and won prizes. +% +There was a young man from East Wubley +Whose cock was bifurcated doubly. + Each quadruplicate shaft + Had two balls hanging aft, +And the general effect was quite lovely. + +There was a young man from Hong Kong +Who had a trifurcated prong: + A small one for sucking, + A large one for fucking, +And a `boney' for beating a gong. +% +There was a young man from Glengozzle +Who found a remarkable fossil. + He knew by the bend + And the wart on the end, +'Twas the peter of Paul the Apostle. +% +There was a young man from Jodhpur +Who found he could easily cure + His dread diabetes + By eating a foetus +Served up in a sauce of manure. +% +There was a young man from Kent +Whose tool was so long that it bent. + To save himself trouble + He put it in double +And instead of coming, he went. +% +There was a young man from Lynn +Whose cock was the size of a pin. + Said his girl with a laugh + As she felt his staff, +"This won't be much of a sin." +% +There was a young man from Maine +Whose prick was as strong as a crane; + It was almost as long, + So he strolled with his dong +Extended in sunshine and rain. +% +There was a young man from Nantucket +Whose cock was so long he could suck it. + But he looked in the glass, + And saw his own ass, +And broke his neck trying to fuck it. +% +There was a young man from New Haven +Who had an affair with a raven. + He said with a grin + As he wiped off his chin, +"Nevermore!" +% +There was a young man from Peru, +Who took a long trip by canoe. + While staring at Venus, + And rubbing his penis, +He wound up with a handful of goo. +% +There was a young man from Purdue +Who was only just learning to screw, + But he hadn't the knack, + And he got too far back -- +In the right church, but in the wrong pew. +% +There was a young man from Racine +Who invented a fucking machine. + Concave or convex, + It served either sex, +But oh what a bitch to keep clean. +% +There was a young man from Rangoon +Who used to lament 'neath the moon + That he had the luck + To be born of a fuck +That was scraped off the sheets with a spoon. +% +There was a young man from Salinas +Who had an extremely long penis: + Believe it or not, + When he lay on his cot +It reached from Marin to Martinez. +% +There was a young man from Seattle +Whose testicles tended to rattle. + He said as he fuck-ed + Some stones in a bucket, +"If Stravinsky won't deafen you -- that'll." +% +There was a young man from Siam +Who said, "I go in with a wham, + But I soon lose my starch + Like the mad month of March, +And the lion comes out like a lamb." +% +There was a young man from St. Paul's +Who read "Harper's Bazaar" and "McCall's" + Till he grew such a passion + For feminine fashion +That he knitted a snood for his balls. +% +There was a young man from Stamboul +Who boasted so torrid a tool + That each female crater + Explored by this satyr +Seemed almost unpleasantly cool. +% +There was a young man from Tibet- +And this is the strangest one yet- + Whose tool was so long, + So pointed and strong, +He could bugger six Greeks "en brochette". +% +There was a young man in Havana, +Banged his girl on a player-piana. + At the height of their fever + Her ass hit the lever +And: yes, he has no banana. +% +There was a young man in Norway, +Tried to jerk himself off in a sleigh, + But the air was so frigid + It froze his cock rigid, +And all he could come was frappe. +% +There was a young man in the choir +Whose penis rose higher and higher, + Till it reached such a height + It was quite out of sight -- +But of course you know I'm a liar. +% +There was a young man named Crockett +Whose balls got caught in a socket. + His wife was a bitch, + And she threw the switch, +As Crockett went off like a rocket. +% +There was a young man named Crockett +Whose balls got caught in a socket. + His wife was a bitch, + Yeah, she threw the switch, +And Crockett went off like a rocket. +% +There was a young man named Hughes +Who swore off all kinds of booze. + He said, "When I'm muddled + My senses get fuddled, +And I pass up too many screws." +% +There was a young man named Knute +Who had warts all over his root. + He put acid on these + And now when he pees, +He fingers the thing like a flute. +% +There was a young man named Laplace +Whose balls were made out of spun glass. + When they banged together + They played "Stormy Weather" +And lightning shot out of his ass. +% +There was a young man named McNamiter +With a tool of prodigious diameter. + But it wasn't the size + Gave the girls a surprise, +But his rythm -- iambic pentameter. +% +There was a young man named Rex +Who really was small for his sex. + When tried for exposure + The judge's disclosure +Was "de minimus non curat lex." +% +There was a young man named Zerubbabel +Who had only one real, and one rubber ball. + When they asked if his pleasure + Was only half measure, +He replied, "That is highly improbable." +% +There was a young man named Zerubbabub +Who belonged to the Block, Fuck & Bugger Club + But the pride of his life + Were the tits of his wife -- +One real, and one India-rubber bub. +% +There was a young man of Arras +Who stretched himself out on the grass, + And with no little trouble, + He bent himself double, +And stuck his prick well up his ass. +% +There was a young man of Australia +Who went on a wild bacchanalia. + He buggered a frog, + Two mice and a dog, +And a bishop in fullest regalia. +% +There was a young man of Belgrade +Who remarked, "I'm a queer piece of trade. + I will suck, without charge, + Any cock, if it's large. +If it's small, I expect to be paid." +% +There was a young man of Belgrade +Who slept with a girl in the trade. + She said to him, "Jack, + Try the hole in the back; +The front one is badly decayed." +% +There was a young man of Bengal +Who swore he had only one ball, + But two little bitches + Unbuttoned his britches, +And found he had no balls at all. +% +There was a young man of Bombay +Who buggered his dad once a day. + He said, "I like, rather, + Fucking my father -- +He's clean, and there's nothing to pay." +% +There was a young man of Calcutta, +Who tried to write "cunt" on a shutter. + When he got to c-u, + A pious Hindoo +Knocked him ass-over-head in the gutter. +% +There was a young man of Cape Horn +Who wished he had never been born, + And he wouldn't have been + If his father had seen +That the end of the rubber was torn. +% +There was a young man of Coblenz +Whose ballocks were simply immense: + It took forty-four draymen, + A priest and three laymen +To carry them thither and thence. +% +There was a young man of Darjeeling +Whose cock reached up to the ceiling. + In the electric light socket, + He'd put it and rock it-- +Oh God! What a wonderful feeling! +% +There was a young man of Devizes +Whose balls were of different sizes. + His tool when at ease, + Hung down to his knees, +Oh, what must it be when it rises! +% +There was a young man of Devizes, +Whose balls were of different sizes. + One was so small, + It was nothing at all; +The other took numerous prizes. +% +There was a young man of Dumfries +Who said to his girl, "If you please, + It would give me great bliss + If, while playing with this, +You would pay some attention to these!" +% +There was a young man of Greenwich +Whose balls were all covered with spinach. + So long was his tool + That it wound round a spool, +And he let it out inach by inach. +% +There was a young man of Khartoum +Who lured a poor girl to her doom. + He not only fucked her, + But buggered and sucked her-- +And left her to pay for the room. +% +There was a young man of Khartoum, +The strength of whose balls was his doom. + So strong was his shootin', + The third law of Newton +Propelled the poor chap to the Moon. +% +There was a young man of Kildare +Who was fucking a girl on the stair. + The bannister broke, + But he doubled his stroke +And finished her off in mid-air. +% +There was a young man of Kutki +Who could blink himself off with one eye. + For a while though, he pined, + When his organ declined +To function, because of a stye. +% +There was a young man of Lahore +Whose prick was one inch and no more. + It was all right for key-holes + And little girl's pee-holes, +But not worth a damn with a whore. +% +There was a young man of Lake Placid +Whose prick was lethargic and flaccid. + When he wanted to sport + He would have to resort +To injections of sulphuric acid. +% +There was a young man of Madras +Whose balls were constructed of brass. + When jangled together + They played "Stormy Weather", +And lightning shot out of his ass. +% +There was a young man of Missouri +Who fucked with a terrible fury. + Till hauled into court + For his beastial sport, +And condemned by a poorly-hung jury. +% +There was a young man of Natal +And Sue was the name of his gal. + One day, north of Aden, + He got his hard rod in, +And came clear up Suez Canal. +% +There was a young man of Natal +Who was fucking a Hottentot gal. + Said she, "You're a sluggard!" + Said he, "You be buggered! +I like to fuck slow and I shall." +% +There was a young man of Ostend +Who let a girl play with his end. + She took hold of Rover, + And felt it all over, +And it did what she didn't intend. +% +There was a young man of Ostend +Whose wife caught him fucking her friend. + "It's no use, my duck, + Interrupting our fuck, +For I'm damned if I draw till I spend." +% +There was a young man of Saskatchewan, +Whose penis was truly gargantuan. + It was good for large whores, + And for small dinosaurs, +And was rough enough to scratch a match upon. +% +There was a young man of Seattle +Who bested a bull in a battle. + With fire and gumption + He assumed the bull's function, +And deflowered a whole herd of cattle. +% +There was a young man of St. John's +Who wanted to bugger the swans. + But the loyal hall porter + Said, "Pray take my daughter! +Those birds are reserved for the dons." +% +There was a young man of Tibet +-- And this is the strangest one yet -- + His prick was so long, + And so pointed and strong, +He could bugger six sheep en brochette. +% +There was a young man of Toulouse +Who had a deficient prepuce, + But the foreskin he lacked + He made up in his sac; +The result was, his balls were too loose. +% +There was a young man of high station +Who was found by a pious relation + Making love in a ditch + To -- I won't say a bitch -- +But a woman of no reputation. +% +There was a young man who appeared +To his friends with a full growth of beard; + They at once said, "Although + We can't say why it's so, +The effect is uncommonly weird." + -- Edward Gorey +% +There was a young man who said "God, +I find it exceedingly odd, + That the willow oak tree + Continues to be, +When there's no one about in the Quad." + +"Dear Sir, your astonishment's odd, +For I'm always about in the Quad; + And that's why the tree, + Continues to be," +Signed "Yours faithfully, God." +% +There was a young man with a fiddle +Who asked of his girl, "Do you diddle?" + She replied, "Yes, I do, + But prefer to with two -- +It's twice as much fun in the middle." +% +There was a young man with a prick +Which into his wife he would stick + Every morning and night + If it stood up all right -- +Not a very remarkable trick. + +His wife had a nice little cunt: +It was hairy, and soft, and in front, + And with this she would fuck him, + Though sometimes she'd suck him -- +A charming, if commonplace, stunt. +% +There was a young man with one foot +Who had a very long root. + If he used this peg + As an extra leg +Is a question exceedingly moot. +% +There was a young man, name of Fred, +Who spent every Thursday in bed; + He lay with his feet + Outside of the sheet, +And the pillows on top of his head. + -- Edward Gorey +% +There was a young man, name of Saul, +Who was able to bounce either ball, + He could stretch them and snap them, + And juggle and clap them, +Which earned him the plaudits of all. +% +There was a young miss from Johore +Who'd lie on a mat on the floor; + In a manner uncanny + She'd wobble her fanny, +And drain your nuts dry to the core. +% +There was a young monk from Siberia +Whose life got drearia' and drearia' + Till he did to a nun + What shouldn't be done +And made her a mother superia'. +% +There was a young monk from Tibet +And this is the damnedest one yet + His cock was so long + And incredibly strong +That he buggered six Greeks en brochette. +% +There was a young monk in Siberia, +Whose morals were very inferior, + He jumped on a nun + Which he shouldn't have done, +And now she's a Mother Superior. +% +There was a young monk of Dundee +Who complained that it hurt him to pee, + He said, "Pax vobiscum, + Now why won't the piss come? +I'm afraid I've the c-l-a-p." +% +There was a young parson of Harwich, +Tried to grind his betrothed in a carriage. + She said, "No, you young goose, + Just try self-abuse. +And the other we'll try after marriage." +% +There was a young peasant named Gorse +Who fell madly in love with his horse. + Said his wife, "You rapscallion, + That horse is a stallion -- +This constitutes grounds for divorce." +% +There was a young person of Kent +Who was famous wherever he went. + All the way through a fuck, + He would quack like a duck, +And he crowed like a cock when he spent. +% +There was a young physicist named Fisk +Whose lovemaking was rather brisk. + So quick was his action, + The Lorentz Contraction +Shortened his rod to a disc !! +% +There was a young plumber named Lee +Who was plumbing his girl by the sea. + She said, "Stop your plumbing, + There's somebody coming" +Said the plumber, still plumbing, "It's me." +% +There was a young poet named Dan, +Whose poetry never would scan. + When told this was so, + He said, "Yes, I know, +It's because I try to put every single syllable into the last line that I possibly, possibly can." +% +There was a young royal marine, +Who tried to fart "God Save the Queen". + When he reached the soprano + Out came only guano +And his britches weren't fit to be seen. +% +There was a young sailor from Brighton +Who said to his bird, "You're a tight'un." + She replied, "'Pon my soul, + You're in the wrong hole +There's plenty of room in the right'un." +% +There was a young sapphic named Anna +Who stuffed her friend's cunt with banana, + Which she sucked, bit by bit, + From her partner's warm slit, +In the most approved lesbian manner. +% +There was a young soldier from Munich +Whose penis hung down past his tunic, + And their chops girls would lick + When they thought of his prick, +But alas! he was only a eunuch. +% +There was a young sportsman named Peel +Who went for a trip on his wheel; + He pedalled for days + Through crepuscular haze, +And returned feeling somewhat unreal. + -- Edward Gorey +% +There was a young squaw of Wohunt +Who possessed a collapsible cunt. + It had many odd uses, + Produced no papooses, +And fitted both giant and runt. +% +There was a young student from Yale +Who was getting his first piece of tail. + He shoved in his pole, + But in the wrong hole, +And a voice from beneath yelled: "No sale!" +% +There was a young trollop at Yale, +Who had verses tattooed on her tail, + And on her behind, + For the sake of the blind, +A duplicate version in Braille. +% +There was a young whore from Kaloo +Who filled her vagina with glue. + She said with a grin, + "If they pay to get in, +They can pay to get out again too!" +% +There was a young woman called Pearl +Who quite resembled a churl; + When she asked a young man named Tex + Whether he would like to have sex, +"Certainly," quoth he, "Who's the girl?" +% +There was a young woman from Bude, +Who went for a swim in the nude, + But a man in a punt, + Grabbed at her elbow, +And said "Hey, lady, you can't swim here, it's private property." +% +There was a young woman in Dee +Who stayed with each man she did see. + When it came to a test + She wished to be best, +And practice makes perfect, you see. +% +There was a young woman named Alice +Who peed in a Catholic chalice. + She said, "I do this + From a great need to piss, +And not from sectarian malice." +% +There was a young woman named Ells +Who was subject to curious spells + When got up very oddly, + She'd cry out things ungodly +by the palms in expensive hotels. + -- Edward Gorey +% +There was a young woman named Florence +Who for fucking professed an abhorrence, + But they found her in bed + With her cunt flaming red, +And her poodle-dog spending in torrents. +% +There was a young woman named Plunnery +Who rejoiced in the practice of gunnery. + Till one day unobservant, + She blew up a servant, +And was forced to retire to a nunnery. + -- Edward Gorey +% +There was a young woman named Sutton +Who said, as she carved up the mutton, + "My father preferred + The last sheep in the herd -- +This is one of his children I'm cuttin'." +% +There was a young woman of Cheadle, +Who once gave the clap to a beadle. + Said she, "Does it itch?" + "It does, you damned bitch, +And it burns like hell-fire when I peedle." +% +There was a young woman of Condover +Whose husband had ceased to be fond of 'er. + Her pussy was juicy, + Her arse soft and goosey, +But peroxide had now made a blonde of 'er. +% +There was a young woman of Croft +Who played with herself in a loft, + Having reasoned that candles + Could never cause scandals, +Besides which they did not go soft. + +Said another young woman of Croft, +Amusing herself in the loft, + "A salami or wurst + Is what I'd choose first -- +With bologna you know you've been boffed." +% +There was a young woman whose stammer +Was atrocious, and so was her grammar; + But they were not improved + When her husband was moved +To knock out her teeth with a hammer. + -- Edward Gorey +% +There was a young woman, quite handsome, +Who got stuck in a sleeping room transom. + When she offered much gold + For release, she was told +That the view was worth more than the ransom. +% +There was an Old Man of the Mountain +Who frigged himself into a fountain + Fifteen times had he spent, + Still he wasn't content, +He simply got tired of the counting. +% +There was an old Scot named McTavish +Who attempted an anthropoid ravish. + The object of rape + Was the wrong sex of ape, +And the anthropoid ravished McTavish. +% +There was an old abbess quite shocked +To find nuns where the candles were locked. + Said the abbess, "You nuns + Should behave more like guns, +And never go off till you're cocked." +% +There was an old bishop from Buckingham +Who fell in love with some oysters while shucking 'em. + His wife with distain + Could scarcely restrain +That sprightly old bishop from * * *. +% +There was an old count of Swoboda +Who would not pay a whore what he owed her. + So, with great savoir-faire, + She stood on a chair +And pissed in his whiskey-and-soda. +% +There was an old curate of Hestion +Who'd errect at the slightest suggestion. + But so small was his tool + He could scarce screw a spool, +And a cunt was quite out of the question. +% +There was an old fellow named Art +Who awoke with a horrible start, + For down by his rump + Was a generous lump +Of what should have been just a fart. +% +There was an old fellow named Skinner +Whose prick, his wife said, had grown thinner. + But still, by and large, + It would always discharge +Once he could just get it in her. +% +There was an old feminine blighter +Who trained a Chow dog to delight her. + She would cream her own pool + While she sucked off his tool -- +How his cock in her cunt would excite her! +% +There was an old gent from Kentuck +Who boasted a filigreed schmuck, + But he put it away + For fear that one day +He might put it in and get stuck. +% +There was an old girl of Kilkenny +Whose usual charge was a penny. + For half of that sum + You could finger her bum-- +A source of amusement to many. +% +There was an old harlot from Dijon +Who in her old age got religion. + "When I'm dead & gone," + Said she, "I'll take on +The Father, the Son, and the Pigeon." +% +There was an old hermit named Dave +Who kept a dead whore in his cave. + He said "I'll admit + I'm a bit of a shit, +But look at the money I save." +% +There was an old lady of Bingly +Who wailed, "I do hate to sleep singly. + I thought I had got + A bloke for my twat, +But he seems rather queenly than kingly." +% +There was an old lady of Glascow, +Whose party proved quite a fiasco. + At nine-thirty, about, + The lights all went out, +Through a lapse on the part of the Gas Co. +% +There was an old lady of Kewry +Whose cunt was a `lusus naturae': + The `introitus vaginae', + Was unnaturally tiny, +And the thought of it filled her with fury. +% +There was an old lady who lay +With her legs wide apart in the hay, + Then, calling the ploughman, + She said, "Do it now, man! +Don't wait till your hair has turned gray." +% +There was an old maid from Cape Cod +Who thought all good things came from god. + But it wasn't the almighty + Who lifted her nighty, +It was Roger, the lodger, by god. +% +There was an old man from Bengal +Who liked to do tricks in the hall. + His favorite trick + Was to stand on his dick +While he rolled around on one ball. +% +There was an old man from Duluth +Whose cock was shot off in his youth. + He fucked with his nose + Or his fingers and toes +And he came thru a hole in his tooth. +% +There was an old man from Fort Drum +Whose son was incredibly dumb. + When he urged him ahead, + He went down instead, +For he thought to succeed meant succumb. +% +There was an old man of Alsace +Who played the trombone with his ass. + He put in a trap + To take out the crap, +But the vapors corroded the brass. +% +There was an old man of Brienz +The length of whose cock was immense: + With one swerve he could plug + A boy's bottom in Zug, +And a kitchen-maid's cunt in Coblenz. +% +There was an old man of Cajon +Who never could get a good bone. + With the aid of a gland + It grew simply grand; +Now his wife cannot leave it alone. +% +There was an old man of Calcutta +Who spied through a chink in the shutter. + But all he could see + Was his wife's bare knee, +And the back of the bloke who was up her. +% +There was an old man of Connaught +Whose prick was remarkably short. + When he got into bed, + The old woman said, +"This isn't a prick, it's a wart." +% +There was an old man of Duddee +Who came home as drunk as could be. + He wound up the clock + With the end of his cock, +And buggered his wife with the key. +% +There was an old man of Duluth +Whose cock was shot off in his youth. + He fucked with his nose + And with fingers and toes, +And he came through a hole in his tooth. +% +There was an old man of Hong Kong +Who never did anything wrong. + He would lie on his back + With his head in a sack +And secretly finger his dong. +% +There was an old man of St. Bees, +Who was stung in the arm by a wasp. + When asked, "Does it hurt?" + He replied, "No, it doesn't. +I'm so glad that it wasn't a hornet." + -- W.S. Gilbert +% +There was an old man of Tagore +Whose tool was a yard long or more, + So he wore the damn thing + In a surgical sling +To keep it from wiping the floor. +% +There was an old man of the port +Whose prick was remarkably short. + When he got into bed, + The old woman said, +"That isn't a prick; it's a wart!" +% +There was an old man who said, "Tush! +My balls always hang in the brush, + And I fumble about, + Half in and half out, +With a pecker as limber as mush." +% +There was an old man with a beard +Who said, "It is just what I feared! + Two owls and a hen, + Four larks and a wren +Have all built their nests in my beard!" +% +There was an old person of Ware +Who had an affair with a bear. + He explained, "I don't mind, + For it's gentle and kind, +But I wish it had slightly less hair." +% +There was an old pirate named Bates +Who was learning to rhumba on skates + He fell on his cutlass + Which rendered him nutless +And practically useless on dates. +% +There was an old satyr named Mack +Whose prick had a left handed tack. + If the ladies he loves + Don't spin when he shoves, +Their cervixes frequently crack. +% +There was an old whore from Silesia +Who'd croke: "If my box doesn't please ya, + For a slight extra sum + You can go up my bum +But watchout or my tapeworm'll seize ya." +% +There was an old whore in the Azores +Whose body was covered with festers & sores. + Why the dogs in the street + Wouldn't eat the green meat +That hung in festoons from her drawers. +% +There was an old woman of Ghent +Who swore that her cunt had no scent. + She got fucked so often + At last she got rotten, +And didn't she stink when she spent. +% +There was once a mechanic named Bench +Whose best tool was a sturdy gut-wrench. + With this vibrant device + He could reach, in a trice, +The innermost parts of a wench. +% +There was once a sad Maitre d'hotel +Who said, "They can all go to hell! + What they do to my wife-- + Why it ruins my life; +And the worst is, they all do it well. +% +There were three ladies of Huxham, +And whenever we meets 'em we fucks 'em, + And when that game grows stale + We sits on a rail, +And pulls out our pricks and they sucks 'em. +% +There were three young ladies of Birmingham, +And this is the scandal concerning 'em. + They lifted the frock + And tickled the cock +Of the Bishop engaged in confirming 'em. + +Now, the Bishop was nobody's fool, +He'd been to a good public school, + So he took down their britches + And buggered those bitches +With his ten-inch episcopal tool. + +Then up spoke a lady from Kew, +And said, as the Bishop withdrew, + "The vicar is quicker + And thicker and slicker, +And longer and stronger than you." + -- Abuses of the Clergy +% +There's a charming young girl in Tobruk +Who refers to her quiff as a nook. + It's deep and it's wide, + -- You can curl up inside +With a nice easy chair and a book. +% +There's a charming young lady named Beaulieu +Who's often been screwed by yours truly, + But now--it's appallin'-- + My balls always fall in! +I fear that I've fucked her unduly. +% +There's a dowager near Sweden Landing +Whose manners are odd and demanding. + It's one of her jests + To suck off her guests -- +She hates to keep gentlemen standing. +% +There's a lovely young lady named Shittlecock +Who loves to play diddle and fiddle-cock, + But her cunt's got a pucker + That's best not to fuck, or +When least you expect it to, it'll lock. +% +There's a rather odd couple in Herts +Who are cousins (or so each asserts); + Their sex is in doubt + For they're never without +Their moustaches and long, trailing skirts. + -- Edward Gorey +% +There's a sports-minded coed named Sue, +Who's been coxing the varsity crew. + In the shell Sue is great, + But her boyfriend's irate, +When she calls out the stroke as they screw. +% +There's a tavern in London that's staffed, +By a barmaid who's tops at her craft: + In her striving to please, + She serves ale on her knees, +So the patrons get head with their draft. +% +There's a very hot babe at the Aggies +Who's to men what to bulls a red rag is. + The seniors go round + Hanging down to the ground, +And one extra-large Soph has to drag his. +% +There's a vicar who's classed as nefarious, +Since his shocking perversions are various... + He will bugger some lad + With a dildo (the cad!) +While exulting, "My pleasure's vicarious!" +% +There's a young Yiddish slut with two cunts, +Whose pleasure in life is to pruntz. + When one pireg is shot, + There's that alternate twat, +But the ausgefuckt male merely grunts. +% +There's an oversexed lady named Whyte +Who insists on a dozen a night. + A fellow named Cheddar + Had the brashness to wed her- +His chance of survival is slight. +% +There's an unbroken babe from Toronto, +Exceedingly hard to get onto, + But when you get there, + And have parted the hair, +You can fuck her as much as you want to. +% +They had come in the fugue to the stretto +When a dark, bearded man from a ghetto + Slipped forward and grabbed + Her tresses and stabbed +Her to death with a rusty stiletto. + -- Edward Gorey +% +Though his plan, when he gave her a buzz, +Was to do what man normally does, + She declared, "I'm a Soul- + Not a sexual goal!" +So he shrugged and called someone who was. +% +Though most of the crewmen are whites, +Uhura has full equal rights. + Her crewmates, you see, + Love De-mo-cra-cy, +And the way that she fills out her tights. +% +Though the invalid Saint of Brac +Lay all of his life on his back, + His wife got her share, + And the pilgrims now stare +At the scene, in his shrine, on a plaque. +% +To a weepy young woman in Thrums +Her betrothed remarked, "This is what comes + Of allowing your tears + To fall into my ears - +I think they have rotted the drums." + -- Edward Gorey +% +To bear offspring, Noah's snakes were unable. +Their fertility was somewhat unstable. + He constructed a bed + Out of tree trunks and said, +"Even adders can multiply on a log table." +% +To his bride a young bridegroom said, "Pish! +Your cunt is as big as a dish!" + She replied, "Why, you fool, + With your limp little tool +It's like driving a nail with a fish!" +% +To his bride said a numskull named Clarence : +"I trust you will show some forbearance. + My sexual habits + I picked up from rabbits, +And occasionally watching my parents." +% +To his bride said economist Fife : +"The semen you'll launch as my wife, + We will salvage and freeze + To resemble goat's cheese, +And slice for hors d'oeuvres with a knife." +% +To his bride said the keen-eyed detective, +"Can it be that my eyesight's defective? + Has the east tit the least bit + The best of the west tit, +Or is it the faulty perspective?" +% +To his bride, said the sharp eyed detective, +"Can it be that my eyesight's defective? + Is your east tit the least bit + The best of your west tit, +Or is it a trick of perspective?" +% +To his clubfooted child said Lord Stipple, +As he poured his post-prandial tipple, + "Your mother's behaviour + Gave pain to Our Saviour, +And that's why He made you a cripple." + -- Edward Gorey +% +Two anglers were fishing off Wight +And his bobber was dipping all night. + Murmured she, with a laugh, + "It's ready to gaff, +But don't break your rod which is light." + +A couple was fishing near Clombe +When the maid began looking quite glum, + And said, "Bother the fish! + I'd rather coish!" +Which they did -- which was why they had come. + +As two consular clerks in Madras +Fished, hidden in deep shore-grass, + "What a marvelous pole," + Said she, "but control +Your sinkers -- they're banging my ass." +% +Two eager young men from Cawnpore +Once buggared and fucked the same whore. + But her partition split + And the blood and the shit +Rolled out in a mess on the floor. +% +Two roosters in one of our pens +Found their pricks were no larger than wens. + As they looked at their foreskins + And wished they had more skins, +They discovered they'd both become hens. +% +Un moine au milieu de la messe A monk in the middle of mass +S'eleva et cria en detresse; Stood up and cried out in distress; + "La vie religieuse, "The religious life + C'est sale et affreuse," Is dirty and horrid," +Et se poignarda dans les fesses. And stabbed himself in the ass. + -- Edward Gorey +% +Under the spreading chestnut tree +The village smith he sat, + Amusing himself + By abusing himself +And catching the load in his hat. +% +Une joile epousetta a Tours +Voulait de gig-gig tous le jours. + Mais le mari disait, "Non! + De trop n'est pas bon! +Mon derriere exige du secours!" +% +Visas erat: huic geminarum +Dispar modus testicularum: + Minor haec nihili, + Palma triplici, +Jam fecerat altera clarum. +% +We dedicate this to the cunt, +The kind the broad-minded guys hunt : + All hail to the twat, + Willing, thrilling, and hot, +That wears peckers down, limp and blunt! +% +We sailed on the good ship Venus, +My God, you should have seen us + With a figurehead + Of a whore in bed +And the mast an upright penis + +The captain of the lugger +Was known as a filthy bugger + Declared unfit + To shovel shit +From one ship to another + +The first mate's name was Cooper, +By god he was a trooper + He jerked and jerked + Until he worked +Himself into a stupor + +The cabin boy was chipper, +A dandy little nipper + He shoved cracked glass + Inside his ass +And circumcised the skipper + +The captain's wife was Charlotte, +Born and bred a harlot + Her thighs at night + Were lily white +By morning they were scarlet + +The captain's youngest daughter +Slipped into the water + Her plaintive squeals + Announced that eels +Had found her sexual quarter + +The ship's dog's name was Rover, +They turned the poor beast over + And ground and ground + That faithful hound +From Tenerife to Dover +% +Well buggered was a boy named Delpasse +By all of the lads in his class + He said, with a yawn, + "Now the novelty's gone +And it's only a pain in the ass." +% +When I was a baby, my penis +Was as white as the buttocks of Venus. + But now 'tis as red + As her nipples instead-- +All because of the feminine genus! +% +When they asked a pert baggage name Alice, +Who'd been bedded and banged in the palace, + "Was he modest or vain?" + "Was he regal or plain?" +She replied, "He's a jolly good phallus!" +% +When you fuck little Annie in Anza +You get a great bossom bonanza: + Sucking Annie's soft tits + Makes her throw fifty fits, +And the fuck is a sextravaganza! +% +While I, with my usual enthusiasm, +Was exploring in Ermintrude's busiasm, + She explained, "They are flat, + But think nothing of that -- +You will find that my sweet sister Susiasm." +% +While Titian was mixing rose madder, +His model reclined on a ladder. + Her position to Titian + Suggested coition, +So he leapt up the ladder and had 'er. +% +While his duchess lay practically dead, +The Duke of Daguerrodargue said: + "Can it be this is all? + How puny! How small! +Have destroyed this disgrace to my bed." + -- Edward Gorey +% +While out on a date in his Fiat, +The man exclaimed "Where's my key at?" + As he bent down to seek, + She let out a shriek: +"That's not where it's likely to be at." +% +While spending the winter at Pau +Lady Pamela forgot to say "No." + So the head-porter made her + And the second-cook laid her; +The waiters were all hanging low. +% +While travelling in farthest Tibet, +Lord Irongate found cause to regret + The buttered-up tea, + A pain in his knee, +And the frivolous tourists he met. + -- Edward Gorey +% +Winter is here with his grouch, +The time when you sneeze and you slouch. + You can't take your women + Canoein' or swimmin', +But a lot can be done on a couch. +% +With his penis in turgid erection, +And aimed at woman's mid-section, + Man looks most uncouth + In that Moment of Truth, +But she sheathes it with loving affection. +% +You Women's Lib gals won't agree, +But dependent on men you must be: + You'll need a him + With a rod firm and trim, +To puggle your water-drains free! +% +You've heard of the bishop of Birmingham, +Well, here's the new story concerning 'im : + He buggers the choir + As they sing "Ave Maria," +And fucks all the girls whilst confirming 'em. +% +Young Frederick the great was a beaut. +To a guard he cried, "Hey, man, you're cute. + If you'll come to my palace, + I'll finger your phallus, +And then I shall blow on your flute." +% +`My trip? It was vile. Balaclava +I loathed. Etna was crawling with lava. + The ship was all white + But it creaked in the night, +And the band, they did not know la java." + -- Edward Gorey +% diff --git a/fortune/datfiles/netbsd b/fortune/datfiles/netbsd new file mode 100644 index 0000000..c3a640b --- /dev/null +++ b/fortune/datfiles/netbsd @@ -0,0 +1,546 @@ +___ / | / /__ _/ /_ / |/ __\ / _ | +__ / |/ // _\/_ _/ / ' / \_ \ / / / +_ / /| // __/ / /_ / , | __/ // / ,/ + /_/ |__/_\__/__\__//___/__\__//___' + -- Greywolf +% +#netbsd - where monks recite their internal dialogue while debugging. + -- Bernhard Riedel +% +- What's up? +- All the NetBSD servers, of course.. + -- Gavan Fantom +% +A _Real_ Operating System for _Real_ Hackers. + -- Greywolf +% +Anagrams for NetBSD core team: + Breasted cot men + Embraces dot net + Strobed teen cam + Aborted men sect + Emtomb DEC tears + -- Julian Assange +% +Anagrams for NetBSD core team: + Crested Boatmen + Resented Combat + Boast Decrement + Basement DEC rot + -- Julian Assange +% +Anagrams for NetBSD-core: + Bent Coders + Secret Bond + Robs DECNet + Cost Bender + -- Julian Assange +% +Anagrams for NetBSD-core: + Cot Benders + Be stern, Doc. + Net robs DEC + DEC robs Net + -- Julian Assange +% +http://www.imrryr.org/NetBSD/logo + -- R. C. Dowdeswell +% +I didn't get where I am today without using NetBSD + -- Dave Tyson +% +I held off from Uni until NetBSD came out. +I decided, ``if there's no NetBSD then I'll just flip burgers'' + -- Roland Dowdeswell +% +If it isn't possible with NetBSD, it isn't worth doing. + -- Petter "Nosfisk" Lindquist +% +My other computer runs NetBSD + -- Allen Briggs +% +NetBSD - a devil of an operating system. + -- Julian Assange +% +NetBSD - A Mycroft in every port. + -- Julian Assange +% +NetBSD - a server in every port. + -- Julian Assange +% +NetBSD - because Unix isn't just #include , i386, ELF, ...! + -- Hubert Feyrer +% +NetBSD - big, isn't it? + -- Julian Assange +% +NetBSD - daemonic power + -- R. C. Dowdeswell +% +NetBSD: Flying into the heart of the Sun. And the i386, and alpha, + and mac, and powerpc, and... + -- Greywolf +% +NetBSD - free yourself from all Stallmanist thought! + -- Julian Assange +% +NetBSD: Got source? +% +NetBSD - hackers tested, mom approved + -- Ken Nakata +% +NetBSD - here today and in the middle of 2038 tomorrow. + -- Julian Assange +% +NetBSD - love all, serve all. + -- Silke Mueller +% +NetBSD - Mach 3 stealthOS, undetectable by media radar. + -- Julian Assange +% +NetBSD - more is more. + -- Julian Assange +% +NetBSD - no propaganda in the default system, in more than 10 years! + -- Jaromir Dolecek +% +NetBSD: No Windows or Gates, but lots of doors, portals and tunnels. + -- Greywolf +% +NetBSD - penguin flesh never tasted so good. + -- Julian Assange +% +NetBSD - posix me harder. + -- Julian Assange +% +NetBSD: Post No Bills. + -- Greywolf +% +NetBSD - safe ports in a storm. + -- Julian Assange +% +NetBSD - Scalability Does Matter. + -- Julian Assange +% +NetBSD - Serious Other, or Serious Operating system. Your choice. + -- Julian Assange +% +NetBSD - the Berkeley redemption. + -- Julian Assange +% +NetBSD - the cathedral versus the bizarre. + -- Julian Assange +% +NetBSD - the cure. + -- Julian Assange +% +NetBSD - the devil finds work for idle cycles. + -- Julian Assange +% +NetBSD - the devil made me do it. + -- Julian Assange +% +NetBSD - the devil's advocate. + -- Julian Assange +% +NetBSD - the devil's not just in vaudeville. + -- Julian Assange +% +NetBSD - the power to suave. + -- Julian Assange +% +NetBSD - the power to swerve (penguins, worse than cane toads). + -- Julian Assange +% +NetBSD: The Source is out there. + -- Greywolf +% +NetBSD - The undiscriminated geek UNIX + -- Richard Rauch +% +NetBSD - we have nothing to declare but our benchmarks. + -- Julian Assange +% +NetBSD - we put the Net in NetBSD. + -- Julian Assange +% +NetBSD - We're not in canvas anymore, toto + -- Julian Assange +% +NetBSD - where do you want to go Tuesday? + -- Julian Assange +% +NetBSD - Will even run on i386 + -- Brian Hechinger +% +NetBSD - your basement or mine? + -- Julian Assange +% +NetBSD: A drinking group with a serious computing problem. +% +NetBSD: A pmap for every occasion. + -- David Brownlee +% +NetBSD: Abandon all hype, oh ye who enter here. +% +NetBSD: Agnostics in the Platform Religious Wars. + -- Erik E. Fair +% +NetBSD: An Operating System For Everyone + -- Mike Latinovich +% +NetBSD: Are you old enough to run it? + -- Tom Harvey +% +NetBSD: Beyond Windows + -- Johan Ihren +% +NetBSD: CD-ROMs? We don't need no stinkin' CD-ROMs! + -- Tom Harvey +% +NetBSD: Choose Your Own Slogan + -- Dirk Myers +% +NetBSD: Compatible with the Real World. + -- Greywolf +% +NetBSD: Dave Barry is working on our motto + -- Tom Harvey +% +NetBSD: demonic power. + -- R. C. Dowdeswell +% +NetBSD: Designed to be {secure, reliable, portable, CORRECT} + -- Matthew Orgass +% +NetBSD: Download one, get ${NUMPORTS}-1 for free. +% +NetBSD: Empowering the VAX generation. + -- Andy Doran +% +NetBSD: Everyone else is doin' it. But we're doin' it right. + -- Herb Peyerl +% +NetBSD, Feed The Computer. + -- Andrew Gillham +% +NetBSD: Flexible and free! + -- Lars-Johan Liman +% +NetBSD: For The Network Generation + -- Andrew Gillham +% +NetBSD: Get Over It. + -- Andrew Gillham +% +NetBSD: Groovy Baby! + -- Andrew Gillham +% +NetBSD home page: Ultra-heavy use of blink text, hot colours, and + Flash plug-ins. All shockwave, all the time. Background music + ought to be a mixture of Phillip Glass overlaid on top of + Sublime. + -- Mason Loring Bliss +% +NetBSD: I Wanna Be Sedated + -- Curt Sampson +% +NetBSD: If you look through Windows + -- Johan Ihren +% +NetBSD: If your server could choose, it would choose NetBSD + -- Tim Rightnour +% +NetBSD, In Stalls Anywhere + -- Andrew Gillham +% +NetBSD is full. Go away. + -- Chris Baird +% +NetBSD is much like a tipi: No windows, no gates, and an apache inside. +% +NetBSD is PAR -- Powerful, Advanced, Reliable. Is your OS up to PAR? + -- Frank Warren +% +NetBSD is the bomb. (ok, bad idea) + -- Andrew Gillham +% +NetBSD: It keeps on going...and going...and going... + -- Tom Harvey +% +NetBSD: It spanks the knickers off those other operating systems + -- Brian D Chase +% +NetBSD: it'll be there when you're ready for it + -- Greg Lehey +% +NetBSD: it's not free beer, but it's free +% +NetBSD: Its not Windows. + -- Paul Wain +% +NetBSD: It's...uh...well...have you heard of linux? + -- Tom Harvey +% +NetBSD: lets get it right + -- David Brownlee +% +NetBSD: Linux without the hype. + -- Hubert Feyrer +% +NetBSD: making all computer hardware a commodity. + -- Erik E. Fair +% +NetBSD: Making your net work, and its free to boot! + -- Steve Woodford +% +NetBSD: Masterly with distinction. Striking also. + -- Andy Doran +% +NetBSD: May the Source be with you + -- Greg Earle +% +NetBSD: Microsoft ask you where you want to go, NetBSD gets you there + -- David Brownlee +% +NetBSD, More Nines. + -- Andrew Gillham +% +NetBSD: Multi-platform OS +% +NetBSD: My Computer Runs! + -- Andrew Gillham +% +NetBSD: My Computer Works! + -- Andrew Gillham +% +NetBSD: My other computer also runs NetBSD. + -- David Brownlee +% +NetBSD, Net Improvement. + -- Andrew Gillham +% +NetBSD, Net Profit. + -- Andrew Gillham +% +NetBSD, Net Some Nines. + -- Andrew Gillham +% +NetBSD: Network Power Unleashed. + -- Andrew Gillham +% +NetBSD: Network Your World. + -- Andrew Gillham +% +NetBSD: Networking Space + -- Andrew Gillham +% +NetBSD: No hype required. + -- David Brownlee +% +NetBSD, No Worries! + -- Andrew Gillham +% +NetBSD: Not all of the First Ones have gone away. +% +NetBSD. Not Guano. + -- Hubert Feyrer +% +NetBSD: Not your mother's OS (unless you are P. Seebach) + -- Tom Harvey +% +NetBSD: Oh my god! They support my hardware! You hackers! +% +NetBSD: Perpetual performance! + -- Lars-Johan Liman +% +NetBSD: Pink fluffy chunks or green bits - the choice is yours. + -- Andy Doran +% +NetBSD: Ports to * boards. + -- Steve Woodford +% +NetBSD: Power Your Net. + -- Andrew Gillham +% +NetBSD: preferred by Rocket Scientists and Moms! + -- Steven J. Dovich +% +NetBSD: priapic OS + -- Perry Metzger +% +NetBSD: Professionalpower! + -- Lars-Johan Liman +% +NetBSD: "Progress on your system is closer than it appears." +% +NetBSD: Raiders of the Lost Arch +% +NetBSD: Re: NetBSD Slogans + -- Mirian Crzig Lennox +% +NetBSD: Resistance is futile! You will be supported. + -- Peter Seebach +% +NetBSD: Resistance is NOT futile! + -- Hubert Feyrer +% +NetBSD: Rock solid! + -- Lars-Johan Liman +% +NetBSD: Servers' choice! + -- Lars-Johan Liman +% +NetBSD: serves you right. + -- Herb Peyerl +% +NetBSD short theme, for stickers and tattoos: NetBSD... Bitchin'! + -- Mason Loring Bliss +% +NetBSD, SIMMs Like Good Code + -- Andrew Gillham +% +NetBSD: Someday, we won't burn your toast + -- Herb Peyerl +% +NetBSD: Stable and strong! + -- Lars-Johan Liman +% +NetBSD: Stop, Drop, and Load + -- Andrew Gillham +% +NetBSD, Tap The Power + -- Andrew Gillham +% +NetBSD: The choice of hundreds worldwide + -- Tom Harvey +% +NetBSD: The Final Frontier + -- Chris Jones +% +NetBSD: The free OS with a money back guarantee! + -- Tim Rightnour +% +NetBSD: the free unix for the rest of us + -- Bob Nestor +% +NetBSD: The Last Bastion of the true UNIX Religion. + -- Miles Nordin +% +NetBSD: The OS WORM - Write Once, Run Many +% +NetBSD: The Power of Code + -- Mason Loring Bliss +% +NetBSD: The power to Connect + -- Feico Dillema +% +NetBSD: The power to serve, also + -- Tom Harvey +% +NetBSD: The power to serve, on the platform of your choice + -- John Darrow +% +NetBSD: the second best thing you can get for free +% +NetBSD: the server is up + -- David Brownlee +% +NetBSD: The Worlds Most Portable Operating System +% +NetBSD/toaster: we wish the toaster to be happy too. +% +NetBSD: To serve the power. + -- Herb Peyerl +% +NetBSD: true inheritors of the UNIX(tm) legacy. + -- Erik E. Fair +% +NetBSD: Twice the Bits-Clean of other Leading OSes + -- Tom Harvey +% +NetBSD: Two guys with a vax + -- Tom Harvey +% +NetBSD: u_long uptime; + -- Herb Peyerl +% +NetBSD: unshackling hardware designers and users from the bondage + of WinTel. + -- Erik E. Fair +% +NetBSD: Use the ENTIRE computer! + -- Andrew Gillham +% +NetBSD: userland included +% +NetBSD: We Come In Peace. + -- Andrew Gillham +% +NetBSD: We come in peace. We offer reliability. + -- David Maxwell +% +NetBSD: We do it right. + -- Perry Metzger +% +NetBSD: We don't negotiate with terrorists. + -- Miles Nordin +% +NetBSD: We put the "Net" in "BSD", and took out the "Free" + -- Tom Harvey +% +NetBSD: We Stay Up. + -- Andrew Gillham +% +NetBSD: We Suck Less +% +NetBSD: We're so committed to it being free, we won't sell it to you + even if you ask! + -- Charles M. Hannum +% +NetBSD: What do you want to serve today? + -- Hubert Feyrer +% +NetBSD: When Linux ports to that platform, they will discover - + WE HAVE ALWAYS BEEN HERE + -- David Maxwell +% +NetBSD: Where do you want to have the power to serve, tomorrow? + -- Tom Harvey +% +NetBSD: Who do you Serve? And who do you Trust? + -- David Maxwell +% +NetBSD will put hair on a UNIX admin's chest + -- Jason R. Fink +% +NetBSD: Write Once, Run Everywhere. Java optional. + -- Todd Whitesel +% +NetBSD: You can't handle it. + -- Paul Newhouse +% +NetBSD: You choose the hardware, we'll bring the OS. + -- David Brownlee +% +Of course it runs NetBSD. +% +Portable. Supportable. NetBSD. + -- Jim Wise +% +Software is like sex - it should be free + -- Hubert Feyrer +% +We're BSD. If you want System V, you know where to get it. + -- Greywolf +% +Where would you have rather been today, tomorrow? NetBSD. + -- Allen Briggs +% +With many thanks to the core team and UCB CSRG. + -- Greywolf +% +Young or old; cutting edge or yesterday's NeWS, NetBSD is the UNIX for you. +It can be a hulking monster in your basement, or fit in the palm +of your hand. + -- Richard Rauch diff --git a/fortune/datfiles/netbsd-o.fake b/fortune/datfiles/netbsd-o.fake new file mode 100644 index 0000000..3b3f5a3 --- /dev/null +++ b/fortune/datfiles/netbsd-o.fake @@ -0,0 +1,2 @@ +There are no potentially offensive fortunes installed on this +system. For further details, contact your system administrator. diff --git a/fortune/datfiles/netbsd-o.real b/fortune/datfiles/netbsd-o.real new file mode 100644 index 0000000..25f75a8 --- /dev/null +++ b/fortune/datfiles/netbsd-o.real @@ -0,0 +1,53 @@ +Anagrams for NetBSD core team: + Strobe mased net + Strobe mased ten + Erect teen bonds + A boned cream test + Cremate no debts + -- Julian Assange +% +NetBSD - Bits for Tits. + -- Julian Assange +% +NetBSD - Multiple Architectures lead to Multiple Orgasms. + -- Julian Assange +% +NetBSD - We put the OS in OrgaSm. + -- Julian Assange +% +NetBSD - We sell rope. +% +NetBSD - more ports than a Norwegian crack whore. + -- Julian Assange +% +NetBSD - the semen in the money shot. + -- Julian Assange +% +NetBSD - we're on a mission from Hell. + -- Julian Assange +% +NetBSD logo: Kiss-painted (w/tongue) Beastie stabbing a pitchfork + through a bloodied and obviously-in-horrible-pain Tux. + -- Mason Loring Bliss +% +NetBSD long theme: "Eat a queer fetus for Jesus, and run NetBSD!" + -- Mason Loring Bliss +% +NetBSD, stupid. + -- Julian Assange +% +NetBSD: More Ports That A Cheap Whore + -- Andrew Gillham +% +NetBSD: No Sh;t! + -- Andrew Gillham +% +NetBSD: Unix With Balls. + -- Andrew Gillham +% +NetBSD: better for your uptime than Viagra. + -- Daniel Carosone +% +Never mind the bollocks, here's NetBSD. + -- Julian Assange +% diff --git a/fortune/datfiles/startrek b/fortune/datfiles/startrek new file mode 100644 index 0000000..376b1b8 --- /dev/null +++ b/fortune/datfiles/startrek @@ -0,0 +1,757 @@ +A father doesn't destroy his children. + -- Lt. Carolyn Palamas, "Who Mourns for Adonais?", + stardate 3468.1. +% +A little suffering is good for the soul. + -- Kirk, "The Corbomite Maneuver", stardate 1514.0 +% +A man either lives life as it happens to him, meets it head-on and +licks it, or he turns his back on it and starts to wither away. + -- Dr. Boyce, "The Menagerie" ("The Cage"), stardate unknown +% +A princess should not be afraid -- not with a brave knight to protect +her. + -- McCoy, "Shore Leave", stardate 3025.3 +% +A star captain's most solemn oath is that he will give his life, even +his entire crew, rather than violate the Prime Directive. + -- Kirk, "The Omega Glory", stardate unknown +% +A Vulcan can no sooner be disloyal than he can exist without +breathing. + -- Kirk, "The Menagerie", stardate 3012.4 +% +A woman should have compassion. + -- Kirk, "Catspaw", stardate 3018.2 +% +Actual war is a very messy business. Very, very messy business. + -- Kirk, "A Taste of Armageddon", stardate 3193.0 +% +After a time, you may find that "having" is not so pleasing a thing, +after all, as "wanting." It is not logical, but it is often true. + -- Spock, "Amok Time", stardate 3372.7 +% +All your people must learn before you can reach for the stars. + -- Kirk, "The Gamesters of Triskelion", stardate 3259.2 +% +Another Armenia, Belgium ... the weak innocents who always seem to be +located on a natural invasion route. + -- Kirk, "Errand of Mercy", stardate 3198.4 +% +Another dream that failed. There's nothing sadder. + -- Kirk, "This side of Paradise", stardate 3417.3 +% +Another war ... must it always be so? How many comrades have we lost +in this way? ... Obedience. Duty. Death, and more death ... + -- Romulan Commander, "Balance of Terror", stardate 1709.2 +% +... bacteriological warfare ... hard to believe we were once foolish +enough to play around with that. + -- McCoy, "The Omega Glory", stardate unknown +% +"Beauty is transitory." +"Beauty survives." + -- Spock and Kirk, "That Which Survives", stardate unknown +% +Behind every great man, there is a woman -- urging him on. + -- Harry Mudd, "I, Mudd", stardate 4513.3 +% +Blast medicine anyway! We've learned to tie into every organ in the +human body but one. The brain! The brain is what life is all about. + -- McCoy, "The Menagerie", stardate 3012.4 +% +But it's real. And if it's real it can be affected ... we may not be +able to break it, but, I'll bet you credits to Navy Beans we can put a +dent in it. + -- deSalle, "Catspaw", stardate 3018.2 +% +"Can you imagine how life could be improved if we could do away with +jealousy, greed, hate ..." + +"It can also be improved by eliminating love, tenderness, sentiment -- +the other side of the coin" + -- Dr. Roger Corby and Kirk, "What are Little Girls Made Of?", + stardate 2712.4 +% +Change is the essential process of all existence. + -- Spock, "Let That Be Your Last Battlefield", stardate 5730.2 +% +Compassion -- that's the one things no machine ever had. Maybe it's +the one thing that keeps men ahead of them. + -- McCoy, "The Ultimate Computer", stardate 4731.3 +% +Computers make excellent and efficient servants, but I have no wish to +serve under them. Captain, a starship also runs on loyalty to one +man. And nothing can replace it or him. + -- Spock, "The Ultimate Computer", stardate 4729.4 +% +Conquest is easy. Control is not. + -- Kirk, "Mirror, Mirror", stardate unknown +% +Death, when unnecessary, is a tragic thing. + -- Flint, "Requiem for Methuselah", stardate 5843.7 +% +Death. Destruction. Disease. Horror. That's what war is all about. +That's what makes it a thing to be avoided. + -- Kirk, "A Taste of Armageddon", stardate 3193.0 +% +Do you know about being with somebody? Wanting to be? If I had the +whole universe, I'd give it to you, Janice. When I see you, I feel +like I'm hungry all over. Do you know how that feels? + -- Charlie Evans, "Charlie X", stardate 1535.8 +% +Do you know the one -- "All I ask is a tall ship, and a star to steer +her by ..." You could feel the wind at your back, about you ... the +sounds of the sea beneath you. And even if you take away the wind and +the water, it's still the same. The ship is yours ... you can feel her +... and the stars are still there. + -- Kirk, "The Ultimate Computer", stardate 4729.4 +% +[Doctors and Bartenders], We both get the same two kinds of customers +-- the living and the dying. + -- Dr. Boyce, "The Menagerie" ("The Cage"), stardate unknown +% +Each kiss is as the first. + -- Miramanee, Kirk's wife, "The Paradise Syndrome", + stardate 4842.6 +% +Earth -- mother of the most beautiful women in the universe. + -- Apollo, "Who Mourns for Adonais?" stardate 3468.1 +% +Either one of us, by himself, is expendable. Both of us are not. + -- Kirk, "The Devil in the Dark", stardate 3196.1 +% +Emotions are alien to me. I'm a scientist. + -- Spock, "This Side of Paradise", stardate 3417.3 +% +Even historians fail to learn from history -- they repeat the same +mistakes. + -- John Gill, "Patterns of Force", stardate 2534.7 +% +Every living thing wants to survive. + -- Spock, "The Ultimate Computer", stardate 4731.3 +% +"Evil does seek to maintain power by suppressing the truth." +"Or by misleading the innocent." + -- Spock and McCoy, "And The Children Shall Lead", + stardate 5029.5. +% +Extreme feminine beauty is always disturbing. + -- Spock, "The Cloud Minders", stardate 5818.4 +% +Fascinating is a word I use for the unexpected. + -- Spock, "The Squire of Gothos", stardate 2124.5 +% +Fascinating, a totally parochial attitude. + -- Spock, "Metamorphosis", stardate 3219.8 +% +First study the enemy. Seek weakness. + -- Romulan Commander, "Balance of Terror", stardate 1709.2 +% +Four thousand throats may be cut in one night by a running man. + -- Klingon Soldier, "Day of the Dove", stardate unknown +% +"... freedom ... is a worship word..." +"It is our worship word too." + -- Cloud William and Kirk, "The Omega Glory", stardate unknown +% +Genius doesn't work on an assembly line basis. You can't simply say, +"Today I will be brilliant." + -- Kirk, "The Ultimate Computer", stardate 4731.3 +% +"Get back to your stations!" +"We're beaming down to the planet, sir." + -- Kirk and Mr. Leslie, "This Side of Paradise", + stardate 3417.3 +% +He's dead, Jim + -- McCoy, "The Devil in the Dark", stardate 3196.1 +% +History tends to exaggerate. + -- Col. Green, "The Savage Curtain", stardate 5906.4 +% +Humans do claim a great deal for that particular emotion [love]. + -- Spock, "The Lights of Zetar", stardate 5725.6 +% +I am pleased to see that we have differences. May we together become +greater than the sum of both of us. + -- Surak of Vulcan, "The Savage Curtain", stardate 5906.4 +% +I have never understood the female capacity to avoid a direct answer to +any question. + -- Spock, "This Side of Paradise", stardate 3417.3 +% +I object to intellect without discipline; I object to power without +constructive purpose. + -- Spock, "The Squire of Gothos", stardate 2124.5 +% +I realize that command does have its fascination, even under +circumstances such as these, but I neither enjoy the idea of command +nor am I frightened of it. It simply exists, and I will do whatever +logically needs to be done. + -- Spock, "The Galileo Seven", stardate 2812.7 +% +"I think they're going to take all this money that we spend now on war +and death --" +"And make them spend it on life." + -- Edith Keeler and Kirk, "The City on the Edge of Forever", + stardate unknown. +% +I thought my people would grow tired of killing. But you were right, +they see it is easier than trading. And it has its pleasures. I feel +it myself. Like the hunt, but with richer rewards. + -- Apella, "A Private Little War", stardate 4211.8 +% +I'm a soldier, not a diplomat. I can only tell the truth. + -- Kirk, "Errand of Mercy", stardate 3198.9 +% +I'm frequently appalled by the low regard you Earthmen have for life. + -- Spock, "The Galileo Seven", stardate 2822.3 +% +I've already got a female to worry about. Her name is the Enterprise. + -- Kirk, "The Corbomite Maneuver", stardate 1514.0 +% +If a man had a child who'd gone anti-social, killed perhaps, he'd still +tend to protect that child. + -- McCoy, "The Ultimate Computer", stardate 4731.3 +% +If I can have honesty, it's easier to overlook mistakes. + -- Kirk, "Space Seed", stardate 3141.9 +% +If some day we are defeated, well, war has its fortunes, good and bad. + -- Commander Kor, "Errand of Mercy", stardate 3201.7 +% +If there are self-made purgatories, then we all have to live in them. + -- Spock, "This Side of Paradise", stardate 3417.7 +% +Immortality consists largely of boredom. + -- Zefrem Cochrane, "Metamorphosis", stardate 3219.8 +% +In the strict scientific sense we all feed on death -- even +vegetarians. + -- Spock, "Wolf in the Fold", stardate 3615.4 +% +Insufficient facts always invite danger. + -- Spock, "Space Seed", stardate 3141.9 +% +Insults are effective only where emotion is present. + -- Spock, "Who Mourns for Adonais?" stardate 3468.1 +% +Intuition, however illogical, is recognized as a command prerogative. + -- Kirk, "Obsession", stardate 3620.7 +% +Is not that the nature of men and women -- that the pleasure is in the +learning of each other? + -- Natira, the High Priestess of Yonada, "For the World is + Hollow and I Have Touched the Sky", stardate 5476.3. +% +Is truth not truth for all? + -- Natira, "For the World is Hollow and I have Touched + the Sky", stardate 5476.4. +% +It [being a Vulcan] means to adopt a philosophy, a way of life which is +logical and beneficial. We cannot disregard that philosophy merely for +personal gain, no matter how important that gain might be. + -- Spock, "Journey to Babel", stardate 3842.4 +% +It is a human characteristic to love little animals, especially if +they're attractive in some way. + -- McCoy, "The Trouble with Tribbles", stardate 4525.6 +% +It is more rational to sacrifice one life than six. + -- Spock, "The Galileo Seven", stardate 2822.3 +% +It is necessary to have purpose. + -- Alice #1, "I, Mudd", stardate 4513.3 +% +It is undignified for a woman to play servant to a man who is not +hers. + -- Spock, "Amok Time", stardate 3372.7 +% +It would be illogical to assume that all conditions remain stable + -- Spock, "The Enterprise" Incident", stardate 5027.3 +% +It would be illogical to kill without reason + -- Spock, "Journey to Babel", stardate 3842.4 +% +It would seem that evil retreats when forcibly confronted + -- Yarnek of Excalbia, "The Savage Curtain", stardate 5906.5 +% +"It's hard to believe that something which is neither seen nor felt can +do so much harm." + +"That's true. But an idea can't be seen or felt. And that's what kept +the Troglytes in the mines all these centuries. A mistaken idea." + -- Vanna and Kirk, "The Cloud Minders", stardate 5819.0 +% +Killing is stupid; useless! + -- McCoy, "A Private Little War", stardate 4211.8 +% +Killing is wrong. + -- Losira, "That Which Survives", stardate unknown +% +Knowledge, sir, should be free to all! + -- Harry Mudd, "I, Mudd", stardate 4513.3 +% +Landru! Guide us! + -- A Beta 3-oid, "The Return of the Archons", stardate 3157.4 +% +Leave bigotry in your quarters; there's no room for it on the bridge. + -- Kirk, "Balance of Terror", stardate 1709.2 +% +"Life and death are seldom logical." +"But attaining a desired goal always is." + -- McCoy and Spock, "The Galileo Seven", stardate 2821.7 +% +Live long and prosper. + -- Spock, "Amok Time", stardate 3372.7 +% +"Logic and practical information do not seem to apply here." +"You admit that?" +"To deny the facts would be illogical, Doctor" + -- Spock and McCoy, "A Piece of the Action", stardate unknown +% +Lots of people drink from the wrong bottle sometimes. + -- Edith Keeler, "The City on the Edge of Forever", + stardate unknown +% +Love sometimes expresses itself in sacrifice. + -- Kirk, "Metamorphosis", stardate 3220.3 +% +Madness has no purpose. Or reason. But it may have a goal. + -- Spock, "The Alternative Factor", stardate 3088.7 +% +Many Myths are based on truth + -- Spock, "The Way to Eden", stardate 5832.3 +% +Men don't talk peace unless they're ready to back it up with war. + -- Col. Green, "The Savage Curtain", stardate 5906.4 +% +Men of peace usually are [brave]. + -- Spock, "The Savage Curtain", stardate 5906.5 +% +Men will always be men -- no matter where they are. + -- Harry Mudd, "Mudd's Women", stardate 1329.8 +% +Military secrets are the most fleeting of all. + -- Spock, "The Enterprise Incident", stardate 5027.4 +% +Most legends have their basis in facts. + -- Kirk, "And The Children Shall Lead", stardate 5029.5 +% +Murder is contrary to the laws of man and God. + -- M-5 Computer, "The Ultimate Computer", stardate 4731.3 +% +No more blah, blah, blah! + -- Kirk, "Miri", stardate 2713.6 +% +No one can guarantee the actions of another. + -- Spock, "Day of the Dove", stardate unknown +% +No one may kill a man. Not for any purpose. It cannot be condoned. + -- Kirk, "Spock's Brain", stardate 5431.6 +% +"No one talks peace unless he's ready to back it up with war." +"He talks of peace if it is the only way to live." + -- Colonel Green and Surak of Vulcan, "The Savage Curtain", + stardate 5906.5. +% +No one wants war. + -- Kirk, "Errand of Mercy", stardate 3201.7 +% +No problem is insoluble. + -- Dr. Janet Wallace, "The Deadly Years", stardate 3479.4 +% +Not one hundred percent efficient, of course ... but nothing ever is. + -- Kirk, "Metamorphosis", stardate 3219.8 +% +Oblivion together does not frighten me, beloved. + -- Thalassa (in Anne Mulhall's body), "Return to Tomorrow", + stardate 4770.3. +% +Oh, that sound of male ego. You travel halfway across the galaxy and +it's still the same song. + -- Eve McHuron, "Mudd's Women", stardate 1330.1 +% +On my planet, to rest is to rest -- to cease using energy. To me, it +is quite illogical to run up and down on green grass, using energy, +instead of saving it. + -- Spock, "Shore Leave", stardate 3025.2 +% +One does not thank logic. + -- Sarek, "Journey to Babel", stardate 3842.4 +% +One of the advantages of being a captain is being able to ask for +advice without necessarily having to take it. + -- Kirk, "Dagger of the Mind", stardate 2715.2 +% +Only a fool fights in a burning house. + -- Kang the Klingon, "Day of the Dove", stardate unknown +% +Our missions are peaceful -- not for conquest. When we do battle, it +is only because we have no choice. + -- Kirk, "The Squire of Gothos", stardate 2124.5 +% +Our way is peace. + -- Septimus, the Son Worshiper, "Bread and Circuses", + stardate 4040.7. +% +Pain is a thing of the mind. The mind can be controlled. + -- Spock, "Operation -- Annihilate!" stardate 3287.2 +% +Peace was the way. + -- Kirk, "The City on the Edge of Forever", stardate unknown +% +Power is danger. + -- The Centurion, "Balance of Terror", stardate 1709.2 +% +Prepare for tomorrow -- get ready. + -- Edith Keeler, "The City On the Edge of Forever", + stardate unknown +% +Punishment becomes ineffective after a certain point. Men become +insensitive. + -- Eneg, "Patterns of Force", stardate 2534.7 +% +Respect is a rational process + -- McCoy, "The Galileo Seven", stardate 2822.3 +% +Romulan women are not like Vulcan females. We are not dedicated to +pure logic and the sterility of non-emotion. + -- Romulan Commander, "The Enterprise Incident", + stardate 5027.3 +% +Schshschshchsch. + -- The Gorn, "Arena", stardate 3046.2 +% +Sometimes a feeling is all we humans have to go on. + -- Kirk, "A Taste of Armageddon", stardate 3193.9 +% +Sometimes a man will tell his bartender things he'll never tell his doctor. + -- Dr. Phillip Boyce, "The Menagerie" ("The Cage"), + stardate unknown. +% +Star Trek Lives! +% +Suffocating together ... would create heroic camaraderie. + -- Khan Noonian Singh, "Space Seed", stardate 3142.8 +% +Superior ability breeds superior ambition. + -- Spock, "Space Seed", stardate 3141.9 +% +"That unit is a woman." +"A mass of conflicting impulses." + -- Spock and Nomad, "The Changeling", stardate 3541.9 +% +"The combination of a number of things to make existence worthwhile." +"Yes, the philosophy of 'none,' meaning 'all.'" + -- Spock and Lincoln, "The Savage Curtain", stardate 5906.4 +% +The face of war has never changed. Surely it is more logical to heal +than to kill. + -- Surak of Vulcan, "The Savage Curtain", stardate 5906.5 +% +The games have always strengthened us. Death becomes a familiar +pattern. We don't fear it as you do. + -- Proconsul Marcus Claudius, "Bread and Circuses", + stardate 4041.2 +% +"The glory of creation is in its infinite diversity." +"And in the way our differences combine to create meaning and beauty." + -- Dr. Miranda Jones and Spock, "Is There in Truth No Beauty?", + stardate 5630.8 +% +The heart is not a logical organ. + -- Dr. Janet Wallace, "The Deadly Years", stardate 3479.4 +% +The idea of male and female are universal constants. + -- Kirk, "Metamorphosis", stardate 3219.8 +% +The joys of love made her human and the agonies of love destroyed her. + -- Spock, "Requiem for Methuselah", stardate 5842.8 +% +The man on tops walks a lonely street; the "chain" of command is often +a noose. + -- McCoy, "The Conscience of the King," stardate 2818.9 +% +The more complex the mind, the greater the need for the simplicity of +play. + -- Kirk, "Shore Leave", stardate 3025.8 +% +The only solution is ... a balance of power. We arm our side with +exactly that much more. A balance of power -- the trickiest, most +difficult, dirtiest game of them all. But the only one that preserves +both sides. + -- Kirk, "A Private Little War", stardate 4211.8 +% +The people of Gideon have always believed that life is sacred. That +the love of life is the greatest gift ... We are incapable of +destroying or interfering with the creation of that which we love so +deeply -- life in every form from fetus to developed being. + -- Hodin of Gideon, "The Mark of Gideon", stardate 5423.4 +% +... The prejudices people feel about each other disappear when then get +to know each other. + -- Kirk, "Elaan of Troyius", stardate 4372.5 +% +"The release of emotion is what keeps us healthy. Emotionally healthy." + +"That may be, Doctor. However, I have noted that the healthy release +of emotion is frequently unhealthy for those closest to you." + -- McCoy and Spock, "Plato's Stepchildren", stardate 5784.3 +% +The sight of death frightens them [Earthers]. + -- Kras the Klingon, "Friday's Child", stardate 3497.2 +% +The sooner our happiness together begins, the longer it will last. + -- Miramanee, "The Paradise Syndrome", stardate 4842.6 +% +... The things love can drive a man to -- the ecstasies, the +the miseries, the broken rules, the desperate chances, the glorious +failures and the glorious victories. + -- McCoy, "Requiem for Methuselah", stardate 5843.7 +% +There are always alternatives. + -- Spock, "The Galileo Seven", stardate 2822.3 +% +There are certain things men must do to remain men. + -- Kirk, "The Ultimate Computer", stardate 4929.4 +% +There are some things worth dying for. + -- Kirk, "Errand of Mercy", stardate 3201.7 +% +There comes to all races an ultimate crisis which you have yet to face +.... One day our minds became so powerful we dared think of ourselves +as gods. + -- Sargon, "Return to Tomorrow", stardate 4768.3 +% +There is a multi-legged creature crawling on your shoulder. + -- Spock, "A Taste of Armageddon", stardate 3193.9 +% +There is an old custom among my people. When a woman saves a man's +life, he is grateful. + -- Nona, the Kanuto which woman, "A Private Little War", + stardate 4211.8. +% +There is an order of things in this universe. + -- Apollo, "Who Mourns for Adonais?" stardate 3468.1 +% +There's a way out of any cage. + -- Captain Christopher Pike, "The Menagerie" ("The Cage"), + stardate unknown. +% +There's another way to survive. Mutual trust -- and help. + -- Kirk, "Day of the Dove", stardate unknown +% +There's no honorable way to kill, no gentle way to destroy. There is +nothing good in war. Except its ending. + -- Abraham Lincoln, "The Savage Curtain", stardate 5906.5 +% +There's nothing disgusting about it [the Companion]. It's just another +life form, that's all. You get used to those things. + -- McCoy, "Metamorphosis", stardate 3219.8 +% +"There's only one kind of woman ..." +"Or man, for that matter. You either believe in yourself or you don't." + -- Kirk and Harry Mudd, "Mudd's Women", stardate 1330.1 +% +This cultural mystique surrounding the biological function -- you +realize humans are overly preoccupied with the subject. + -- Kelinda the Kelvan, "By Any Other Name", stardate 4658.9 +% +Those who hate and fight must stop themselves -- otherwise it is not +stopped. + -- Spock, "Day of the Dove", stardate unknown +% +Time is fluid ... like a river with currents, eddies, backwash. + -- Spock, "The City on the Edge of Forever", stardate 3134.0 +% +To live is always desirable. + -- Eleen the Capellan, "Friday's Child", stardate 3498.9 +% +Too much of anything, even love, isn't necessarily a good thing. + -- Kirk, "The Trouble with Tribbles", stardate 4525.6 +% +Totally illogical, there was no chance. + -- Spock, "The Galileo Seven", stardate 2822.3 +% +Uncontrolled power will turn even saints into savages. And we can all +be counted on to live down to our lowest impulses. + -- Parmen, "Plato's Stepchildren", stardate 5784.3 +% +Violence in reality is quite different from theory. + -- Spock, "The Cloud Minders", stardate 5818.4 +% +Virtue is a relative term. + -- Spock, "Friday's Child", stardate 3499.1 +% +Vulcans believe peace should not depend on force. + -- Amanda, "Journey to Babel", stardate 3842.3 +% +Vulcans do not approve of violence. + -- Spock, "Journey to Babel", stardate 3842.4 +% +Vulcans never bluff. + -- Spock, "The Doomsday Machine", stardate 4202.1 +% +Vulcans worship peace above all. + -- McCoy, "Return to Tomorrow", stardate 4768.3 +% +Wait! You have not been prepared! + -- Mr. Atoz, "Tomorrow is Yesterday", stardate 3113.2 +% +War is never imperative. + -- McCoy, "Balance of Terror", stardate 1709.2 +% +War isn't a good life, but it's life. + -- Kirk, "A Private Little War", stardate 4211.8 +% +[War] is instinctive. But the instinct can be fought. We're human +beings with the blood of a million savage years on our hands! But we +can stop it. We can admit that we're killers ... but we're not going +to kill today. That's all it takes! Knowing that we're not going to +kill today! + -- Kirk, "A Taste of Armageddon", stardate 3193.0 +% +We do not colonize. We conquer. We rule. There is no other way for +us. + -- Rojan, "By Any Other Name", stardate 4657.5 +% +We fight only when there is no other choice. We prefer the ways of +peaceful contact. + -- Kirk, "Spectre of the Gun", stardate 4385.3 +% +We have found all life forms in the galaxy are capable of superior +development. + -- Kirk, "The Gamesters of Triskelion", stardate 3211.7 +% +We have phasers, I vote we blast 'em! + -- Bailey, "The Corbomite Maneuver", stardate 1514.2 +% +"We have the right to survive!" +"Not by killing others." + -- Deela and Kirk, "Wink of An Eye", stardate 5710.5 +% +We Klingons believe as you do -- the sick should die. Only the strong +should live. + -- Kras, "Friday's Child", stardate 3497.2 +% +We're all sorry for the other guy when he loses his job to a machine. +But when it comes to your job -- that's different. And it always will +be different. + -- McCoy, "The Ultimate Computer", stardate 4729.4 +% +"What happened to the crewman?" + +"The M-5 computer needed a new power source, the crewman merely got in +the way." + -- Kirk and Dr. Richard Daystrom, "The Ultimate Computer", + stardate 4731.3. +% +What kind of love is that? Not to be loved; never to have shown love. + -- Commissioner Nancy Hedford, "Metamorphosis", + stardate 3219.8 +% +"What terrible way to die." +"There are no good ways." + -- Sulu and Kirk, "That Which Survives", stardate unknown +% +When a child is taught ... it's programmed with simple instructions -- +and at some point, if its mind develops properly, it exceeds the sum of +what it was taught, thinks independently. + -- Dr. Richard Daystrom, "The Ultimate Computer", + stardate 4731.3. +% +When dreams become more important than reality, you give up travel, +building, creating; you even forget how to repair the machines left +behind by your ancestors. You just sit living and reliving other lives +left behind in the thought records. + -- Vina, "The Menagerie" ("The Cage"), stardate unknown +% +Where there's no emotion, there's no motive for violence. + -- Spock, "Dagger of the Mind", stardate 2715.1 +% +Witch! Witch! They'll burn ya! + -- Hag, "Tomorrow is Yesterday", stardate unknown +% +Without facts, the decision cannot be made logically. You must rely on +your human intuition. + -- Spock, "Assignment: Earth", stardate unknown +% +Without followers, evil cannot spread. + -- Spock, "And The Children Shall Lead", stardate 5029.5 +% +Without freedom of choice there is no creativity. + -- Kirk, "The return of the Archons", stardate 3157.4 +% +Women are more easily and more deeply terrified ... generating more +sheer horror than the male of the species. + -- Spock, "Wolf in the Fold", stardate 3615.4 +% +Women professionals do tend to over-compensate. + -- Dr. Elizabeth Dehner, "Where No Man Has Gone Before", + stardate 1312.9. +% +Worlds are conquered, galaxies destroyed -- but a woman is always a +woman. + -- Kirk, "Conscience of the King", stardate unknown +% +Worlds may change, galaxies disintegrate, but a woman always remains a +woman. + -- Kirk, "The Conscience of the King", stardate 2818.9 +% +Yes, it is written. Good shall always destroy evil. + -- Sirah the Yang, "The Omega Glory", stardate unknown +% +You are an excellent tactician, Captain. You let your second in +command attack while you sit and watch for weakness. + -- Khan Noonian Singh, "Space Seed", stardate 3141.9 +% +You can't evaluate a man by logic alone. + -- McCoy, "I, Mudd", stardate 4513.3 +% +You Earth people glorified organized violence for forty centuries. But +you imprison those who employ it privately. + -- Spock, "Dagger of the Mind", stardate 2715.1 +% +You go slow, be gentle. It's no one-way street -- you know how you +feel and that's all. It's how the girl feels too. Don't press. If +the girl feels anything for you at all, you'll know. + -- Kirk, "Charlie X", stardate 1535.8 +% +You humans have that emotional need to express gratitude. "You're +welcome," I believe, is the correct response. + -- Spock, "Bread and Circuses", stardate 4041.2 +% +You say you are lying. But if everything you say is a lie, then you +are telling the truth. You cannot tell the truth because everything +you say is a lie. You lie, you tell the truth ... but you cannot, for +you lie. + -- Norman the android, "I, Mudd", stardate 4513.3 +% +You speak of courage. Obviously you do not know the difference between +courage and foolhardiness. Always it is the brave ones who die, the +soldiers. + -- Kor, the Klingon Commander, "Errand of Mercy", + stardate 3201.7 +% +You! What PLANET is this! + -- McCoy, "The City on the Edge of Forever", stardate 3134.0 +% +You'll learn something about men and women -- the way they're supposed +to be. Caring for each other, being happy with each other, being good +to each other. That's what we call love. You'll like that a lot. + -- Kirk, "The Apple", stardate 3715.6 +% +You're dead, Jim. + -- McCoy, "Amok Time", stardate 3372.7 +% +You're dead, Jim. + -- McCoy, "The Tholian Web", stardate unknown +% +You're too beautiful to ignore. Too much woman. + -- Kirk to Yeoman Rand, "The Enemy Within", stardate unknown +% +Youth doesn't excuse everything. + -- Dr. Janice Lester (in Kirk's body), "Turnabout Intruder", + stardate 5928.5. diff --git a/fortune/datfiles/startrek.sp.ok b/fortune/datfiles/startrek.sp.ok new file mode 100644 index 0000000..55c5124 --- /dev/null +++ b/fortune/datfiles/startrek.sp.ok @@ -0,0 +1,86 @@ +Adonais +Amanda +Apella +Archons +Armenia +Atoz +Capellan +Catspaw +Centurion +Changeling +Claudius +Corbomite +Corby +Daystrom +Deela +Dehaver +Elaan +Eleen +Eneg +Excalbia +Galileo +Gorn +Gothos +Hag +Hedford +Hodin +Kang +Kanuto +Kelinda +Kelvan +Klingon +Klingons +Kor +Kras +Landru +Losira +Lt +McHuron +Miramanee +Miri +Mulhall's +Natira +Nomad +Nona +Noonian +Palamas +Parmen +Phillip +Priestess +Proconsul +Requiem +Rojan +Romulan +Sarek +Sargon +Schshschshchsch +Septimus +Singh +Sirah +Spectre +Spock +Spock's +Stepchildren +Sulu +Surak +Thalassa +Tholian +Tribbles +Triskelion +Troglytes +Troyius +Vanna +Vina +Yarnek +Yonada +Zefrem +Zetar +android +backwash +bacteriological +blah +deSalle +oid +stardate +tactician +ya diff --git a/fortune/datfiles/unamerican-o.fake b/fortune/datfiles/unamerican-o.fake new file mode 100644 index 0000000..3b3f5a3 --- /dev/null +++ b/fortune/datfiles/unamerican-o.fake @@ -0,0 +1,2 @@ +There are no potentially offensive fortunes installed on this +system. For further details, contact your system administrator. diff --git a/fortune/datfiles/unamerican-o.real b/fortune/datfiles/unamerican-o.real new file mode 100644 index 0000000..769e902 --- /dev/null +++ b/fortune/datfiles/unamerican-o.real @@ -0,0 +1,385 @@ +SHUT UP HIPPY +% +YOU'RE ALL SHEEP +% +SELL ME DRUGS +% +TELEVISION LOVES ME +% +DON'T POSTPONE JOY +% +FUCK SLOGANS +% +COFFEE NOW DAMMIT +% +THIS WORLD IS SHIT +% +SMASH THE STATE +% +DARN THE GOV'T +% +WHITEY WILL PAY +% +MY JOB SUCKS ASS +% +BAD SEX SUCKS +% +I'M FUCKING METAL +% +I WORSHIP SATAN HA HA +% +ADULTS ARE DUMB +% +WE'RE DOOMED +% +DON'T GET CAUGHT +% +THE END IS NEAR +% +GOD IS OBSOLETE +% +FUCK YOU, GOD +% +NO MORE BULLSHIT +% +WARM THE GLOBE +% +JESUS HATES ME +% +FUCK WORK +% +DRUGS HELP ALOT +% +COPS SMELL FUNNY +% +WEIRDOS UNITE! +% +MICROSOFT MUST DIE +% +WHY DOES SCHOOL SUCK? +% +MY BOSS IS A JERK +% +JESUS JUST LEFT +% +REBOOT AMERICA +% +DESTROY CAPITALISM +% +I HATE THE RICH +% +I AM AN ANARCHIST +% +BOMB THE MALL +% +WAKE THE FUCK UP +% +DOPE SMOKIN' MORON +% +KIDS LOVE SATAN +% +THE SYSTEM'S FUCKED +% +WOMEN WILL RISE +% +FUCK SCHOOL +% +I HATE COMPUTERS +% +LIFE ISN'T FAIR +% +POLITICS ARE BORING +% +NO CHANGE SORRY +% +GOOD FOR NOTHING +% +RACISM IS TYPICAL +% +YOU'RE A SEXIST +% +BORED +% +BROKE +% +WAGE-SLAVE +% +MAKE IT STOP +% +FUCK ART LET'S KILL +% +END CIVILIZATION +% +CALL IN SICK +% +TWENTYNOTHING +% +GOAT-BOY +% +My dad's a cop too, +couldja let me go now? +% +KEEP MUSIC EVIL +% +FUCK FAST FOOD +% +ORGASMS ARE GOOD +% +BREAK SOME LAWS +% +STAMP OUT REALITY +% +LIVE THE CHAOS +% +WE'RE ALL PERVERTS +% +UNEMPLOYABLE +% +LEGALIZE YOURSELF +% +T.V. CASUALTY +% +BE NOT HALF-ASSED +% +ANNOY THE BORING +% +PUNK ROCK GIRL +% +GOD MASTURBATES +% +DIE MTV DIE +% +I AM A POSEUR +% +TOUCH ME I'M SICK +% +ANTI-FASHION +% +PIGS VS. PEOPLE +% +NOT OF THIS EARTH +% +DRUGS SUCK ALOT +% +Sex with you would suck. +% +I'm killing the Earth! +% +I guess I was punk once. +% +i represent + GOD + you fuck +% +My world is cold +and without hope. +% +GIMME GIMME +FOOD STAMPS +% +THIS ISN'T ME +% +FUCK DECAF +% +DEFEATED +% +Blow up Disneyland. +% +California is overrated. +% +UNAMERICAN +% +I AM CONFUSED +% +SEX TOYS ROCK +% +GO FUCKING PRAY +% +NATURE IS PISSED +% +FUGAZIFY YOURSELF +% +I'M IN SCENESTER HELL +% +RESIST DESPAIR +% +EVIL WILL TRIUMPH +% +FUCK YOUR LAME ADS +% +RACE MIXING IS COOL +% +EMBRACE VIOLENCE +% +AMERICAN WASTE +% +FUCKING HOSTILE +% +SEIZE LIBERTY +% +DESTROY WHAT + BORES YOU + ON SIGHT +% +FUCK YEAH I'M WEIRD +% +FUCK CENSORSHIP +% +WE'RE NOT DUMB +% +DEMAND JUSTICE +% +FREAK PRIDE +% +CULT MEMBER +% +CONFORMIST +REVOLUTION +% +FUCK SHIT UP +% +DON'T LET ME FAIL +% +GROOVE MATTERS +% +SURVIVE Y2K SOMEHOW +% +TAX THE RICH +% +MAKE YUPPIES SUFFER +% +GET A JOB JUNKIE +% +ARM THE HOMELESS +% +BOYCOTT GEN-X CRAP +% +GODLESS COMMIE SCUM +% +I STILL BELIEVE +% +SCARE THE SQUARE +% +I AM A BAD ASS +% +UNLEASH INFINITY +% +ESTROGEN POWER +% +HEDONISM NOW! +% +SOMEBODY DOSE ME +% +REAGAN WAS WORSE +% +children know everything +% +TRAITOR +% +SINNER +% +UNITY +% +UNDERSTAND +% +GO CORPORATE +% +You LIVE in that head? +% +JUST BE PURE +% +PIGS SHOULDN'T RULE +% +Go work on your website. +% +America eats its young. +% +LAUGH AT ASSHOLES +% +PEOPLE ARE MIRACLES +% +DESTINATION UNKNOWN +% +HEAL YOUR FUCKERS +% +CONSIDER SOBREITY +% +INHERIT THE EARTH +% +DROP THE ATTITUDE +% +ALL POLITICIANS LIE +% +GOTTA LOVE HOTTIES +% +what's stopping you? +% +IMPEACH 'EM ALL +% +HOOK ME UP BABY +% +i'm so fucking beautiful +% +SO MANY FEELINGS +% +QUIT BEING PASSIVE +% +GO BEYOND COMFORT +% +STOP LIVING LIKE VEAL +% +ask me about my pain +% +OVERTHROW THAT SHIT +% +BORN TO CHILL +% +Whose future is it, anyway? +% +This is a nation of whores. +% +YOUR KIDS ARE TRIPPING +% +FUCK ALL PREJUDICE +% +SHHHHHH. LISTEN. +% +FIGHT FAT PHOBIA +% +VICTORY OVER HORSESHIT +% +everyone is a prostitute +% +DON'T STOP BELIEVING +% +YOU'RE BISEXUAL +% +MINIMIZE BAD THINGS +% +YOU'RE MY RELIGION +% +I WORSHIP YOU +% +MY MACINTOSH RULES +% +CHEER UP EMO KID +% +LIVE FREE OR DIE +% +TELEVISION IS TORTURE +% +BRING THAT BEAT BACK +% +HUG A REVOLUTIONARY +% +DON'T FEAR THE REAPER +% +SHOW ME THE WAY +% +I CAN MAKE YOU GOD +% +WOMEN TAKE OVER +% +SO FUCKING DEEP +% +WHY OBEY MORONS? diff --git a/fortune/datfiles/zippy b/fortune/datfiles/zippy new file mode 100644 index 0000000..f0b76bb --- /dev/null +++ b/fortune/datfiles/zippy @@ -0,0 +1,1363 @@ +A can of ASPARAGUS, 73 pigeons, some LIVE ammo, and a FROZEN DAIQUIRI!! +% +A dwarf is passing out somewhere in Detroit! +% +A shapely CATHOLIC SCHOOLGIRL is FIDGETING inside my costume.. +% +A wide-eyed, innocent UNICORN, poised delicately in a MEADOW filled +with LILACS, LOLLIPOPS & small CHILDREN at the HUSH of twilight?? +% +Actually, what I'd like is a little toy spaceship!! +% +Adopt my lifestyle or I'll have to press charges. +% +All I can think of is a platter of organic PRUNE CRISPS being trampled +by an army of swarthy, Italian LOUNGE SINGERS ... +% +All of a sudden, I want to THROW OVER my promising ACTING CAREER, grow +a LONG BLACK BEARD and wear a BASEBALL HAT!! ... Although I don't know +WHY!! +% +All of life is a blur of Republicans and meat! +% +All right, you degenerates! I want this place evacuated in 20 seconds! +% +All this time I've been VIEWING a RUSSIAN MIDGET SODOMIZE a HOUSECAT! +% +Alright, you!! Imitate a WOUNDED SEAL pleading for a PARKING SPACE!! +% +Am I accompanied by a PARENT or GUARDIAN? +% +Am I elected yet? +% +Am I in GRADUATE SCHOOL yet? +% +Am I SHOPLIFTING? +% +America!! I saw it all!! Vomiting! Waving! JERRY FALWELLING into +your void tube of UHF oblivion!! SAFEWAY of the mind ... +% +An air of FRENCH FRIES permeates my nostrils!! +% +An INK-LING? Sure -- TAKE one!! Did you BUY any COMMUNIST UNIFORMS?? +% +An Italian is COMBING his hair in suburban DES MOINES! +% +And furthermore, my bowling average is unimpeachable!!! +% +ANN JILLIAN'S HAIR makes LONI ANDERSON'S HAIR look like RICARDO +MONTALBAN'S HAIR! +% +Are the STEWED PRUNES still in the HAIR DRYER? +% +Are we having fun yet? +% +Are we live or on tape? +% +Are we on STRIKE yet? +% +Are we THERE yet? +% +Are we THERE yet? My MIND is a SUBMARINE!! +% +Are you mentally here at Pizza Hut?? +% +Are you selling NYLON OIL WELLS?? If so, we can use TWO DOZEN!! +% +Are you still an ALCOHOLIC? +% +As President I have to go vacuum my coin collection! +% +Awright, which one of you hid my PENIS ENVY? +% +BARBARA STANWYCK makes me nervous!! +% +Barbie says, Take quaaludes in gin and go to a disco right away! +But Ken says, WOO-WOO!! No credit at "Mr. Liquor"!! +% +BARRY ... That was the most HEART-WARMING rendition of "I DID IT MY +WAY" I've ever heard!! +% +Being a BALD HERO is almost as FESTIVE as a TATTOOED KNOCKWURST. +% +BELA LUGOSI is my co-pilot ... +% +BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI-BI- +% +... bleakness ... desolation ... plastic forks ... +% +Bo Derek ruined my life! +% +Boy, am I glad it's only 1971... +% +Boys, you have ALL been selected to LEAVE th' PLANET in 15 minutes!! +% +But they went to MARS around 1953!! +% +But was he mature enough last night at the lesbian masquerade? +% +Can I have an IMPULSE ITEM instead? +% +Can you MAIL a BEAN CAKE? +% +Catsup and Mustard all over the place! It's the Human Hamburger! +% +CHUBBY CHECKER just had a CHICKEN SANDWICH in downtown DULUTH! +% +Civilization is fun! Anyway, it keeps me busy!! +% +Clear the laundromat!! This whirl-o-matic just had a nuclear meltdown!! +% +Concentrate on th'cute, li'l CARTOON GUYS! Remember the SERIAL +NUMBERS!! Follow the WHIPPLE AVE. EXIT!! Have a FREE PEPSI!! Turn +LEFT at th'HOLIDAY INN!! JOIN the CREDIT WORLD!! MAKE me an OFFER!!! +% +CONGRATULATIONS! Now should I make thinly veiled comments about +DIGNITY, self-esteem and finding TRUE FUN in your RIGHT VENTRICLE?? +% +Content: 80% POLYESTER, 20% DACRON ... The waitress's UNIFORM sheds +TARTAR SAUCE like an 8" by 10" GLOSSY ... +% +Could I have a drug overdose? +% +Did an Italian CRANE OPERATOR just experience uninhibited sensations in +a MALIBU HOT TUB? +% +Did I do an INCORRECT THING?? +% +Did I say I was a sardine? Or a bus??? +% +Did I SELL OUT yet?? +% +Did YOU find a DIGITAL WATCH in YOUR box of VELVEETA? +% +Did you move a lot of KOREAN STEAK KNIVES this trip, Dingy? +% +DIDI ... is that a MARTIAN name, or, are we in ISRAEL? +% +Didn't I buy a 1951 Packard from you last March in Cairo? +% +Disco oil bussing will create a throbbing naugahyde pipeline running +straight to the tropics from the rug producing regions and devalue the +dollar! +% +Do I have a lifestyle yet? +% +Do you guys know we just passed thru a BLACK HOLE in space? +% +Do you have exactly what I want in a plaid poindexter bar bat?? +% +Do you like "TENDER VITTLES"? +% +Do you think the "Monkees" should get gas on odd or even days? +% +Does someone from PEORIA have a SHORTER ATTENTION span than me? +% +does your DRESSING ROOM have enough ASPARAGUS? +% +DON'T go!! I'm not HOWARD COSELL!! I know POLISH JOKES ... WAIT!! +Don't go!! I AM Howard Cosell! ... And I DON'T know Polish jokes!! +% +Don't hit me!! I'm in the Twilight Zone!!! +% +Don't SANFORIZE me!! +% +Don't worry, nobody really LISTENS to lectures in MOSCOW, either! ... +FRENCH, HISTORY, ADVANCED CALCULUS, COMPUTER PROGRAMMING, BLACK +STUDIES, SOCIOBIOLOGY! ... Are there any QUESTIONS?? +% +Edwin Meese made me wear CORDOVANS!! +% +Eisenhower!! Your mimeograph machine upsets my stomach!! +% +Either CONFESS now or we go to "PEOPLE'S COURT"!! +% +Everybody gets free BORSCHT! +% +Everybody is going somewhere!! It's probably a garage sale or a +disaster Movie!! +% +Everywhere I look I see NEGATIVITY and ASPHALT ... +% +Excuse me, but didn't I tell you there's NO HOPE for the survival of +OFFSET PRINTING? +% +FEELINGS are cascading over me!!! +% +Finally, Zippy drives his 1958 RAMBLER METROPOLITAN into the faculty +dining room. +% +First, I'm going to give you all the ANSWERS to today's test ... So +just plug in your SONY WALKMANS and relax!! +% +FOOLED you! Absorb EGO SHATTERING impulse rays, polyester poltroon!! +% +for ARTIFICIAL FLAVORING!! +% +Four thousand different MAGNATES, MOGULS & NABOBS are romping in my +gothic solarium!! +% +Frivolity is a stern taskmaster. +% +FROZEN ENTREES may be flung by members of opposing SWANSON SECTS ... +% +FUN is never having to say you're SUSHI!! +% +Gee, I feel kind of LIGHT in the head now, knowing I can't make my +satellite dish PAYMENTS! +% +Gibble, Gobble, we ACCEPT YOU ... +% +Give them RADAR-GUIDED SKEE-BALL LANES and VELVEETA BURRITOS!! +% +Go on, EMOTE! I was RAISED on thought balloons!! +% +GOOD-NIGHT, everybody ... Now I have to go administer FIRST-AID to my +pet LEISURE SUIT!! +% +HAIR TONICS, please!! +% +Half a mind is a terrible thing to waste! +% +Hand me a pair of leather pants and a CASIO keyboard -- I'm living for +today! +% +Has everybody got HALVAH spread all over their ANKLES?? +% +Has everybody got HALVAH spread all over their ANKLES?? ... Now, it's +time to "HAVE A NAGEELA"!! +% +... he dominates the DECADENT SUBWAY SCENE. +% +He is the MELBA-BEING ... the ANGEL CAKE ... XEROX him ... XEROX him -- +% +He probably just wants to take over my CELLS and then EXPLODE inside me +like a BARREL of runny CHOPPED LIVER! Or maybe he'd like to +PSYCHOLOGICALLY TERRORISE ME until I have no objection to a RIGHT-WING +MILITARY TAKEOVER of my apartment!! I guess I should call AL PACINO! +% +HELLO KITTY gang terrorizes town, family STICKERED to death! +% +HELLO, everybody, I'm a HUMAN!! +% +Hello, GORRY-O!! I'm a GENIUS from HARVARD!! +% +Hello. I know the divorce rate among unmarried Catholic Alaskan +females!! +% +Hello. Just walk along and try NOT to think about your INTESTINES +being almost FORTY YARDS LONG!! +% +Hello... IRON CURTAIN? Send over a SAUSAGE PIZZA! World War III? No +thanks! +% +Hello? Enema Bondage? I'm calling because I want to be happy, I +guess ... +% +Here I am at the flea market but nobody is buying my urine sample +bottles ... +% +Here I am in 53 B.C. and all I want is a dill pickle!! +% +Here I am in the POSTERIOR OLFACTORY LOBULE but I don't see CARL SAGAN +anywhere!! +% +Here we are in America ... when do we collect unemployment? +% +Hey, wait a minute!! I want a divorce!! ... you're not Clint Eastwood!! +% +Hey, waiter! I want a NEW SHIRT and a PONY TAIL with lemon sauce! +% +Hiccuping & trembling into the WASTE DUMPS of New Jersey like some +drunken CABBAGE PATCH DOLL, coughing in line at FIORUCCI'S!! +% +Hmmm ... a CRIPPLED ACCOUNTANT with a FALAFEL sandwich is HIT by a +TROLLEY-CAR ... +% +Hmmm ... A hash-singer and a cross-eyed guy were SLEEPING on a deserted +island, when ... +% +Hmmm ... a PINHEAD, during an EARTHQUAKE, encounters an ALL-MIDGET +FIDDLE ORCHESTRA ... ha ... ha ... +% +Hmmm ... an arrogant bouquet with a subtle suggestion of POLYVINYL +CHLORIDE ... +% +Hold the MAYO & pass the COSMIC AWARENESS ... +% +HOORAY, Ronald!! Now YOU can marry LINDA RONSTADT too!! +% +How do I get HOME? +% +How do you explain Wayne Newton's POWER over millions? It's th' +MOUSTACHE ... Have you ever noticed th' way it radiates SINCERITY, +HONESTY & WARMTH? It's a MOUSTACHE you want to take HOME and introduce +to NANCY SINATRA! +% +How many retired bricklayers from FLORIDA are out purchasing PENCIL +SHARPENERS right NOW?? +% +How's it going in those MODULAR LOVE UNITS?? +% +How's the wife? Is she at home enjoying capitalism? +% +hubub, hubub, HUBUB, hubub, hubub, hubub, HUBUB, hubub, hubub, hubub. +% +HUGH BEAUMONT died in 1982!! +% +HUMAN REPLICAS are inserted into VATS of NUTRITIONAL YEAST ... +% +I always have fun because I'm out of my mind!!! +% +I am a jelly donut. I am a jelly donut. +% +I am a traffic light, and Alan Ginzberg kidnapped my laundry in 1927! +% +I am covered with pure vegetable oil and I am writing a best seller! +% +I am deeply CONCERNED and I want something GOOD for BREAKFAST! +% +I am having FUN... I wonder if it's NET FUN or GROSS FUN? +% +I am NOT a nut.... +% +I appoint you ambassador to Fantasy Island!!! +% +I believe in wash fulfillment. +% +I brought my BOWLING BALL -- and some DRUGS!! +% +I can't decide which WRONG TURN to make first!! +% +I can't decide which WRONG TURN to make first!! I wonder if BOB +GUCCIONE has these problems! +% +I can't think about that. It doesn't go with HEDGES in the shape of +LITTLE LULU -- or ROBOTS making BRICKS ... +% +I demand IMPUNITY! +% +I didn't order any WOO-WOO ... Maybe a YUBBA ... But no WOO-WOO! +% +I don't believe there really IS a GAS SHORTAGE ... I think it's all +just a BIG HOAX on the part of the plastic sign salesmen -- to sell +more numbers!! +% +... I don't know why but, suddenly, I want to discuss declining I.Q. +LEVELS with a blue ribbon SENATE SUB-COMMITTEE! +% +I don't know WHY I said that ... I think it came from the FILLINGS in +my read molars ... +% +... I don't like FRANK SINATRA or his CHILDREN. +% +I don't understand the HUMOUR of the THREE STOOGES!! +% +I feel ... JUGULAR ... +% +I feel better about world problems now! +% +I feel like a wet parking meter on Darvon! +% +I feel like I am sharing a ``CORN-DOG'' with NIKITA KHRUSHCHEV ... +% +I feel like I'm in a Toilet Bowl with a thumbtack in my forehead!! +% +I feel partially hydrogenated! +% +I fill MY industrial waste containers with old copies of the +"WATCHTOWER" and then add HAWAIIAN PUNCH to the top ... They look NICE +in the yard ... +% +I guess it was all a DREAM ... or an episode of HAWAII FIVE-O ... +% +I guess you guys got BIG MUSCLES from doing too much STUDYING! +% +I had a lease on an OEDIPUS COMPLEX back in '81 ... +% +I had pancake makeup for brunch! +% +I have a TINY BOWL in my HEAD +% +I have a very good DENTAL PLAN. Thank you. +% +I have a VISION! It's a RANCID double-FISHWICH on an ENRICHED BUN!! +% +I have accepted Provolone into my life! +% +I have many CHARTS and DIAGRAMS.. +% +... I have read the INSTRUCTIONS ... +% +-- I have seen the FUN -- +% +I have seen these EGG EXTENDERS in my Supermarket ... +% +I have seen these EGG EXTENDERS in my Supermarket ... I have read the +INSTRUCTIONS ... +% +I have the power to HALT PRODUCTION on all TEENAGE SEX COMEDIES!! +% +I HAVE to buy a new "DODGE MISER" and two dozen JORDACHE JEANS because +my viewscreen is "USER-FRIENDLY"!! +% +I haven't been married in over six years, but we had sexual counseling +every day from Oral Roberts!! +% +I hope I bought the right relish ... zzzzzzzzz ... +% +I hope something GOOD came in the mail today so I have a REASON to +live!! +% +I hope the ``Eurythmics'' practice birth control ... +% +I hope you millionaires are having fun! I just invested half your life +savings in yeast!! +% +I invented skydiving in 1989! +% +I joined scientology at a garage sale!! +% +I just accepted provolone into my life. +% +I just forgot my Social Security number. +% +I just forgot my whole philosophy of life!!! +% +I just got my PRINCE bumper sticker ... But now I can't remember WHO he +is ... +% +I just had a NOSE JOB!! +% +I just had my entire INTESTINAL TRACT coated with TEFLON! +% +I just heard the SEVENTIES were over!! And I was just getting in touch +with my LEISURE SUIT!! +% +I just remembered something about a TOAD! +% +I KAISER ROLL?! What good is a Kaiser Roll without a little COLE SLAW +on the SIDE? +% +I Know A Joke +% +I know how to do SPECIAL EFFECTS!! +% +I know th'MAMBO!! I have a TWO-TONE CHEMISTRY SET!! +% +I know things about TROY DONAHUE that can't even be PRINTED!! +% +I left my WALLET in the BATHROOM!! +% +I like the way ONLY their mouths move ... They look like DYING OYSTERS +% +I like your SNOOPY POSTER!! +% +-- I love KATRINKA because she drives a PONTIAC. We're going away +now. I fed the cat. +% +I love ROCK 'N ROLL! I memorized the all WORDS to "WIPE-OUT" in +1965!! +% +I need to discuss BUY-BACK PROVISIONS with at least six studio +SLEAZEBALLS!! +% +I once decorated my apartment entirely in ten foot salad forks!! +% +I own seven-eighths of all the artists in downtown Burbank! +% +I put aside my copy of "BOWLING WORLD" and think about GUN CONTROL +legislation.. +% +I represent a sardine!! +% +I request a weekend in Havana with Phil Silvers! +% +... I see TOILET SEATS ... +% +I selected E5 ... but I didn't hear "Sam the Sham and the Pharoahs"! +% +I smell a RANCID CORN DOG! +% +I smell like a wet reducing clinic on Columbus Day! +% +I think I am an overnight sensation right now!! +% +... I think I'd better go back to my DESK and toy with a few common +MISAPPREHENSIONS ... +% +I think I'll KILL myself by leaping out of this 14th STORY WINDOW while +reading ERICA JONG'S poetry!! +% +I think I'm having a mid-week crisis. +% +I think my career is ruined! +% +I used to be a FUNDAMENTALIST, but then I heard about the HIGH +RADIATION LEVELS and bought an ENCYCLOPEDIA!! +% +... I want a COLOR T.V. and a VIBRATING BED!!! +% +I want a mega-meal in a mega-mall. +% +I want a VEGETARIAN BURRITO to go ... with EXTRA MSG!! +% +I want a WESSON OIL lease!! +% +I want another RE-WRITE on my CAESAR SALAD!! +% +I want EARS! I want two ROUND BLACK EARS to make me feel warm 'n +secure!! +% +... I want FORTY-TWO TRYNEL FLOATATION SYSTEMS installed within +SIX AND A HALF HOURS!!! +% +I want the presidency so bad I can already taste the hors d'oeuvres. +% +I want to dress you up as TALLULAH BANKHEAD and cover you with VASELINE +and WHEAT THINS ... +% +I want to kill everyone here with a cute colorful Hydrogen Bomb!! +% +I want to perform cranial activities with Tuesday Weld!! +% +I want to read my new poem about pork brains and outer space ... +% +I want to so HAPPY, the VEINS in my neck STAND OUT!! +% +I want you to MEMORIZE the collected poems of EDNA ST VINCENT MILLAY +... BACKWARDS!! +% +I want you to organize my PASTRY trays ... my TEA-TINS are gleaming in +formation like a ROW of DRUM MAJORETTES -- please don't be FURIOUS with +me -- +% +I was born in a Hostess Cupcake factory before the sexual revolution! +% +I was making donuts and now I'm on a bus! +% +I wish I was a sex-starved manicurist found dead in the Bronx!! +% +I wish I was on a Cincinnati street corner holding a clean dog! +% +I wonder if BOB GUCCIONE has these problems! +% +I wonder if I could ever get started in the credit world? +% +I wonder if I ought to tell them about my PREVIOUS LIFE as a COMPLETE +STRANGER? +% +I wonder if I should put myself in ESCROW!! +% +I wonder if there's anything GOOD on tonight? +% +I would like to urinate in an OVULAR, porcelain pool -- +% +I'd like MY data-base JULIENNED and stir-fried! +% +I'd like some JUNK FOOD ... and then I want to be ALONE -- +% +I'll eat ANYTHING that's BRIGHT BLUE!! +% +I'll show you MY telex number if you show me YOURS ... +% +I'm a fuschia bowling ball somewhere in Brittany +% +I'm a GENIUS! I want to dispute sentence structure with SUSAN +SONTAG!! +% +I'm a nuclear submarine under the polar ice cap and I need a Kleenex! +% +I'm afraid! I need something in a heavy cream sauce. +% +I'm also against BODY-SURFING!! +% +I'm also pre-POURED pre-MEDITATED and pre-RAPHAELITE!! +% +I'm ANN LANDERS!! I can SHOPLIFT!! +% +I'm changing the CHANNEL ... But all I get is commercials for "RONCO +MIRACLE BAMBOO STEAMERS"! +% +I'm continually AMAZED at th'breathtaking effects of WIND EROSION!! +% +I'm definitely not in Omaha! +% +I'm DESPONDENT ... I hope there's something DEEP-FRIED under this +miniature DOMED STADIUM ... +% +I'm dressing up in an ill-fitting IVY-LEAGUE SUIT!! Too late... +% +I'm EMOTIONAL now because I have MERCHANDISING CLOUT!! +% +I'm encased in the lining of a pure pork sausage!! +% +I'm GLAD I remembered to XEROX all my UNDERSHIRTS!! +% +I'm gliding over a NUCLEAR WASTE DUMP near ATLANTA, Georgia!! +% +I'm having a BIG BANG THEORY!! +% +I'm having a MID-WEEK CRISIS! +% +I'm having a RELIGIOUS EXPERIENCE ... and I don't take any DRUGS +% +I'm having a tax-deductible experience! I need an energy crunch!! +% +I'm having an emotional outburst!! +% +I'm having an EMOTIONAL OUTBURST!! But, uh, WHY is there a WAFFLE in +my PAJAMA POCKET?? +% +I'm having BEAUTIFUL THOUGHTS about the INSIPID WIVES of smug and +wealthy CORPORATE LAWYERS ... +% +I'm having fun HITCHHIKING to CINCINNATI or FAR ROCKAWAY!! +% +... I'm IMAGINING a sensuous GIRAFFE, CAVORTING in the BACK ROOM +of a KOSHER DELI -- +% +I'm in direct contact with many advanced fun CONCEPTS. +% +I'm into SOFTWARE! +% +I'm meditating on the FORMALDEHYDE and the ASBESTOS leaking into my +PERSONAL SPACE!! +% +I'm mentally OVERDRAWN! What's that SIGNPOST up ahead? Where's ROD +STERLING when you really need him? +% +I'm not an Iranian!! I voted for Dianne Feinstein!! +% +I'm not available for comment.. +% +I'm pretending I'm pulling in a TROUT! Am I doing it correctly?? +% +I'm pretending that we're all watching PHIL SILVERS instead of RICARDO +MONTALBAN! +% +I'm QUIETLY reading the latest issue of "BOWLING WORLD" while my wife +and two children stand QUIETLY BY ... +% +I'm rated PG-34!! +% +I'm receiving a coded message from EUBIE BLAKE!! +% +I'm RELIGIOUS!! I love a man with a HAIRPIECE!! Equip me with +MISSILES!! +% +I'm reporting for duty as a modern person. I want to do the Latin +Hustle now! +% +I'm shaving!! I'M SHAVING!! +% +I'm sitting on my SPEED QUEEN ... To me, it's ENJOYABLE ... I'm WARM +... I'm VIBRATORY ... +% +I'm thinking about DIGITAL READ-OUT systems and computer-generated +IMAGE FORMATIONS ... +% +I'm totally DESPONDENT over the LIBYAN situation and the price of +CHICKEN ... +% +I'm using my X-RAY VISION to obtain a rare glimpse of the INNER +WORKINGS of this POTATO!! +% +I'm wearing PAMPERS!! +% +I'm wet! I'm wild! +% +I'm young ... I'm HEALTHY ... I can HIKE THRU CAPT GROGAN'S LUMBAR +REGIONS! +% +I'm ZIPPY the PINHEAD and I'm totally committed to the festive mode. +% +I've got a COUSIN who works in the GARMENT DISTRICT ... +% +I've got an IDEA!! Why don't I STARE at you so HARD, you forget your +SOCIAL SECURITY NUMBER!! +% +I've read SEVEN MILLION books!! +% +... ich bin in einem dusenjet ins jahr 53 vor chr ... ich lande im +antiken Rom ... einige gladiatoren spielen scrabble ... ich rieche +PIZZA ... +% +If a person is FAMOUS in this country, they have to go on the ROAD for +MONTHS at a time and have their name misspelled on the SIDE of a +GREYHOUND SCENICRUISER!! +% +If elected, Zippy pledges to each and every American a 55-year-old +houseboy ... +% +If I am elected no one will ever have to do their laundry again! +% +If I am elected, the concrete barriers around the WHITE HOUSE will be +replaced by tasteful foam replicas of ANN MARGARET! +% +If I felt any more SOPHISTICATED I would DIE of EMBARRASSMENT! +% +If I had a Q-TIP, I could prevent th' collapse of NEGOTIATIONS!! +% +... If I had heart failure right now, I couldn't be a more fortunate +man!! +% +If I pull this SWITCH I'll be RITA HAYWORTH!! Or a SCIENTOLOGIST! +% +if it GLISTENS, gobble it!! +% +If our behavior is strict, we do not need fun! +% +If Robert Di Niro assassinates Walter Slezak, will Jodie Foster marry +Bonzo?? +% +If you can't say something nice, say something surrealistic. +% +In 1962, you could buy a pair of SHARKSKIN SLACKS, with a "Continental +Belt," for $10.99!! +% +In Newark the laundromats are open 24 hours a day! +% +INSIDE, I have the same personality disorder as LUCY RICARDO!! +% +Inside, I'm already SOBBING! +% +Is a tattoo real, like a curb or a battleship? Or are we suffering in +Safeway? +% +Is he the MAGIC INCA carrying a FROG on his shoulders?? Is the FROG +his GUIDELIGHT?? It is curious that a DOG runs already on the +ESCALATOR ... +% +Is it 1974? What's for SUPPER? Can I spend my COLLEGE FUND in one +wild afternoon?? +% +Is it clean in other dimensions? +% +Is it NOUVELLE CUISINE when 3 olives are struggling with a scallop in a +plate of SAUCE MORNAY? +% +Is something VIOLENT going to happen to a GARBAGE CAN? +% +Is this an out-take from the "BRADY BUNCH"? +% +Is this going to involve RAW human ecstasy? +% +Is this TERMINAL fun? +% +Is this the line for the latest whimsical YUGOSLAVIAN drama which also +makes you want to CRY and reconsider the VIETNAM WAR? +% +Isn't this my STOP?! +% +It don't mean a THING if you ain't got that SWING!! +% +It was a JOKE!! Get it?? I was receiving messages from DAVID +LETTERMAN!! YOW!! +% +It's a lot of fun being alive ... I wonder if my bed is made?!? +% +It's NO USE ... I've gone to "CLUB MED"!! +% +It's OBVIOUS ... The FURS never reached ISTANBUL ... You were an EXTRA +in the REMAKE of "TOPKAPI" ... Go home to your WIFE ... She's making +FRENCH TOAST! +% +It's OKAY -- I'm an INTELLECTUAL, too. +% +It's the RINSE CYCLE!! They've ALL IGNORED the RINSE CYCLE!! +% +JAPAN is a WONDERFUL planet -- I wonder if we'll ever reach their level +of COMPARATIVE SHOPPING ... +% +Jesuit priests are DATING CAREER DIPLOMATS!! +% +Jesus is my POSTMASTER GENERAL ... +% +Kids, don't gross me off ... "Adventures with MENTAL HYGIENE" can be +carried too FAR! +% +Kids, the seven basic food groups are GUM, PUFF PASTRY, PIZZA, +PESTICIDES, ANTIBIOTICS, NUTRA-SWEET and MILK DUDS!! +% +Laundry is the fifth dimension!! ... um ... um ... th' washing machine +is a black hole and the pink socks are bus drivers who just fell in!! +% +LBJ, LBJ, how many JOKES did you tell today??! +% +Leona, I want to CONFESS things to you ... I want to WRAP you in a +SCARLET ROBE trimmed with POLYVINYL CHLORIDE ... I want to EMPTY your +ASHTRAYS ... +% +Let me do my TRIBUTE to FISHNET STOCKINGS ... +% +Let's all show human CONCERN for REVEREND MOON's legal difficulties!! +% +Let's send the Russians defective lifestyle accessories! +% +Life is a POPULARITY CONTEST! I'm REFRESHINGLY CANDID!! +% +Like I always say -- nothing can beat the BRATWURST here in DUSSELDORF!! +% +Loni Anderson's hair should be LEGALIZED!! +% +Look DEEP into the OPENINGS!! Do you see any ELVES or EDSELS ... or a +HIGHBALL?? ... +% +Look into my eyes and try to forget that you have a Macy's charge +card! +% +Look! A ladder! Maybe it leads to heaven, or a sandwich! +% +LOOK!! Sullen American teens wearing MADRAS shorts and "Flock of +Seagulls" HAIRCUTS! +% +Make me look like LINDA RONSTADT again!! +% +Mary Tyler Moore's SEVENTH HUSBAND is wearing my DACRON TANK TOP in a +cheap hotel in HONOLULU! +% +Maybe we could paint GOLDIE HAWN a rich PRUSSIAN BLUE -- +% +MERYL STREEP is my obstetrician! +% +MMM-MM!! So THIS is BIO-NEBULATION! +% +Mmmmmm-MMMMMM!! A plate of STEAMING PIECES of a PIG mixed with the +shreds of SEVERAL CHICKENS!! ... Oh BOY!! I'm about to swallow a +TORN-OFF section of a COW'S LEFT LEG soaked in COTTONSEED OIL and +SUGAR!! ... Let's see ... Next, I'll have the GROUND-UP flesh of CUTE, +BABY LAMBS fried in the MELTED, FATTY TISSUES from a warm-blooded +animal someone once PETTED!! ... YUM!! That was GOOD!! For DESSERT, +I'll have a TOFU BURGER with BEAN SPROUTS on a stone-ground, WHOLE +WHEAT BUN!! +% +Mr and Mrs PED, can I borrow 26.7% of the RAYON TEXTILE production of +the INDONESIAN archipelago? +% +My Aunt MAUREEN was a military advisor to IKE & TINA TURNER!! +% +My BIOLOGICAL ALARM CLOCK just went off ... It has noiseless DOZE +FUNCTION and full kitchen!! +% +My boxer shorts just went on a rampage through a Long Island bowling alley. +% +My CODE of ETHICS is vacationing at famed SCHROON LAKE in upstate New +York!! +% +My EARS are GONE!! +% +My face is new, my license is expired, and I'm under a doctor's +care!!!! +% +My haircut is totally traditional! +% +MY income is ALL disposable! +% +My LESLIE GORE record is BROKEN ... +% +My life is a patio of fun! +% +My mind is a potato field ... +% +My mind is making ashtrays in Dayton ... +% +My nose feels like a bad Ronald Reagan movie ... +% +my NOSE is NUMB! +% +... My pants just went on a wild rampage through a Long Island Bowling +Alley!! +% +My pants just went to high school in the Carlsbad Caverns!!! +% +My polyvinyl cowboy wallet was made in Hong Kong by Montgomery Clift! +% +My uncle Murray conquered Egypt in 53 B.C. And I can prove it too!! +% +My vaseline is RUNNING... +% +NANCY!! Why is everything RED?! +% +NATHAN ... your PARENTS were in a CARCRASH!! They're VOIDED -- They +COLLAPSED They had no CHAINSAWS ... They had no MONEY MACHINES ... They +did PILLS in SKIMPY GRASS SKIRTS ... Nathan, I EMULATED them ... but +they were OFF-KEY ... +% +NEWARK has been REZONED!! DES MOINES has been REZONED!! +% +Nipples, dimples, knuckles, NICKLES, wrinkles, pimples!! +% +Nobody brings small problems into a laundromat. +% +Not SENSUOUS ... only "FROLICSOME" ... and in need of DENTAL WORK ... +in PAIN!!! +% +Now I am depressed ... +% +Now I think I just reached the state of HYPERTENSION that comes JUST +BEFORE you see the TOTAL at the SAFEWAY CHECKOUT COUNTER! +% +Now I understand the meaning of "THE MOD SQUAD"! +% +Now I'm being INVOLUNTARILY shuffled closer to the CLAM DIP with the +BROKEN PLASTIC FORKS in it!! +% +Now I'm concentrating on a specific tank battle toward the end of World +War II! +% +Now I'm having INSIPID THOUGHTS about the beautiful, round wives of +HOLLYWOOD MOVIE MOGULS encased in PLEXIGLASS CARS and being approached +by SMALL BOYS selling FRUIT ... +% +Now KEN and BARBIE are PERMANENTLY ADDICTED to MIND-ALTERING DRUGS ... +% +Now my EMOTIONAL RESOURCES are heavily committed to 23% of the SMELTING +and REFINING industry of the state of NEVADA!! +% +Now that I have my "APPLE", I comprehend COST ACCOUNTING!! +% +... Now, it's time to "HAVE A NAGEELA"!! +% +Now, let's SEND OUT for QUICHE!! +% +Of course, you UNDERSTAND about the PLAIDS in the SPIN CYCLE -- +% +Oh my GOD -- the SUN just fell into YANKEE STADIUM!! +% +Oh, I get it!! "The BEACH goes on", huh, SONNY?? +% +Okay ... I'm going home to write the "I HATE RUBIK's CUBE HANDBOOK FOR +DEAD CAT LOVERS" ... +% +OKAY!! Turn on the sound ONLY for TRYNEL CARPETING, FULLY-EQUIPPED +R.V.'S and FLOATATION SYSTEMS!! +% +OMNIVERSAL AWARENESS?? Oh, YEH!! First you need 4 GALLONS of JELL-O +and a BIG WRENCH!! ... I think you drop th'WRENCH in the JELL-O as if +it was a FLAVOR, or an INGREDIENT ... ... or ... I ... um ... WHERE'S +the WASHING MACHINES? +% +On SECOND thought, maybe I'll heat up some BAKED BEANS and watch REGIS +PHILBIN ... It's GREAT to be ALIVE!! +% +On the other hand, life can be an endless parade of TRANSSEXUAL +QUILTING BEES aboard a cruise ship to DISNEYWORLD if only we let it!! +% +On the road, ZIPPY is a pinhead without a purpose, but never without a +POINT. +% +Once upon a time, four AMPHIBIOUS HOG CALLERS attacked a family of +DEFENSELESS, SENSITIVE COIN COLLECTORS and brought DOWN their PROPERTY +VALUES!! +% +Once, there was NO fun ... This was before MENU planning, FASHION +statements or NAUTILUS equipment ... Then, in 1985 ... FUN was +completely encoded in this tiny MICROCHIP ... It contain 14,768 vaguely +amusing SIT-COM pilots!! We had to wait FOUR BILLION years but we +finally got JERRY LEWIS, MTV and a large selection of creme-filled +snack cakes! +% +One FISHWICH coming up!! +% +ONE: I will donate my entire "BABY HUEY" comic book collection to + the downtown PLASMA CENTER ... +TWO: I won't START a BAND called "KHADAFY & THE HIT SQUAD" ... +THREE: I won't ever TUMBLE DRY my FOX TERRIER again!! +% +... or were you driving the PONTIAC that HONKED at me in MIAMI last +Tuesday? +% +Our father who art in heaven ... I sincerely pray that SOMEBODY at this +table will PAY for my SHREDDED WHAT and ENGLISH MUFFIN ... and also +leave a GENEROUS TIP .... +% +over in west Philadelphia a puppy is vomiting ... +% +OVER the underpass! UNDER the overpass! Around the FUTURE and BEYOND +REPAIR!! +% +PARDON me, am I speaking ENGLISH? +% +Pardon me, but do you know what it means to be TRULY ONE with your +BOOTH! +% +PEGGY FLEMMING is stealing BASKET BALLS to feed the babies in VERMONT. +% +PIZZA!! +% +Place me on a BUFFER counter while you BELITTLE several BELLHOPS in the +Trianon Room!! Let me one of your SUBSIDIARIES! +% +Please come home with me ... I have Tylenol!! +% +Psychoanalysis?? I thought this was a nude rap session!!! +% +PUNK ROCK!! DISCO DUCK!! BIRTH CONTROL!! +% +Quick, sing me the BUDAPEST NATIONAL ANTHEM!! +% +Reality distorts my sense of television. +% +RELATIVES!! +% +Remember, in 2039, MOUSSE & PASTA will be available ONLY by +prescription!! +% +Remote keyless entry, remote keyless entry, remote keyless entry! +% +RHAPSODY in Glue! +% +SANTA CLAUS comes down a FIRE ESCAPE wearing bright blue LEG WARMERS +... He scrubs the POPE with a mild soap or detergent for 15 minutes, +starring JANE FONDA!! +% +Send your questions to ``ASK ZIPPY'', Box 40474, San Francisco, CA +94140, USA +% +SHHHH!! I hear SIX TATTOOED TRUCK-DRIVERS tossing ENGINE BLOCKS into +empty OIL DRUMS ... +% +Should I do my BOBBIE VINTON medley? +% +Should I get locked in the PRINCICAL'S OFFICE today -- or have a +VASECTOMY?? +% +Should I start with the time I SWITCHED personalities with a BEATNIK +hair stylist or my failure to refer five TEENAGERS to a good OCULIST? +% +Sign my PETITION. +% +So this is what it feels like to be potato salad +% +So, if we convert SUPPLY-SIDE SOYABEAN FUTURES into HIGH-YIELD T-BILL +INDICATORS, the PRE-INFLATIONARY risks will DWINDLE to a rate of 2 +SHOPPING SPREES per EGGPLANT!! +% +someone in DAYTON, Ohio is selling USED CARPETS to a SERBO-CROATIAN +% +Sometime in 1993 NANCY SINATRA will lead a BLOODLESS COUP on GUAM!! +% +Somewhere in DOWNTOWN BURBANK a prostitute is OVERCOOKING a LAMB +CHOP!! +% +Somewhere in suburban Honolulu, an unemployed bellhop is whipping up a +batch of illegal psilocybin chop suey!! +% +Somewhere in Tenafly, New Jersey, a chiropractor is viewing "Leave it +to Beaver"! +% +Spreading peanut butter reminds me of opera!! I wonder why? +% +TAILFINS!! ... click ... +% + Talking Pinhead Blues: +Oh, I LOST my ``HELLO KITTY'' DOLL and I get BAD reception on channel + TWENTY-SIX!! + +Th'HOSTESS FACTORY is closin' down and I just heard ZASU PITTS has been + DEAD for YEARS.. (sniff) + +My PLATFORM SHOE collection was CHEWED up by th' dog, ALEXANDER HAIG + won't let me take a SHOWER 'til Easter ... (snurf) + +So I went to the kitchen, but WALNUT PANELING whup me upside mah HAID!! + (on no, no, no.. Heh, heh) +% +TAPPING? You POLITICIANS! Don't you realize that the END of the "Wash +Cycle" is a TREASURED MOMENT for most people?! +% +Tex SEX! The HOME of WHEELS! The dripping of COFFEE!! Take me to +Minnesota but don't EMBARRASS me!! +% +Th' MIND is the Pizza Palace of th' SOUL +% +Thank god!! ... It's HENNY YOUNGMAN!! +% +The appreciation of the average visual graphisticator alone is worth +the whole suaveness and decadence which abounds!! +% +The entire CHINESE WOMEN'S VOLLEYBALL TEAM all share ONE personality -- +and have since BIRTH!! +% +The fact that 47 PEOPLE are yelling and sweat is cascading down my +SPINAL COLUMN is fairly enjoyable!! +% +The FALAFEL SANDWICH lands on my HEAD and I become a VEGETARIAN ... +% +... the HIGHWAY is made out of LIME JELLO and my HONDA is a barbequeued +OYSTER! Yum! +% +The Korean War must have been fun. +% +... the MYSTERIANS are in here with my CORDUROY SOAP DISH!! +% +The Osmonds! You are all Osmonds!! Throwing up on a freeway at +dawn!!! +% +The PILLSBURY DOUGHBOY is CRYING for an END to BURT REYNOLDS movies!! +% +The PINK SOCKS were ORIGINALLY from 1952!! But they went to MARS +around 1953!! +% +The SAME WAVE keeps coming in and COLLAPSING like a rayon MUU-MUU ... +% +There's a little picture of ED MCMAHON doing BAD THINGS to JOAN RIVERS +in a $200,000 MALIBU BEACH HOUSE!! +% +There's enough money here to buy 5000 cans of Noodle-Roni! +% +These PRESERVES should be FORCE-FED to PENTAGON OFFICIALS!! +% +They collapsed ... like nuns in the street ... they had no teen +appeal! +% +This ASEXUAL PIG really BOILS my BLOOD ... He's so ... so ... URGENT!! +% +This is a NO-FRILLS flight -- hold th' CANADIAN BACON!! +% +This MUST be a good party -- My RIB CAGE is being painfully pressed up +against someone's MARTINI!! +% +... this must be what it's like to be a COLLEGE GRADUATE!! +% +This PIZZA symbolizes my COMPLETE EMOTIONAL RECOVERY!! +% +This PORCUPINE knows his ZIPCODE ... And he has "VISA"!! +% +This TOPS OFF my partygoing experience! Someone I DON'T LIKE is +talking to me about a HEART-WARMING European film ... +% +Those aren't WINOS -- that's my JUGGLER, my AERIALIST, my SWORD +SWALLOWER, and my LATEX NOVELTY SUPPLIER!! +% +Thousands of days of civilians ... have produced a ... feeling for the +aesthetic modules -- +% +Today, THREE WINOS from DETROIT sold me a framed photo of TAB HUNTER +before his MAKEOVER! +% +Toes, knees, NIPPLES. Toes, knees, nipples, KNUCKLES ... +Nipples, dimples, knuckles, NICKLES, wrinkles, pimples!! +% +TONY RANDALL! Is YOUR life a PATIO of FUN?? +% +Treasure your spin cycle. +% +Uh-oh -- WHY am I suddenly thinking of a VENERABLE religious leader +frolicking on a FORT LAUDERDALE weekend? +% +Uh-oh!! I forgot to submit to COMPULSORY URINALYSIS! +% +UH-OH!! I put on "GREAT HEAD-ON TRAIN COLLISIONS of the 50's" by +mistake!!! +% +UH-OH!! I think KEN is OVER-DUE on his R.V. PAYMENTS and HE'S having a +NERVOUS BREAKDOWN too!! Ha ha. +% +Uh-oh!! I'm having TOO MUCH FUN!! +% +UH-OH!! We're out of AUTOMOBILE PARTS and RUBBER GOODS! +% +Used staples are good with SOY SAUCE! +% +VICARIOUSLY experience some reason to LIVE!! +% +Virtual reality isn't what it used to be. +% +Vote for ME -- I'm well-tapered, half-cocked, ill-conceived and +TAX-DEFERRED! +% +Wait ... is this a FUN THING or the END of LIFE in Petticoat +Junction?? +% +Was my SOY LOAF left out in th'RAIN? It tastes REAL GOOD!! +% +We are now enjoying total mutual interaction in an imaginary hot +tub ... +% +We have DIFFERENT amounts of HAIR -- +% +We just joined the civil hair patrol! +% +We place two copies of PEOPLE magazine in a DARK, HUMID mobile home. +45 minutes later CYNDI LAUPER emerges wearing a BIRD CAGE on her head! +% +Well, here I am in AMERICA.. I LIKE it. I HATE it. I LIKE it. I +HATE it. I LIKE it. I HATE it. I LIKE it. I HATE it. I LIKE ... +EMOTIONS are SWEEPING over me!! +% +Well, I'm a classic ANAL RETENTIVE!! And I'm looking for a way to +VICARIOUSLY experience some reason to LIVE!! +% +Well, I'm INVISIBLE AGAIN ... I might as well pay a visit to the LADIES +ROOM ... +% +Well, O.K. I'll compromise with my principles because of EXISTENTIAL +DESPAIR! +% +Were these parsnips CORRECTLY MARINATED in TACO SAUCE? +% +What a COINCIDENCE! I'm an authorized "SNOOTS OF THE STARS" dealer!! +% +What GOOD is a CARDBOARD suitcase ANYWAY? +% +What I need is a MATURE RELATIONSHIP with a FLOPPY DISK ... +% +What I want to find out is -- do parrots know much about Astro-Turf? +% +What PROGRAM are they watching? +% +What UNIVERSE is this, please?? +% +What's the MATTER Sid? ... Is your BEVERAGE unsatisfactory? +% +When I met th'POPE back in '58, I scrubbed him with a MILD SOAP or +DETERGENT for 15 minutes. He seemed to enjoy it ... +% +When this load is DONE I think I'll wash it AGAIN ... +% +When you get your PH.D. will you get able to work at BURGER KING? +% +When you said "HEAVILY FORESTED" it reminded me of an overdue CLEANING +BILL ... Don't you SEE? O'Grogan SWALLOWED a VALUABLE COIN COLLECTION +and HAD to murder the ONLY MAN who KNEW!! +% +Where do your SOCKS go when you lose them in th' WASHER? +% +Where does it go when you flush? +% +Where's SANDY DUNCAN? +% +Where's th' DAFFY DUCK EXHIBIT?? +% +Where's the Coke machine? Tell me a joke!! +% +While my BRAINPAN is being refused service in BURGER KING, Jesuit +priests are DATING CAREER DIPLOMATS!! +% +While you're chewing, think of STEVEN SPIELBERG'S bank account ... his +will have the same effect as two "STARCH BLOCKERS"! +% +WHO sees a BEACH BUNNY sobbing on a SHAG RUG?! +% +WHOA!! Ken and Barbie are having TOO MUCH FUN!! It must be the +NEGATIVE IONS!! +% +Why are these athletic shoe salesmen following me?? +% +Why don't you ever enter and CONTESTS, Marvin?? Don't you know your +own ZIPCODE? +% +Why is everything made of Lycra Spandex? +% +Why is it that when you DIE, you can't take your HOME ENTERTAINMENT +CENTER with you?? +% +Will it improve my CASH FLOW? +% +Will the third world war keep "Bosom Buddies" off the air? +% +Will this never-ending series of PLEASURABLE EVENTS never cease? +% +With YOU, I can be MYSELF ... We don't NEED Dan Rather ... +% +World War III? No thanks! +% +World War Three can be averted by adherence to a strictly enforced +dress code! +% +Wow! Look!! A stray meatball!! Let's interview it! +% +Xerox your lunch and file it under "sex offenders"! +% +Yes, but will I see the EASTER BUNNY in skintight leather at an IRON +MAIDEN concert? +% +You can't hurt me!! I have an ASSUMABLE MORTGAGE!! +% +You mean now I can SHOOT YOU in the back and further BLUR th' +distinction between FANTASY and REALITY? +% +You mean you don't want to watch WRESTLING from ATLANTA? +% +YOU PICKED KARL MALDEN'S NOSE!! +% +You should all JUMP UP AND DOWN for TWO HOURS while I decide on a NEW +CAREER!! +% +You were s'posed to laugh! +% +YOU!! Give me the CUTEST, PINKEST, most charming little VICTORIAN +DOLLHOUSE you can find!! An make it SNAPPY!! +% +Your CHEEKS sit like twin NECTARINES above a MOUTH that knows no BOUNDS -- +% +Youth of today! Join me in a mass rally for traditional mental +attitudes! +% +Yow! +% +Yow! Am I having fun yet? +% +Yow! Am I in Milwaukee? +% +Yow! And then we could sit on the hoods of cars at stop lights! +% +Yow! Are we laid back yet? +% +Yow! Are we wet yet? +% +Yow! Are you the self-frying president? +% +Yow! Did something bad happen or am I in a drive-in movie?? +% +Yow! I just went below the poverty line! +% +Yow! I threw up on my window! +% +Yow! I want my nose in lights! +% +Yow! I want to mail a bronzed artichoke to Nicaragua! +% +Yow! I'm having a quadrophonic sensation of two winos alone in a steel +mill! +% +Yow! I'm imagining a surfer van filled with soy sauce! +% +Yow! Is my fallout shelter termite proof? +% +Yow! Is this sexual intercourse yet?? Is it, huh, is it?? +% +Yow! It's a hole all the way to downtown Burbank! +% +Yow! It's some people inside the wall! This is better than mopping! +% +Yow! Maybe I should have asked for my Neutron Bomb in PAISLEY -- +% +Yow! Now I get to think about all the BAD THINGS I did to a BOWLING +BALL when I was in JUNIOR HIGH SCHOOL! +% +Yow! Now we can become alcoholics! +% +Yow! Those people look exactly like Donnie and Marie Osmond!! +% +Yow! We're going to a new disco! +% +YOW!! Everybody out of the GENETIC POOL! +% +YOW!! I'm in a very clever and adorable INSANE ASYLUM!! +% +YOW!! Now I understand advanced MICROBIOLOGY and th' new TAX REFORM +laws!! +% +YOW!! The land of the rising SONY!! +% +YOW!! Up ahead! It's a DONUT HUT!! +% +YOW!! What should the entire human race DO?? Consume a fifth of +CHIVAS REGAL, ski NUDE down MT. EVEREST, and have a wild SEX WEEKEND! +% +YOW!!! I am having fun!!! +% +Zippy's brain cells are straining to bridge synapses ... diff --git a/fortune/datfiles/zippy.sp.ok b/fortune/datfiles/zippy.sp.ok new file mode 100644 index 0000000..08a5885 --- /dev/null +++ b/fortune/datfiles/zippy.sp.ok @@ -0,0 +1,210 @@ +ANAL +ASEXUAL +Astro +B.C +BANKHEAD +BI +BIO +BORSCHT +BRAINPAN +BURRITO +BURRITOS +Barbie +Bo +Bonzo +CARCRASH +CASIO +CHAINSAWS +CHIVAS +COM +CORDOVANS +COSELL +CROATIAN +Carlsbad +Clift +Cosell +Cupcake +DAIQUIRI +DELI +DIDI +DISCO +DISNEYWORLD +DONUT +DOUGHBOY +Darvon +Di +Disco +Donnie +EDSELS +EMOTE +EUBIE +Enema +FALAFEL +FISHNET +FISHWICH +FLEMMING +FLOATATION +FROLICSOME +Feinstein +GOLDIE +GORRY +GUCCIONE +GUIDELIGHT +Gibble +Ginzberg +HAIRPIECE +HAWN +HAYWORTH +HITCHHIKING +HOAX +HOUSECAT +Hmmm +I.Q +INTESTINAL +Iranian +JELL +JELLO +JILLIAN'S +JULIENNED +Jodie +KATRINKA +KNOCKWURST +LBJ +LING +LONI +LUGOSI +Loni +Lycra +MALIBU +MCMAHON +MELBA +MERYL +MMM +MOGULS +MONTALBAN'S +MOUSSE +MSG +MT +MTV +MYSTERIANS +Macy's +Meese +Monkees +NABOBS +NAGEELA +NEBULATION +NICKLES +NUTRA +Niro +OLFACTORY +OMNIVERSAL +OVULAR +Osmond +Osmonds +PAISLEY +PASTA +PG +Pharoahs +Provolone +R.V.'S +RAPHAELITE +RICARDO +RITA +Rom +Roni +SAGAN +SANFORIZE +SCHROON +SCIENTOLOGIST +SERBO +SHOPLIFT +SINATRA +SKEE +SODOMIZE +SONTAG +STREEP +Safeway +Slezak +Spandex +T.V +TACO +TAILFINS +TALLULAH +TINA +TRANSSEXUAL +TRYNEL +Tenafly +Tex +Th +Tylenol +Uh +VASELINE +VELVEETA +WESSON +YEH +YUBBA +Yum +ZIPPY +Zippy +Zippy's +barbequeued +chr +co +cranial +creme +devalue +disco +donut +donuts +dusenjet +einem +einige +frolicking +fuschia +gladiatoren +gothic +graphisticator +hors +houseboy +ich +im +jahr +kidnapped +lande +laundromat +laundromats +lesbian +li'l +manicurist +matic +meatball +meltdown +naugahide +obstetrician +poindexter +pre +psilocybin +quaaludes +quadrophonic +rieche +s'posed +scientology +skintight +skydiving +solarium +spielen +telex +th +th'HOLIDAY +th'MAMBO +th'RAIN +th'WRENCH +th'cute +thru +thumbtack +uh +um +urinate +vaseline +vor +zzzzzzzzz diff --git a/fortune/fortune/Makefile.bsd b/fortune/fortune/Makefile.bsd new file mode 100644 index 0000000..d3cb29c --- /dev/null +++ b/fortune/fortune/Makefile.bsd @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.11 1998/02/04 10:16:19 christos Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= fortune +MAN= fortune.6 +CPPFLAGS+= -I${.CURDIR}/../strfile -DHAVE_REGCOMP + +.include "../../Makefile.inc" +.include diff --git a/fortune/fortune/Makefrag b/fortune/fortune/Makefrag new file mode 100644 index 0000000..7c72e0e --- /dev/null +++ b/fortune/fortune/Makefrag @@ -0,0 +1,38 @@ +# Makefrag - makefile fragment for fortune/fortune +# +# Copyright (c) 1997, 1998, 2004 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +fortune_fortune_DEFS := $(GETPROGNAME_DEFS) -DHAVE_REGCOMP +fortune_fortune_DIRS := $(GAMESDIR) $(MAN6DIR) +fortune_fortune_INCS := -Ifortune/strfile + +fortune_fortune_all: fortune/fortune/fortune fortune/fortune/fortune.6 + +fortune_fortune_install: fortune_fortune_all + $(INSTALL_BINARY) fortune/fortune/fortune $(INSTALL_PREFIX)$(GAMESDIR)/fortune + $(HIDE_GAME) fortune + $(INSTALL_MANUAL) fortune/fortune/fortune.6 diff --git a/fortune/fortune/fortune.6.in b/fortune/fortune/fortune.6.in new file mode 100644 index 0000000..81f0cca --- /dev/null +++ b/fortune/fortune/fortune.6.in @@ -0,0 +1,182 @@ +.\" $NetBSD: fortune.6,v 1.11 2004/09/09 22:01:08 wiz Exp $ +.\" +.\" Copyright (c) 1985, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Ken Arnold. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fortune.6 8.3 (Berkeley) 4/19/94 +.\" +.Dd September 9, 2004 +.Dt FORTUNE 6 +.Os +.Sh NAME +.Nm fortune +.Nd print a random, hopefully interesting, adage +.Sh SYNOPSIS +.Nm +.Op Fl aefilosw +.Op Fl m Ar pattern +.Oo +.Op Ar N% +.Ar file/dir/all +.Oc +.Sh DESCRIPTION +When +.Nm +is run with no arguments it prints out a random epigram. +Epigrams are divided into several categories, where each category +is subdivided into those which are potentially offensive and those +which are not. +The options are as follows: +.Bl -tag -width flag +.It Fl a +Choose from all lists of maxims, both offensive and not. +(See the +.Fl o +option for more information on offensive fortunes.) +.It Fl e +Consider all fortune files to be of equal size (see discussion below +on multiple files). +.It Fl f +Print out the list of files which would be searched, but don't +print a fortune. +.It Fl i +Ignore case for +.Fl m +patterns. +.It Fl l +Long dictums only. +.It Fl m Ar pattern +Print out all fortunes which match the regular expression +.Ar pattern . +See +.Xr regex 3 +for a description of patterns. +.It Fl o +Choose only from potentially offensive aphorisms. +.Bf -symbolic +Please, please, please request a potentially offensive fortune if and +only if you believe, deep down in your heart, that you are willing +to be offended. +(And that if you are, you'll just quit using +.Fl o +rather than give us grief about it, okay?) +.Ef +.Bd -filled -offset indent +\&... let us keep in mind the basic governing philosophy +of The Brotherhood, as handsomely summarized in these words: +we believe in healthy, hearty laughter -- at the expense of +the whole human race, if needs be. +Needs be. +.Bd -filled -offset indent-two -compact +--H. Allen Smith, "Rude Jokes" +.Ed +.Ed +.It Fl s +Short apothegms only. +.It Fl w +Wait before termination for an amount of time calculated from the +number of characters in the message. +This is useful if it is executed as part of the logout procedure +to guarantee that the message can be read before the screen is cleared. +.El +.Pp +The user may specify alternative sayings. +You can specify a specific file, a directory which contains one or +more files, or the special word +.Em all , +which says to use all the standard databases. +Any of these may be preceded by a percentage, which is a number +.Ar N +between 0 and 100 inclusive, followed by a +.Sq % +character. +If it is, there will be an +.Ar N +percent probability that an adage will be picked from that file +or directory. +If the percentages do not sum to 100, and there are specifications +without percentages, the remaining percent will apply to those files +and/or directories, in which case the probability of selecting from +one of them will be based on their relative sizes. +.Pp +As an example, given two databases +.Em funny +and +.Em not-funny , +with +.Em funny +twice as big, saying +.Bd -literal -offset indent +$ fortune funny not-funny +.Ed +.Pp +will get you fortunes out of +.Em funny +two-thirds of the time. +The command +.Bd -literal -offset indent +$ fortune 90% funny 10% not-funny +.Ed +.Pp +will pick out 90% of its fortunes from +.Em funny +(the +.Dq 10% +is unnecessary, since 10% is all that's left). +The +.Fl e +option says to consider all files equal; thus +.Bd -literal -offset indent +$ fortune -e +.Ed +.Pp +is equivalent to +.Bd -literal -offset indent +$ fortune 50% funny 50% not-funny +.Ed +.Pp +Datafiles for +.Nm +are created by the +.Xr strfile 8 +utility, which is not installed by default, +The source code for this utility +can on BSD systems be found in +.Pa /usr/src/games/fortune/strfile , +if it exists. +.Sh FILES +.Bl -tag -width XX@fortune_dir@/*XX -compact +.It Pa @fortune_dir@/* +Fortune files. +.El +.Sh SEE ALSO +.Xr regex 3 , +.Xr random 6 , +.Xr rot13 6 diff --git a/fortune/fortune/fortune.c b/fortune/fortune/fortune.c new file mode 100644 index 0000000..e1b4b95 --- /dev/null +++ b/fortune/fortune/fortune.c @@ -0,0 +1,1419 @@ +/* $NetBSD: fortune.c,v 1.44 2004/11/05 21:30:32 dsl Exp $ */ + +/*- + * Copyright (c) 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ken Arnold. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1986, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)fortune.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: fortune.c,v 1.44 2004/11/05 21:30:32 dsl Exp $"); +#endif +#endif /* not lint */ + +# include +# include +# include +# include + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include "strfile.h" +# include "pathnames.h" + +# define TRUE 1 +# define FALSE 0 +# define bool short + +# define MINW 6 /* minimum wait if desired */ +# define CPERS 20 /* # of chars for each sec */ +# define SLEN 160 /* # of chars in short fortune */ + +# define POS_UNKNOWN ((off_t) -1) /* pos for file unknown */ +# define NO_PROB (-1) /* no prob specified for file */ + +# ifdef DEBUG +# define DPRINTF(l,x) if (Debug >= l) fprintf x; else +# undef NDEBUG +# else +# define DPRINTF(l,x) +# define NDEBUG 1 +# endif + +typedef struct fd { + int percent; + int fd, datfd; + off_t pos; + FILE *inf; + const char *name; + const char *path; + char *datfile, *posfile; + bool read_tbl; + bool was_pos_file; + STRFILE tbl; + int num_children; + struct fd *child, *parent; + struct fd *next, *prev; +} FILEDESC; + +bool Found_one; /* did we find a match? */ +bool Find_files = FALSE; /* just find a list of proper fortune files */ +bool Wait = FALSE; /* wait desired after fortune */ +bool Short_only = FALSE; /* short fortune desired */ +bool Long_only = FALSE; /* long fortune desired */ +bool Offend = FALSE; /* offensive fortunes only */ +bool All_forts = FALSE; /* any fortune allowed */ +bool Equal_probs = FALSE; /* scatter un-allocted prob equally */ +#ifndef NO_REGEX +bool Match = FALSE; /* dump fortunes matching a pattern */ +#endif +#ifdef DEBUG +bool Debug = FALSE; /* print debug messages */ +#endif + +char *Fortbuf = NULL; /* fortune buffer for -m */ + +int Fort_len = 0; + +u_int64_t Seekpts[2]; /* seek pointers to fortunes */ + +FILEDESC *File_list = NULL, /* Head of file list */ + *File_tail = NULL; /* Tail of file list */ +FILEDESC *Fortfile; /* Fortune file to use */ + +STRFILE Noprob_tbl; /* sum of data for all no prob files */ + +int add_dir(FILEDESC *); +int add_file(int, + const char *, const char *, FILEDESC **, FILEDESC **, FILEDESC *); +void all_forts(FILEDESC *, const char *); +char *copy(const char *, u_int); +void rot13(char *line, int len); +void display(FILEDESC *); +void do_free(void *); +void *do_malloc(u_int); +int form_file_list(char **, int); +int fortlen(void); +void get_fort(void); +void get_pos(FILEDESC *); +void get_tbl(FILEDESC *); +void getargs(int, char *[]); +void init_prob(void); +int is_dir(const char *); +int is_fortfile(const char *, char **, char **, int); +int is_off_name(const char *); +int main(int, char *[]); +int max(int, int); +FILEDESC * + new_fp(void); +char *off_name(const char *); +void open_dat(FILEDESC *); +void open_fp(FILEDESC *); +FILEDESC * + pick_child(FILEDESC *); +void print_file_list(void); +void print_list(FILEDESC *, int); +void sum_noprobs(FILEDESC *); +void sum_tbl(STRFILE *, STRFILE *); +void usage(void) __attribute__((__noreturn__)); +void zero_tbl(STRFILE *); + +#ifndef NO_REGEX +char *conv_pat(char *); +int find_matches(void); +void matches_in_list(FILEDESC *); +int maxlen_in_list(FILEDESC *); +#endif + +#ifndef NO_REGEX +# if HAVE_REGCMP +# define RE_INIT(re) +# define RE_COMP(re, p) ((re) = regcmp((p), NULL)) +# define RE_ERROR(re) "Invalid pattern" +# define RE_OK(re) ((re) != NULL) +# define RE_EXEC(re, p) regex((re), (p)) +# define RE_FREE(re) + +char *Re_pat, *Re_pat13, *Re_use; +char *regcmp(), *regex(); + +# elif HAVE_RE_COMP +char *Re_pat, *Re_pat13, *Re_use; +char *Re_error; + +# define RE_INIT(re) +# define RE_COMP(re, p) (Re_error = re_comp(p)) +# define RE_ERROR(re) Re_error +# define RE_OK(re) (Re_error == NULL) +# define RE_EXEC(re, p) re_exec(p) +# define RE_FREE(re) +# elif HAVE_REGCOMP +# include +regex_t *Re_pat = NULL, *Re_pat13 = NULL, *Re_use = NULL; +int Re_code; +char Re_error[1024]; +# define RE_INIT(re) if ((re) == NULL && \ + ((re) = calloc(sizeof(*(re)), 1)) \ + == NULL) err(1, NULL) +# define RE_COMP(re, p) (Re_code = regcomp((re), (p), REG_EXTENDED)) +# define RE_OK(re) (Re_code == 0) +# define RE_EXEC(re, p) (!regexec((re), (p), 0, NULL, 0)) +# define RE_ERROR(re) (regerror(Re_code, (re), Re_error, \ + sizeof(Re_error)), Re_error) +# define RE_FREE(re) if ((re) != NULL) do { regfree((re)); \ + (re) = NULL; } while (0) +# else + #error "Need to define HAVE_REGCMP, HAVE_RE_COMP, or HAVE_REGCOMP" +# endif +#endif + +#if (defined(__linux__) && !defined(__GLIBC__)) || (defined(__GLIBC__) && !defined(_DIRENT_HAVE_D_NAMLEN)) || defined(__CYGWIN__) +#define NAMLEN(d) (strlen((d)->d_name)) +#else +#define NAMLEN(d) ((d)->d_namlen) +#endif + +int +main(ac, av) + int ac; + char *av[]; +{ + struct timeval tv; +#ifdef OK_TO_WRITE_DISK + int fd; +#endif /* OK_TO_WRITE_DISK */ + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + getargs(ac, av); + +#ifndef NO_REGEX + if (Match) + exit(find_matches() != 0); +#endif + + init_prob(); + if (gettimeofday(&tv, NULL) != 0) + err(1, "gettimeofday()"); + srandom(((unsigned long)tv.tv_sec) * + ((unsigned long)tv.tv_usec+1) * + ((unsigned long)getpid()+1) * + ((unsigned long)getppid()+1)); + do { + get_fort(); + } while ((Short_only && fortlen() > SLEN) || + (Long_only && fortlen() <= SLEN)); + + display(Fortfile); + +#ifdef OK_TO_WRITE_DISK + if ((fd = creat(Fortfile->posfile, 0666)) < 0) + err(1, "Can't create `%s'", Fortfile->posfile); +#ifdef LOCK_EX + /* + * if we can, we exclusive lock, but since it isn't very + * important, we just punt if we don't have easy locking + * available. + */ + (void) flock(fd, LOCK_EX); +#endif /* LOCK_EX */ + write(fd, (char *) &Fortfile->pos, sizeof Fortfile->pos); + if (!Fortfile->was_pos_file) + (void) chmod(Fortfile->path, 0666); +#ifdef LOCK_EX + (void) flock(fd, LOCK_UN); +#endif /* LOCK_EX */ +#endif /* OK_TO_WRITE_DISK */ + if (Wait) { + if (Fort_len == 0) + (void) fortlen(); + sleep((unsigned int) max(Fort_len / CPERS, MINW)); + } + return(0); +} + +void +rot13(line, len) + char *line; + int len; +{ + char *p, ch; + + if (len == 0) + len = strlen(line); + + for (p = line; (ch = *p) != 0; ++p) + if (isupper((unsigned char)ch)) + *p = 'A' + (ch - 'A' + 13) % 26; + else if (islower((unsigned char)ch)) + *p = 'a' + (ch - 'a' + 13) % 26; +} + +void +display(fp) + FILEDESC *fp; +{ + char line[BUFSIZ]; + + open_fp(fp); + (void) fseek(fp->inf, (long)Seekpts[0], SEEK_SET); + for (Fort_len = 0; fgets(line, sizeof line, fp->inf) != NULL && + !STR_ENDSTRING(line, fp->tbl); Fort_len++) { + if (fp->tbl.str_flags & STR_ROTATED) + rot13(line, 0); + fputs(line, stdout); + } + (void) fflush(stdout); +} + +/* + * fortlen: + * Return the length of the fortune. + */ +int +fortlen() +{ + int nchar; + char line[BUFSIZ]; + + if (!(Fortfile->tbl.str_flags & (STR_RANDOM | STR_ORDERED))) + nchar = Seekpts[1] - Seekpts[0]; + else { + open_fp(Fortfile); + (void) fseek(Fortfile->inf, (long)Seekpts[0], SEEK_SET); + nchar = 0; + while (fgets(line, sizeof line, Fortfile->inf) != NULL && + !STR_ENDSTRING(line, Fortfile->tbl)) + nchar += strlen(line); + } + Fort_len = nchar; + return nchar; +} + +/* + * This routine evaluates the arguments on the command line + */ +void +getargs(argc, argv) + int argc; + char **argv; +{ + int ignore_case; +# ifndef NO_REGEX + char *pat = NULL; +# endif /* NO_REGEX */ + int ch; + + ignore_case = FALSE; + +# ifdef DEBUG + while ((ch = getopt(argc, argv, "aDefilm:osw")) != -1) +#else + while ((ch = getopt(argc, argv, "aefilm:osw")) != -1) +#endif /* DEBUG */ + switch(ch) { + case 'a': /* any fortune */ + All_forts++; + break; +# ifdef DEBUG + case 'D': + Debug++; + break; +# endif /* DEBUG */ + case 'e': + Equal_probs++; /* scatter un-allocted prob equally */ + break; + case 'f': /* find fortune files */ + Find_files++; + break; + case 'l': /* long ones only */ + Long_only++; + Short_only = FALSE; + break; + case 'o': /* offensive ones only */ + Offend++; + break; + case 's': /* short ones only */ + Short_only++; + Long_only = FALSE; + break; + case 'w': /* give time to read */ + Wait++; + break; +# ifdef NO_REGEX + case 'i': /* case-insensitive match */ + case 'm': /* dump out the fortunes */ + errx(1, "Can't match fortunes on this system (Sorry)"); +# else /* NO_REGEX */ + case 'm': /* dump out the fortunes */ + Match++; + pat = optarg; + break; + case 'i': /* case-insensitive match */ + ignore_case++; + break; +# endif /* NO_REGEX */ + case '?': + default: + usage(); + } + argc -= optind; + argv += optind; + + if (!form_file_list(argv, argc)) + exit(1); /* errors printed through form_file_list() */ +#ifdef DEBUG + if (Debug >= 1) + print_file_list(); +#endif /* DEBUG */ + if (Find_files) { + print_file_list(); + exit(0); + } + +# ifndef NO_REGEX + if (pat != NULL) { + if (ignore_case) + pat = conv_pat(pat); + RE_INIT(Re_pat); + RE_COMP(Re_pat, pat); + if (!RE_OK(Re_pat)) { + warnx("%s: `%s'", RE_ERROR(Re_pat), pat); + RE_FREE(Re_pat); + } + rot13(pat, 0); + RE_INIT(Re_pat13); + RE_COMP(Re_pat13, pat); + if (!RE_OK(Re_pat13)) { + warnx("%s: `%s'", RE_ERROR(Re_pat13), pat); + RE_FREE(Re_pat13); + } + } +# endif /* NO_REGEX */ +} + +/* + * form_file_list: + * Form the file list from the file specifications. + */ +int +form_file_list(files, file_cnt) + char **files; + int file_cnt; +{ + int i, percent; + const char *sp; + + if (file_cnt == 0) { + if (All_forts) + return add_file(NO_PROB, FORTDIR, NULL, &File_list, + &File_tail, NULL); + else + return add_file(NO_PROB, "fortunes", FORTDIR, + &File_list, &File_tail, NULL); + } + for (i = 0; i < file_cnt; i++) { + percent = NO_PROB; + if (!isdigit((unsigned char)files[i][0])) + sp = files[i]; + else { + percent = 0; + for (sp = files[i]; isdigit((unsigned char)*sp); sp++) + percent = percent * 10 + *sp - '0'; + if (percent > 100) { + warnx("Percentages must be <= 100"); + return FALSE; + } + if (*sp == '.') { + warnx("Percentages must be integers"); + return FALSE; + } + /* + * If the number isn't followed by a '%', then + * it was not a percentage, just the first part + * of a file name which starts with digits. + */ + if (*sp != '%') { + percent = NO_PROB; + sp = files[i]; + } + else if (*++sp == '\0') { + if (++i >= file_cnt) { + warnx("Percentages must precede files"); + return FALSE; + } + sp = files[i]; + } + } + if (strcmp(sp, "all") == 0) + sp = FORTDIR; + if (!add_file(percent, sp, NULL, &File_list, &File_tail, NULL)) + return FALSE; + } + return TRUE; +} + +/* + * add_file: + * Add a file to the file list. + */ +int +add_file(percent, file, dir, head, tail, parent) + int percent; + const char *file; + const char *dir; + FILEDESC **head, **tail; + FILEDESC *parent; +{ + FILEDESC *fp; + int fd; + const char *path; + char *tpath, *offensive; + bool was_malloc; + bool isdir; + + if (dir == NULL) { + path = file; + tpath = NULL; + was_malloc = FALSE; + } + else { + tpath = do_malloc((unsigned int) (strlen(dir) + strlen(file) + 2)); + (void) strcat(strcat(strcpy(tpath, dir), "/"), file); + path = tpath; + was_malloc = TRUE; + } + if ((isdir = is_dir(path)) && parent != NULL) { + if (was_malloc) + free(tpath); + return FALSE; /* don't recurse */ + } + offensive = NULL; + if (!isdir && parent == NULL && (All_forts || Offend) && + !is_off_name(path)) { + offensive = off_name(path); + was_malloc = TRUE; + if (Offend) { + if (was_malloc) + free(tpath); + path = offensive; + file = off_name(file); + } + } + + DPRINTF(1, (stderr, "adding file \"%s\"\n", path)); +over: + if ((fd = open(path, O_RDONLY)) < 0) { + /* + * This is a sneak. If the user said -a, and if the + * file we're given isn't a file, we check to see if + * there is a -o version. If there is, we treat it as + * if *that* were the file given. We only do this for + * individual files -- if we're scanning a directory, + * we'll pick up the -o file anyway. + */ + if (All_forts && offensive != NULL) { + path = offensive; + if (was_malloc) + free(tpath); + offensive = NULL; + was_malloc = TRUE; + DPRINTF(1, (stderr, "\ttrying \"%s\"\n", path)); + file = off_name(file); + goto over; + } + if (dir == NULL && file[0] != '/') + return add_file(percent, file, FORTDIR, head, tail, + parent); + if (parent == NULL) + warn("Cannot open `%s'", path); + if (was_malloc) + free(tpath); + return FALSE; + } + + DPRINTF(2, (stderr, "path = \"%s\"\n", path)); + + fp = new_fp(); + fp->fd = fd; + fp->percent = percent; + fp->name = file; + fp->path = path; + fp->parent = parent; + + if ((isdir && !add_dir(fp)) || + (!isdir && + !is_fortfile(path, &fp->datfile, &fp->posfile, (parent != NULL)))) + { + if (parent == NULL) + warnx("`%s' not a fortune file or directory", path); + if (was_malloc) + free(tpath); + do_free(fp->datfile); + do_free(fp->posfile); + free(fp); + do_free(offensive); + return FALSE; + } + /* + * If the user said -a, we need to make this node a pointer to + * both files, if there are two. We don't need to do this if + * we are scanning a directory, since the scan will pick up the + * -o file anyway. + */ + if (All_forts && parent == NULL && !is_off_name(path)) + all_forts(fp, offensive); + if (*head == NULL) + *head = *tail = fp; + else if (fp->percent == NO_PROB) { + (*tail)->next = fp; + fp->prev = *tail; + *tail = fp; + } + else { + (*head)->prev = fp; + fp->next = *head; + *head = fp; + } +#ifdef OK_TO_WRITE_DISK + fp->was_pos_file = (access(fp->posfile, W_OK) >= 0); +#endif /* OK_TO_WRITE_DISK */ + + return TRUE; +} + +/* + * new_fp: + * Return a pointer to an initialized new FILEDESC. + */ +FILEDESC * +new_fp() +{ + FILEDESC *fp; + + fp = (FILEDESC *) do_malloc(sizeof *fp); + fp->datfd = -1; + fp->pos = POS_UNKNOWN; + fp->inf = NULL; + fp->fd = -1; + fp->percent = NO_PROB; + fp->read_tbl = FALSE; + fp->next = NULL; + fp->prev = NULL; + fp->child = NULL; + fp->parent = NULL; + fp->datfile = NULL; + fp->posfile = NULL; + return fp; +} + +/* + * off_name: + * Return a pointer to the offensive version of a file of this name. + */ +char * +off_name(file) + const char *file; +{ + char *new; + + new = copy(file, (unsigned int) (strlen(file) + 2)); + return strcat(new, "-o"); +} + +/* + * is_off_name: + * Is the file an offensive-style name? + */ +int +is_off_name(file) + const char *file; +{ + int len; + + len = strlen(file); + return (len >= 3 && file[len - 2] == '-' && file[len - 1] == 'o'); +} + +/* + * all_forts: + * Modify a FILEDESC element to be the parent of two children if + * there are two children to be a parent of. + */ +void +all_forts(fp, offensive) + FILEDESC *fp; + const char *offensive; +{ + char *sp; + FILEDESC *scene, *obscene; + int fd; + char *datfile, *posfile; + + posfile = NULL; + + if (fp->child != NULL) /* this is a directory, not a file */ + return; + if (!is_fortfile(offensive, &datfile, &posfile, FALSE)) + return; + if ((fd = open(offensive, O_RDONLY)) < 0) + return; + DPRINTF(1, (stderr, "adding \"%s\" because of -a\n", offensive)); + scene = new_fp(); + obscene = new_fp(); + *scene = *fp; + + fp->num_children = 2; + fp->child = scene; + scene->next = obscene; + obscene->next = NULL; + scene->child = obscene->child = NULL; + scene->parent = obscene->parent = fp; + + fp->fd = -1; + scene->percent = obscene->percent = NO_PROB; + + obscene->fd = fd; + obscene->inf = NULL; + obscene->path = offensive; + if ((sp = rindex(offensive, '/')) == NULL) + obscene->name = offensive; + else + obscene->name = ++sp; + obscene->datfile = datfile; + obscene->posfile = posfile; + obscene->read_tbl = FALSE; +#ifdef OK_TO_WRITE_DISK + obscene->was_pos_file = (access(obscene->posfile, W_OK) >= 0); +#endif /* OK_TO_WRITE_DISK */ +} + +/* + * add_dir: + * Add the contents of an entire directory. + */ +int +add_dir(fp) + FILEDESC *fp; +{ + DIR *dir; + struct dirent *dirent; + FILEDESC *tailp; + char *name; + + (void) close(fp->fd); + fp->fd = -1; + if ((dir = opendir(fp->path)) == NULL) { + warn("Cannot open `%s'", fp->path); + return FALSE; + } + tailp = NULL; + DPRINTF(1, (stderr, "adding dir \"%s\"\n", fp->path)); + fp->num_children = 0; + while ((dirent = readdir(dir)) != NULL) { + if (NAMLEN(dirent) == 0) + continue; + name = copy(dirent->d_name, NAMLEN(dirent)); + if (add_file(NO_PROB, name, fp->path, &fp->child, &tailp, fp)) + fp->num_children++; + else + free(name); + } + if (fp->num_children == 0) { + warnx("`%s': No fortune files in directory.", fp->path); + return FALSE; + } + return TRUE; +} + +/* + * is_dir: + * Return TRUE if the file is a directory, FALSE otherwise. + */ +int +is_dir(file) + const char *file; +{ + struct stat sbuf; + + if (stat(file, &sbuf) < 0) + return FALSE; + return (S_ISDIR(sbuf.st_mode)); +} + +/* + * is_fortfile: + * Return TRUE if the file is a fortune database file. We try and + * exclude files without reading them if possible to avoid + * overhead. Files which start with ".", or which have "illegal" + * suffixes, as contained in suflist[], are ruled out. + */ +/* ARGSUSED */ +int +is_fortfile(file, datp, posp, check_for_offend) + const char *file; + char **datp, **posp +# ifndef OK_TO_WRITE_DISK + __attribute__((__unused__)) +# endif + ; + int check_for_offend; +{ + int i; + const char *sp; + char *datfile; + static const char *const suflist[] = { /* list of "illegal" suffixes" */ + "dat", "pos", "c", "h", "p", "i", "f", + "pas", "ftn", "ins.c", "ins,pas", + "ins.ftn", "sml", + NULL + }; + + DPRINTF(2, (stderr, "is_fortfile(%s) returns ", file)); + + /* + * Preclude any -o files for offendable people, and any non -o + * files for completely offensive people. + */ + if (check_for_offend && !All_forts) { + i = strlen(file); + if (Offend ^ (file[i - 2] == '-' && file[i - 1] == 'o')) + return FALSE; + } + + if ((sp = rindex(file, '/')) == NULL) + sp = file; + else + sp++; + if (*sp == '.') { + DPRINTF(2, (stderr, "FALSE (file starts with '.')\n")); + return FALSE; + } + if ((sp = rindex(sp, '.')) != NULL) { + sp++; + for (i = 0; suflist[i] != NULL; i++) + if (strcmp(sp, suflist[i]) == 0) { + DPRINTF(2, (stderr, "FALSE (file has suffix \".%s\")\n", sp)); + return FALSE; + } + } + + datfile = copy(file, (unsigned int) (strlen(file) + 4)); /* +4 for ".dat" */ + strcat(datfile, ".dat"); + if (access(datfile, R_OK) < 0) { + free(datfile); + DPRINTF(2, (stderr, "FALSE (no \".dat\" file)\n")); + return FALSE; + } + if (datp != NULL) + *datp = datfile; + else + free(datfile); +#ifdef OK_TO_WRITE_DISK + if (posp != NULL) { + *posp = copy(file, (unsigned int) (strlen(file) + 4)); /* +4 for ".dat" */ + (void) strcat(*posp, ".pos"); + } +#endif /* OK_TO_WRITE_DISK */ + DPRINTF(2, (stderr, "TRUE\n")); + return TRUE; +} + +/* + * copy: + * Return a malloc()'ed copy of the string + */ +char * +copy(str, len) + const char *str; + unsigned int len; +{ + char *new, *sp; + + new = do_malloc(len + 1); + sp = new; + do { + *sp++ = *str; + } while (*str++); + return new; +} + +/* + * do_malloc: + * Do a malloc, checking for NULL return. + */ +void * +do_malloc(size) + unsigned int size; +{ + void *new; + + if ((new = malloc(size)) == NULL) + err(1, NULL); + return new; +} + +/* + * do_free: + * Free malloc'ed space, if any. + */ +void +do_free(ptr) + void *ptr; +{ + if (ptr != NULL) + free(ptr); +} + +/* + * init_prob: + * Initialize the fortune probabilities. + */ +void +init_prob() +{ + FILEDESC *fp, *last; + int percent, num_noprob, frac; + + last = NULL; + /* + * Distribute the residual probability (if any) across all + * files with unspecified probability (i.e., probability of 0) + * (if any). + */ + + percent = 0; + num_noprob = 0; + for (fp = File_tail; fp != NULL; fp = fp->prev) + if (fp->percent == NO_PROB) { + num_noprob++; + if (Equal_probs) + last = fp; + } else + percent += fp->percent; + DPRINTF(1, (stderr, "summing probabilities:%d%% with %d NO_PROB's", + percent, num_noprob)); + if (percent > 100) + errx(1, "Probabilities sum to %d%%!", percent); + else if (percent < 100 && num_noprob == 0) + errx(1, "No place to put residual probability (%d%%)", + 100 - percent); + else if (percent == 100 && num_noprob != 0) + errx(1, "No probability left to put in residual files"); + percent = 100 - percent; + if (Equal_probs) { + if (num_noprob != 0) { + if (num_noprob > 1) { + frac = percent / num_noprob; + DPRINTF(1, (stderr, ", frac = %d%%", frac)); + for (fp = File_tail; fp != last; fp = fp->prev) + if (fp->percent == NO_PROB) { + fp->percent = frac; + percent -= frac; + } + } + last->percent = percent; + DPRINTF(1, (stderr, ", residual = %d%%", percent)); + } + } else { + DPRINTF(1, (stderr, + ", %d%% distributed over remaining fortunes\n", + percent)); + } + DPRINTF(1, (stderr, "\n")); + +#ifdef DEBUG + if (Debug >= 1) + print_file_list(); +#endif +} + +/* + * get_fort: + * Get the fortune data file's seek pointer for the next fortune. + */ +void +get_fort() +{ + FILEDESC *fp; + int choice; + + if (File_list->next == NULL || File_list->percent == NO_PROB) + fp = File_list; + else { + choice = random() % 100; + DPRINTF(1, (stderr, "choice = %d\n", choice)); + for (fp = File_list; fp->percent != NO_PROB; fp = fp->next) + if (choice < fp->percent) + break; + else { + choice -= fp->percent; + DPRINTF(1, (stderr, + " skip \"%s\", %d%% (choice = %d)\n", + fp->name, fp->percent, choice)); + } + DPRINTF(1, (stderr, + "using \"%s\", %d%% (choice = %d)\n", + fp->name, fp->percent, choice)); + } + if (fp->percent != NO_PROB) + get_tbl(fp); + else { + if (fp->next != NULL) { + sum_noprobs(fp); + choice = random() % Noprob_tbl.str_numstr; + DPRINTF(1, (stderr, "choice = %d (of %d) \n", choice, + Noprob_tbl.str_numstr)); + while ((u_int32_t)choice >= fp->tbl.str_numstr) { + choice -= fp->tbl.str_numstr; + fp = fp->next; + DPRINTF(1, (stderr, + " skip \"%s\", %d (choice = %d)\n", + fp->name, fp->tbl.str_numstr, + choice)); + } + DPRINTF(1, (stderr, "using \"%s\", %d\n", fp->name, + fp->tbl.str_numstr)); + } + get_tbl(fp); + } + if (fp->child != NULL) { + DPRINTF(1, (stderr, "picking child\n")); + fp = pick_child(fp); + } + Fortfile = fp; + get_pos(fp); + open_dat(fp); + (void) lseek(fp->datfd, + (off_t) (sizeof fp->tbl + fp->pos * sizeof Seekpts[0]), SEEK_SET); + read(fp->datfd, Seekpts, sizeof Seekpts); + BE64TOH(Seekpts[0]); + BE64TOH(Seekpts[1]); +} + +/* + * pick_child + * Pick a child from a chosen parent. + */ +FILEDESC * +pick_child(parent) + FILEDESC *parent; +{ + FILEDESC *fp; + int choice; + + if (Equal_probs) { + choice = random() % parent->num_children; + DPRINTF(1, (stderr, " choice = %d (of %d)\n", + choice, parent->num_children)); + for (fp = parent->child; choice--; fp = fp->next) + continue; + DPRINTF(1, (stderr, " using %s\n", fp->name)); + return fp; + } + else { + get_tbl(parent); + choice = random() % parent->tbl.str_numstr; + DPRINTF(1, (stderr, " choice = %d (of %d)\n", + choice, parent->tbl.str_numstr)); + for (fp = parent->child; (u_int32_t)choice >= fp->tbl.str_numstr; + fp = fp->next) { + choice -= fp->tbl.str_numstr; + DPRINTF(1, (stderr, "\tskip %s, %d (choice = %d)\n", + fp->name, fp->tbl.str_numstr, choice)); + } + DPRINTF(1, (stderr, " using %s, %d\n", fp->name, + fp->tbl.str_numstr)); + return fp; + } +} + +/* + * sum_noprobs: + * Sum up all the noprob probabilities, starting with fp. + */ +void +sum_noprobs(fp) + FILEDESC *fp; +{ + static bool did_noprobs = FALSE; + + if (did_noprobs) + return; + zero_tbl(&Noprob_tbl); + while (fp != NULL) { + get_tbl(fp); + sum_tbl(&Noprob_tbl, &fp->tbl); + fp = fp->next; + } + did_noprobs = TRUE; +} + +int +max(i, j) + int i, j; +{ + return (i >= j ? i : j); +} + +/* + * open_fp: + * Assocatiate a FILE * with the given FILEDESC. + */ +void +open_fp(fp) + FILEDESC *fp; +{ + if (fp->inf == NULL && (fp->inf = fdopen(fp->fd, "r")) == NULL) + err(1, "Cannot open `%s'", fp->path); +} + +/* + * open_dat: + * Open up the dat file if we need to. + */ +void +open_dat(fp) + FILEDESC *fp; +{ + if (fp->datfd < 0 && (fp->datfd = open(fp->datfile, O_RDONLY)) < 0) + err(1, "Cannot open `%s'", fp->datfile); +} + +/* + * get_pos: + * Get the position from the pos file, if there is one. If not, + * return a random number. + */ +void +get_pos(fp) + FILEDESC *fp; +{ +#ifdef OK_TO_WRITE_DISK + int fd; +#endif /* OK_TO_WRITE_DISK */ + + assert(fp->read_tbl); + if (fp->pos == POS_UNKNOWN) { +#ifdef OK_TO_WRITE_DISK + if ((fd = open(fp->posfile, O_RDONLY)) < 0 || + read(fd, &fp->pos, sizeof fp->pos) != sizeof fp->pos) + fp->pos = random() % fp->tbl.str_numstr; + else if (fp->pos >= fp->tbl.str_numstr) + fp->pos %= fp->tbl.str_numstr; + if (fd >= 0) + (void) close(fd); +#else + fp->pos = random() % fp->tbl.str_numstr; +#endif /* OK_TO_WRITE_DISK */ + } + if ((u_int64_t)++(fp->pos) >= fp->tbl.str_numstr) + fp->pos -= fp->tbl.str_numstr; + DPRINTF(1, (stderr, "pos for %s is %lld\n", fp->name, + (long long)fp->pos)); +} + +/* + * get_tbl: + * Get the tbl data file the datfile. + */ +void +get_tbl(fp) + FILEDESC *fp; +{ + int fd; + FILEDESC *child; + + if (fp->read_tbl) + return; + if (fp->child == NULL) { + if ((fd = open(fp->datfile, O_RDONLY)) < 0) + err(1, "Cannot open `%s'", fp->datfile); + if (read(fd, (char *) &fp->tbl, sizeof fp->tbl) != sizeof fp->tbl) { + errx(1, "Database `%s' corrupted", fp->path); + } + /* BE32TOH(fp->tbl.str_version); */ + BE32TOH(fp->tbl.str_numstr); + BE32TOH(fp->tbl.str_longlen); + BE32TOH(fp->tbl.str_shortlen); + BE32TOH(fp->tbl.str_flags); + (void) close(fd); + } + else { + zero_tbl(&fp->tbl); + for (child = fp->child; child != NULL; child = child->next) { + get_tbl(child); + sum_tbl(&fp->tbl, &child->tbl); + } + } + fp->read_tbl = TRUE; +} + +/* + * zero_tbl: + * Zero out the fields we care about in a tbl structure. + */ +void +zero_tbl(tp) + STRFILE *tp; +{ + tp->str_numstr = 0; + tp->str_longlen = 0; + tp->str_shortlen = -1; +} + +/* + * sum_tbl: + * Merge the tbl data of t2 into t1. + */ +void +sum_tbl(t1, t2) + STRFILE *t1, *t2; +{ + t1->str_numstr += t2->str_numstr; + if (t1->str_longlen < t2->str_longlen) + t1->str_longlen = t2->str_longlen; + if (t1->str_shortlen > t2->str_shortlen) + t1->str_shortlen = t2->str_shortlen; +} + +#define STR(str) ((str) == NULL ? "NULL" : (str)) + +/* + * print_file_list: + * Print out the file list + */ +void +print_file_list() +{ + print_list(File_list, 0); +} + +/* + * print_list: + * Print out the actual list, recursively. + */ +void +print_list(list, lev) + FILEDESC *list; + int lev; +{ + while (list != NULL) { + fprintf(stderr, "%*s", lev * 4, ""); + if (list->percent == NO_PROB) + fprintf(stderr, "___%%"); + else + fprintf(stderr, "%3d%%", list->percent); + fprintf(stderr, " %s", STR(list->name)); + DPRINTF(1, (stderr, " (%s, %s, %s)\n", STR(list->path), + STR(list->datfile), STR(list->posfile))); + putc('\n', stderr); + if (list->child != NULL) + print_list(list->child, lev + 1); + list = list->next; + } +} + +#ifndef NO_REGEX +/* + * conv_pat: + * Convert the pattern to an ignore-case equivalent. + */ +char * +conv_pat(orig) + char *orig; +{ + char *sp; + unsigned int cnt; + char *new; + + cnt = 1; /* allow for '\0' */ + for (sp = orig; *sp != '\0'; sp++) + if (isalpha((unsigned char)*sp)) + cnt += 4; + else + cnt++; + if ((new = malloc(cnt)) == NULL) + err(1, NULL); + + for (sp = new; *orig != '\0'; orig++) { + if (islower((unsigned char)*orig)) { + *sp++ = '['; + *sp++ = *orig; + *sp++ = toupper((unsigned char)*orig); + *sp++ = ']'; + } + else if (isupper((unsigned char)*orig)) { + *sp++ = '['; + *sp++ = *orig; + *sp++ = tolower((unsigned char)*orig); + *sp++ = ']'; + } + else + *sp++ = *orig; + } + *sp = '\0'; + return new; +} + +/* + * find_matches: + * Find all the fortunes which match the pattern we've been given. + */ +int +find_matches() +{ + Fort_len = maxlen_in_list(File_list); + DPRINTF(2, (stderr, "Maximum length is %d\n", Fort_len)); + /* extra length, "%\n" is appended */ + Fortbuf = do_malloc((unsigned int) Fort_len + 10); + + Found_one = FALSE; + matches_in_list(File_list); + return Found_one; + /* NOTREACHED */ +} + +/* + * maxlen_in_list + * Return the maximum fortune len in the file list. + */ +int +maxlen_in_list(list) + FILEDESC *list; +{ + FILEDESC *fp; + int len, maxlen; + + maxlen = 0; + for (fp = list; fp != NULL; fp = fp->next) { + if (fp->child != NULL) { + if ((len = maxlen_in_list(fp->child)) > maxlen) + maxlen = len; + } + else { + get_tbl(fp); + if (fp->tbl.str_longlen > (u_int32_t)maxlen) + maxlen = fp->tbl.str_longlen; + } + } + return maxlen; +} + +/* + * matches_in_list + * Print out the matches from the files in the list. + */ +void +matches_in_list(list) + FILEDESC *list; +{ + char *sp; + FILEDESC *fp; + int in_file; + + if (!RE_OK(Re_pat) || !RE_OK(Re_pat13)) + return; + + for (fp = list; fp != NULL; fp = fp->next) { + if (fp->child != NULL) { + matches_in_list(fp->child); + continue; + } + DPRINTF(1, (stderr, "searching in %s\n", fp->path)); + open_fp(fp); + sp = Fortbuf; + in_file = FALSE; + while (fgets(sp, Fort_len, fp->inf) != NULL) + if (!STR_ENDSTRING(sp, fp->tbl)) + sp += strlen(sp); + else { + *sp = '\0'; + if (fp->tbl.str_flags & STR_ROTATED) + Re_use = Re_pat13; + else + Re_use = Re_pat; + if (RE_EXEC(Re_use, Fortbuf)) { + printf("%c%c", fp->tbl.str_delim, + fp->tbl.str_delim); + if (!in_file) { + printf(" (%s)", fp->name); + Found_one = TRUE; + in_file = TRUE; + } + putchar('\n'); + if (fp->tbl.str_flags & STR_ROTATED) + rot13(Fortbuf, (sp - Fortbuf)); + (void) fwrite(Fortbuf, 1, (sp - Fortbuf), stdout); + } + sp = Fortbuf; + } + } + RE_FREE(Re_pat); + RE_FREE(Re_pat13); +} +# endif /* NO_REGEX */ + +void +usage() +{ + + (void) fprintf(stderr, "Usage: %s [-ae", getprogname()); +#ifdef DEBUG + (void) fprintf(stderr, "D"); +#endif /* DEBUG */ + (void) fprintf(stderr, "f"); +#ifndef NO_REGEX + (void) fprintf(stderr, "i"); +#endif /* NO_REGEX */ + (void) fprintf(stderr, "losw]"); +#ifndef NO_REGEX + (void) fprintf(stderr, " [-m pattern]"); +#endif /* NO_REGEX */ + (void) fprintf(stderr, "[ [#%%] file/directory/all]\n"); + exit(1); +} diff --git a/fortune/fortune/pathnames.h.in b/fortune/fortune/pathnames.h.in new file mode 100644 index 0000000..1277649 --- /dev/null +++ b/fortune/fortune/pathnames.h.in @@ -0,0 +1,34 @@ +/* $NetBSD: pathnames.h,v 1.4 2003/08/07 09:37:14 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 + */ + +#define FORTDIR "@fortune_dir@" diff --git a/fortune/strfile/Makefile.bsd b/fortune/strfile/Makefile.bsd new file mode 100644 index 0000000..a56d1d4 --- /dev/null +++ b/fortune/strfile/Makefile.bsd @@ -0,0 +1,7 @@ +# $NetBSD: Makefile,v 1.8 2000/04/14 04:12:19 simonb Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +HOSTPROG= strfile +MAN= strfile.8 + +.include diff --git a/fortune/strfile/Makefrag b/fortune/strfile/Makefrag new file mode 100644 index 0000000..785ad7f --- /dev/null +++ b/fortune/strfile/Makefrag @@ -0,0 +1,35 @@ +# Makefrag - makefile fragment for fortune/strfile +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +fortune_strfile_DIRS := $(USRBINDIR) $(MAN8DIR) + +fortune_strfile_all: fortune/strfile/strfile fortune/strfile/strfile.8 + +fortune_strfile_install: fortune_strfile_all + $(INSTALL_BINARY) fortune/strfile/strfile $(INSTALL_PREFIX)$(USRBINDIR)/strfile + $(INSTALL_MANUAL) fortune/strfile/strfile.8 diff --git a/fortune/strfile/strfile.8 b/fortune/strfile/strfile.8 new file mode 100644 index 0000000..8145493 --- /dev/null +++ b/fortune/strfile/strfile.8 @@ -0,0 +1,143 @@ +.\" $NetBSD: strfile.8,v 1.12 2004/09/09 22:03:21 wiz Exp $ +.\" +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Ken Arnold. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)strfile.8 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt STRFILE 8 +.Os +.Sh NAME +.Nm strfile , +.Nm unstr +.Nd "create a random access file for storing strings" +.Sh SYNOPSIS +.Nm strfile +.Op Fl iorsx +.Op Fl c Ar char +.Ar source_file +.Op Ar output_file +.Nm unstr +.Ar source_file +.Sh DESCRIPTION +.Nm +reads a file containing groups of lines separated by a line containing +a single percent +.Ql \&% +sign and creates a data file which contains +a header structure and a table of file offsets for each group of lines. +This allows random access of the strings. +.Pp +The output file, if not specified on the command line, is named +.Ar source_file Ns Sy .out . +.Pp +The options are as follows: +.Bl -tag -width "-c char" +.It Fl c Ar char +Change the delimiting character from the percent sign to +.Ar char . +.It Fl i +Ignore case when ordering the strings. +.It Fl o +Order the strings in alphabetical order. +The offset table will be sorted in the alphabetical order of the +groups of lines referenced. +Any initial non-alphanumeric characters are ignored. +This option causes the +.Dv STR_ORDERED +bit in the header +.Ar str_flags +field to be set. +.It Fl r +Randomize access to the strings. +Entries in the offset table will be randomly ordered. +This option causes the +.Dv STR_RANDOM +bit in the header +.Ar str_flags +field to be set. +.It Fl s +Run silently; don't give a summary message when finished. +.It Fl x +Note that each alphabetic character in the groups of lines is rotated +13 positions in a simple caesar cipher. +This option causes the +.Dv STR_ROTATED +bit in the header +.Ar str_flags +field to be set. +.El +.Pp +The format of the header is: +.Bd -literal -offset indent +#define VERSION 1 +unsigned long str_version; /* version number */ +unsigned long str_numstr; /* # of strings in the file */ +unsigned long str_longlen; /* length of longest string */ +unsigned long str_shortlen; /* length of shortest string */ +#define STR_RANDOM 0x1 /* randomized pointers */ +#define STR_ORDERED 0x2 /* ordered pointers */ +#define STR_ROTATED 0x4 /* rot-13'd text */ +unsigned long str_flags; /* bit field for flags */ +char str_delim; /* delimiting character */ +.Ed +.Pp +All fields are written in big-endian byte order. +.Pp +The purpose of +.Nm unstr +is to undo the work of +.Nm strfile . +It prints out the strings contained in the file +.Ar source_file +in the order that they are listed in the header file +.Ar source_file Ns Sy .dat +to standard output. +It is possible to create sorted versions of input files by using +.Fl o +when +.Nm strfile +is run and then using +.Nm unstr +to dump them out in the table order. +.Sh FILES +.Bl -tag -width strfile.out -compact +.It Pa strfile.out +default output file. +.El +.Sh SEE ALSO +.Xr byteorder 3 , +.Xr fortune 6 +.Sh HISTORY +The +.Nm strfile +utility first appeared in +.Bx 4.4 . diff --git a/fortune/strfile/strfile.c b/fortune/strfile/strfile.c new file mode 100644 index 0000000..982a15f --- /dev/null +++ b/fortune/strfile/strfile.c @@ -0,0 +1,510 @@ +/* $NetBSD: strfile.c,v 1.22 2003/08/07 09:37:14 agc Exp $ */ + +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ken Arnold. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if 1 +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)strfile.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: strfile.c,v 1.22 2003/08/07 09:37:14 agc Exp $"); +#endif +#endif /* not lint */ +#endif /* __NetBSD__ */ + +# include +# include +# include +# include +# include +# include +# include +# include + +# ifndef u_int32_t +# define u_int32_t unsigned int +# endif +# include "strfile.h" + +# ifndef MAXPATHLEN +# define MAXPATHLEN 1024 +# endif /* MAXPATHLEN */ + +static u_int32_t +h2nl(u_int32_t h) +{ + unsigned char c[4]; + u_int32_t rv; + + c[0] = (h >> 24) & 0xff; + c[1] = (h >> 16) & 0xff; + c[2] = (h >> 8) & 0xff; + c[3] = (h >> 0) & 0xff; + memcpy(&rv, c, sizeof rv); + + return (rv); +} + +/* + * This program takes a file composed of strings separated by + * lines starting with two consecutive delimiting character (default + * character is '%') and creates another file which consists of a table + * describing the file (structure from "strfile.h"), a table of seek + * pointers to the start of the strings, and the strings, each terminated + * by a null byte. Usage: + * + * % strfile [-iorsx] [ -cC ] sourcefile [ datafile ] + * + * c - Change delimiting character from '%' to 'C' + * s - Silent. Give no summary of data processed at the end of + * the run. + * o - order the strings in alphabetic order + * i - if ordering, ignore case + * r - randomize the order of the strings + * x - set rotated bit + * + * Ken Arnold Sept. 7, 1978 -- + * + * Added ordering options. + */ + +# define TRUE 1 +# define FALSE 0 + +# define STORING_PTRS (Oflag || Rflag) +# define CHUNKSIZE 512 + +# define ALLOC(ptr,sz) do { \ + if (ptr == NULL) \ + ptr = malloc(CHUNKSIZE * sizeof *ptr); \ + else if (((sz) + 1) % CHUNKSIZE == 0) \ + ptr = realloc(ptr, ((sz) + CHUNKSIZE) * sizeof *ptr); \ + if (ptr == NULL) \ + die("out of space"); \ + } while (0) + +typedef struct { + char first; + off_t pos; +} STR; + +char *Infile = NULL, /* input file name */ + Outfile[MAXPATHLEN] = "", /* output file name */ + Delimch = '%'; /* delimiting character */ + +int Sflag = FALSE; /* silent run flag */ +int Oflag = FALSE; /* ordering flag */ +int Iflag = FALSE; /* ignore case flag */ +int Rflag = FALSE; /* randomize order flag */ +int Xflag = FALSE; /* set rotated bit */ +long Num_pts = 0; /* number of pointers/strings */ + +off_t *Seekpts; + +FILE *Sort_1, *Sort_2; /* pointers for sorting */ + +STRFILE Tbl; /* statistics table */ + +STR *Firstch; /* first chars of each string */ + +#ifdef __GNUC__ +#define NORETURN __attribute__((__noreturn__)) +#else +#define NORETURN +#endif + +void add_offset(FILE *, off_t); +int cmp_str(const void *, const void *); +void die(const char *) NORETURN; +void dieperror(const char *, char *) NORETURN; +void do_order(void); +void fwrite_be_offt(off_t, FILE *); +void getargs(int, char *[]); +int main(int, char *[]); +void randomize(void); +void usage(void) NORETURN; + + +/* + * main: + * Drive the sucker. There are two main modes -- either we store + * the seek pointers, if the table is to be sorted or randomized, + * or we write the pointer directly to the file, if we are to stay + * in file order. If the former, we allocate and re-allocate in + * CHUNKSIZE blocks; if the latter, we just write each pointer, + * and then seek back to the beginning to write in the table. + */ +int +main(ac, av) + int ac; + char *av[]; +{ + char *sp, dc; + FILE *inf, *outf; + off_t last_off, length, pos, *p; + int first, cnt; + char *nsp; + STR *fp; + static char string[257]; + + /* sanity test */ + if (sizeof(u_int32_t) != 4) + die("sizeof(unsigned int) != 4"); + + getargs(ac, av); /* evalute arguments */ + dc = Delimch; + if ((inf = fopen(Infile, "r")) == NULL) + dieperror("open `%s'", Infile); + + if ((outf = fopen(Outfile, "w")) == NULL) + dieperror("open `%s'", Outfile); + if (!STORING_PTRS) + (void) fseek(outf, sizeof Tbl, SEEK_SET); + + /* + * Write the strings onto the file + */ + + Tbl.str_longlen = 0; + Tbl.str_shortlen = (unsigned int) 0x7fffffff; + Tbl.str_delim = dc; + Tbl.str_version = VERSION; + first = Oflag; + add_offset(outf, ftell(inf)); + last_off = 0; + do { + sp = fgets(string, 256, inf); + if (sp == NULL || (sp[0] == dc && sp[1] == '\n')) { + pos = ftell(inf); + length = pos - last_off - (sp ? strlen(sp) : 0); + last_off = pos; + if (!length) + continue; + add_offset(outf, pos); + if ((off_t)Tbl.str_longlen < length) + Tbl.str_longlen = length; + if ((off_t)Tbl.str_shortlen > length) + Tbl.str_shortlen = length; + first = Oflag; + } + else if (first) { + for (nsp = sp; !isalnum(*nsp); nsp++) + continue; + ALLOC(Firstch, Num_pts); + fp = &Firstch[Num_pts - 1]; + if (Iflag && isupper(*nsp)) + fp->first = tolower(*nsp); + else + fp->first = *nsp; + fp->pos = Seekpts[Num_pts - 1]; + first = FALSE; + } + } while (sp != NULL); + + /* + * write the tables in + */ + + (void) fclose(inf); + + if (Oflag) + do_order(); + else if (Rflag) + randomize(); + + if (Xflag) + Tbl.str_flags |= STR_ROTATED; + + if (!Sflag) { + printf("\"%s\" created\n", Outfile); + if (Num_pts == 2) + puts("There was 1 string"); + else + printf("There were %d strings\n", (int)(Num_pts - 1)); + printf("Longest string: %lu byte%s\n", (unsigned long)Tbl.str_longlen, + Tbl.str_longlen == 1 ? "" : "s"); + printf("Shortest string: %lu byte%s\n", (unsigned long)Tbl.str_shortlen, + Tbl.str_shortlen == 1 ? "" : "s"); + } + + (void) fseek(outf, (off_t) 0, SEEK_SET); + Tbl.str_version = h2nl(Tbl.str_version); + Tbl.str_numstr = h2nl(Num_pts - 1); + Tbl.str_longlen = h2nl(Tbl.str_longlen); + Tbl.str_shortlen = h2nl(Tbl.str_shortlen); + Tbl.str_flags = h2nl(Tbl.str_flags); + (void) fwrite((char *) &Tbl, sizeof Tbl, 1, outf); + if (STORING_PTRS) { + for (p = Seekpts, cnt = Num_pts; cnt--; ++p) + fwrite_be_offt(*p, outf); + } + fflush(outf); + if (ferror(outf)) + dieperror("fwrite %s", Outfile); + (void) fclose(outf); + exit(0); +} + +/* + * This routine evaluates arguments from the command line + */ +void +getargs(argc, argv) + int argc; + char **argv; +{ + int ch; + extern int optind; + extern char *optarg; + + while ((ch = getopt(argc, argv, "c:iorsx")) != -1) + switch(ch) { + case 'c': /* new delimiting char */ + Delimch = *optarg; + if (!isascii(Delimch)) { + printf("bad delimiting character: '\\%o\n'", + Delimch); + } + break; + case 'i': /* ignore case in ordering */ + Iflag++; + break; + case 'o': /* order strings */ + Oflag++; + break; + case 'r': /* randomize pointers */ + Rflag++; + break; + case 's': /* silent */ + Sflag++; + break; + case 'x': /* set the rotated bit */ + Xflag++; + break; + case '?': + default: + usage(); + } + argv += optind; + + if (*argv) { + Infile = *argv; + if (*++argv) + (void) strcpy(Outfile, *argv); + } + if (!Infile) { + puts("No input file name"); + usage(); + } + if (*Outfile == '\0') { + (void) strcpy(Outfile, Infile); + (void) strcat(Outfile, ".dat"); + } +} + +void +usage() +{ + (void) fprintf(stderr, + "strfile [-iorsx] [-c char] sourcefile [datafile]\n"); + exit(1); +} + +void +die(str) + const char *str; +{ + fprintf(stderr, "strfile: %s\n", str); + exit(1); +} + +void +dieperror(fmt, file) + const char *fmt; + char *file; +{ + fprintf(stderr, "strfile: "); + fprintf(stderr, fmt, file); + fprintf(stderr, ": "); + perror(NULL); + exit(1); +} + +/* + * add_offset: + * Add an offset to the list, or write it out, as appropriate. + */ +void +add_offset(fp, off) + FILE *fp; + off_t off; +{ + + if (!STORING_PTRS) { + fwrite_be_offt(off, fp); + } else { + ALLOC(Seekpts, Num_pts + 1); + Seekpts[Num_pts] = off; + } + Num_pts++; +} + +/* + * do_order: + * Order the strings alphabetically (possibly ignoring case). + */ +void +do_order() +{ + int i; + off_t *lp; + STR *fp; + + Sort_1 = fopen(Infile, "r"); + Sort_2 = fopen(Infile, "r"); + qsort((char *) Firstch, (int) Tbl.str_numstr, sizeof *Firstch, cmp_str); + i = Tbl.str_numstr; + lp = Seekpts; + fp = Firstch; + while (i--) + *lp++ = fp++->pos; + (void) fclose(Sort_1); + (void) fclose(Sort_2); + Tbl.str_flags |= STR_ORDERED; +} + +int +cmp_str(vp1, vp2) + const void *vp1, *vp2; +{ + const STR *p1, *p2; + int c1, c2; + int n1, n2; + + p1 = (const STR *)vp1; + p2 = (const STR *)vp2; + +# define SET_N(nf,ch) (nf = (ch == '\n')) +# define IS_END(ch,nf) (ch == Delimch && nf) + + c1 = p1->first; + c2 = p2->first; + if (c1 != c2) + return c1 - c2; + + (void) fseek(Sort_1, p1->pos, SEEK_SET); + (void) fseek(Sort_2, p2->pos, SEEK_SET); + + n1 = FALSE; + n2 = FALSE; + while (!isalnum(c1 = getc(Sort_1)) && c1 != '\0') + SET_N(n1, c1); + while (!isalnum(c2 = getc(Sort_2)) && c2 != '\0') + SET_N(n2, c2); + + while (!IS_END(c1, n1) && !IS_END(c2, n2)) { + if (Iflag) { + if (isupper(c1)) + c1 = tolower(c1); + if (isupper(c2)) + c2 = tolower(c2); + } + if (c1 != c2) + return c1 - c2; + SET_N(n1, c1); + SET_N(n2, c2); + c1 = getc(Sort_1); + c2 = getc(Sort_2); + } + if (IS_END(c1, n1)) + c1 = 0; + if (IS_END(c2, n2)) + c2 = 0; + return c1 - c2; +} + +/* + * randomize: + * Randomize the order of the string table. We must be careful + * not to randomize across delimiter boundaries. All + * randomization is done within each block. + */ +void +randomize() +{ + int cnt, i; + off_t tmp; + off_t *sp; + + srandom((int)(time((time_t *) NULL) + getpid())); + + Tbl.str_flags |= STR_RANDOM; + cnt = Tbl.str_numstr; + + /* + * move things around randomly + */ + + for (sp = Seekpts; cnt > 0; cnt--, sp++) { + i = random() % cnt; + tmp = sp[0]; + sp[0] = sp[i]; + sp[i] = tmp; + } +} + +/* + * fwrite_be_offt: + * Write out the off paramater as a 64 bit big endian number + */ + +void +fwrite_be_offt(off, f) + off_t off; + FILE *f; +{ + int i; + unsigned char c[8]; + + for (i = 7; i >= 0; i--) { + c[i] = off & 0xff; + off >>= 8; + } + fwrite(c, sizeof(c), 1, f); +} diff --git a/fortune/strfile/strfile.h b/fortune/strfile/strfile.h new file mode 100644 index 0000000..6c55a06 --- /dev/null +++ b/fortune/strfile/strfile.h @@ -0,0 +1,54 @@ +/* $NetBSD: strfile.h,v 1.6 2003/08/07 09:37:15 agc Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ken Arnold. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)strfile.h 8.1 (Berkeley) 5/31/93 + */ + +#include + +#define STR_ENDSTRING(line,tbl) \ + ((line)[0] == (tbl).str_delim && (line)[1] == '\n') + +typedef struct { /* information table */ +#define VERSION 1 + u_int32_t str_version; /* version number */ + u_int32_t str_numstr; /* # of strings in the file */ + u_int32_t str_longlen; /* length of longest string */ + u_int32_t str_shortlen; /* length of shortest string */ +#define STR_RANDOM 0x1 /* randomized pointers */ +#define STR_ORDERED 0x2 /* ordered pointers */ +#define STR_ROTATED 0x4 /* rot-13'd text */ + u_int32_t str_flags; /* bit field for flags */ + unsigned char stuff[4]; /* long aligned space */ +#define str_delim stuff[0] /* delimiting character */ +} STRFILE; diff --git a/fortune/tools/Do_spell b/fortune/tools/Do_spell new file mode 100644 index 0000000..1961a11 --- /dev/null +++ b/fortune/tools/Do_spell @@ -0,0 +1,11 @@ +#!/bin/sh - +# $NetBSD: Do_spell,v 1.2 1995/03/23 08:28:50 cgd Exp $ +# +# @(#)Do_spell 8.1 (Berkeley) 5/31/93 +# + +F=_spell.$$ +echo $1 +spell < $1 > $F +sort $F $1.sp.ok | uniq -u | column +rm -f $F diff --git a/fortune/tools/Do_troff b/fortune/tools/Do_troff new file mode 100644 index 0000000..6df4ee6 --- /dev/null +++ b/fortune/tools/Do_troff @@ -0,0 +1,11 @@ +#!/bin/csh -f +# $NetBSD: Do_troff,v 1.2 1995/03/23 08:28:52 cgd Exp $ +# +# @(#)Do_troff 8.1 (Berkeley) 5/31/93 +# + +set file=$1 +shift +( echo ".ds Se $file" ; cat Troff.mac ; sed -f Troff.sed $file ) | \ + $* -me >& $file.tr +echo troff output in $file.tr diff --git a/fortune/tools/Troff.mac b/fortune/tools/Troff.mac new file mode 100644 index 0000000..43231f3 --- /dev/null +++ b/fortune/tools/Troff.mac @@ -0,0 +1,28 @@ +.\" $NetBSD: Troff.mac,v 1.2 1995/03/23 08:28:53 cgd Exp $ +.\" +.nr tp 8 +.nr hm 3v +.nr fm 2v +.nr tm 5v +.nr bm 4v +.cs R +.sc +.sz 6 +.ll +10n +.lt \n(.l +.de $h +.tl 'Fortune Database'\\*(Se'\*(td' +.. +.de $f +.tl ''- % -'' +.. +.2c +.nf +.ta +.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n +.de %% +.sp .3 +.ce +\(sq\|\(sq\|\(sq\|\(sq\|\(sq\|\(sq\|\(sq\|\(sq\|\(sq +.sp .2 +.. diff --git a/fortune/tools/Troff.sed b/fortune/tools/Troff.sed new file mode 100644 index 0000000..3216681 --- /dev/null +++ b/fortune/tools/Troff.sed @@ -0,0 +1,13 @@ +/^['.]/s//\\\&&/ +/^%%/s//.&/ +/--/s//\\*-/g +/_a-squared cos 2(phi)/s//\\fIa\\fP\\u2\\d cos 2\\(*f/ +/__**\([a-zA-Z]*\)/s//\\fI\1\\fP/g +/"\(.\)/s//\1\\*:/g +/`\(.\)/s//\1\\*`/g +/'\(.\)/s//\1\\*'/g +/~\(.\)/s//\1\\*~/g +/\^\(.\)/s//\1\\*^/g +/,\(.\)/s//\1\\*,/g +/\(.\)\(.\)/s//\\o_\1\2_/g +/*/s//\\(bs/g diff --git a/fortune/tools/do_sort b/fortune/tools/do_sort new file mode 100644 index 0000000..ddae1ac --- /dev/null +++ b/fortune/tools/do_sort @@ -0,0 +1,12 @@ +#! /bin/sh +# $NetBSD: do_sort,v 1.2 1995/03/23 08:28:54 cgd Exp $ +# +# @(#)do_sort 8.1 (Berkeley) 5/31/93 +# +# an aggressive little script for sorting the fortune files +# depends on octal 02 and 03 not being anywhere in the files. + +sp="/usr/bin/sort -bdfu -T /var/tmp" + +sed 's/^%$//' | tr '\12' '\3' | tr '\2' '\12' | $sp | sed 'a\ + %' | sed -e 's/^//' -e 's/$//' | tr '\3' '\12' diff --git a/fortune/unstr/Makefile.bsd b/fortune/unstr/Makefile.bsd new file mode 100644 index 0000000..f949b57 --- /dev/null +++ b/fortune/unstr/Makefile.bsd @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.7 2002/09/18 06:16:40 lukem Exp $ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +NOMAN= # defined + +PROG= unstr +CPPFLAGS+= -I${.CURDIR}/../strfile + +.include diff --git a/fortune/unstr/Makefrag b/fortune/unstr/Makefrag new file mode 100644 index 0000000..4abd7b4 --- /dev/null +++ b/fortune/unstr/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for fortune/unstr +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# fortune_unstr_DIRS := $(USRBINDIR) +fortune_unstr_INCS := -Ifortune/strfile + +fortune_unstr_all: fortune/unstr/unstr + +# We don't install unstr. +fortune_unstr_install: fortune_unstr_all +# $(INSTALL_BINARY) fortune/unstr/unstr $(INSTALL_PREFIX)$(USRBINDIR)/unstr diff --git a/fortune/unstr/unstr.c b/fortune/unstr/unstr.c new file mode 100644 index 0000000..06dc0ea --- /dev/null +++ b/fortune/unstr/unstr.c @@ -0,0 +1,151 @@ +/* $NetBSD: unstr.c,v 1.11 2004/02/08 22:23:50 jsm Exp $ */ + +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ken Arnold. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1991, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)unstr.c 8.1 (Berkeley) 5/31/93"; +#else +__RCSID("$NetBSD: unstr.c,v 1.11 2004/02/08 22:23:50 jsm Exp $"); +#endif +#endif /* not lint */ + +/* + * This program un-does what "strfile" makes, thereby obtaining the + * original file again. This can be invoked with the name of the output + * file, the input file, or both. If invoked with only a single argument + * ending in ".dat", it is pressumed to be the input file and the output + * file will be the same stripped of the ".dat". If the single argument + * doesn't end in ".dat", then it is presumed to be the output file, and + * the input file is that name prepended by a ".dat". If both are given + * they are treated literally as the input and output files. + * + * Ken Arnold Aug 13, 1978 + */ + +# include +# include +# include +# include +# include +# include +# include +# include +# include "strfile.h" + +# ifndef MAXPATHLEN +# define MAXPATHLEN 1024 +# endif /* MAXPATHLEN */ + +char *Infile, /* name of input file */ + Datafile[MAXPATHLEN], /* name of data file */ + Delimch; /* delimiter character */ + +FILE *Inf, *Dataf; + +void getargs(char *[]); +int main(int, char *[]); +void order_unstr(STRFILE *); + +/* ARGSUSED */ +int +main(ac, av) + int ac __attribute__((__unused__)); + char **av; +{ + static STRFILE tbl; /* description table */ + + getargs(av); + if ((Inf = fopen(Infile, "r")) == NULL) + err(1, "fopen %s", Infile); + if ((Dataf = fopen(Datafile, "r")) == NULL) + err(1, "fopen %s", Datafile); + (void) fread((char *) &tbl, sizeof tbl, 1, Dataf); + BE32TOH(tbl.str_version); + BE32TOH(tbl.str_numstr); + BE32TOH(tbl.str_longlen); + BE32TOH(tbl.str_shortlen); + BE32TOH(tbl.str_flags); + if (!(tbl.str_flags & (STR_ORDERED | STR_RANDOM))) { + fprintf(stderr, "nothing to do -- table in file order\n"); + exit(1); + } + Delimch = tbl.str_delim; + order_unstr(&tbl); + (void) fclose(Inf); + (void) fclose(Dataf); + exit(0); +} + +void +getargs(av) + char *av[]; +{ + if (!*++av) { + (void) fprintf(stderr, "usage: unstr datafile\n"); + exit(1); + } + Infile = *av; + (void) strcpy(Datafile, Infile); + (void) strcat(Datafile, ".dat"); +} + +void +order_unstr(tbl) + STRFILE *tbl; +{ + unsigned int i; + char *sp; + u_int64_t pos; + char buf[BUFSIZ]; + + for (i = 0; i < tbl->str_numstr; i++) { + (void) fread((char *) &pos, 1, sizeof pos, Dataf); + (void) fseek(Inf, be64toh(pos), SEEK_SET); + if (i != 0) + (void) printf("%c\n", Delimch); + for (;;) { + sp = fgets(buf, sizeof buf, Inf); + if (sp == NULL || STR_ENDSTRING(sp, *tbl)) + break; + else + fputs(sp, stdout); + } + } +} diff --git a/gomoku/Makefile.bsd b/gomoku/Makefile.bsd new file mode 100644 index 0000000..9af821e --- /dev/null +++ b/gomoku/Makefile.bsd @@ -0,0 +1,11 @@ +# $NetBSD: Makefile,v 1.4 1998/02/18 22:37:31 jtc Exp $ +# @(#)Makefile 8.1 (Berkeley) 7/24/94 + +PROG= gomoku +SRCS= bdinit.c bdisp.c main.c makemove.c pickmove.c stoc.c +MAN= gomoku.6 +DPADD= ${LIBCURSES} +LDADD= -lcurses +HIDEGAME=hidegame + +.include diff --git a/gomoku/Makefrag b/gomoku/Makefrag new file mode 100644 index 0000000..5660a70 --- /dev/null +++ b/gomoku/Makefrag @@ -0,0 +1,36 @@ +# Makefrag - makefile fragment for gomoku +# +# Copyright (c) 1997, 1998 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +gomoku_DIRS := $(GAMESDIR) $(MAN6DIR) + +gomoku_all: gomoku/gomoku gomoku/gomoku.6 + +gomoku_install: gomoku_all + $(INSTALL_BINARY) gomoku/gomoku $(INSTALL_PREFIX)$(GAMESDIR)/gomoku + $(HIDE_GAME) gomoku + $(INSTALL_MANUAL) gomoku/gomoku.6 diff --git a/gomoku/bdinit.c b/gomoku/bdinit.c new file mode 100644 index 0000000..53ea7d2 --- /dev/null +++ b/gomoku/bdinit.c @@ -0,0 +1,251 @@ +/* $NetBSD: bdinit.c,v 1.5 2003/08/07 09:37:15 agc Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "from: @(#)bdinit.c 8.2 (Berkeley) 5/3/95"; +#else +__RCSID("$NetBSD: bdinit.c,v 1.5 2003/08/07 09:37:15 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include "gomoku.h" + +void +bdinit(bp) + struct spotstr *bp; +{ + int i, j, r; + struct spotstr *sp; + struct combostr *cbp; + + movenum = 1; + + /* mark the borders as such */ + sp = bp; + for (i = BSZ2; --i >= 0; sp++) { + sp->s_occ = BORDER; /* top border */ + sp->s_flg = BFLAGALL; + } + + /* fill entire board with EMPTY spots */ + memset(frames, 0, sizeof(frames)); + cbp = frames; + for (j = 0; ++j < BSZ1; sp++) { /* for each row */ + for (i = 0; ++i < BSZ1; sp++) { /* for each column */ + sp->s_occ = EMPTY; + sp->s_flg = 0; + sp->s_wval = 0; + if (j < 5) { + /* directions 1, 2, 3 are blocked */ + sp->s_flg |= (BFLAG << 1) | (BFLAG << 2) | + (BFLAG << 3); + sp->s_fval[BLACK][1].s = MAXCOMBO; + sp->s_fval[BLACK][2].s = MAXCOMBO; + sp->s_fval[BLACK][3].s = MAXCOMBO; + sp->s_fval[WHITE][1].s = MAXCOMBO; + sp->s_fval[WHITE][2].s = MAXCOMBO; + sp->s_fval[WHITE][3].s = MAXCOMBO; + } else if (j == 5) { + /* five spaces, blocked on one side */ + sp->s_fval[BLACK][1].s = 0x500; + sp->s_fval[BLACK][2].s = 0x500; + sp->s_fval[BLACK][3].s = 0x500; + sp->s_fval[WHITE][1].s = 0x500; + sp->s_fval[WHITE][2].s = 0x500; + sp->s_fval[WHITE][3].s = 0x500; + } else { + /* six spaces, not blocked */ + sp->s_fval[BLACK][1].s = 0x401; + sp->s_fval[BLACK][2].s = 0x401; + sp->s_fval[BLACK][3].s = 0x401; + sp->s_fval[WHITE][1].s = 0x401; + sp->s_fval[WHITE][2].s = 0x401; + sp->s_fval[WHITE][3].s = 0x401; + } + if (i > (BSZ - 4)) { + /* directions 0, 1 are blocked */ + sp->s_flg |= BFLAG | (BFLAG << 1); + sp->s_fval[BLACK][0].s = MAXCOMBO; + sp->s_fval[BLACK][1].s = MAXCOMBO; + sp->s_fval[WHITE][0].s = MAXCOMBO; + sp->s_fval[WHITE][1].s = MAXCOMBO; + } else if (i == (BSZ - 4)) { + sp->s_fval[BLACK][0].s = 0x500; + sp->s_fval[WHITE][0].s = 0x500; + /* if direction 1 is not blocked */ + if (!(sp->s_flg & (BFLAG << 1))) { + sp->s_fval[BLACK][1].s = 0x500; + sp->s_fval[WHITE][1].s = 0x500; + } + } else { + sp->s_fval[BLACK][0].s = 0x401; + sp->s_fval[WHITE][0].s = 0x401; + if (i < 5) { + /* direction 3 is blocked */ + sp->s_flg |= (BFLAG << 3); + sp->s_fval[BLACK][3].s = MAXCOMBO; + sp->s_fval[WHITE][3].s = MAXCOMBO; + } else if (i == 5 && + !(sp->s_flg & (BFLAG << 3))) { + sp->s_fval[BLACK][3].s = 0x500; + sp->s_fval[WHITE][3].s = 0x500; + } + } + /* + * Allocate a frame structure for non blocked frames. + */ + for (r = 4; --r >= 0; ) { + if (sp->s_flg & (BFLAG << r)) + continue; + cbp->c_combo.s = sp->s_fval[BLACK][r].s; + cbp->c_vertex = sp - board; + cbp->c_nframes = 1; + cbp->c_dir = r; + sp->s_frame[r] = cbp; + cbp++; + } + } + sp->s_occ = BORDER; /* left & right border */ + sp->s_flg = BFLAGALL; + } + + /* mark the borders as such */ + for (i = BSZ1; --i >= 0; sp++) { + sp->s_occ = BORDER; /* bottom border */ + sp->s_flg = BFLAGALL; + } + + sortframes[BLACK] = (struct combostr *)0; + sortframes[WHITE] = (struct combostr *)0; + init_overlap(); +} + +/* + * Initialize the overlap array. + * Each entry in the array is a bit mask with eight bits corresponding + * to whether frame B overlaps frame A (as indexed by overlap[A * FAREA + B]). + * The eight bits coorespond to whether A and B are open ended (length 6) or + * closed (length 5). + * 0 A closed and B closed + * 1 A closed and B open + * 2 A open and B closed + * 3 A open and B open + * 4 A closed and B closed and overlaps in more than one spot + * 5 A closed and B open and overlaps in more than one spot + * 6 A open and B closed and overlaps in more than one spot + * 7 A open and B open and overlaps in more than one spot + * As pieces are played, it can make frames not overlap if there are no + * common open spaces shared between the two frames. + */ +void +init_overlap() +{ + struct spotstr *sp1, *sp2; + struct combostr *cbp; + int i, f, r, n, d1, d2; + int mask, bmask, vertex, s; + u_char *str; + short *ip; + + memset(overlap, 0, sizeof(overlap)); + memset(intersect, 0, sizeof(intersect)); + str = &overlap[FAREA * FAREA]; + ip = &intersect[FAREA * FAREA]; + for (cbp = frames + FAREA; --cbp >= frames; ) { /* each frame */ + str -= FAREA; + ip -= FAREA; + sp1 = &board[vertex = cbp->c_vertex]; + d1 = dd[r = cbp->c_dir]; + /* + * s = 5 if closed, 6 if open. + * At this point black & white are the same. + */ + s = 5 + sp1->s_fval[BLACK][r].c.b; + /* for each spot in frame A */ + for (i = 0; i < s; i++, sp1 += d1, vertex += d1) { + /* the sixth spot in frame A only overlaps if it is open */ + mask = (i == 5) ? 0xC : 0xF; + /* for each direction */ + for (r = 4; --r >= 0; ) { + bmask = BFLAG << r; + sp2 = sp1; + d2 = dd[r]; + /* for each frame that intersects at spot sp1 */ + for (f = 0; f < 6; f++, sp2 -= d2) { + if (sp2->s_occ == BORDER) + break; + if (sp2->s_flg & bmask) + continue; + n = sp2->s_frame[r] - frames; + ip[n] = vertex; + str[n] |= (f == 5) ? mask & 0xA : mask; + if (r == cbp->c_dir) { + /* compute the multiple spot overlap values */ + switch (i) { + case 0: /* sp1 is the first spot in A */ + if (f == 4) + str[n] |= 0xA0; + else if (f != 5) + str[n] |= 0xF0; + break; + case 1: /* sp1 is the second spot in A */ + if (f == 5) + str[n] |= 0xA0; + else + str[n] |= 0xF0; + break; + case 4: /* sp1 is the penultimate spot in A */ + if (f == 0) + str[n] |= 0xC0; + else + str[n] |= 0xF0; + break; + case 5: /* sp1 is the last spot in A */ + if (f == 1) + str[n] |= 0xC0; + else if (f != 0) + str[n] |= 0xF0; + break; + default: + str[n] |= 0xF0; + } + } + } + } + } + } +} diff --git a/gomoku/bdisp.c b/gomoku/bdisp.c new file mode 100644 index 0000000..522d92f --- /dev/null +++ b/gomoku/bdisp.c @@ -0,0 +1,288 @@ +/* $NetBSD: bdisp.c,v 1.8 2003/08/07 09:37:16 agc Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)bdisp.c 8.2 (Berkeley) 5/3/95"; +#else +__RCSID("$NetBSD: bdisp.c,v 1.8 2003/08/07 09:37:16 agc Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include "gomoku.h" + +#define SCRNH 24 /* assume 24 lines for the moment */ +#define SCRNW 80 /* assume 80 chars for the moment */ + +static int lastline; +static char pcolor[] = "*O.?"; + +extern int interactive; +extern char *plyr[]; + +/* + * Initialize screen display. + */ +void +cursinit() +{ + + initscr(); + noecho(); + cbreak(); + leaveok(stdscr, TRUE); +} + +/* + * Restore screen display. + */ +void +cursfini() +{ + + leaveok(stdscr, FALSE); + move(23, 0); + clrtoeol(); + refresh(); + endwin(); +} + +/* + * Initialize board display. + */ +void +bdisp_init() +{ + int i, j; + + /* top border */ + for (i = 1; i < BSZ1; i++) { + move(0, 2 * i + 1); + addch(letters[i]); + } + /* left and right edges */ + for (j = BSZ1; --j > 0; ) { + move(20 - j, 0); + printw("%2d ", j); + move(20 - j, 2 * BSZ1 + 1); + printw("%d ", j); + } + /* bottom border */ + for (i = 1; i < BSZ1; i++) { + move(20, 2 * i + 1); + addch(letters[i]); + } + bdwho(0); + move(0, 47); + addstr("# black white"); + lastline = 0; + bdisp(); +} + +/* + * Update who is playing whom. + */ +void +bdwho(update) + int update; +{ + int i; + + move(21, 0); + clrtoeol(); + i = 6 - strlen(plyr[BLACK]) / 2; + move(21, i > 0 ? i : 0); + printw("BLACK/%s", plyr[BLACK]); + i = 30 - strlen(plyr[WHITE]) / 2; + move(21, i); + printw("WHITE/%s", plyr[WHITE]); + move(21, 19); + addstr(" vs. "); + if (update) + refresh(); +} + +/* + * Update the board display after a move. + */ +void +bdisp() +{ + int i, j, c; + struct spotstr *sp; + + for (j = BSZ1; --j > 0; ) { + for (i = 1; i < BSZ1; i++) { + move(BSZ1 - j, 2 * i + 1); + sp = &board[i + j * BSZ1]; + if (debug > 1 && sp->s_occ == EMPTY) { + if (sp->s_flg & IFLAGALL) + c = '+'; + else if (sp->s_flg & CFLAGALL) + c = '-'; + else + c = '.'; + } else + c = pcolor[sp->s_occ]; + addch(c); + } + } + refresh(); +} + +#ifdef DEBUG +/* + * Dump board display to a file. + */ +void +bdump(fp) + FILE *fp; +{ + int i, j, c; + struct spotstr *sp; + + /* top border */ + fprintf(fp, " A B C D E F G H J K L M N O P Q R S T\n"); + + for (j = BSZ1; --j > 0; ) { + /* left edge */ + fprintf(fp, "%2d ", j); + for (i = 1; i < BSZ1; i++) { + sp = &board[i + j * BSZ1]; + if (debug > 1 && sp->s_occ == EMPTY) { + if (sp->s_flg & IFLAGALL) + c = '+'; + else if (sp->s_flg & CFLAGALL) + c = '-'; + else + c = '.'; + } else + c = pcolor[sp->s_occ]; + putc(c, fp); + putc(' ', fp); + } + /* right edge */ + fprintf(fp, "%d\n", j); + } + + /* bottom border */ + fprintf(fp, " A B C D E F G H J K L M N O P Q R S T\n"); +} +#endif /* DEBUG */ + +/* + * Display a transcript entry + */ +void +dislog(str) + const char *str; +{ + + if (++lastline >= SCRNH - 1) { + /* move 'em up */ + lastline = 1; + } + move(lastline, 46); + addnstr(str, SCRNW - 46 - 1); + clrtoeol(); + move(lastline + 1, 46); + clrtoeol(); +} + +/* + * Display a question. + */ + +void +ask(str) + const char *str; +{ + int len = strlen(str); + + move(23, 0); + addstr(str); + clrtoeol(); + move(23, len); + refresh(); +} + +int +getline(buf, size) + char *buf; + int size; +{ + char *cp, *end; + int c; + + c = 0; + cp = buf; + end = buf + size - 1; /* save room for the '\0' */ + while (cp < end && (c = getchar()) != EOF && c != '\n' && c != '\r') { + *cp++ = c; + if (interactive) { + switch (c) { + case 0x0c: /* ^L */ + wrefresh(curscr); + cp--; + continue; + case 0x15: /* ^U */ + case 0x18: /* ^X */ + while (cp > buf) { + cp--; + addch('\b'); + } + clrtoeol(); + break; + case '\b': + case 0x7f: /* DEL */ + if (cp == buf + 1) { + cp--; + continue; + } + cp -= 2; + addch('\b'); + c = ' '; + /* FALLTHROUGH */ + default: + addch(c); + } + refresh(); + } + } + *cp = '\0'; + return(c != EOF); +} diff --git a/gomoku/gomoku.6 b/gomoku/gomoku.6 new file mode 100644 index 0000000..f78eb0e --- /dev/null +++ b/gomoku/gomoku.6 @@ -0,0 +1,95 @@ +.\" $NetBSD: gomoku.6,v 1.10 2003/08/07 09:37:17 agc Exp $ +.\" +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Ralph Campbell. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)gomoku.6 8.2 (Berkeley) 8/4/94 +.\" +.Dd August 4, 1994 +.Dt GOMOKU 6 +.Os +.Sh NAME +.Nm gomoku +.Nd game of 5 in a row +.Sh SYNOPSIS +.Nm +.Op Fl bcdu +.Op Fl D Ar debugfile +.Op Ar inputfile +.Sh DESCRIPTION +.Nm +is a two player game were the object is to get 5 in a row horizontally, +vertically or diagonally on a 19 by 19 grid. +By convention, black always moves first. +With no arguments, +.Nm +will display a playing board and prompt for moves from the user. +Valid moves are a letter for the column and a number for the row of an empty +board location. +Entering ``quit" or ``resign" will end the game. +You can save the current state of the game by entering ``save" and +supplying a file name when prompted. +The optional file +.Ar inputfile +can be used to restore a saved game. +.Pp +The options are: +.Bl -tag -width Ds +.It Fl b +This option sets background mode. +Input moves are read from standard input, +the computer picks a move, and prints it to standard output. +The first input line should be either ``black" or ``white" to specify whether +.Nm +has the first move or not respectively. +This option was intended for game tournaments where a referee program handles +the board display and pits one program against another. +.It Fl c +Computer versus computer. +.Nm +will play a game against itself. +This is mostly used for testing. +.It Fl d +Print debugging information. +Repeating this option more than once yields more detailed information. +.It Fl D Ar debugfile +Print the debug information to +.Ar debugfile +instead of to the standard output. +.It Fl u +User versus user. +This is mostly used for testing. +.El +.Sh AUTHOR +.An Ralph Campbell +.Sh ACKNOWLEDGEMENTS +The board display routines were based on the +.Nm goref +program written by Peter Langston. diff --git a/gomoku/gomoku.h b/gomoku/gomoku.h new file mode 100644 index 0000000..0d9ff6e --- /dev/null +++ b/gomoku/gomoku.h @@ -0,0 +1,302 @@ +/* $NetBSD: gomoku.h,v 1.10 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)gomoku.h 8.2 (Berkeley) 5/3/95 + */ + +#include +#include +#include + +/* board dimensions */ +#define BSZ 19 +#define BSZ1 (BSZ+1) +#define BSZ2 (BSZ+2) +#define BAREA (BSZ2*BSZ1+1) + +/* frame dimentions (based on 5 in a row) */ +#define FSZ1 BSZ +#define FSZ2 (BSZ-4) +#define FAREA (FSZ1*FSZ2 + FSZ2*FSZ2 + FSZ1*FSZ2 + FSZ2*FSZ2) + +#define MUP (BSZ1) +#define MDOWN (-BSZ1) +#define MLEFT (-1) +#define MRIGHT (1) + +/* values for s_occ */ +#define BLACK 0 +#define WHITE 1 +#define EMPTY 2 +#define BORDER 3 + +/* return values for makemove() */ +#define MOVEOK 0 +#define RESIGN 1 +#define ILLEGAL 2 +#define WIN 3 +#define TIE 4 +#define SAVE 5 + +#define A 1 +#define B 2 +#define C 3 +#define D 4 +#define E 5 +#define F 6 +#define G 7 +#define H 8 +#define J 9 +#define K 10 +#define L 11 +#define M 12 +#define N 13 +#define O 14 +#define P 15 +#define Q 16 +#define R 17 +#define S 18 +#define T 19 + +#define PT(x,y) ((x) + BSZ1 * (y)) + +/* + * A 'frame' is a group of five or six contiguous board locations. + * An open ended frame is one with spaces on both ends; otherwise, its closed. + * A 'combo' is a group of intersecting frames and consists of two numbers: + * 'A' is the number of moves to make the combo non-blockable. + * 'B' is the minimum number of moves needed to win once it can't be blocked. + * A 'force' is a combo that is one move away from being non-blockable + * + * Single frame combo values: + * board values + * 5,0 . . . . . O + * 4,1 . . . . . . + * 4,0 . . . . X O + * 3,1 . . . . X . + * 3,0 . . . X X O + * 2,1 . . . X X . + * 2,0 . . X X X O + * 1,1 . . X X X . + * 1,0 . X X X X O + * 0,1 . X X X X . + * 0,0 X X X X X O + * + * The rule for combining two combos ( ) + * with V valid intersection points, is: + * A' = A1 + A2 - 2 - V + * B' = MIN(A1 + B1 - 1, A2 + B2 - 1) + * Each time a frame is added to the combo, the number of moves to complete + * the force is the number of moves needed to 'fill' the frame plus one at + * the intersection point. The number of moves to win is the number of moves + * to complete the best frame minus the last move to complete the force. + * Note that it doesn't make sense to combine a <1,x> with anything since + * it is already a force. Also, the frames have to be independent so a + * single move doesn't affect more than one frame making up the combo. + * + * Rules for comparing which of two combos ( ) is better: + * Both the same color: + * = (A1 < A2 || A1 == A2 && B1 <= B2) ? : + * We want to complete the force first, then the combo with the + * fewest moves to win. + * Different colors, is the combo for the player with the next move: + * = A2 <= 1 && (A1 > 1 || A2 + B2 < A1 + B1) ? : + * We want to block only if we have to (i.e., if they are one move away + * from completing a force and we don't have a force that we can + * complete which takes fewer or the same number of moves to win). + */ + +#define MAXA 6 +#define MAXB 2 +#define MAXCOMBO 0x600 + +union comboval { + struct { +#if BYTE_ORDER == BIG_ENDIAN + u_char a; /* # moves to complete force */ + u_char b; /* # moves to win */ +#endif +#if BYTE_ORDER == LITTLE_ENDIAN + u_char b; /* # moves to win */ + u_char a; /* # moves to complete force */ +#endif + } c; + u_short s; +}; + +/* + * This structure is used to record information about single frames (F) and + * combinations of two more frames (C). + * For combinations of two or more frames, there is an additional + * array of pointers to the frames of the combination which is sorted + * by the index into the frames[] array. This is used to prevent duplication + * since frame A combined with B is the same as B with A. + * struct combostr *c_sort[size c_nframes]; + * The leaves of the tree (frames) are numbered 0 (bottom, leftmost) + * to c_nframes - 1 (top, right). This is stored in c_frameindex and + * c_dir if C_LOOP is set. + */ +struct combostr { + struct combostr *c_next; /* list of combos at the same level */ + struct combostr *c_prev; /* list of combos at the same level */ + struct combostr *c_link[2]; /* C:previous level or F:NULL */ + union comboval c_linkv[2]; /* C:combo value for link[0,1] */ + union comboval c_combo; /* C:combo value for this level */ + u_short c_vertex; /* C:intersection or F:frame head */ + u_char c_nframes; /* number of frames in the combo */ + u_char c_dir; /* C:loop frame or F:frame direction */ + u_char c_flg; /* C:combo flags */ + u_char c_frameindex; /* C:intersection frame index */ + u_char c_framecnt[2]; /* number of frames left to attach */ + u_char c_emask[2]; /* C:bit mask of completion spots for + * link[0] and link[1] */ + u_char c_voff[2]; /* C:vertex offset within frame */ +}; + +/* flag values for c_flg */ +#define C_OPEN_0 0x01 /* link[0] is an open ended frame */ +#define C_OPEN_1 0x02 /* link[1] is an open ended frame */ +#define C_LOOP 0x04 /* link[1] intersects previous frame */ +#define C_MARK 0x08 /* indicates combo processed */ + +/* + * This structure is used for recording the completion points of + * multi frame combos. + */ +struct elist { + struct elist *e_next; /* list of completion points */ + struct combostr *e_combo; /* the whole combo */ + u_char e_off; /* offset in frame of this empty spot */ + u_char e_frameindex; /* intersection frame index */ + u_char e_framecnt; /* number of frames left to attach */ + u_char e_emask; /* real value of the frame's emask */ + union comboval e_fval; /* frame combo value */ +}; + +/* + * One spot structure for each location on the board. + * A frame consists of the combination for the current spot plus the five spots + * 0: right, 1: right & down, 2: down, 3: down & left. + */ +struct spotstr { + short s_occ; /* color of occupant */ + short s_wval; /* weighted value */ + int s_flg; /* flags for graph walks */ + struct combostr *s_frame[4]; /* level 1 combo for frame[dir] */ + union comboval s_fval[2][4]; /* combo value for [color][frame] */ + union comboval s_combo[2]; /* minimum combo value for BLK & WHT */ + u_char s_level[2]; /* number of frames in the min combo */ + u_char s_nforce[2]; /* number of <1,x> combos */ + struct elist *s_empty; /* level n combo completion spots */ + struct elist *s_nempty; /* level n+1 combo completion spots */ + int dummy[2]; /* XXX */ +}; + +/* flag values for s_flg */ +#define CFLAG 0x000001 /* frame is part of a combo */ +#define CFLAGALL 0x00000F /* all frame directions marked */ +#define IFLAG 0x000010 /* legal intersection point */ +#define IFLAGALL 0x0000F0 /* any intersection points? */ +#define FFLAG 0x000100 /* frame is part of a <1,x> combo */ +#define FFLAGALL 0x000F00 /* all force frames */ +#define MFLAG 0x001000 /* frame has already been seen */ +#define MFLAGALL 0x00F000 /* all frames seen */ +#define BFLAG 0x010000 /* frame intersects border or dead */ +#define BFLAGALL 0x0F0000 /* all frames dead */ + +/* + * This structure is used to store overlap information between frames. + */ +struct ovlp_info { + int o_intersect; /* intersection spot */ + struct combostr *o_fcombo; /* the connecting combo */ + u_char o_link; /* which link to update (0 or 1) */ + u_char o_off; /* offset in frame of intersection */ + u_char o_frameindex; /* intersection frame index */ +}; + +extern const char *letters; +extern char fmtbuf[]; +extern const char pdir[]; + +extern const int dd[4]; +extern struct spotstr board[BAREA]; /* info for board */ +extern struct combostr frames[FAREA]; /* storage for single frames */ +extern struct combostr *sortframes[2]; /* sorted, non-empty frames */ +extern u_char overlap[FAREA * FAREA]; /* frame [a][b] overlap */ +extern short intersect[FAREA * FAREA]; /* frame [a][b] intersection */ +extern int movelog[BSZ * BSZ]; /* history of moves */ +extern int movenum; +extern int debug; + +#define ASSERT(x) + +void bdinit(struct spotstr *); +void init_overlap(void); +int getline(char *, int); +void ask(const char *); +void dislog(const char *); +void bdump(FILE *); +void bdisp(void); +void bdisp_init(void); +void cursfini(void); +void cursinit(void); +void bdwho(int); +void panic(const char *) __attribute__((__noreturn__)); +void glog(const char *); +void dlog(const char *); +void quit(void) __attribute__((__noreturn__)); +void quitsig(int) __attribute__((__noreturn__)); +void whatsup(int); +int readinput(FILE *); +const char *stoc(int); +int lton(int); +int ctos(const char *); +void update_overlap(struct spotstr *); +int makemove(int, int); +int list_eq(struct combostr **, struct combostr **, int); +void clearcombo(struct combostr *, int); +void makeempty(struct combostr *); +void appendcombo(struct combostr *, int); +void updatecombo(struct combostr *, int); +void markcombo(struct combostr *); +void printcombo(struct combostr *, char *); +void makecombo(struct combostr *, struct spotstr *, int, int); +void makecombo2(struct combostr *, struct spotstr *, int, int); +int sortcombo(struct combostr **, struct combostr **, struct combostr *); +int checkframes(struct combostr *, struct combostr *, struct spotstr *, + int, struct ovlp_info *); +void addframes(int); +void scanframes(int); +int better(const struct spotstr *, const struct spotstr *, int); +int pickmove(int); diff --git a/gomoku/main.c b/gomoku/main.c new file mode 100644 index 0000000..299dee1 --- /dev/null +++ b/gomoku/main.c @@ -0,0 +1,550 @@ +/* $NetBSD: main.c,v 1.12 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1994\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)main.c 8.4 (Berkeley) 5/4/95"; +#else +__RCSID("$NetBSD: main.c,v 1.12 2004/01/27 20:30:29 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include +#include +#include +#include + +#include "gomoku.h" + +#define USER 0 /* get input from standard input */ +#define PROGRAM 1 /* get input from program */ +#define INPUTF 2 /* get input from a file */ + +int interactive = 1; /* true if interactive */ +int debug; /* true if debugging */ +int test; /* both moves come from 1: input, 2: computer */ +char *prog; /* name of program */ +FILE *debugfp; /* file for debug output */ +FILE *inputfp; /* file for debug input */ + +const char pdir[4] = "-\\|/"; +char fmtbuf[128]; + +struct spotstr board[BAREA]; /* info for board */ +struct combostr frames[FAREA]; /* storage for all frames */ +struct combostr *sortframes[2]; /* sorted list of non-empty frames */ +u_char overlap[FAREA * FAREA]; /* true if frame [a][b] overlap */ +short intersect[FAREA * FAREA]; /* frame [a][b] intersection */ +int movelog[BSZ * BSZ]; /* log of all the moves */ +int movenum; /* current move number */ +const char *plyr[2]; /* who's who */ + +int main(int, char *[]); + +int +main(argc, argv) + int argc; + char **argv; +{ + char buf[128]; + int color, curmove, i, ch; + int input[2]; + static const char *const fmt[2] = { + "%3d %-6s", + "%3d %-6s" + }; + + /* Revoke setgid privileges */ + setregid(getgid(), getgid()); + + color = curmove = 0; + + prog = strrchr(argv[0], '/'); + if (prog) + prog++; + else + prog = argv[0]; + + while ((ch = getopt(argc, argv, "bcdD:u")) != -1) { + switch (ch) { + case 'b': /* background */ + interactive = 0; + break; + case 'd': /* debugging */ + debug++; + break; + case 'D': /* log debug output to file */ + if ((debugfp = fopen(optarg, "w")) == NULL) + err(1, "%s", optarg); + break; + case 'u': /* testing: user verses user */ + test = 1; + break; + case 'c': /* testing: computer verses computer */ + test = 2; + break; + } + } + argc -= optind; + argv += optind; + if (argc) { + if ((inputfp = fopen(*argv, "r")) == NULL) + err(1, "%s", *argv); + } + + if (!debug) +#ifdef SVR4 + srand(time(0)); +#else + srandom(time(0)); +#endif + if (interactive) + cursinit(); /* initialize curses */ +again: + bdinit(board); /* initialize board contents */ + + if (interactive) { + plyr[BLACK] = plyr[WHITE] = "???"; + bdisp_init(); /* initialize display of board */ +#ifdef DEBUG + signal(SIGINT, whatsup); +#else + signal(SIGINT, quitsig); +#endif + + if (inputfp == NULL && test == 0) { + for (;;) { + ask("black or white? "); + getline(buf, sizeof(buf)); + if (buf[0] == 'b' || buf[0] == 'B') { + color = BLACK; + break; + } + if (buf[0] == 'w' || buf[0] == 'W') { + color = WHITE; + break; + } + move(22, 0); + printw("Black moves first. Please enter `black' or `white'\n"); + } + move(22, 0); + clrtoeol(); + } + } else { + setbuf(stdout, 0); + getline(buf, sizeof(buf)); + if (strcmp(buf, "black") == 0) + color = BLACK; + else if (strcmp(buf, "white") == 0) + color = WHITE; + else { + sprintf(fmtbuf, + "Huh? Expected `black' or `white', got `%s'\n", + buf); + panic(fmtbuf); + } + } + + if (inputfp) { + input[BLACK] = INPUTF; + input[WHITE] = INPUTF; + } else { + switch (test) { + case 0: /* user verses program */ + input[color] = USER; + input[!color] = PROGRAM; + break; + + case 1: /* user verses user */ + input[BLACK] = USER; + input[WHITE] = USER; + break; + + case 2: /* program verses program */ + input[BLACK] = PROGRAM; + input[WHITE] = PROGRAM; + break; + } + } + if (interactive) { + plyr[BLACK] = input[BLACK] == USER ? "you" : prog; + plyr[WHITE] = input[WHITE] == USER ? "you" : prog; + bdwho(1); + } + + for (color = BLACK; ; color = !color) { + top: + switch (input[color]) { + case INPUTF: /* input comes from a file */ + curmove = readinput(inputfp); + if (curmove != ILLEGAL) + break; + switch (test) { + case 0: /* user verses program */ + input[color] = USER; + input[!color] = PROGRAM; + break; + + case 1: /* user verses user */ + input[BLACK] = USER; + input[WHITE] = USER; + break; + + case 2: /* program verses program */ + input[BLACK] = PROGRAM; + input[WHITE] = PROGRAM; + break; + } + plyr[BLACK] = input[BLACK] == USER ? "you" : prog; + plyr[WHITE] = input[WHITE] == USER ? "you" : prog; + bdwho(1); + goto top; + + case USER: /* input comes from standard input */ + getinput: + if (interactive) + ask("move? "); + if (!getline(buf, sizeof(buf))) { + curmove = RESIGN; + break; + } + if (buf[0] == '\0') + goto getinput; + curmove = ctos(buf); + if (interactive) { + if (curmove == SAVE) { + FILE *fp; + + ask("save file name? "); + (void)getline(buf, sizeof(buf)); + if ((fp = fopen(buf, "w")) == NULL) { + glog("cannot create save file"); + goto getinput; + } + for (i = 0; i < movenum - 1; i++) + fprintf(fp, "%s\n", + stoc(movelog[i])); + fclose(fp); + goto getinput; + } + if (curmove != RESIGN && + board[curmove].s_occ != EMPTY) { + glog("Illegal move"); + goto getinput; + } + } + break; + + case PROGRAM: /* input comes from the program */ + curmove = pickmove(color); + break; + } + if (interactive) { + sprintf(fmtbuf, fmt[color], movenum, stoc(curmove)); + glog(fmtbuf); + } + if ((i = makemove(color, curmove)) != MOVEOK) + break; + if (interactive) + bdisp(); + } + if (interactive) { + move(22, 0); + switch (i) { + case WIN: + if (input[color] == PROGRAM) + addstr("Ha ha, I won"); + else + addstr("Rats! you won"); + break; + case TIE: + addstr("Wow! its a tie"); + break; + case ILLEGAL: + addstr("Illegal move"); + break; + } + clrtoeol(); + bdisp(); + if (i != RESIGN) { + replay: + ask("replay? "); + if (getline(buf, sizeof(buf)) && + (buf[0] == 'y' || buf[0] == 'Y')) + goto again; + if (strcmp(buf, "save") == 0) { + FILE *fp; + + ask("save file name? "); + (void)getline(buf, sizeof(buf)); + if ((fp = fopen(buf, "w")) == NULL) { + glog("cannot create save file"); + goto replay; + } + for (i = 0; i < movenum - 1; i++) + fprintf(fp, "%s\n", + stoc(movelog[i])); + fclose(fp); + goto replay; + } + } + } + quit(); + /* NOTREACHED */ + return(0); +} + +int +readinput(fp) + FILE *fp; +{ + char *cp; + int c; + + cp = fmtbuf; + while ((c = getc(fp)) != EOF && c != '\n') + *cp++ = c; + *cp = '\0'; + return (ctos(fmtbuf)); +} + +#ifdef DEBUG +/* + * Handle strange situations. + */ +void +whatsup(signum) + int signum; +{ + int i, pnum, n, s1, s2, d1, d2; + struct spotstr *sp; + FILE *fp; + char *str; + struct elist *ep; + struct combostr *cbp; + + if (!interactive) + quit(); +top: + ask("cmd? "); + if (!getline(fmtbuf, sizeof(fmtbuf))) + quit(); + switch (*fmtbuf) { + case '\0': + goto top; + case 'q': /* conservative quit */ + quit(); + case 'd': /* set debug level */ + debug = fmtbuf[1] - '0'; + sprintf(fmtbuf, "Debug set to %d", debug); + dlog(fmtbuf); + sleep(1); + case 'c': + break; + case 'b': /* back up a move */ + if (movenum > 1) { + movenum--; + board[movelog[movenum - 1]].s_occ = EMPTY; + bdisp(); + } + goto top; + case 's': /* suggest a move */ + i = fmtbuf[1] == 'b' ? BLACK : WHITE; + sprintf(fmtbuf, "suggest %c %s", i == BLACK ? 'B' : 'W', + stoc(pickmove(i))); + dlog(fmtbuf); + goto top; + case 'f': /* go forward a move */ + board[movelog[movenum - 1]].s_occ = movenum & 1 ? BLACK : WHITE; + movenum++; + bdisp(); + goto top; + case 'l': /* print move history */ + if (fmtbuf[1] == '\0') { + for (i = 0; i < movenum - 1; i++) + dlog(stoc(movelog[i])); + goto top; + } + if ((fp = fopen(fmtbuf + 1, "w")) == NULL) + goto top; + for (i = 0; i < movenum - 1; i++) { + fprintf(fp, "%s", stoc(movelog[i])); + if (++i < movenum - 1) + fprintf(fp, " %s\n", stoc(movelog[i])); + else + fputc('\n', fp); + } + bdump(fp); + fclose(fp); + goto top; + case 'o': + n = 0; + for (str = fmtbuf + 1; *str; str++) + if (*str == ',') { + for (d1 = 0; d1 < 4; d1++) + if (str[-1] == pdir[d1]) + break; + str[-1] = '\0'; + sp = &board[s1 = ctos(fmtbuf + 1)]; + n = (sp->s_frame[d1] - frames) * FAREA; + *str++ = '\0'; + break; + } + sp = &board[s2 = ctos(str)]; + while (*str) + str++; + for (d2 = 0; d2 < 4; d2++) + if (str[-1] == pdir[d2]) + break; + n += sp->s_frame[d2] - frames; + str = fmtbuf; + sprintf(str, "overlap %s%c,", stoc(s1), pdir[d1]); + str += strlen(str); + sprintf(str, "%s%c = %x", stoc(s2), pdir[d2], overlap[n]); + dlog(fmtbuf); + goto top; + case 'p': + sp = &board[i = ctos(fmtbuf + 1)]; + sprintf(fmtbuf, "V %s %x/%d %d %x/%d %d %d %x", stoc(i), + sp->s_combo[BLACK].s, sp->s_level[BLACK], + sp->s_nforce[BLACK], + sp->s_combo[WHITE].s, sp->s_level[WHITE], + sp->s_nforce[WHITE], sp->s_wval, sp->s_flg); + dlog(fmtbuf); + sprintf(fmtbuf, "FB %s %x %x %x %x", stoc(i), + sp->s_fval[BLACK][0].s, sp->s_fval[BLACK][1].s, + sp->s_fval[BLACK][2].s, sp->s_fval[BLACK][3].s); + dlog(fmtbuf); + sprintf(fmtbuf, "FW %s %x %x %x %x", stoc(i), + sp->s_fval[WHITE][0].s, sp->s_fval[WHITE][1].s, + sp->s_fval[WHITE][2].s, sp->s_fval[WHITE][3].s); + dlog(fmtbuf); + goto top; + case 'e': /* e {b|w} [0-9] spot */ + str = fmtbuf + 1; + if (*str >= '0' && *str <= '9') + n = *str++ - '0'; + else + n = 0; + sp = &board[i = ctos(str)]; + for (ep = sp->s_empty; ep; ep = ep->e_next) { + cbp = ep->e_combo; + if (n) { + if (cbp->c_nframes > n) + continue; + if (cbp->c_nframes != n) + break; + } + printcombo(cbp, fmtbuf); + dlog(fmtbuf); + } + goto top; + default: +syntax: + dlog("Options are:"); + dlog("q - quit"); + dlog("c - continue"); + dlog("d# - set debug level to #"); + dlog("p# - print values at #"); + goto top; + } +} +#endif /* DEBUG */ + +/* + * Display debug info. + */ +void +dlog(str) + const char *str; +{ + + if (debugfp) + fprintf(debugfp, "%s\n", str); + if (interactive) + dislog(str); + else + fprintf(stderr, "%s\n", str); +} + +void +glog(str) + const char *str; +{ + + if (debugfp) + fprintf(debugfp, "%s\n", str); + if (interactive) + dislog(str); + else + printf("%s\n", str); +} + +void +quit() +{ + if (interactive) { + bdisp(); /* show final board */ + cursfini(); + } + exit(0); +} + +void +quitsig(dummy) + int dummy __attribute__((__unused__)); +{ + quit(); +} + +/* + * Die gracefully. + */ +void +panic(str) + const char *str; +{ + fprintf(stderr, "%s: %s\n", prog, str); + fputs("resign\n", stdout); + quit(); +} diff --git a/gomoku/makemove.c b/gomoku/makemove.c new file mode 100644 index 0000000..f855d39 --- /dev/null +++ b/gomoku/makemove.c @@ -0,0 +1,307 @@ +/* $NetBSD: makemove.c,v 1.7 2003/08/07 09:37:17 agc Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)makemove.c 8.2 (Berkeley) 5/3/95"; +#else +__RCSID("$NetBSD: makemove.c,v 1.7 2003/08/07 09:37:17 agc Exp $"); +#endif +#endif /* not lint */ + +#include "gomoku.h" + + /* direction deltas */ +const int dd[4] = { + MRIGHT, MRIGHT+MDOWN, MDOWN, MDOWN+MLEFT +}; + +const int weight[5] = { 0, 1, 7, 22, 100 }; + +/* + * Return values: + * MOVEOK everything is OK. + * RESIGN Player resigned. + * ILLEGAL Illegal move. + * WIN The winning move was just played. + * TIE The game is a tie. + */ +int +makemove(us, mv) + int us, mv; +{ + struct spotstr *sp, *fsp; + union comboval *cp; + struct spotstr *osp; + struct combostr *cbp, *cbp1; + union comboval *cp1; + int i, f, r, d, n; + int space, val, bmask; + + /* check for end of game */ + if (mv == RESIGN) + return(RESIGN); + + /* check for illegal move */ + sp = &board[mv]; + if (sp->s_occ != EMPTY) + return(ILLEGAL); + + /* make move */ + sp->s_occ = us; + movelog[movenum - 1] = mv; + if (++movenum == BSZ * BSZ) + return(TIE); + + /* compute new frame values */ + sp->s_wval = 0; + osp = sp; + for (r = 4; --r >= 0; ) { /* for each direction */ + d = dd[r]; + fsp = osp; + bmask = BFLAG << r; + for (f = 5; --f >= 0; fsp -= d) { /* for each frame */ + if (fsp->s_occ == BORDER) + goto nextr; + if (fsp->s_flg & bmask) + continue; + + /* remove this frame from the sorted list of frames */ + cbp = fsp->s_frame[r]; + if (cbp->c_next) { + if (sortframes[BLACK] == cbp) + sortframes[BLACK] = cbp->c_next; + if (sortframes[WHITE] == cbp) + sortframes[WHITE] = cbp->c_next; + cbp->c_next->c_prev = cbp->c_prev; + cbp->c_prev->c_next = cbp->c_next; + } + + /* compute old weight value for this frame */ + cp = &fsp->s_fval[BLACK][r]; + if (cp->s <= 0x500) + val = weight[5 - cp->c.a - cp->c.b]; + else + val = 0; + cp = &fsp->s_fval[WHITE][r]; + if (cp->s <= 0x500) + val += weight[5 - cp->c.a - cp->c.b]; + + /* compute new combo value for this frame */ + sp = fsp; + space = sp->s_occ == EMPTY; + n = 0; + for (i = 5; --i >= 0; sp += d) { /* for each spot */ + if (sp->s_occ == us) + n++; + else if (sp->s_occ == EMPTY) + sp->s_wval -= val; + else { + /* this frame is now blocked, adjust values */ + fsp->s_flg |= bmask; + fsp->s_fval[BLACK][r].s = MAXCOMBO; + fsp->s_fval[WHITE][r].s = MAXCOMBO; + while (--i >= 0) { + sp += d; + if (sp->s_occ == EMPTY) + sp->s_wval -= val; + } + goto nextf; + } + } + + /* check for game over */ + if (n == 5) + return(WIN); + + /* compute new value & combo number for this frame & color */ + fsp->s_fval[!us][r].s = MAXCOMBO; + cp = &fsp->s_fval[us][r]; + /* both ends open? */ + if (space && sp->s_occ == EMPTY) { + cp->c.a = 4 - n; + cp->c.b = 1; + } else { + cp->c.a = 5 - n; + cp->c.b = 0; + } + val = weight[n]; + sp = fsp; + for (i = 5; --i >= 0; sp += d) /* for each spot */ + if (sp->s_occ == EMPTY) + sp->s_wval += val; + + /* add this frame to the sorted list of frames by combo value */ + cbp1 = sortframes[us]; + if (!cbp1) + sortframes[us] = cbp->c_next = cbp->c_prev = cbp; + else { + cp1 = &board[cbp1->c_vertex].s_fval[us][cbp1->c_dir]; + if (cp->s <= cp1->s) { + /* insert at the head of the list */ + sortframes[us] = cbp; + } else { + do { + cbp1 = cbp1->c_next; + cp1 = &board[cbp1->c_vertex].s_fval[us][cbp1->c_dir]; + if (cp->s <= cp1->s) + break; + } while (cbp1 != sortframes[us]); + } + cbp->c_next = cbp1; + cbp->c_prev = cbp1->c_prev; + cbp1->c_prev->c_next = cbp; + cbp1->c_prev = cbp; + } + + nextf: + ; + } + + /* both ends open? */ + if (fsp->s_occ == EMPTY) { + cp = &fsp->s_fval[BLACK][r]; + if (cp->c.b) { + cp->c.a += 1; + cp->c.b = 0; + } + cp = &fsp->s_fval[WHITE][r]; + if (cp->c.b) { + cp->c.a += 1; + cp->c.b = 0; + } + } + + nextr: + ; + } + + update_overlap(osp); + + return(MOVEOK); +} + +/* + * fix up the overlap array due to updating spot osp. + */ +void +update_overlap(osp) + struct spotstr *osp; +{ + struct spotstr *sp, *sp1, *sp2; + int i, f, r, r1, d, d1, n; + int a, b, bmask, bmask1; + struct spotstr *esp; + char *str; + + esp = NULL; + for (r = 4; --r >= 0; ) { /* for each direction */ + d = dd[r]; + sp1 = osp; + bmask = BFLAG << r; + for (f = 0; f < 6; f++, sp1 -= d) { /* for each frame */ + if (sp1->s_occ == BORDER) + break; + if (sp1->s_flg & bmask) + continue; + /* + * Update all other frames that intersect the current one + * to indicate whether they still overlap or not. + * Since F1 overlap F2 == F2 overlap F1, we only need to + * do the rows 0 <= r1 <= r. The r1 == r case is special + * since the two frames can overlap at more than one point. + */ + str = &overlap[(a = sp1->s_frame[r] - frames) * FAREA]; + sp2 = sp1 - d; + for (i = f + 1; i < 6; i++, sp2 -= d) { + if (sp2->s_occ == BORDER) + break; + if (sp2->s_flg & bmask) + continue; + /* + * count the number of empty spots to see if there is + * still an overlap. + */ + n = 0; + sp = sp1; + for (b = i - f; b < 5; b++, sp += d) { + if (sp->s_occ == EMPTY) { + esp = sp; /* save the intersection point */ + n++; + } + } + b = sp2->s_frame[r] - frames; + if (n == 0) { + if (sp->s_occ == EMPTY) { + str[b] &= 0xA; + overlap[b * FAREA + a] &= 0xC; + intersect[a * FAREA + b] = n = sp - board; + intersect[b * FAREA + a] = n; + } else { + str[b] = 0; + overlap[b * FAREA + a] = 0; + } + } else if (n == 1) { + if (sp->s_occ == EMPTY) { + str[b] &= 0xAF; + overlap[b * FAREA + a] &= 0xCF; + } else { + str[b] &= 0xF; + overlap[b * FAREA + a] &= 0xF; + } + intersect[a * FAREA + b] = n = esp - board; + intersect[b * FAREA + a] = n; + } + /* else no change, still multiple overlap */ + } + + /* the other directions can only intersect at spot osp */ + for (r1 = r; --r1 >= 0; ) { + d1 = dd[r1]; + bmask1 = BFLAG << r1; + sp = osp; + for (i = 6; --i >= 0; sp -= d1) { /* for each spot */ + if (sp->s_occ == BORDER) + break; + if (sp->s_flg & bmask1) + continue; + b = sp->s_frame[r1] - frames; + str[b] = 0; + overlap[b * FAREA + a] = 0; + } + } + } + } +} diff --git a/gomoku/pickmove.c b/gomoku/pickmove.c new file mode 100644 index 0000000..db0fe69 --- /dev/null +++ b/gomoku/pickmove.c @@ -0,0 +1,1508 @@ +/* $NetBSD: pickmove.c,v 1.11 2004/01/27 20:26:20 jsm Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)pickmove.c 8.2 (Berkeley) 5/3/95"; +#else +__RCSID("$NetBSD: pickmove.c,v 1.11 2004/01/27 20:26:20 jsm Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include + +#include "gomoku.h" + +#define BITS_PER_INT (sizeof(int) * CHAR_BIT) +#define MAPSZ (BAREA / BITS_PER_INT) + +#define BIT_SET(a, b) ((a)[(b)/BITS_PER_INT] |= (1 << ((b) % BITS_PER_INT))) +#define BIT_CLR(a, b) ((a)[(b)/BITS_PER_INT] &= ~(1 << ((b) % BITS_PER_INT))) +#define BIT_TEST(a, b) ((a)[(b)/BITS_PER_INT] & (1 << ((b) % BITS_PER_INT))) + +struct combostr *hashcombos[FAREA]; /* hash list for finding duplicates */ +struct combostr *sortcombos; /* combos at higher levels */ +int combolen; /* number of combos in sortcombos */ +int nextcolor; /* color of next move */ +int elistcnt; /* count of struct elist allocated */ +int combocnt; /* count of struct combostr allocated */ +int forcemap[MAPSZ]; /* map for blocking <1,x> combos */ +int tmpmap[MAPSZ]; /* map for blocking <1,x> combos */ +int nforce; /* count of opponent <1,x> combos */ + +int +pickmove(us) + int us; +{ + struct spotstr *sp, *sp1, *sp2; + union comboval *Ocp, *Tcp; + int m; + + /* first move is easy */ + if (movenum == 1) + return (PT(K,10)); + + /* initialize all the board values */ + for (sp = &board[PT(T,20)]; --sp >= &board[PT(A,1)]; ) { + sp->s_combo[BLACK].s = MAXCOMBO + 1; + sp->s_combo[WHITE].s = MAXCOMBO + 1; + sp->s_level[BLACK] = 255; + sp->s_level[WHITE] = 255; + sp->s_nforce[BLACK] = 0; + sp->s_nforce[WHITE] = 0; + sp->s_flg &= ~(FFLAGALL | MFLAGALL); + } + nforce = 0; + memset(forcemap, 0, sizeof(forcemap)); + + /* compute new values */ + nextcolor = us; + scanframes(BLACK); + scanframes(WHITE); + + /* find the spot with the highest value */ + for (sp = sp1 = sp2 = &board[PT(T,19)]; --sp >= &board[PT(A,1)]; ) { + if (sp->s_occ != EMPTY) + continue; + if (debug && (sp->s_combo[BLACK].c.a == 1 || + sp->s_combo[WHITE].c.a == 1)) { + sprintf(fmtbuf, "- %s %x/%d %d %x/%d %d %d", stoc(sp - board), + sp->s_combo[BLACK].s, sp->s_level[BLACK], + sp->s_nforce[BLACK], + sp->s_combo[WHITE].s, sp->s_level[WHITE], + sp->s_nforce[WHITE], + sp->s_wval); + dlog(fmtbuf); + } + /* pick the best black move */ + if (better(sp, sp1, BLACK)) + sp1 = sp; + /* pick the best white move */ + if (better(sp, sp2, WHITE)) + sp2 = sp; + } + + if (debug) { + sprintf(fmtbuf, "B %s %x/%d %d %x/%d %d %d", + stoc(sp1 - board), + sp1->s_combo[BLACK].s, sp1->s_level[BLACK], + sp1->s_nforce[BLACK], + sp1->s_combo[WHITE].s, sp1->s_level[WHITE], + sp1->s_nforce[WHITE], sp1->s_wval); + dlog(fmtbuf); + sprintf(fmtbuf, "W %s %x/%d %d %x/%d %d %d", + stoc(sp2 - board), + sp2->s_combo[WHITE].s, sp2->s_level[WHITE], + sp2->s_nforce[WHITE], + sp2->s_combo[BLACK].s, sp2->s_level[BLACK], + sp2->s_nforce[BLACK], sp2->s_wval); + dlog(fmtbuf); + /* + * Check for more than one force that can't + * all be blocked with one move. + */ + sp = (us == BLACK) ? sp2 : sp1; + m = sp - board; + if (sp->s_combo[!us].c.a == 1 && !BIT_TEST(forcemap, m)) + dlog("*** Can't be blocked"); + } + if (us == BLACK) { + Ocp = &sp1->s_combo[BLACK]; + Tcp = &sp2->s_combo[WHITE]; + } else { + Tcp = &sp1->s_combo[BLACK]; + Ocp = &sp2->s_combo[WHITE]; + sp = sp1; + sp1 = sp2; + sp2 = sp; + } + /* + * Block their combo only if we have to (i.e., if they are one move + * away from completing a force and we don't have a force that + * we can complete which takes fewer moves to win). + */ + if (Tcp->c.a <= 1 && (Ocp->c.a > 1 || + Tcp->c.a + Tcp->c.b < Ocp->c.a + Ocp->c.b)) + return (sp2 - board); + return (sp1 - board); +} + +/* + * Return true if spot 'sp' is better than spot 'sp1' for color 'us'. + */ +int +better(sp, sp1, us) + const struct spotstr *sp; + const struct spotstr *sp1; + int us; +{ + int them, s, s1; + + if (sp->s_combo[us].s < sp1->s_combo[us].s) + return (1); + if (sp->s_combo[us].s != sp1->s_combo[us].s) + return (0); + if (sp->s_level[us] < sp1->s_level[us]) + return (1); + if (sp->s_level[us] != sp1->s_level[us]) + return (0); + if (sp->s_nforce[us] > sp1->s_nforce[us]) + return (1); + if (sp->s_nforce[us] != sp1->s_nforce[us]) + return (0); + + them = !us; + s = sp - board; + s1 = sp1 - board; + if (BIT_TEST(forcemap, s) && !BIT_TEST(forcemap, s1)) + return (1); + if (!BIT_TEST(forcemap, s) && BIT_TEST(forcemap, s1)) + return (0); + if (sp->s_combo[them].s < sp1->s_combo[them].s) + return (1); + if (sp->s_combo[them].s != sp1->s_combo[them].s) + return (0); + if (sp->s_level[them] < sp1->s_level[them]) + return (1); + if (sp->s_level[them] != sp1->s_level[them]) + return (0); + if (sp->s_nforce[them] > sp1->s_nforce[them]) + return (1); + if (sp->s_nforce[them] != sp1->s_nforce[them]) + return (0); + + if (sp->s_wval > sp1->s_wval) + return (1); + if (sp->s_wval != sp1->s_wval) + return (0); + +#ifdef SVR4 + return (rand() & 1); +#else + return (random() & 1); +#endif +} + +int curcolor; /* implicit parameter to makecombo() */ +int curlevel; /* implicit parameter to makecombo() */ + +/* + * Scan the sorted list of non-empty frames and + * update the minimum combo values for each empty spot. + * Also, try to combine frames to find more complex (chained) moves. + */ +void +scanframes(color) + int color; +{ + struct combostr *cbp, *ecbp; + struct spotstr *sp; + union comboval *cp; + struct elist *ep, *nep; + int i, r, d, n; + union comboval cb; + + curcolor = color; + + /* check for empty list of frames */ + cbp = sortframes[color]; + if (cbp == (struct combostr *)0) + return; + + /* quick check for four in a row */ + sp = &board[cbp->c_vertex]; + cb.s = sp->s_fval[color][d = cbp->c_dir].s; + if (cb.s < 0x101) { + d = dd[d]; + for (i = 5 + cb.c.b; --i >= 0; sp += d) { + if (sp->s_occ != EMPTY) + continue; + sp->s_combo[color].s = cb.s; + sp->s_level[color] = 1; + } + return; + } + + /* + * Update the minimum combo value for each spot in the frame + * and try making all combinations of two frames intersecting at + * an empty spot. + */ + n = combolen; + ecbp = cbp; + do { + sp = &board[cbp->c_vertex]; + cp = &sp->s_fval[color][r = cbp->c_dir]; + d = dd[r]; + if (cp->c.b) { + /* + * Since this is the first spot of an open ended + * frame, we treat it as a closed frame. + */ + cb.c.a = cp->c.a + 1; + cb.c.b = 0; + if (cb.s < sp->s_combo[color].s) { + sp->s_combo[color].s = cb.s; + sp->s_level[color] = 1; + } + /* + * Try combining other frames that intersect + * at this spot. + */ + makecombo2(cbp, sp, 0, cb.s); + if (cp->s != 0x101) + cb.s = cp->s; + else if (color != nextcolor) + memset(tmpmap, 0, sizeof(tmpmap)); + sp += d; + i = 1; + } else { + cb.s = cp->s; + i = 0; + } + for (; i < 5; i++, sp += d) { /* for each spot */ + if (sp->s_occ != EMPTY) + continue; + if (cp->s < sp->s_combo[color].s) { + sp->s_combo[color].s = cp->s; + sp->s_level[color] = 1; + } + if (cp->s == 0x101) { + sp->s_nforce[color]++; + if (color != nextcolor) { + n = sp - board; + BIT_SET(tmpmap, n); + } + } + /* + * Try combining other frames that intersect + * at this spot. + */ + makecombo2(cbp, sp, i, cb.s); + } + if (cp->s == 0x101 && color != nextcolor) { + if (nforce == 0) + memcpy(forcemap, tmpmap, sizeof(tmpmap)); + else { + for (i = 0; (unsigned int)i < MAPSZ; i++) + forcemap[i] &= tmpmap[i]; + } + } + /* mark frame as having been processed */ + board[cbp->c_vertex].s_flg |= MFLAG << r; + } while ((cbp = cbp->c_next) != ecbp); + + /* + * Try to make new 3rd level combos, 4th level, etc. + * Limit the search depth early in the game. + */ + d = 2; + while (d <= ((movenum + 1) >> 1) && combolen > n) { + if (debug) { + sprintf(fmtbuf, "%cL%d %d %d %d", "BW"[color], + d, combolen - n, combocnt, elistcnt); + dlog(fmtbuf); + refresh(); + } + n = combolen; + addframes(d); + d++; + } + + /* scan for combos at empty spots */ + for (sp = &board[PT(T,20)]; --sp >= &board[PT(A,1)]; ) { + for (ep = sp->s_empty; ep; ep = nep) { + cbp = ep->e_combo; + if (cbp->c_combo.s <= sp->s_combo[color].s) { + if (cbp->c_combo.s != sp->s_combo[color].s) { + sp->s_combo[color].s = cbp->c_combo.s; + sp->s_level[color] = cbp->c_nframes; + } else if (cbp->c_nframes < sp->s_level[color]) + sp->s_level[color] = cbp->c_nframes; + } + nep = ep->e_next; + free(ep); + elistcnt--; + } + sp->s_empty = (struct elist *)0; + for (ep = sp->s_nempty; ep; ep = nep) { + cbp = ep->e_combo; + if (cbp->c_combo.s <= sp->s_combo[color].s) { + if (cbp->c_combo.s != sp->s_combo[color].s) { + sp->s_combo[color].s = cbp->c_combo.s; + sp->s_level[color] = cbp->c_nframes; + } else if (cbp->c_nframes < sp->s_level[color]) + sp->s_level[color] = cbp->c_nframes; + } + nep = ep->e_next; + free(ep); + elistcnt--; + } + sp->s_nempty = (struct elist *)0; + } + + /* remove old combos */ + if ((cbp = sortcombos) != (struct combostr *)0) { + struct combostr *ncbp; + + /* scan the list */ + ecbp = cbp; + do { + ncbp = cbp->c_next; + free(cbp); + combocnt--; + } while ((cbp = ncbp) != ecbp); + sortcombos = (struct combostr *)0; + } + combolen = 0; + +#ifdef DEBUG + if (combocnt) { + sprintf(fmtbuf, "scanframes: %c combocnt %d", "BW"[color], + combocnt); + dlog(fmtbuf); + whatsup(0); + } + if (elistcnt) { + sprintf(fmtbuf, "scanframes: %c elistcnt %d", "BW"[color], + elistcnt); + dlog(fmtbuf); + whatsup(0); + } +#endif +} + +/* + * Compute all level 2 combos of frames intersecting spot 'osp' + * within the frame 'ocbp' and combo value 's'. + */ +void +makecombo2(ocbp, osp, off, s) + struct combostr *ocbp; + struct spotstr *osp; + int off; + int s; +{ + struct spotstr *fsp; + struct combostr *ncbp; + int f, r, d, c; + int baseB, fcnt, emask, bmask, n; + union comboval ocb, fcb; + struct combostr **scbpp, *fcbp; + + /* try to combine a new frame with those found so far */ + ocb.s = s; + baseB = ocb.c.a + ocb.c.b - 1; + fcnt = ocb.c.a - 2; + emask = fcnt ? ((ocb.c.b ? 0x1E : 0x1F) & ~(1 << off)) : 0; + for (r = 4; --r >= 0; ) { /* for each direction */ + /* don't include frames that overlap in the same direction */ + if (r == ocbp->c_dir) + continue; + d = dd[r]; + /* + * Frame A combined with B is the same value as B combined with A + * so skip frames that have already been processed (MFLAG). + * Also skip blocked frames (BFLAG) and frames that are <1,x> + * since combining another frame with it isn't valid. + */ + bmask = (BFLAG | FFLAG | MFLAG) << r; + fsp = osp; + for (f = 0; f < 5; f++, fsp -= d) { /* for each frame */ + if (fsp->s_occ == BORDER) + break; + if (fsp->s_flg & bmask) + continue; + + /* don't include frames of the wrong color */ + fcb.s = fsp->s_fval[curcolor][r].s; + if (fcb.c.a >= MAXA) + continue; + + /* + * Get the combo value for this frame. + * If this is the end point of the frame, + * use the closed ended value for the frame. + */ + if ((f == 0 && fcb.c.b) || fcb.s == 0x101) { + fcb.c.a++; + fcb.c.b = 0; + } + + /* compute combo value */ + c = fcb.c.a + ocb.c.a - 3; + if (c > 4) + continue; + n = fcb.c.a + fcb.c.b - 1; + if (baseB < n) + n = baseB; + + /* make a new combo! */ + ncbp = (struct combostr *)malloc(sizeof(struct combostr) + + 2 * sizeof(struct combostr *)); + if (ncbp == NULL) + panic("Out of memory!"); + scbpp = (struct combostr **)(ncbp + 1); + fcbp = fsp->s_frame[r]; + if (ocbp < fcbp) { + scbpp[0] = ocbp; + scbpp[1] = fcbp; + } else { + scbpp[0] = fcbp; + scbpp[1] = ocbp; + } + ncbp->c_combo.c.a = c; + ncbp->c_combo.c.b = n; + ncbp->c_link[0] = ocbp; + ncbp->c_link[1] = fcbp; + ncbp->c_linkv[0].s = ocb.s; + ncbp->c_linkv[1].s = fcb.s; + ncbp->c_voff[0] = off; + ncbp->c_voff[1] = f; + ncbp->c_vertex = osp - board; + ncbp->c_nframes = 2; + ncbp->c_dir = 0; + ncbp->c_frameindex = 0; + ncbp->c_flg = (ocb.c.b) ? C_OPEN_0 : 0; + if (fcb.c.b) + ncbp->c_flg |= C_OPEN_1; + ncbp->c_framecnt[0] = fcnt; + ncbp->c_emask[0] = emask; + ncbp->c_framecnt[1] = fcb.c.a - 2; + ncbp->c_emask[1] = ncbp->c_framecnt[1] ? + ((fcb.c.b ? 0x1E : 0x1F) & ~(1 << f)) : 0; + combocnt++; + + if ((c == 1 && debug > 1) || debug > 3) { + sprintf(fmtbuf, "%c c %d %d m %x %x o %d %d", + "bw"[curcolor], + ncbp->c_framecnt[0], ncbp->c_framecnt[1], + ncbp->c_emask[0], ncbp->c_emask[1], + ncbp->c_voff[0], ncbp->c_voff[1]); + dlog(fmtbuf); + printcombo(ncbp, fmtbuf); + dlog(fmtbuf); + } + if (c > 1) { + /* record the empty spots that will complete this combo */ + makeempty(ncbp); + + /* add the new combo to the end of the list */ + appendcombo(ncbp, curcolor); + } else { + updatecombo(ncbp, curcolor); + free(ncbp); + combocnt--; + } +#ifdef DEBUG + if (c == 1 && debug > 1 || debug > 5) { + markcombo(ncbp); + bdisp(); + whatsup(0); + clearcombo(ncbp, 0); + } +#endif /* DEBUG */ + } + } +} + +/* + * Scan the sorted list of frames and try to add a frame to + * combinations of 'level' number of frames. + */ +void +addframes(level) + int level; +{ + struct combostr *cbp, *ecbp; + struct spotstr *sp, *fsp; + struct elist *ep, *nep; + int i, r, d; + struct combostr **cbpp, *pcbp; + union comboval fcb, cb; + + curlevel = level; + + /* scan for combos at empty spots */ + i = curcolor; + for (sp = &board[PT(T,20)]; --sp >= &board[PT(A,1)]; ) { + for (ep = sp->s_empty; ep; ep = nep) { + cbp = ep->e_combo; + if (cbp->c_combo.s <= sp->s_combo[i].s) { + if (cbp->c_combo.s != sp->s_combo[i].s) { + sp->s_combo[i].s = cbp->c_combo.s; + sp->s_level[i] = cbp->c_nframes; + } else if (cbp->c_nframes < sp->s_level[i]) + sp->s_level[i] = cbp->c_nframes; + } + nep = ep->e_next; + free(ep); + elistcnt--; + } + sp->s_empty = sp->s_nempty; + sp->s_nempty = (struct elist *)0; + } + + /* try to add frames to the uncompleted combos at level curlevel */ + cbp = ecbp = sortframes[curcolor]; + do { + fsp = &board[cbp->c_vertex]; + r = cbp->c_dir; + /* skip frames that are part of a <1,x> combo */ + if (fsp->s_flg & (FFLAG << r)) + continue; + + /* + * Don't include <1,x> combo frames, + * treat it as a closed three in a row instead. + */ + fcb.s = fsp->s_fval[curcolor][r].s; + if (fcb.s == 0x101) + fcb.s = 0x200; + + /* + * If this is an open ended frame, use + * the combo value with the end closed. + */ + if (fsp->s_occ == EMPTY) { + if (fcb.c.b) { + cb.c.a = fcb.c.a + 1; + cb.c.b = 0; + } else + cb.s = fcb.s; + makecombo(cbp, fsp, 0, cb.s); + } + + /* + * The next four spots are handled the same for both + * open and closed ended frames. + */ + d = dd[r]; + sp = fsp + d; + for (i = 1; i < 5; i++, sp += d) { + if (sp->s_occ != EMPTY) + continue; + makecombo(cbp, sp, i, fcb.s); + } + } while ((cbp = cbp->c_next) != ecbp); + + /* put all the combos in the hash list on the sorted list */ + cbpp = &hashcombos[FAREA]; + do { + cbp = *--cbpp; + if (cbp == (struct combostr *)0) + continue; + *cbpp = (struct combostr *)0; + ecbp = sortcombos; + if (ecbp == (struct combostr *)0) + sortcombos = cbp; + else { + /* append to sort list */ + pcbp = ecbp->c_prev; + pcbp->c_next = cbp; + ecbp->c_prev = cbp->c_prev; + cbp->c_prev->c_next = ecbp; + cbp->c_prev = pcbp; + } + } while (cbpp != hashcombos); +} + +/* + * Compute all level N combos of frames intersecting spot 'osp' + * within the frame 'ocbp' and combo value 's'. + */ +void +makecombo(ocbp, osp, off, s) + struct combostr *ocbp; + struct spotstr *osp; + int off; + int s; +{ + struct combostr *cbp, *ncbp; + struct spotstr *sp; + struct elist *ep; + int n, c; + struct elist *nep; + struct combostr **scbpp; + int baseB, fcnt, emask, verts; + union comboval ocb; + struct ovlp_info vertices[1]; + + ocb.s = s; + baseB = ocb.c.a + ocb.c.b - 1; + fcnt = ocb.c.a - 2; + emask = fcnt ? ((ocb.c.b ? 0x1E : 0x1F) & ~(1 << off)) : 0; + for (ep = osp->s_empty; ep; ep = ep->e_next) { + /* check for various kinds of overlap */ + cbp = ep->e_combo; + verts = checkframes(cbp, ocbp, osp, s, vertices); + if (verts < 0) + continue; + + /* check to see if this frame forms a valid loop */ + if (verts) { + sp = &board[vertices[0].o_intersect]; +#ifdef DEBUG + if (sp->s_occ != EMPTY) { + sprintf(fmtbuf, "loop: %c %s", "BW"[curcolor], + stoc(sp - board)); + dlog(fmtbuf); + whatsup(0); + } +#endif + /* + * It is a valid loop if the intersection spot + * of the frame we are trying to attach is one + * of the completion spots of the combostr + * we are trying to attach the frame to. + */ + for (nep = sp->s_empty; nep; nep = nep->e_next) { + if (nep->e_combo == cbp) + goto fnd; + if (nep->e_combo->c_nframes < cbp->c_nframes) + break; + } + /* frame overlaps but not at a valid spot */ + continue; + fnd: + ; + } + + /* compute the first half of the combo value */ + c = cbp->c_combo.c.a + ocb.c.a - verts - 3; + if (c > 4) + continue; + + /* compute the second half of the combo value */ + n = ep->e_fval.c.a + ep->e_fval.c.b - 1; + if (baseB < n) + n = baseB; + + /* make a new combo! */ + ncbp = (struct combostr *)malloc(sizeof(struct combostr) + + (cbp->c_nframes + 1) * sizeof(struct combostr *)); + if (ncbp == NULL) + panic("Out of memory!"); + scbpp = (struct combostr **)(ncbp + 1); + if (sortcombo(scbpp, (struct combostr **)(cbp + 1), ocbp)) { + free(ncbp); + continue; + } + combocnt++; + + ncbp->c_combo.c.a = c; + ncbp->c_combo.c.b = n; + ncbp->c_link[0] = cbp; + ncbp->c_link[1] = ocbp; + ncbp->c_linkv[1].s = ocb.s; + ncbp->c_voff[1] = off; + ncbp->c_vertex = osp - board; + ncbp->c_nframes = cbp->c_nframes + 1; + ncbp->c_flg = ocb.c.b ? C_OPEN_1 : 0; + ncbp->c_frameindex = ep->e_frameindex; + /* + * Update the completion spot mask of the frame we + * are attaching 'ocbp' to so the intersection isn't + * listed twice. + */ + ncbp->c_framecnt[0] = ep->e_framecnt; + ncbp->c_emask[0] = ep->e_emask; + if (verts) { + ncbp->c_flg |= C_LOOP; + ncbp->c_dir = vertices[0].o_frameindex; + ncbp->c_framecnt[1] = fcnt - 1; + if (ncbp->c_framecnt[1]) { + n = (vertices[0].o_intersect - ocbp->c_vertex) / + dd[ocbp->c_dir]; + ncbp->c_emask[1] = emask & ~(1 << n); + } else + ncbp->c_emask[1] = 0; + ncbp->c_voff[0] = vertices[0].o_off; + } else { + ncbp->c_dir = 0; + ncbp->c_framecnt[1] = fcnt; + ncbp->c_emask[1] = emask; + ncbp->c_voff[0] = ep->e_off; + } + + if ((c == 1 && debug > 1) || debug > 3) { + sprintf(fmtbuf, "%c v%d i%d d%d c %d %d m %x %x o %d %d", + "bw"[curcolor], verts, ncbp->c_frameindex, ncbp->c_dir, + ncbp->c_framecnt[0], ncbp->c_framecnt[1], + ncbp->c_emask[0], ncbp->c_emask[1], + ncbp->c_voff[0], ncbp->c_voff[1]); + dlog(fmtbuf); + printcombo(ncbp, fmtbuf); + dlog(fmtbuf); + } + if (c > 1) { + /* record the empty spots that will complete this combo */ + makeempty(ncbp); + combolen++; + } else { + /* update board values */ + updatecombo(ncbp, curcolor); + } +#ifdef DEBUG + if (c == 1 && debug > 1 || debug > 4) { + markcombo(ncbp); + bdisp(); + whatsup(0); + clearcombo(ncbp, 0); + } +#endif /* DEBUG */ + } +} + +#define MAXDEPTH 100 +struct elist einfo[MAXDEPTH]; +struct combostr *ecombo[MAXDEPTH]; /* separate from elist to save space */ + +/* + * Add the combostr 'ocbp' to the empty spots list for each empty spot + * in 'ocbp' that will complete the combo. + */ +void +makeempty(ocbp) + struct combostr *ocbp; +{ + struct combostr *cbp, *tcbp, **cbpp; + struct elist *ep, *nep; + struct spotstr *sp; + int s, d, m, emask, i; + int nframes; + + if (debug > 2) { + sprintf(fmtbuf, "E%c ", "bw"[curcolor]); + printcombo(ocbp, fmtbuf + 3); + dlog(fmtbuf); + } + + /* should never happen but check anyway */ + if ((nframes = ocbp->c_nframes) >= MAXDEPTH) + return; + + /* + * The lower level combo can be pointed to by more than one + * higher level 'struct combostr' so we can't modify the + * lower level. Therefore, higher level combos store the + * real mask of the lower level frame in c_emask[0] and the + * frame number in c_frameindex. + * + * First we traverse the tree from top to bottom and save the + * connection info. Then we traverse the tree from bottom to + * top overwriting lower levels with the newer emask information. + */ + ep = &einfo[nframes]; + cbpp = &ecombo[nframes]; + for (cbp = ocbp; (tcbp = cbp->c_link[1]) != NULL; + cbp = cbp->c_link[0]) { + ep--; + ep->e_combo = cbp; + *--cbpp = cbp->c_link[1]; + ep->e_off = cbp->c_voff[1]; + ep->e_frameindex = cbp->c_frameindex; + ep->e_fval.s = cbp->c_linkv[1].s; + ep->e_framecnt = cbp->c_framecnt[1]; + ep->e_emask = cbp->c_emask[1]; + } + cbp = ep->e_combo; + ep--; + ep->e_combo = cbp; + *--cbpp = cbp->c_link[0]; + ep->e_off = cbp->c_voff[0]; + ep->e_frameindex = 0; + ep->e_fval.s = cbp->c_linkv[0].s; + ep->e_framecnt = cbp->c_framecnt[0]; + ep->e_emask = cbp->c_emask[0]; + + /* now update the emask info */ + s = 0; + for (i = 2, ep += 2; i < nframes; i++, ep++) { + cbp = ep->e_combo; + nep = &einfo[ep->e_frameindex]; + nep->e_framecnt = cbp->c_framecnt[0]; + nep->e_emask = cbp->c_emask[0]; + + if (cbp->c_flg & C_LOOP) { + s++; + /* + * Account for the fact that this frame connects + * to a previous one (thus forming a loop). + */ + nep = &einfo[cbp->c_dir]; + if (--nep->e_framecnt) + nep->e_emask &= ~(1 << cbp->c_voff[0]); + else + nep->e_emask = 0; + } + } + + /* + * We only need to update the emask values of "complete" loops + * to include the intersection spots. + */ + if (s && ocbp->c_combo.c.a == 2) { + /* process loops from the top down */ + ep = &einfo[nframes]; + do { + ep--; + cbp = ep->e_combo; + if (!(cbp->c_flg & C_LOOP)) + continue; + + /* + * Update the emask values to include the + * intersection spots. + */ + nep = &einfo[cbp->c_dir]; + nep->e_framecnt = 1; + nep->e_emask = 1 << cbp->c_voff[0]; + ep->e_framecnt = 1; + ep->e_emask = 1 << ep->e_off; + ep = &einfo[ep->e_frameindex]; + do { + ep->e_framecnt = 1; + ep->e_emask = 1 << ep->e_off; + ep = &einfo[ep->e_frameindex]; + } while (ep > nep); + } while (ep != einfo); + } + + /* check all the frames for completion spots */ + for (i = 0, ep = einfo, cbpp = ecombo; i < nframes; i++, ep++, cbpp++) { + /* skip this frame if there are no incomplete spots in it */ + if ((emask = ep->e_emask) == 0) + continue; + cbp = *cbpp; + sp = &board[cbp->c_vertex]; + d = dd[cbp->c_dir]; + for (s = 0, m = 1; s < 5; s++, sp += d, m <<= 1) { + if (sp->s_occ != EMPTY || !(emask & m)) + continue; + + /* add the combo to the list of empty spots */ + nep = (struct elist *)malloc(sizeof(struct elist)); + if (nep == NULL) + panic("Out of memory!"); + nep->e_combo = ocbp; + nep->e_off = s; + nep->e_frameindex = i; + if (ep->e_framecnt > 1) { + nep->e_framecnt = ep->e_framecnt - 1; + nep->e_emask = emask & ~m; + } else { + nep->e_framecnt = 0; + nep->e_emask = 0; + } + nep->e_fval.s = ep->e_fval.s; + if (debug > 2) { + sprintf(fmtbuf, "e %s o%d i%d c%d m%x %x", + stoc(sp - board), + nep->e_off, + nep->e_frameindex, + nep->e_framecnt, + nep->e_emask, + nep->e_fval.s); + dlog(fmtbuf); + } + + /* sort by the number of frames in the combo */ + nep->e_next = sp->s_nempty; + sp->s_nempty = nep; + elistcnt++; + } + } +} + +/* + * Update the board value based on the combostr. + * This is called only if 'cbp' is a <1,x> combo. + * We handle things differently depending on whether the next move + * would be trying to "complete" the combo or trying to block it. + */ +void +updatecombo(cbp, color) + struct combostr *cbp; + int color; +{ + struct spotstr *sp; + struct combostr *tcbp; + int i, d; + int nframes, flg, s; + union comboval cb; + + flg = 0; + /* save the top level value for the whole combo */ + cb.c.a = cbp->c_combo.c.a; + nframes = cbp->c_nframes; + + if (color != nextcolor) + memset(tmpmap, 0, sizeof(tmpmap)); + + for (; (tcbp = cbp->c_link[1]) != NULL; cbp = cbp->c_link[0]) { + flg = cbp->c_flg; + cb.c.b = cbp->c_combo.c.b; + if (color == nextcolor) { + /* update the board value for the vertex */ + sp = &board[cbp->c_vertex]; + sp->s_nforce[color]++; + if (cb.s <= sp->s_combo[color].s) { + if (cb.s != sp->s_combo[color].s) { + sp->s_combo[color].s = cb.s; + sp->s_level[color] = nframes; + } else if (nframes < sp->s_level[color]) + sp->s_level[color] = nframes; + } + } else { + /* update the board values for each spot in frame */ + sp = &board[s = tcbp->c_vertex]; + d = dd[tcbp->c_dir]; + i = (flg & C_OPEN_1) ? 6 : 5; + for (; --i >= 0; sp += d, s += d) { + if (sp->s_occ != EMPTY) + continue; + sp->s_nforce[color]++; + if (cb.s <= sp->s_combo[color].s) { + if (cb.s != sp->s_combo[color].s) { + sp->s_combo[color].s = cb.s; + sp->s_level[color] = nframes; + } else if (nframes < sp->s_level[color]) + sp->s_level[color] = nframes; + } + BIT_SET(tmpmap, s); + } + } + + /* mark the frame as being part of a <1,x> combo */ + board[tcbp->c_vertex].s_flg |= FFLAG << tcbp->c_dir; + } + + if (color != nextcolor) { + /* update the board values for each spot in frame */ + sp = &board[s = cbp->c_vertex]; + d = dd[cbp->c_dir]; + i = (flg & C_OPEN_0) ? 6 : 5; + for (; --i >= 0; sp += d, s += d) { + if (sp->s_occ != EMPTY) + continue; + sp->s_nforce[color]++; + if (cb.s <= sp->s_combo[color].s) { + if (cb.s != sp->s_combo[color].s) { + sp->s_combo[color].s = cb.s; + sp->s_level[color] = nframes; + } else if (nframes < sp->s_level[color]) + sp->s_level[color] = nframes; + } + BIT_SET(tmpmap, s); + } + if (nforce == 0) + memcpy(forcemap, tmpmap, sizeof(tmpmap)); + else { + for (i = 0; (unsigned int)i < MAPSZ; i++) + forcemap[i] &= tmpmap[i]; + } + nforce++; + } + + /* mark the frame as being part of a <1,x> combo */ + board[cbp->c_vertex].s_flg |= FFLAG << cbp->c_dir; +} + +/* + * Add combo to the end of the list. + */ +void +appendcombo(cbp, color) + struct combostr *cbp; + int color __attribute__((__unused__)); +{ + struct combostr *pcbp, *ncbp; + + combolen++; + ncbp = sortcombos; + if (ncbp == (struct combostr *)0) { + sortcombos = cbp; + cbp->c_next = cbp; + cbp->c_prev = cbp; + return; + } + pcbp = ncbp->c_prev; + cbp->c_next = ncbp; + cbp->c_prev = pcbp; + ncbp->c_prev = cbp; + pcbp->c_next = cbp; +} + +/* + * Return zero if it is valid to combine frame 'fcbp' with the frames + * in 'cbp' and forms a linked chain of frames (i.e., a tree; no loops). + * Return positive if combining frame 'fcbp' to the frames in 'cbp' + * would form some kind of valid loop. Also return the intersection spots + * in 'vertices[]' beside the known intersection at spot 'osp'. + * Return -1 if 'fcbp' should not be combined with 'cbp'. + * 's' is the combo value for frame 'fcpb'. + */ +int +checkframes(cbp, fcbp, osp, s, vertices) + struct combostr *cbp; + struct combostr *fcbp; + struct spotstr *osp; + int s; + struct ovlp_info *vertices; +{ + struct combostr *tcbp, *lcbp; + int i, n, mask, flg, verts, loop, index, fcnt; + union comboval cb; + u_char *str; + short *ip; + + lcbp = NULL; + flg = 0; + + cb.s = s; + fcnt = cb.c.a - 2; + verts = 0; + loop = 0; + index = cbp->c_nframes; + n = (fcbp - frames) * FAREA; + str = &overlap[n]; + ip = &intersect[n]; + /* + * i == which overlap bit to test based on whether 'fcbp' is + * an open or closed frame. + */ + i = cb.c.b ? 2 : 0; + for (; (tcbp = cbp->c_link[1]) != NULL; + lcbp = cbp, cbp = cbp->c_link[0]) { + if (tcbp == fcbp) + return (-1); /* fcbp is already included */ + + /* check for intersection of 'tcbp' with 'fcbp' */ + index--; + mask = str[tcbp - frames]; + flg = cbp->c_flg; + n = i + ((flg & C_OPEN_1) != 0); + if (mask & (1 << n)) { + /* + * The two frames are not independent if they + * both lie in the same line and intersect at + * more than one point. + */ + if (tcbp->c_dir == fcbp->c_dir && (mask & (0x10 << n))) + return (-1); + /* + * If this is not the spot we are attaching + * 'fcbp' to and it is a reasonable intersection + * spot, then there might be a loop. + */ + n = ip[tcbp - frames]; + if (osp != &board[n]) { + /* check to see if this is a valid loop */ + if (verts) + return (-1); + if (fcnt == 0 || cbp->c_framecnt[1] == 0) + return (-1); + /* + * Check to be sure the intersection is not + * one of the end points if it is an open + * ended frame. + */ + if ((flg & C_OPEN_1) && + (n == tcbp->c_vertex || + n == tcbp->c_vertex + 5 * dd[tcbp->c_dir])) + return (-1); /* invalid overlap */ + if (cb.c.b && + (n == fcbp->c_vertex || + n == fcbp->c_vertex + 5 * dd[fcbp->c_dir])) + return (-1); /* invalid overlap */ + + vertices->o_intersect = n; + vertices->o_fcombo = cbp; + vertices->o_link = 1; + vertices->o_off = (n - tcbp->c_vertex) / + dd[tcbp->c_dir]; + vertices->o_frameindex = index; + verts++; + } + } + n = i + ((flg & C_OPEN_0) != 0); + } + if (cbp == fcbp) + return (-1); /* fcbp is already included */ + + /* check for intersection of 'cbp' with 'fcbp' */ + mask = str[cbp - frames]; + if (mask & (1 << n)) { + /* + * The two frames are not independent if they + * both lie in the same line and intersect at + * more than one point. + */ + if (cbp->c_dir == fcbp->c_dir && (mask & (0x10 << n))) + return (-1); + /* + * If this is not the spot we are attaching + * 'fcbp' to and it is a reasonable intersection + * spot, then there might be a loop. + */ + n = ip[cbp - frames]; + if (osp != &board[n]) { + /* check to see if this is a valid loop */ + if (verts) + return (-1); + if (fcnt == 0 || lcbp->c_framecnt[0] == 0) + return (-1); + /* + * Check to be sure the intersection is not + * one of the end points if it is an open + * ended frame. + */ + if ((flg & C_OPEN_0) && + (n == cbp->c_vertex || + n == cbp->c_vertex + 5 * dd[cbp->c_dir])) + return (-1); /* invalid overlap */ + if (cb.c.b && + (n == fcbp->c_vertex || + n == fcbp->c_vertex + 5 * dd[fcbp->c_dir])) + return (-1); /* invalid overlap */ + + vertices->o_intersect = n; + vertices->o_fcombo = lcbp; + vertices->o_link = 0; + vertices->o_off = (n - cbp->c_vertex) / + dd[cbp->c_dir]; + vertices->o_frameindex = 0; + verts++; + } + } + return (verts); +} + +/* + * Merge sort the frame 'fcbp' and the sorted list of frames 'cbpp' and + * store the result in 'scbpp'. 'curlevel' is the size of the 'cbpp' array. + * Return true if this list of frames is already in the hash list. + * Otherwise, add the new combo to the hash list. + */ +int +sortcombo(scbpp, cbpp, fcbp) + struct combostr **scbpp; + struct combostr **cbpp; + struct combostr *fcbp; +{ + struct combostr **spp, **cpp; + struct combostr *cbp, *ecbp; + int n, inx; + +#ifdef DEBUG + if (debug > 3) { + char *str; + + sprintf(fmtbuf, "sortc: %s%c l%d", stoc(fcbp->c_vertex), + pdir[fcbp->c_dir], curlevel); + dlog(fmtbuf); + str = fmtbuf; + for (cpp = cbpp; cpp < cbpp + curlevel; cpp++) { + sprintf(str, " %s%c", stoc((*cpp)->c_vertex), + pdir[(*cpp)->c_dir]); + str += strlen(str); + } + dlog(fmtbuf); + } +#endif /* DEBUG */ + + /* first build the new sorted list */ + n = curlevel + 1; + spp = scbpp + n; + cpp = cbpp + curlevel; + do { + cpp--; + if (fcbp > *cpp) { + *--spp = fcbp; + do + *--spp = *cpp; + while (cpp-- != cbpp); + goto inserted; + } + *--spp = *cpp; + } while (cpp != cbpp); + *--spp = fcbp; +inserted: + + /* now check to see if this list of frames has already been seen */ + cbp = hashcombos[inx = *scbpp - frames]; + if (cbp == (struct combostr *)0) { + /* + * Easy case, this list hasn't been seen. + * Add it to the hash list. + */ + fcbp = (struct combostr *) + ((char *)scbpp - sizeof(struct combostr)); + hashcombos[inx] = fcbp; + fcbp->c_next = fcbp->c_prev = fcbp; + return (0); + } + ecbp = cbp; + do { + cbpp = (struct combostr **)(cbp + 1); + cpp = cbpp + n; + spp = scbpp + n; + cbpp++; /* first frame is always the same */ + do { + if (*--spp != *--cpp) + goto next; + } while (cpp != cbpp); + /* we found a match */ +#ifdef DEBUG + if (debug > 3) { + char *str; + + sprintf(fmtbuf, "sort1: n%d", n); + dlog(fmtbuf); + str = fmtbuf; + for (cpp = scbpp; cpp < scbpp + n; cpp++) { + sprintf(str, " %s%c", stoc((*cpp)->c_vertex), + pdir[(*cpp)->c_dir]); + str += strlen(str); + } + dlog(fmtbuf); + printcombo(cbp, fmtbuf); + dlog(fmtbuf); + str = fmtbuf; + cbpp--; + for (cpp = cbpp; cpp < cbpp + n; cpp++) { + sprintf(str, " %s%c", stoc((*cpp)->c_vertex), + pdir[(*cpp)->c_dir]); + str += strlen(str); + } + dlog(fmtbuf); + } +#endif /* DEBUG */ + return (1); + next: + ; + } while ((cbp = cbp->c_next) != ecbp); + /* + * This list of frames hasn't been seen. + * Add it to the hash list. + */ + ecbp = cbp->c_prev; + fcbp = (struct combostr *)((char *)scbpp - sizeof(struct combostr)); + fcbp->c_next = cbp; + fcbp->c_prev = ecbp; + cbp->c_prev = fcbp; + ecbp->c_next = fcbp; + return (0); +} + +/* + * Print the combo into string 'str'. + */ +void +printcombo(cbp, str) + struct combostr *cbp; + char *str; +{ + struct combostr *tcbp; + + sprintf(str, "%x/%d", cbp->c_combo.s, cbp->c_nframes); + str += strlen(str); + for (; (tcbp = cbp->c_link[1]) != NULL; cbp = cbp->c_link[0]) { + sprintf(str, " %s%c%x", stoc(tcbp->c_vertex), pdir[tcbp->c_dir], + cbp->c_flg); + str += strlen(str); + } + sprintf(str, " %s%c", stoc(cbp->c_vertex), pdir[cbp->c_dir]); +} + +#ifdef DEBUG +void +markcombo(ocbp) + struct combostr *ocbp; +{ + struct combostr *cbp, *tcbp, **cbpp; + struct elist *ep, *nep, **epp; + struct spotstr *sp; + int s, d, m, i; + int nframes; + int r, n, flg, cmask, omask; + + /* should never happen but check anyway */ + if ((nframes = ocbp->c_nframes) >= MAXDEPTH) + return; + + /* + * The lower level combo can be pointed to by more than one + * higher level 'struct combostr' so we can't modify the + * lower level. Therefore, higher level combos store the + * real mask of the lower level frame in c_emask[0] and the + * frame number in c_frameindex. + * + * First we traverse the tree from top to bottom and save the + * connection info. Then we traverse the tree from bottom to + * top overwriting lower levels with the newer emask information. + */ + ep = &einfo[nframes]; + cbpp = &ecombo[nframes]; + for (cbp = ocbp; tcbp = cbp->c_link[1]; cbp = cbp->c_link[0]) { + ep--; + ep->e_combo = cbp; + *--cbpp = cbp->c_link[1]; + ep->e_off = cbp->c_voff[1]; + ep->e_frameindex = cbp->c_frameindex; + ep->e_fval.s = cbp->c_linkv[1].s; + ep->e_framecnt = cbp->c_framecnt[1]; + ep->e_emask = cbp->c_emask[1]; + } + cbp = ep->e_combo; + ep--; + ep->e_combo = cbp; + *--cbpp = cbp->c_link[0]; + ep->e_off = cbp->c_voff[0]; + ep->e_frameindex = 0; + ep->e_fval.s = cbp->c_linkv[0].s; + ep->e_framecnt = cbp->c_framecnt[0]; + ep->e_emask = cbp->c_emask[0]; + + /* now update the emask info */ + s = 0; + for (i = 2, ep += 2; i < nframes; i++, ep++) { + cbp = ep->e_combo; + nep = &einfo[ep->e_frameindex]; + nep->e_framecnt = cbp->c_framecnt[0]; + nep->e_emask = cbp->c_emask[0]; + + if (cbp->c_flg & C_LOOP) { + s++; + /* + * Account for the fact that this frame connects + * to a previous one (thus forming a loop). + */ + nep = &einfo[cbp->c_dir]; + if (--nep->e_framecnt) + nep->e_emask &= ~(1 << cbp->c_voff[0]); + else + nep->e_emask = 0; + } + } + + /* + * We only need to update the emask values of "complete" loops + * to include the intersection spots. + */ + if (s && ocbp->c_combo.c.a == 2) { + /* process loops from the top down */ + ep = &einfo[nframes]; + do { + ep--; + cbp = ep->e_combo; + if (!(cbp->c_flg & C_LOOP)) + continue; + + /* + * Update the emask values to include the + * intersection spots. + */ + nep = &einfo[cbp->c_dir]; + nep->e_framecnt = 1; + nep->e_emask = 1 << cbp->c_voff[0]; + ep->e_framecnt = 1; + ep->e_emask = 1 << ep->e_off; + ep = &einfo[ep->e_frameindex]; + do { + ep->e_framecnt = 1; + ep->e_emask = 1 << ep->e_off; + ep = &einfo[ep->e_frameindex]; + } while (ep > nep); + } while (ep != einfo); + } + + /* mark all the frames with the completion spots */ + for (i = 0, ep = einfo, cbpp = ecombo; i < nframes; i++, ep++, cbpp++) { + m = ep->e_emask; + cbp = *cbpp; + sp = &board[cbp->c_vertex]; + d = dd[s = cbp->c_dir]; + cmask = CFLAG << s; + omask = (IFLAG | CFLAG) << s; + s = ep->e_fval.c.b ? 6 : 5; + for (; --s >= 0; sp += d, m >>= 1) + sp->s_flg |= (m & 1) ? omask : cmask; + } +} + +void +clearcombo(cbp, open) + struct combostr *cbp; + int open; +{ + struct spotstr *sp; + struct combostr *tcbp; + int d, n, mask; + + for (; tcbp = cbp->c_link[1]; cbp = cbp->c_link[0]) { + clearcombo(tcbp, cbp->c_flg & C_OPEN_1); + open = cbp->c_flg & C_OPEN_0; + } + sp = &board[cbp->c_vertex]; + d = dd[n = cbp->c_dir]; + mask = ~((IFLAG | CFLAG) << n); + n = open ? 6 : 5; + for (; --n >= 0; sp += d) + sp->s_flg &= mask; +} + +int +list_eq(scbpp, cbpp, n) + struct combostr **scbpp; + struct combostr **cbpp; + int n; +{ + struct combostr **spp, **cpp; + + spp = scbpp + n; + cpp = cbpp + n; + do { + if (*--spp != *--cpp) + return (0); + } while (cpp != cbpp); + /* we found a match */ + return (1); +} +#endif /* DEBUG */ diff --git a/gomoku/stoc.c b/gomoku/stoc.c new file mode 100644 index 0000000..9ca5e65 --- /dev/null +++ b/gomoku/stoc.c @@ -0,0 +1,113 @@ +/* $NetBSD: stoc.c,v 1.8 2004/11/05 21:30:32 dsl Exp $ */ + +/* + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ralph Campbell. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)stoc.c 8.1 (Berkeley) 7/24/94"; +#else +__RCSID("$NetBSD: stoc.c,v 1.8 2004/11/05 21:30:32 dsl Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include "gomoku.h" + +const char *letters = ""; + +struct mvstr { + int m_code; + const char *m_text; +}; +static const struct mvstr mv[] = { + { RESIGN, "resign" }, + { RESIGN, "quit" }, + { SAVE, "save" }, + { -1, 0 } +}; + +/* + * Turn the spot number form of a move into the character form. + */ +const char * +stoc(s) + int s; +{ + static char buf[32]; + int i; + + for (i = 0; mv[i].m_code >= 0; i++) + if (s == mv[i].m_code) + return(mv[i].m_text); + sprintf(buf, "%c%d", letters[s % BSZ1], s / BSZ1); + return(buf); +} + +/* + * Turn the character form of a move into the spot number form. + */ +int +ctos(mp) + const char *mp; +{ + int i; + + for (i = 0; mv[i].m_code >= 0; i++) + if (strcmp(mp, mv[i].m_text) == 0) + return(mv[i].m_code); + if (!isalpha((unsigned char)mp[0])) + return(ILLEGAL); + i = atoi(&mp[1]); + if (i < 1 || i > 19) + return(ILLEGAL); + return(PT(lton(mp[0]), i)); +} + +/* + * Turn a letter into a number. + */ +int +lton(c) + int c; +{ + int i; + + if (islower(c)) + c = toupper(c); + for (i = 1; i <= BSZ && letters[i] != c; i++) + ; + return(i); +} diff --git a/hack/COPYRIGHT b/hack/COPYRIGHT new file mode 100644 index 0000000..0010379 --- /dev/null +++ b/hack/COPYRIGHT @@ -0,0 +1,33 @@ +$NetBSD: COPYRIGHT,v 1.3 2003/04/02 18:36:33 jsm Exp $ + +Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, +Amsterdam +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of the Stichting Centrum voor Wiskunde en +Informatica, nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior +written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hack/COPYRIGHT-JF b/hack/COPYRIGHT-JF new file mode 100644 index 0000000..082e8d5 --- /dev/null +++ b/hack/COPYRIGHT-JF @@ -0,0 +1,28 @@ +$NetBSD: COPYRIGHT-JF,v 1.1 2003/04/02 18:36:33 jsm Exp $ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ diff --git a/hack/Makefile.bsd b/hack/Makefile.bsd new file mode 100644 index 0000000..454be16 --- /dev/null +++ b/hack/Makefile.bsd @@ -0,0 +1,54 @@ +# $NetBSD: Makefile,v 1.39 2003/11/16 14:14:18 lukem Exp $ +# @(#)Makefile 8.2 (Berkeley) 4/27/95 + +.include + +PROG= hack +CPPFLAGS+=-I. +DPSRCS+=hack.onames.h hack.h +SRCS+= alloc.c hack.Decl.c hack.apply.c hack.bones.c hack.c hack.cmd.c \ + hack.do.c hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c \ + hack.end.c hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c \ + hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c hack.mklev.c \ + hack.mkmaze.c hack.mkobj.c hack.mkshop.c hack.mon.c hack.monst.c \ + hack.o_init.c hack.objnam.c hack.options.c hack.pager.c hack.potion.c \ + hack.pri.c hack.read.c hack.rip.c hack.rumors.c hack.save.c \ + hack.search.c hack.shk.c hack.shknam.c hack.steal.c hack.termcap.c \ + hack.timeout.c hack.topl.c hack.track.c hack.trap.c hack.tty.c \ + hack.u_init.c hack.unix.c hack.vault.c hack.version.c hack.wield.c \ + hack.wizard.c hack.worm.c hack.worn.c hack.zap.c rnd.c +MAN= hack.6 +DPADD+= ${LIBTERM} ${LIBCOMPAT} +LDADD+= -ltermcap +HIDEGAME=hidegame +SETGIDGAME=yes +CLEANFILES+=makedefs makedefs.lo +FILES=help hh data +FILESDIR=/var/games/hackdir + +CLEANFILES+=hack.onames.h +hack.onames.h: makedefs def.objects.h + ${_MKTARGET_CREATE} + ./makedefs ${.CURDIR}/def.objects.h > hack.onames.h + +makedefs: makedefs.lo + ${_MKTARGET_LINK} + ${HOST_LINK.c} -o ${.TARGET} ${.ALLSRC} + +hack.h: hack.onames.h + +.if !exists(${DESTDIR}${FILESDIR}/perm) +afterinstall: clobber +.endif + +clobber: + ${_MKMSG_INSTALL} ${DESTDIR}/var/games/hackdir/perm + ${INSTALL_FILE} -o games -g games -m 660 /dev/null \ + ${DESTDIR}/var/games/hackdir/perm + ${_MKMSG_INSTALL} ${DESTDIR}/var/games/hackdir/record + ${INSTALL_FILE} -o games -g games -m 660 /dev/null \ + ${DESTDIR}/var/games/hackdir/record + ${_MKMSG_REMOVE} "${DESTDIR}/var/games/hackdir/bones*" + rm -f ${DESTDIR}/var/games/hackdir/bones* + +.include diff --git a/hack/Makefrag b/hack/Makefrag new file mode 100644 index 0000000..eabbd2a --- /dev/null +++ b/hack/Makefrag @@ -0,0 +1,62 @@ +# Makefrag - makefile fragment for hack +# +# Copyright (c) 2000 Joseph Samuel Myers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +hack_DIRS := $(GAMESDIR) $(MAN6DIR) + +hack_CLEANFILES := hack.onames.h + +hack_all: hack/hack hack/hack.6 + +hack/hack.onames.h: hack/def.objects.h hack/makedefs + hack/makedefs $< >$@ + +hack/alloc.d hack/hack.Decl.d hack/hack.apply.d hack/hack.bones.d \ +hack/hack.d hack/hack.cmd.d hack/hack.do.d hack/hack.do_name.d \ +hack/hack.do_wear.d hack/hack.dog.d hack/hack.eat.d hack/hack.end.d \ +hack/hack.engrave.d hack/hack.fight.d hack/hack.invent.d \ +hack/hack.ioctl.d hack/hack.lev.d hack/hack.main.d hack/hack.makemon.d \ +hack/hack.mhitu.d hack/hack.mklev.d hack/hack.mkmaze.d \ +hack/hack.mkobj.d hack/hack.mkshop.d hack/hack.mon.d hack/hack.monst.d \ +hack/hack.o_init.d hack/hack.objnam.d hack/hack.options.d \ +hack/hack.pager.d hack/hack.potion.d hack/hack.pri.d hack/hack.read.d \ +hack/hack.rip.d hack/hack.rumors.d hack/hack.save.d hack/hack.search.d \ +hack/hack.shk.d hack/hack.shknam.d hack/hack.steal.d \ +hack/hack.termcap.d hack/hack.timeout.d hack/hack.topl.d \ +hack/hack.track.d hack/hack.trap.d hack/hack.tty.d hack/hack.u_init.d \ +hack/hack.unix.d hack/hack.vault.d hack/hack.version.d \ +hack/hack.wield.d hack/hack.wizard.d hack/hack.worm.d hack/hack.worn.d \ +hack/hack.zap.d hack/rnd.d: hack/hack.onames.h + +hack_install: hack_all + $(INSTALL_SCORE_GAME) hack/hack $(INSTALL_PREFIX)$(GAMESDIR)/hack + $(HIDE_GAME) hack + $(INSTALL_HACK_DIR) $(INSTALL_PREFIX)$(HACK_DIR) + set -e; for f in data help hh rumors; do $(INSTALL_DATA) hack/$$f $(INSTALL_PREFIX)$(HACK_DIR)/$$f; done + $(INSTALL_SCORE_FILE) $(HACK_DIR)/perm + $(INSTALL_SCORE_FILE) $(HACK_DIR)/record + $(INSTALL_MANUAL) hack/hack.6 diff --git a/hack/Makequest b/hack/Makequest new file mode 100644 index 0000000..256d836 --- /dev/null +++ b/hack/Makequest @@ -0,0 +1,198 @@ +# $NetBSD: Makequest,v 1.2 1995/03/23 08:29:08 cgd Exp $ +# +# Hack or Quest Makefile. + +# on some systems the termcap library is in -ltermcap +TERMLIB = -ltermlib + + +# make hack +GAME = quest +GAMEDIR = /usr/games/lib/questdir +CFLAGS = -g -DQUEST +HACKCSRC = hack.Decl.c\ + hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ + hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ + hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\ + hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\ + hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\ + hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\ + hack.options.c hack.pager.c hack.potion.c hack.pri.c\ + hack.read.c hack.rip.c hack.rumors.c hack.save.c\ + hack.search.c hack.shk.c hack.shknam.c hack.steal.c\ + hack.termcap.c hack.timeout.c hack.topl.c\ + hack.track.c hack.trap.c hack.tty.c hack.unix.c\ + hack.u_init.c hack.vault.c\ + hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\ + hack.version.c rnd.c alloc.c + +CSOURCES = $(HACKCSRC) makedefs.c + +HSOURCES = hack.h hack.mfndpos.h config.h\ + def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\ + def.mkroom.h\ + def.monst.h def.obj.h def.objclass.h def.objects.h\ + def.permonst.h def.rm.h def.trap.h def.wseg.h + +SOURCES = $(CSOURCES) $(HSOURCES) + +AUX = data help hh rumors hack.6 hack.sh + +DISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h + +HOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ + hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ + hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ + hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\ + hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\ + hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\ + hack.pager.o hack.potion.o hack.pri.o\ + hack.read.o hack.rip.o hack.rumors.o hack.save.o\ + hack.search.o hack.shk.o hack.shknam.o hack.steal.o\ + hack.termcap.o hack.timeout.o hack.topl.o\ + hack.track.o hack.trap.o\ + hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\ + hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\ + hack.version.o rnd.o alloc.o + +$(GAME): $(HOBJ) Makefile + @echo "Loading ..." + @ld -X -o $(GAME) /lib/crt0.o $(HOBJ) $(TERMLIB) -lc + +all: $(GAME) lint + @echo "Done." + +makedefs: makedefs.c + cc -o makedefs makedefs.c + + +hack.onames.h: makedefs def.objects.h + makedefs > hack.onames.h + +lint: +# lint cannot have -p here because (i) capitals are meaningful: +# [Ww]izard, (ii) identifiers may coincide in the first six places: +# doweararm() versus dowearring(). +# _flsbuf comes from , a bug in the system libraries. + @echo lint -axbh -DLINT ... + @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d' + + +diff: + @- for i in $(SOURCES) $(AUX) ; do \ + cmp -s $$i $D/$$i || \ + ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done + +distribution: Makefile + @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\ + ; do \ + cmp -s $$i $D/$$i || \ + ( echo cp $$i $D ; cp $$i $D ) ; done +# the distribution directory also contains the empty files perm and record. + + +install: + rm -f $(GAMEDIR)/$(GAME) + cp $(GAME) $(GAMEDIR)/$(GAME) + chmod 04511 $(GAMEDIR)/$(GAME) + rm -f $(GAMEDIR)/bones* +# cp hack.6 /usr/man/man6 + +clean: + rm -f *.o + + +depend: +# For the moment we are lazy and disregard /usr/include files because +# the sources contain them conditionally. Perhaps we should use cpp. +# ( /bin/grep '^#[ ]*include' $$i | sed -n \ +# -e 's,<\(.*\)>,"/usr/include/\1",' \ +# + for i in ${CSOURCES}; do \ + ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ + -e 's/[^"]*"\([^"]*\)".*/\1/' \ + -e H -e '$$g' -e '$$s/\n/ /g' \ + -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \ + >> makedep); done + for i in ${HSOURCES}; do \ + ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ + -e 's/[^"]*"\([^"]*\)".*/\1/' \ + -e H -e '$$g' -e '$$s/\n/ /g' \ + -e '$$s/.*/'$$i': &\ + touch '$$i/p \ + >> makedep); done + @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep + @echo '$$r makedep' >>eddep + @echo 'w' >>eddep + @cp Makefile Makefile.bak + ed - Makefile < eddep + @rm -f eddep makedep + @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile + @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile + @echo '# see make depend above' >> Makefile + - diff Makefile Makefile.bak + @rm -f Makefile.bak + +# DO NOT DELETE THIS LINE + +hack.Decl.o: hack.h def.mkroom.h +hack.apply.o: hack.h def.edog.h def.mkroom.h +hack.bones.o: hack.h +hack.o: hack.h +hack.cmd.o: hack.h def.func_tab.h +hack.do.o: hack.h +hack.do_name.o: hack.h +hack.do_wear.o: hack.h +hack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h +hack.eat.o: hack.h +hack.end.o: hack.h +hack.engrave.o: hack.h +hack.fight.o: hack.h +hack.invent.o: hack.h def.wseg.h +hack.ioctl.o: config.h +hack.lev.o: hack.h def.mkroom.h def.wseg.h +hack.main.o: hack.h +hack.makemon.o: hack.h +hack.mhitu.o: hack.h +hack.mklev.o: hack.h def.mkroom.h +hack.mkmaze.o: hack.h def.mkroom.h +hack.mkobj.o: hack.h +hack.mkshop.o: hack.h def.mkroom.h def.eshk.h +hack.mon.o: hack.h hack.mfndpos.h +hack.monst.o: hack.h def.eshk.h +hack.o_init.o: config.h def.objects.h hack.onames.h +hack.objnam.o: hack.h +hack.options.o: config.h hack.h +hack.pager.o: hack.h +hack.potion.o: hack.h +hack.pri.o: hack.h def.wseg.h +hack.read.o: hack.h +hack.rip.o: hack.h +hack.rumors.o: hack.h +hack.save.o: hack.h +hack.search.o: hack.h +hack.shk.o: hack.h hack.mfndpos.h def.mkroom.h def.eshk.h +hack.shknam.o: hack.h +hack.steal.o: hack.h +hack.termcap.o: config.h def.flag.h +hack.timeout.o: hack.h +hack.topl.o: hack.h +hack.track.o: hack.h +hack.trap.o: hack.h def.mkroom.h +hack.tty.o: hack.h +hack.unix.o: hack.h def.mkroom.h +hack.u_init.o: hack.h +hack.vault.o: hack.h def.mkroom.h +hack.wield.o: hack.h +hack.wizard.o: hack.h +hack.worm.o: hack.h def.wseg.h +hack.worn.o: hack.h +hack.zap.o: hack.h +hack.version.o: date.h +hack.h: config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h + touch hack.h +def.objects.h: config.h def.objclass.h + touch def.objects.h +# DEPENDENCIES MUST END AT END OF FILE +# IF YOU PUT STUFF HERE IT WILL GO AWAY +# see make depend above diff --git a/hack/OWNER b/hack/OWNER new file mode 100644 index 0000000..be2d1e5 --- /dev/null +++ b/hack/OWNER @@ -0,0 +1,2 @@ +Andries Brouwer +mcvax!aeb diff --git a/hack/Original_READ_ME b/hack/Original_READ_ME new file mode 100644 index 0000000..3787a9d --- /dev/null +++ b/hack/Original_READ_ME @@ -0,0 +1,63 @@ +$NetBSD: Original_READ_ME,v 1.2 1995/03/23 08:29:10 cgd Exp $ + +This is export hack, my first semester programming project. + +To set it up for your system, you will have to do the following: + 1: create a hack uid, to own the top ten list, etc. + 2: create a hack directory "/usr/lib/game/hack" is the default. + 2.5: make the directory 700 mode. /* sav files go in there...*/ + 3: modify hack.main.c to use the new directory. + 4: modify hack.main.c so it uses the new hack gid. Gid accounts can +go into magic mode without the password, can get cores with ^G, etc. +(make sure gid isn't checked anywhere else...) + 5: recompile hack. + 6: put it in games after making it set-uid hack. + 8: fix the bugs I undobtedly left in it. + 9: tell me what you think of it. + + Hack uses the UCB file /etc/termcap to get your terminal escape codes. +If you don't use it, you will have to make extensive changes to hack.pri.c + +If you find any bugs (That you think I don't know about), or have any +awesome new changes (Like a better save (One that works!)), or have ANY +questions, write me + Jay Fenlason + 29 East St. + Sudbury Mass. + 01776 + +or call me at (617) 443-5036. Since I have both a modem and a teen-age +sister, Good Luck. + + +Hack is split (roughly) into several source files that do different things. +I have tried to fit all the procedures having to do with a certain segment +of the game into a single file, but the job is not the best in the world. +The rough splits are: + +hack.c General random stuff and things I never got around to moving. +hack.main.c main() and other random procedures, also the lock file stuff. +hack.mon.c Monsters, moving, attacking, etc. +hack.do.c drink, eat, read, wield, save, etc. +hack.do1.c zap, wear, remove, etc... +hack.pri.c stuff having to do with the screen, most of the terminal + independant stuff is in here. +hack.lev.c temp files and calling of mklev. + +Because of the peculiar restraints on our system, I make mklev (create +a level) a separate procedure execd by hack when needed. The source for +mklev is (Naturaly) mklev.c. You may want to put mklev back into hack. +Good luck. + +Most of hack was written by me, with help from + Kenny Woodland (KW) (general random things including + the original BUZZ()) + Mike Thome (MT) (The original chamelian) + and Jon Payne (JP) (The original lock file kludge and + the massive CURS()) + +This entire program would not have been possible without the SFSU Logo +Workshop. I am eternally grateful to all of our students (Especially K.L.), +without whom I would never have seen Rogue. I am especially grateful to +Mike Clancy, without whose generous help I would never have gotten to play +ROGUE. diff --git a/hack/READ_ME b/hack/READ_ME new file mode 100644 index 0000000..0f3aa89 --- /dev/null +++ b/hack/READ_ME @@ -0,0 +1,94 @@ +$NetBSD: READ_ME,v 1.2 1995/03/23 08:29:12 cgd Exp $ + +Hack is a display oriented dungeons & dragons - like game. +Both display and command structure resemble rogue. +(For a game with the same structure but entirely different display - +a real cave instead of dull rectangles - try Quest) + +Hack was originally written by Jay Fenlason (at lincolnsudbury: + 29 East St., Sudbury Mass., 01776) with help from + Kenny Woodland, Mike Thome and Jon Payne. +Basically it was an implementation of Rogue, however, with 52+ instead of 26 + monster types. +The current version is more than thrice as large (with such new features as + the dog, the long worms, the shops, etc.) and almost entirely rewritten + (only the display routines are the original ones - I must rewrite these + too one day; especially when you are blind strange things still happen). + +Files for hack: + hack The actual game + record Top 100 list (just start with an empty file) + news Tells about recent changes in hack, or bugs found ... + (Just start with no news file.) + data Auxiliary file used by hack to give you the names + and sometimes some more information on the + objects and monsters. + help Introductory information (no doubt outdated). + hh Compactified version of help. + perm An empty file used for locking purposes. + rumors Texts for fortune cookies. + (Some of these contain information on the game, + others are just plain stupid. Additional rumors + are appreciated.) + hack.sh A shell script. + (We have hack.sh in /usr/games/hack and + hack in /usr/games/lib/hackdir/hack and all the other + hack stuff in /usr/games/lib/hackdir - perhaps this + will make the script clear. + There is no need for you to use it.) + READ_ME This file. + Original_READ_ME Jay Fenlason's READ_ME + +System files used: + /etc/termcap Used in conjunction with the environment variable + $TERM. + /bin/cat + /usr/ucb/more + /bin/sh Used when $SHELL is undefined. + +How to install hack: +0. Compile the sources. Perhaps you should first look at the file config.h + and define BSD if you are on a BSDtype system, + define STUPID if your C-compiler chokes on complicated expressions. + Make sure schar and uchar represent signed and unsigned types. + If your C compiler doesnt allow initialization of bit fields + change Bitfield. When config.h looks reasonable, say 'make'. + (Perhaps you have to change TERMLIB in the makefile.) +1. If it didnt exist already, introduce a loginname `play' . +2. The program hack resides in a directory so that it is executable + for everybody and is suid play: + ---s--s--x 1 play 206848 Apr 3 00:17 hack + Perhaps you wish to restrict playing to certain hours, or have games + running under nice; in that case you might write a program play.c + such that the program play is suid play and executable for everybody + while all the games in /usr/games are readable or executable for + play only; all the program play does is asking for the name of a game, + checking that time-of-day and system load do not forbid playing, + and then executing the game. Thus: + -r-sr-sr-x 1 play 13312 May 24 12:52 play + ---x------ 1 play 206848 Apr 3 00:17 hack + If you are worried about security you might let play do + chroot("/usr/games") so that no player can get access to the rest + of the system via shell escapes and the likes. + If you #define SECURE in config.h then hack will not setuid(getuid()) + before executing a chdir(). Hack will always do setuid(getuid()) with + a fork. If you do not define UNIX then hack will not fork. +3. The rest of the stuff belonging to hack sits in a subdirectory hackdir + (on our system /usr/games/lib/hackdir) with modes + drwx------ 3 play 1024 Aug 9 09:03 hackdir + Here all the temporary files will be created (with names like xlock.17 + or user.5). +4. If you are not really short on file space, creating a subdirectory + hackdir/save (modes again drwx------) will enable users to save their + unfinished games. + +The program hack is called +$ hack [-d hackdir] [maxnrofplayers] +(for playing) or +$ hack [-d hackdir] -s [listofusers | limit | all] +(for seeing part of the scorelist). +The shell file hack (in this kit called hack.sh) takes care of +calling hack with the right arguments. + +Send complaints, bug reports, suggestions for improvements to +mcvax!aeb - in real life Andries Brouwer. diff --git a/hack/alloc.c b/hack/alloc.c new file mode 100644 index 0000000..53dc51e --- /dev/null +++ b/hack/alloc.c @@ -0,0 +1,117 @@ +/* $NetBSD: alloc.c,v 1.5 2003/04/02 18:36:33 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: alloc.c,v 1.5 2003/04/02 18:36:33 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" + +#ifdef LINT + +/* + a ridiculous definition, suppressing + "possible pointer alignment problem" for (long *) malloc() + "enlarg defined but never used" + "ftell defined (in ) but never used" + from lint +*/ +long * +alloc(n) + unsigned n; +{ + long dummy = ftell(stderr); + if (n) + dummy = 0; /* make sure arg is used */ + return (&dummy); +} + +#else + +long * +alloc(lth) + unsigned lth; +{ + char *ptr; + + if (!(ptr = malloc(lth))) + panic("Cannot get %d bytes", lth); + return ((long *) ptr); +} + +long * +enlarge(ptr, lth) + char *ptr; + unsigned lth; +{ + char *nptr; + + if (!(nptr = realloc(ptr, lth))) + panic("Cannot reallocate %d bytes", lth); + return ((long *) nptr); +} + +#endif /* LINT */ diff --git a/hack/config.h b/hack/config.h new file mode 100644 index 0000000..ad3bbcf --- /dev/null +++ b/hack/config.h @@ -0,0 +1,205 @@ +/* $NetBSD: config.h,v 1.7 2003/04/02 18:36:33 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "pathnames.h" + +#ifndef CONFIG /* make sure the compiler doesnt see the typedefs twice */ + +#define CONFIG +#define UNIX /* delete if no fork(), exec() available */ +#define CHDIR /* delete if no chdir() available */ + +/* + * Some include files are in a different place under SYSV + * BSD SYSV + * + * + * + * Some routines are called differently + * index strchr + * rindex strrchr + * Also, the code for suspend and various ioctls is only given for BSD4.2 + * (I do not have access to a SYSV system.) + */ +#define BSD /* delete this line on System V */ + +/* #define STUPID */ /* avoid some complicated expressions if + your C compiler chokes on them */ +/* #define PYRAMID_BUG */ /* avoid a bug on the Pyramid */ +/* #define NOWAITINCLUDE */ /* neither nor exists */ + +#define WIZARD "bruno" /* the person allowed to use the -D option */ +#define RECORD "record"/* the file containing the list of topscorers */ +#define NEWS "news" /* the file containing the latest hack news */ +#define HELP "help" /* the file containing a description of the commands */ +#define SHELP "hh" /* abbreviated form of the same */ +#define RUMORFILE "rumors" /* a file with fortune cookies */ +#define DATAFILE "data" /* a file giving the meaning of symbols used */ +#define FMASK 0660 /* file creation mask */ +#define HLOCK "perm" /* an empty file used for locking purposes */ +#define LLOCK "safelock" /* link to previous */ + +#ifdef UNIX +/* + * Define DEF_PAGER as your default pager, e.g. "/bin/cat" or "/usr/ucb/more" + * If defined, it can be overridden by the environment variable PAGER. + * Hack will use its internal pager if DEF_PAGER is not defined. + * (This might be preferable for security reasons.) + * #define DEF_PAGER ".../mydir/mypager" + */ + +/* + * If you define MAIL, then the player will be notified of new mail + * when it arrives. If you also define DEF_MAILREADER then this will + * be the default mail reader, and can be overridden by the environment + * variable MAILREADER; otherwise an internal pager will be used. + * A stat system call is done on the mailbox every MAILCKFREQ moves. + */ +/* #define MAIL */ +#define DEF_MAILREADER _PATH_MAIL /* or e.g. /bin/mail */ +#define MAILCKFREQ 100 + + +#define SHELL /* do not delete the '!' command */ + +#ifdef BSD +#define SUSPEND /* let ^Z suspend the game */ +#endif /* BSD */ +#endif /* UNIX */ + +#ifdef CHDIR +/* + * If you define HACKDIR, then this will be the default playground; + * otherwise it will be the current directory. + */ +#ifdef QUEST +#define HACKDIR _PATH_QUEST +#else /* QUEST */ +#define HACKDIR _PATH_HACK +#endif /* QUEST */ + +/* + * Some system administrators are stupid enough to make Hack suid root + * or suid daemon, where daemon has other powers besides that of reading or + * writing Hack files. In such cases one should be careful with chdir's + * since the user might create files in a directory of his choice. + * Of course SECURE is meaningful only if HACKDIR is defined. + */ +#define SECURE /* do setuid(getuid()) after chdir() */ + +/* + * If it is desirable to limit the number of people that can play Hack + * simultaneously, define HACKDIR, SECURE and MAX_NR_OF_PLAYERS. + * #define MAX_NR_OF_PLAYERS 100 + */ +#endif /* CHDIR */ + +/* size of terminal screen is (at least) (ROWNO+2) by COLNO */ +#define COLNO 80 +#define ROWNO 22 + +/* + * small signed integers (8 bits suffice) + * typedef char schar; + * will do when you have signed characters; otherwise use + * typedef short int schar; + * + * Use short chars anyway to avoid warnings. + */ +#if 1 +typedef short int schar; +#else +typedef char schar; +#endif + +/* + * small unsigned integers (8 bits suffice - but 7 bits do not) + * - these are usually object types; be careful with inequalities! - + * typedef unsigned char uchar; + * will be satisfactory if you have an "unsigned char" type; otherwise use + * typedef unsigned short int uchar; + */ +typedef unsigned char uchar; + +/* + * small integers in the range 0 - 127, usually coordinates + * although they are nonnegative they must not be declared unsigned + * since otherwise comparisons with signed quantities are done incorrectly + */ +typedef schar xchar; +typedef xchar boolean; /* 0 or 1 */ +#define TRUE 1 +#define FALSE 0 + +/* + * Declaration of bitfields in various structs; if your C compiler + * doesnt handle bitfields well, e.g., if it is unable to initialize + * structs containing bitfields, then you might use + * #define Bitfield(x,n) uchar x + * since the bitfields used never have more than 7 bits. (Most have 1 bit.) + */ +#define Bitfield(x,n) unsigned x:n + +#define SIZE(x) (int)(sizeof(x) / sizeof(x[0])) + +#endif /* CONFIG */ diff --git a/hack/data b/hack/data new file mode 100644 index 0000000..4190205 --- /dev/null +++ b/hack/data @@ -0,0 +1,232 @@ + Hack & Quest data file - version 1.0.3 +@ human (or you) +- a wall +| a wall ++ a door +. the floor of a room + a dark part of a room +# a corridor +} water filled area +< the staircase to the previous level +> the staircase to the next level +^ a trap +$ a pile, pot or chest of gold +%% a piece of food +! a potion +* a gem +? a scroll += a ring +/ a wand +[ a suit of armor +) a weapon +( a useful item (camera, key, rope etc.) +0 an iron ball +_ an iron chain +` an enormous rock +" an amulet +, a trapper +: a chameleon +; a giant eel +' a lurker above +& a demon +A a giant ant +B a giant bat +C a centaur; + Of all the monsters put together by the Greek imagination + the Centaurs (Kentauroi) constituted a class in themselves. + Despite a strong streak of sensuality in their make-up, + their normal behaviour was moral, and they took a kindly + thought of man's welfare. The attempted outrage of Nessos on + Deianeira, and that of the whole tribe of Centaurs on the + Lapith women, are more than offset by the hospitality of + Pholos and by the wisdom of Cheiron, physician, prophet, + lyrist, and the instructor of Achilles. Further, the Cen- + taurs were peculiar in that their nature, which united the + body of a horse with the trunk and head of a man, involved + an unthinkable duplication of vital organs and important + members. So grotesque a combination seems almost un-Greek. + These strange creatures were said to live in the caves and + clefts of the mountains, myths associating them especially + with the hills of Thessaly and the range of Erymanthos. + [Mythology of all races, Vol. 1, pp. 270-271] +D a dragon; + In the West the dragon was the natural enemy of man. Although + preferring to live in bleak and desolate regions, whenever it was + seen among men it left in its wake a trail of destruction and + disease. Yet any attempt to slay this beast was a perilous under- + taking. For the dragon's assailant had to contend not only with + clouds of sulphurous fumes pouring from its fire-breathing nos- + trils, but also with the thrashings of its tail, the most deadly + part of its serpent-like body. + [From: Mythical Beasts by Deirdre Headon (The Leprechaun Library)] +E a floating eye +F a freezing sphere +G a gnome; + ... And then a gnome came by, carrying a bundle, an old fellow + three times as large as an imp and wearing clothes of a sort, + especially a hat. And he was clearly just as frightened as the + imps though he could not go so fast. Ramon Alonzo saw that there + must be some great trouble that was vexing magical things; and, + since gnomes speak the language of men, and will answer if spoken + to gently, he raised his hat, and asked of the gnome his name. + The gnome did not stop his hasty shuffle a moment as he answered + 'Alaraba' and grabbed the rim of his hat but forgot to doff it. + 'What is the trouble, Alaraba?' said Ramon Alonzo. + 'White magic. Run!' said the gnome ... + [From: The Charwoman's Shadow, by Lord Dunsany.] +H a hobgoblin; + Hobgoblin. Used by the Puritans and in later times for + wicked goblin spirits, as in Bunyan's 'Hobgoblin nor foul + friend', but its more correct use is for the friendly spir- + its of the brownie type. In 'A midsummer night's dream' a + fairy says to Shakespeare's Puck: + Those that Hobgoblin call you, and sweet Puck, + You do their work, and they shall have good luck: + Are you not he? + and obviously Puck would not wish to be called a hobgoblin + if that was an ill-omened word. + Hobgoblins are on the whole, good-humoured and ready to be + helpful, but fond of practical joking, and like most of the + fairies rather nasty people to annoy. Boggarts hover on the + verge of hobgoblindom. Bogles are just over the edge. + One Hob mentioned by Henderson, was Hob Headless who haunted + the road between Hurworth and Neasham, but could not cross + the little river Kent, which flowed into the Tess. He was + exorcised and laid under a large stone by the roadside for + ninety-nine years and a day. If anyone was so unwary as to + sit on that stone, he would be unable to quit it for ever. + The ninety-nine years is nearly up, so trouble may soon be + heard of on the road between Hurworth and Neasham. + [Katharine Briggs, A dictionary of Fairies] +I an invisible stalker +J a jackal +K a kobold +L a leprechaun; + The Irish Leprechaun is the Faeries' shoemaker and is known + under various names in different parts of Ireland: Cluri- + caune in Cork, Lurican in Kerry, Lurikeen in Kildare and Lu- + rigadaun in Tipperary. Although he works for the Faeries, + the Leprechaun is not of the same species. He is small, has + dark skin and wears strange clothes. His nature has some- + thing of the manic-depressive about it: first he is quite + happy, whistling merrily as he nails a sole on to a shoe; a + few minutes later, he is sullen and morose, drunk on his + home-made heather ale. The Leprechaun's two great loves are + tobacco and whiskey, and he is a first-rate con-man, impos- + sible to out-fox. No one, no matter how clever, has ever + managed to cheat him out of his hidden pot of gold or his + magic shilling. At the last minute he always thinks of some + way to divert his captor's attention and vanishes in the + twinkling of an eye. + [From: A Field Guide to the Little People + by Nancy Arrowsmith & George Moorse. ] +M a mimic +N a nymph +O an orc +P a purple worm +Q a quasit +R a rust monster +S a snake +T a troll +U an umber hulk +V a vampire +W a wraith +X a xorn +Y a yeti +Z a zombie +a an acid blob +b a giant beetle +c a cockatrice; + Once in a great while, when the positions of the stars are + just right, a seven-year-old rooster will lay an egg. Then, + along will come a snake, to coil around the egg, or a toad, + to squat upon the egg, keeping it warm and helping it to + hatch. When it hatches, out comes a creature called basil- + isk, or cockatrice, the most deadly of all creatures. A sin- + gle glance from its yellow, piercing toad's eyes will kill + both man and beast. Its power of destruction is said to be + so great that sometimes simply to hear its hiss can prove + fatal. Its breath is so venomous that it causes all vege- + tation to wither. + There is, however, one creature which can withstand the + basilisk's deadly gaze, and this is the weasel. No one knows + why this is so, but although the fierce weasel can slay the + basilisk, it will itself be killed in the struggle. Perhaps + the weasel knows the basilisk's fatal weakness: if it ever + sees its own reflection in a mirror it will perish instant- + ly. But even a dead basilisk is dangerous, for it is said + that merely touching its lifeless body can cause a person to + sicken and die. + [From: Mythical Beasts by Deirdre Headon (The Leprechaun + Library) and other sources. ] +d a dog +e an ettin +f a fog cloud +g a gelatinous cube +h a homunculus +i an imp; + ... imps ... little creatures of two feet high that could + gambol and jump prodigiously; ... + [From: The Charwoman's Shadow, by Lord Dunsany.] + + An 'imp' is an off-shoot or cutting. Thus an 'ymp tree' was + a grafted tree, or one grown from a cutting, not from seed. + 'Imp' properly means a small devil, an off-shoot of Satan, + but the distinction between goblins or bogles and imps from + hell is hard to make, and many in the Celtic countries as + well as the English Puritans regarded all fairies as devils. + The fairies of tradition often hover uneasily between the + ghostly and the diabolic state. + [Katharine Briggs, A dictionary of Fairies] +j a jaguar +k a killer bee +l a leocrotta +m a minotaur +n a nurse +o an owlbear +p a piercer +q a quivering blob +r a giant rat +s a scorpion +t a tengu; + The tengu was the most troublesome creature of Japanese + legend. Part bird and part man, with red beak for a nose + and flashing eyes, the tengu was notorious for stirring up + feuds and prolonging enmity between families. Indeed, the + belligerent tengus were supposed to have been man's first + instructors in the use of arms. + [From: Mythical Beasts by Deirdre Headon + (The Leprechaun Library). ] +u a unicorn; + Men have always sought the elusive unicorn, for the single + twisted horn which projected from its forehead was thought + to be a powerful talisman. It was said that the unicorn had + simply to dip the tip of its horn in a muddy pool for the + water to become pure. Men also believed that to drink from + this horn was a protection against all sickness, and that if + the horn was ground to a powder it would act as an antidote + to all poisons. Less than 200 years ago in France, the horn + of a unicorn was used in a ceremony to test the royal food + for poison. + Although only the size of a small horse, the unicorn is a + very fierce beast, capable of killing an elephant with a + single thrust from its horn. Its fleetness of foot also + makes this solitary creature difficult to capture. However, + it can be tamed and captured by a maiden. Made gentle by the + sight of a virgin, the unicorn can be lured to lay its head + in her lap, and in this docile mood, the maiden may secure + it with a golden rope. + [From: Mythical Beasts by Deirdre Headon + (The Leprechaun Library). ] +v a violet fungi +w a long worm; + From its teeth the crysknife can be manufactured. +~ the tail of a long worm +x a xan; + The xan were animals sent to prick the legs of the Lords of Xibalba. +y a yellow light +z a zruty; + The zruty are wild and gigantic beings, living in the wildernesses + of the Tatra mountains. +1 The wizard of Yendor +2 The mail daemon diff --git a/hack/date.h b/hack/date.h new file mode 100644 index 0000000..356cd2e --- /dev/null +++ b/hack/date.h @@ -0,0 +1,64 @@ +/* $NetBSD: date.h,v 1.5 2003/04/02 18:36:33 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +const char datestring[] = "Tue Jul 23 1985"; diff --git a/hack/def.edog.h b/hack/def.edog.h new file mode 100644 index 0000000..4d6e447 --- /dev/null +++ b/hack/def.edog.h @@ -0,0 +1,76 @@ +/* $NetBSD: def.edog.h,v 1.5 2003/04/02 18:36:33 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_EDOG_H_ +#define _DEF_EDOG_H_ +struct edog { + long hungrytime; /* at this time dog gets hungry */ + long eattime; /* dog is eating */ + long droptime; /* moment dog dropped object */ + unsigned dropdist; /* dist of drpped obj from @ */ + unsigned apport; /* amount of training */ + long whistletime; /* last time he whistled */ +}; +#define EDOG(mp) ((struct edog *)(&(mp->mextra[0]))) + +#endif /* _DEF_EDOG_H_ */ diff --git a/hack/def.eshk.h b/hack/def.eshk.h new file mode 100644 index 0000000..5ef1a64 --- /dev/null +++ b/hack/def.eshk.h @@ -0,0 +1,88 @@ +/* $NetBSD: def.eshk.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_ESHK_H_ +#define _DEF_ESHK_H_ + +#define BILLSZ 200 +struct bill_x { + unsigned bo_id; + unsigned useup:1; + unsigned bquan:7; + unsigned price; /* price per unit */ +}; + +struct eshk { + long int robbed; /* amount stolen by most recent customer */ + boolean following; /* following customer since he owes us sth */ + schar shoproom; /* index in rooms; set by inshop() */ + coord shk; /* usual position shopkeeper */ + coord shd; /* position shop door */ + int shoplevel; /* level of his shop */ + int billct; + struct bill_x bill[BILLSZ]; + int visitct; /* nr of visits by most recent customer */ + char customer[PL_NSIZ]; /* most recent customer */ + char shknam[PL_NSIZ]; +}; +#endif /* _DEF_ESHK_H_ */ diff --git a/hack/def.flag.h b/hack/def.flag.h new file mode 100644 index 0000000..6fef096 --- /dev/null +++ b/hack/def.flag.h @@ -0,0 +1,105 @@ +/* $NetBSD: def.flag.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_FLAG_H_ +#define _DEF_FLAG_H_ +struct flag { + unsigned ident; /* social security number for each monster */ + unsigned debug:1; /* in debugging mode */ +#define wizard flags.debug + unsigned toplin:2; /* a top line (message) has been printed */ + /* 0: top line empty; 2: no --More-- reqd. */ + unsigned cbreak:1; /* in cbreak mode, rogue format */ + unsigned standout:1; /* use standout for --More-- */ + unsigned nonull:1; /* avoid sending nulls to the terminal */ + unsigned time:1; /* display elapsed 'time' */ + unsigned nonews:1; /* suppress news printing */ + unsigned notombstone:1; + unsigned end_top, end_around; /* describe desired score list */ + unsigned end_own:1; /* idem (list all own scores) */ + unsigned no_rest_on_space:1; /* spaces are ignored */ + unsigned beginner:1; + unsigned female:1; + unsigned invlet_constant:1; /* let objects keep their + inventory symbol */ + unsigned move:1; + unsigned mv:1; + unsigned run:3; /* 0: h (etc), 1: H (etc), 2: fh (etc) */ + /* 3: FH, 4: ff+, 5: ff-, 6: FF+, 7: FF- */ + unsigned nopick:1; /* do not pickup objects */ + unsigned echo:1; /* 1 to echo characters */ + unsigned botl:1; /* partially redo status line */ + unsigned botlx:1; /* print an entirely new bottom line */ + unsigned nscrinh:1; /* inhibit nscr() in pline(); */ + unsigned made_amulet:1; + unsigned no_of_wizards:2;/* 0, 1 or 2 (wizard and his shadow) */ + /* reset from 2 to 1, but never to 0 */ + unsigned moonphase:3; +#define NEW_MOON 0 +#define FULL_MOON 4 + +}; + +extern struct flag flags; + +#endif /* _DEF_FLAG_H_ */ diff --git a/hack/def.func_tab.h b/hack/def.func_tab.h new file mode 100644 index 0000000..78957e0 --- /dev/null +++ b/hack/def.func_tab.h @@ -0,0 +1,79 @@ +/* $NetBSD: def.func_tab.h,v 1.7 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_FUNC_TAB_H_ +#define _DEF_FUNC_TAB_H_ +struct func_tab { + char f_char; + int (*f_funct)(void); +}; + +extern const struct func_tab cmdlist[]; + +struct ext_func_tab { + const char *ef_txt; + int (*ef_funct)(void); +}; + +extern const struct ext_func_tab extcmdlist[]; +#endif /* _DEF_FUNC_TAB_H_ */ diff --git a/hack/def.gen.h b/hack/def.gen.h new file mode 100644 index 0000000..ea9fe65 --- /dev/null +++ b/hack/def.gen.h @@ -0,0 +1,77 @@ +/* $NetBSD: def.gen.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_GEN_H_ +#define _DEF_GEN_H_ +struct gen { + struct gen *ngen; + xchar gx,gy; + unsigned gflag; /* 037: trap type; 040: SEEN flag */ + /* 0100: ONCE only */ +#define TRAPTYPE 037 +#define SEEN 040 +#define ONCE 0100 +}; +extern struct gen *fgold, *ftrap; +#define newgen() (struct gen *) alloc(sizeof(struct gen)) +#endif /* _DEF_GEN_H_ */ diff --git a/hack/def.gold.h b/hack/def.gold.h new file mode 100644 index 0000000..e526ef7 --- /dev/null +++ b/hack/def.gold.h @@ -0,0 +1,74 @@ +/* $NetBSD: def.gold.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_GOLD_H_ +#define _DEF_GOLD_H_ +struct gold { + struct gold *ngold; + xchar gx,gy; + long amount; +}; + +#define newgold() (struct gold *) alloc(sizeof(struct gold)) +extern struct gold *fgold; +#endif /* _DEF_GOLD_H_ */ diff --git a/hack/def.mkroom.h b/hack/def.mkroom.h new file mode 100644 index 0000000..176fc87 --- /dev/null +++ b/hack/def.mkroom.h @@ -0,0 +1,89 @@ +/* $NetBSD: def.mkroom.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_MKROOM_H_ +#define _DEF_MKROOM_H_ +struct mkroom { + schar lx,hx,ly,hy; /* usually xchar, but hx may be -1 */ + schar rtype,rlit,doorct,fdoor; +}; + +#define MAXNROFROOMS 15 +extern struct mkroom rooms[MAXNROFROOMS+1]; + +#define DOORMAX 100 +extern coord doors[DOORMAX]; + +/* various values of rtype */ +/* 0: ordinary room; 8-15: various shops */ +/* Note: some code assumes that >= 8 means shop, so be careful when adding + new roomtypes */ +#define SWAMP 3 +#define VAULT 4 +#define BEEHIVE 5 +#define MORGUE 6 +#define ZOO 7 +#define SHOPBASE 8 +#define WANDSHOP 9 +#define GENERAL 15 +#endif /* _DEF_MKROOM_H_ */ diff --git a/hack/def.monst.h b/hack/def.monst.h new file mode 100644 index 0000000..0176ac3 --- /dev/null +++ b/hack/def.monst.h @@ -0,0 +1,122 @@ +/* $NetBSD: def.monst.h,v 1.7 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_MONST_H_ +#define _DEF_MONST_H_ +struct monst { + struct monst *nmon; + const struct permonst *data; + unsigned m_id; + xchar mx,my; + xchar mdx,mdy; /* if mdispl then pos where last displayed */ +#define MTSZ 4 + coord mtrack[MTSZ]; /* monster track */ + schar mhp,mhpmax; + char mappearance; /* nonzero for undetected 'M's and for '1's */ + Bitfield(mimic,1); /* undetected mimic */ + Bitfield(mdispl,1); /* mdx,mdy valid */ + Bitfield(minvis,1); /* invisible */ + Bitfield(cham,1); /* shape-changer */ + Bitfield(mhide,1); /* hides beneath objects */ + Bitfield(mundetected,1); /* not seen in present hiding place */ + Bitfield(mspeed,2); + Bitfield(msleep,1); + Bitfield(mfroz,1); + Bitfield(mconf,1); + Bitfield(mflee,1); /* fleeing */ + Bitfield(mfleetim,7); /* timeout for mflee */ + Bitfield(mcan,1); /* has been cancelled */ + Bitfield(mtame,1); /* implies peaceful */ + Bitfield(mpeaceful,1); /* does not attack unprovoked */ + Bitfield(isshk,1); /* is shopkeeper */ + Bitfield(isgd,1); /* is guard */ + Bitfield(mcansee,1); /* cansee 1, temp.blinded 0, blind 0 */ + Bitfield(mblinded,7); /* cansee 0, temp.blinded n, blind 0 */ + Bitfield(mtrapped,1); /* trapped in a pit or bear trap */ + Bitfield(mnamelth,6); /* length of name (following mxlth) */ +#ifndef NOWORM + Bitfield(wormno,5); /* at most 31 worms on any level */ +#endif /* NOWORM */ + unsigned mtrapseen; /* bitmap of traps we've been trapped in */ + long mlstmv; /* prevent two moves at once */ + struct obj *minvent; + long mgold; + unsigned mxlth; /* length of following data */ + /* in order to prevent alignment problems mextra should + be (or follow) a long int */ + long mextra[1]; /* monster dependent info */ +}; + +#define newmonst(xl) (struct monst *) alloc((unsigned)(xl) + sizeof(struct monst)) + +extern struct monst *fmon; +extern struct monst *fallen_down; + +/* these are in mspeed */ +#define MSLOW 1 /* slow monster */ +#define MFAST 2 /* speeded monster */ + +#define NAME(mtmp) (((char *) mtmp->mextra) + mtmp->mxlth) +#define MREGEN "TVi1" +#define UNDEAD "ZVW " +#endif /* _DEF_MONST_H_ */ diff --git a/hack/def.obj.h b/hack/def.obj.h new file mode 100644 index 0000000..b4bef62 --- /dev/null +++ b/hack/def.obj.h @@ -0,0 +1,111 @@ +/* $NetBSD: def.obj.h,v 1.5 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_OBJ_H_ +#define _DEF_OBJ_H_ +struct obj { + struct obj *nobj; + unsigned o_id; + unsigned o_cnt_id; /* id of container object is in */ + xchar ox,oy; + xchar odx,ody; + uchar otyp; + uchar owt; + uchar quan; /* use oextra for tmp gold objects */ + schar spe; /* quality of weapon, armor or ring (+ or -) + number of charges for wand ( >= -1 ) + special for uball and amulet %% BAH */ + char olet; + char invlet; + Bitfield(oinvis,1); /* not yet implemented */ + Bitfield(odispl,1); + Bitfield(known,1); /* exact nature known */ + Bitfield(dknown,1); /* color or text known */ + Bitfield(cursed,1); + Bitfield(unpaid,1); /* on some bill */ + Bitfield(rustfree,1); + Bitfield(onamelth,6); + long age; /* creation date */ + long owornmask; +#define W_ARM 01L +#define W_ARM2 02L +#define W_ARMH 04L +#define W_ARMS 010L +#define W_ARMG 020L +#define W_ARMOR (W_ARM | W_ARM2 | W_ARMH | W_ARMS | W_ARMG) +#define W_RINGL 010000L /* make W_RINGL = RING_LEFT (see uprop) */ +#define W_RINGR 020000L +#define W_RING (W_RINGL | W_RINGR) +#define W_WEP 01000L +#define W_BALL 02000L +#define W_CHAIN 04000L + long oextra[1]; /* used for name of ordinary objects - length + is flexible; amount for tmp gold objects */ +}; + +extern struct obj *fobj; + +#define newobj(xl) (struct obj *) alloc((unsigned)(xl) + sizeof(struct obj)) +#define ONAME(otmp) ((char *) otmp->oextra) +#define OGOLD(otmp) (otmp->oextra[0]) +#endif /* _DEF_OBJ_H_ */ diff --git a/hack/def.objclass.h b/hack/def.objclass.h new file mode 100644 index 0000000..c382956 --- /dev/null +++ b/hack/def.objclass.h @@ -0,0 +1,123 @@ +/* $NetBSD: def.objclass.h,v 1.6 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_OBJCLASS_H_ +#define _DEF_OBJCLASS_H_ +/* definition of a class of objects */ + +struct objclass { + const char *oc_name; /* actual name */ + const char *oc_descr; /* description when name unknown */ + char *oc_uname; /* called by user */ + Bitfield(oc_name_known,1); + Bitfield(oc_merge,1); /* merge otherwise equal objects */ + char oc_olet; + schar oc_prob; /* probability for mkobj() */ + schar oc_delay; /* delay when using such an object */ + uchar oc_weight; + schar oc_oc1, oc_oc2; + int oc_oi; +#define nutrition oc_oi /* for foods */ +#define a_ac oc_oc1 /* for armors - only used in ARM_BONUS */ +#define ARM_BONUS(obj) ((10 - objects[obj->otyp].a_ac) + obj->spe) +#define a_can oc_oc2 /* for armors */ +#define bits oc_oc1 /* for wands and rings */ + /* wands */ +#define NODIR 1 +#define IMMEDIATE 2 +#define RAY 4 + /* rings */ +#define SPEC 1 /* +n is meaningful */ +#define wldam oc_oc1 /* for weapons and PICK_AXE */ +#define wsdam oc_oc2 /* for weapons and PICK_AXE */ +#define g_val oc_oi /* for gems: value on exit */ +}; + +extern struct objclass objects[]; + +/* definitions of all object-symbols */ + +#define ILLOBJ_SYM '\\' +#define AMULET_SYM '"' +#define FOOD_SYM '%' +#define WEAPON_SYM ')' +#define TOOL_SYM '(' +#define BALL_SYM '0' +#define CHAIN_SYM '_' +#define ROCK_SYM '`' +#define ARMOR_SYM '[' +#define POTION_SYM '!' +#define SCROLL_SYM '?' +#define WAND_SYM '/' +#define RING_SYM '=' +#define GEM_SYM '*' +/* Other places with explicit knowledge of object symbols: + * ....shk.c: char shtypes[] = "=/)%?!["; + * mklev.c: "=/)%?![<>" + * hack.mkobj.c: char mkobjstr[] = "))[[!!!!????%%%%/=**"; + * hack.apply.c: otmp = getobj("0#%", "put in"); + * hack.eat.c: otmp = getobj("%", "eat"); + * hack.invent.c: if(index("!%?[)=*(0/\"", sym)){ + * hack.invent.c: || index("%?!*",otmp->olet))){ + */ +#endif /* _DEF_OBJCLASS_H_ */ diff --git a/hack/def.objects.h b/hack/def.objects.h new file mode 100644 index 0000000..e9b34d1 --- /dev/null +++ b/hack/def.objects.h @@ -0,0 +1,351 @@ +/* $NetBSD: def.objects.h,v 1.6 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_OBJECTS_H_ +#define _DEF_OBJECTS_H_ +/* objects have letter " % ) ( 0 _ ` [ ! ? / = * */ +#include "config.h" +#include "def.objclass.h" + +struct objclass objects[] = { + + { "strange object", NULL, NULL, 1, 0, + ILLOBJ_SYM, 0, 0, 0, 0, 0, 0 }, + { "amulet of Yendor", NULL, NULL, 1, 0, + AMULET_SYM, 100, 0, 2, 0, 0, 0 }, + +#define FOOD(name,prob,delay,weight,nutrition) { name, NULL, NULL, 1, 1,\ + FOOD_SYM, prob, delay, weight, 0, 0, nutrition } + +/* dog eats foods 0-4 but prefers 1 above 0,2,3,4 */ +/* food 4 can be read */ +/* food 5 improves your vision */ +/* food 6 makes you stronger (like Popeye) */ +/* foods CORPSE up to CORPSE+52 are cadavers */ + + FOOD("food ration", 50, 5, 4, 800), + FOOD("tripe ration", 20, 1, 2, 200), + FOOD("pancake", 3, 1, 1, 200), + FOOD("dead lizard", 3, 0, 1, 40), + FOOD("fortune cookie", 7, 0, 1, 40), + FOOD("carrot", 2, 0, 1, 50), + FOOD("tin", 7, 0, 1, 0), + FOOD("orange", 1, 0, 1, 80), + FOOD("apple", 1, 0, 1, 50), + FOOD("pear", 1, 0, 1, 50), + FOOD("melon", 1, 0, 1, 100), + FOOD("banana", 1, 0, 1, 80), + FOOD("candy bar", 1, 0, 1, 100), + FOOD("egg", 1, 0, 1, 80), + FOOD("clove of garlic", 1, 0, 1, 40), + FOOD("lump of royal jelly", 0, 0, 1, 200), + + FOOD("dead human", 0, 4, 40, 400), + FOOD("dead giant ant", 0, 1, 3, 30), + FOOD("dead giant bat", 0, 1, 3, 30), + FOOD("dead centaur", 0, 5, 50, 500), + FOOD("dead dragon", 0, 15, 150, 1500), + FOOD("dead floating eye", 0, 1, 1, 10), + FOOD("dead freezing sphere", 0, 1, 1, 10), + FOOD("dead gnome", 0, 1, 10, 100), + FOOD("dead hobgoblin", 0, 2, 20, 200), + FOOD("dead stalker", 0, 4, 40, 400), + FOOD("dead jackal", 0, 1, 10, 100), + FOOD("dead kobold", 0, 1, 10, 100), + FOOD("dead leprechaun", 0, 4, 40, 400), + FOOD("dead mimic", 0, 4, 40, 400), + FOOD("dead nymph", 0, 4, 40, 400), + FOOD("dead orc", 0, 2, 20, 200), + FOOD("dead purple worm", 0, 7, 70, 700), + FOOD("dead quasit", 0, 2, 20, 200), + FOOD("dead rust monster", 0, 5, 50, 500), + FOOD("dead snake", 0, 1, 10, 100), + FOOD("dead troll", 0, 4, 40, 400), + FOOD("dead umber hulk", 0, 5, 50, 500), + FOOD("dead vampire", 0, 4, 40, 400), + FOOD("dead wraith", 0, 1, 1, 10), + FOOD("dead xorn", 0, 7, 70, 700), + FOOD("dead yeti", 0, 7, 70, 700), + FOOD("dead zombie", 0, 1, 3, 30), + FOOD("dead acid blob", 0, 1, 3, 30), + FOOD("dead giant beetle", 0, 1, 1, 10), + FOOD("dead cockatrice", 0, 1, 3, 30), + FOOD("dead dog", 0, 2, 20, 200), + FOOD("dead ettin", 0, 1, 3, 30), + FOOD("dead fog cloud", 0, 1, 1, 10), + FOOD("dead gelatinous cube", 0, 1, 10, 100), + FOOD("dead homunculus", 0, 2, 20, 200), + FOOD("dead imp", 0, 1, 1, 10), + FOOD("dead jaguar", 0, 3, 30, 300), + FOOD("dead killer bee", 0, 1, 1, 10), + FOOD("dead leocrotta", 0, 5, 50, 500), + FOOD("dead minotaur", 0, 7, 70, 700), + FOOD("dead nurse", 0, 4, 40, 400), + FOOD("dead owlbear", 0, 7, 70, 700), + FOOD("dead piercer", 0, 2, 20, 200), + FOOD("dead quivering blob", 0, 1, 10, 100), + FOOD("dead giant rat", 0, 1, 3, 30), + FOOD("dead giant scorpion", 0, 1, 10, 100), + FOOD("dead tengu", 0, 3, 30, 300), + FOOD("dead unicorn", 0, 3, 30, 300), + FOOD("dead violet fungi", 0, 1, 10, 100), + FOOD("dead long worm", 0, 5, 50, 500), +/* %% wt of long worm should be proportional to its length */ + FOOD("dead xan", 0, 3, 30, 300), + FOOD("dead yellow light", 0, 1, 1, 10), + FOOD("dead zruty", 0, 6, 60, 600), + +/* weapons ... - ROCK come several at a time */ +/* weapons ... - (ROCK-1) are shot using idem+(BOW-ARROW) */ +/* weapons AXE, SWORD, THSWORD are good for worm-cutting */ +/* weapons (PICK-)AXE, DAGGER, CRYSKNIFE are good for tin-opening */ +#define WEAPON(name,prob,wt,ldam,sdam) { name, NULL, NULL, 1, 0 /*%%*/,\ + WEAPON_SYM, prob, 0, wt, ldam, sdam, 0 } + + WEAPON("arrow", 7, 0, 6, 6), + WEAPON("sling bullet", 7, 0, 4, 6), + WEAPON("crossbow bolt", 7, 0, 4, 6), + WEAPON("dart", 7, 0, 3, 2), + WEAPON("rock", 6, 1, 3, 3), + WEAPON("boomerang", 2, 3, 9, 9), + WEAPON("mace", 9, 3, 6, 7), + WEAPON("axe", 6, 3, 6, 4), + WEAPON("flail", 6, 3, 6, 5), + WEAPON("long sword", 8, 3, 8, 12), + WEAPON("two handed sword", 6, 4, 12, 6), + WEAPON("dagger", 6, 3, 4, 3), + WEAPON("worm tooth", 0, 4, 2, 2), + WEAPON("crysknife", 0, 3, 10, 10), + WEAPON("spear", 6, 3, 6, 8), + WEAPON("bow", 6, 3, 4, 6), + WEAPON("sling", 5, 3, 6, 6), + WEAPON("crossbow", 6, 3, 4, 6), + + { "whistle", "whistle", NULL, 0, 0, + TOOL_SYM, 90, 0, 2, 0, 0, 0 }, + { "magic whistle", "whistle", NULL, 0, 0, + TOOL_SYM, 10, 0, 2, 0, 0, 0 }, + { "expensive camera", NULL, NULL, 1, 1, + TOOL_SYM, 0, 0, 3, 0, 0, 0 }, + { "ice box", "large box", NULL, 0, 0, + TOOL_SYM, 0, 0, 40, 0, 0, 0 }, + { "pick-axe", NULL, NULL, 1, 1, + TOOL_SYM, 0, 0, 5, 6, 3, 0 }, + { "can opener", NULL, NULL, 1, 1, + TOOL_SYM, 0, 0, 1, 0, 0, 0 }, + { "heavy iron ball", NULL, NULL, 1, 0, + BALL_SYM, 100, 0, 20, 0, 0, 0 }, + { "iron chain", NULL, NULL, 1, 0, + CHAIN_SYM, 100, 0, 20, 0, 0, 0 }, + { "enormous rock", NULL, NULL, 1, 0, + ROCK_SYM, 100, 0, 200 /* > MAX_CARR_CAP */, 0, 0, 0 }, + +#define ARMOR(name,prob,delay,ac,can) { name, NULL, NULL, 1, 0,\ + ARMOR_SYM, prob, delay, 8, ac, can, 0 } + ARMOR("helmet", 3, 1, 9, 0), + ARMOR("plate mail", 5, 5, 3, 2), + ARMOR("splint mail", 8, 5, 4, 1), + ARMOR("banded mail", 10, 5, 4, 0), + ARMOR("chain mail", 10, 5, 5, 1), + ARMOR("scale mail", 10, 5, 6, 0), + ARMOR("ring mail", 15, 5, 7, 0), + /* the armors below do not rust */ + ARMOR("studded leather armor", 13, 3, 7, 1), + ARMOR("leather armor", 17, 3, 8, 0), + ARMOR("elven cloak", 5, 0, 9, 3), + ARMOR("shield", 3, 0, 9, 0), + ARMOR("pair of gloves", 1, 1, 9, 0), + +#define POTION(name,color) { name, color, NULL, 0, 1,\ + POTION_SYM, 0, 0, 2, 0, 0, 0 } + + POTION("restore strength", "orange"), + POTION("booze", "bubbly"), + POTION("invisibility", "glowing"), + POTION("fruit juice", "smoky"), + POTION("healing", "pink"), + POTION("paralysis", "puce"), + POTION("monster detection", "purple"), + POTION("object detection", "yellow"), + POTION("sickness", "white"), + POTION("confusion", "swirly"), + POTION("gain strength", "purple-red"), + POTION("speed", "ruby"), + POTION("blindness", "dark green"), + POTION("gain level", "emerald"), + POTION("extra healing", "sky blue"), + POTION("levitation", "brown"), + POTION(NULL, "brilliant blue"), + POTION(NULL, "clear"), + POTION(NULL, "magenta"), + POTION(NULL, "ebony"), + +#define SCROLL(name,text,prob) { name, text, NULL, 0, 1,\ + SCROLL_SYM, prob, 0, 3, 0, 0, 0 } + SCROLL("mail", "KIRJE", 0), + SCROLL("enchant armor", "ZELGO MER", 6), + SCROLL("destroy armor", "JUYED AWK YACC", 5), + SCROLL("confuse monster", "NR 9", 5), + SCROLL("scare monster", "XIXAXA XOXAXA XUXAXA", 4), + SCROLL("blank paper", "READ ME", 3), + SCROLL("remove curse", "PRATYAVAYAH", 6), + SCROLL("enchant weapon", "DAIYEN FOOELS", 6), + SCROLL("damage weapon", "HACKEM MUCHE", 5), + SCROLL("create monster", "LEP GEX VEN ZEA", 5), + SCROLL("taming", "PRIRUTSENIE", 1), + SCROLL("genocide", "ELBIB YLOH",2), + SCROLL("light", "VERR YED HORRE", 10), + SCROLL("teleportation", "VENZAR BORGAVVE", 5), + SCROLL("gold detection", "THARR", 4), + SCROLL("food detection", "YUM YUM", 1), + SCROLL("identify", "KERNOD WEL", 18), + SCROLL("magic mapping", "ELAM EBOW", 5), + SCROLL("amnesia", "DUAM XNAHT", 3), + SCROLL("fire", "ANDOVA BEGARIN", 5), + SCROLL("punishment", "VE FORBRYDERNE", 1), + SCROLL(NULL, "VELOX NEB", 0), + SCROLL(NULL, "FOOBIE BLETCH", 0), + SCROLL(NULL, "TEMOV", 0), + SCROLL(NULL, "GARVEN DEH", 0), + +#define WAND(name,metal,prob,flags) { name, metal, NULL, 0, 0,\ + WAND_SYM, prob, 0, 3, flags, 0, 0 } + + WAND("light", "iridium", 10, NODIR), + WAND("secret door detection", "tin", 5, NODIR), + WAND("create monster", "platinum", 5, NODIR), + WAND("wishing", "glass", 1, NODIR), + WAND("striking", "zinc", 9, IMMEDIATE), + WAND("slow monster", "balsa", 5, IMMEDIATE), + WAND("speed monster", "copper", 5, IMMEDIATE), + WAND("undead turning", "silver", 5, IMMEDIATE), + WAND("polymorph", "brass", 5, IMMEDIATE), + WAND("cancellation", "maple", 5, IMMEDIATE), + WAND("teleportation", "pine", 5, IMMEDIATE), + WAND("make invisible", "marble", 9, IMMEDIATE), + WAND("digging", "iron", 5, RAY), + WAND("magic missile", "aluminium", 10, RAY), + WAND("fire", "steel", 5, RAY), + WAND("sleep", "curved", 5, RAY), + WAND("cold", "short", 5, RAY), + WAND("death", "long", 1, RAY), + WAND(NULL, "oak", 0, 0), + WAND(NULL, "ebony", 0, 0), + WAND(NULL, "runed", 0, 0), + +#define RING(name,stone,spec) { name, stone, NULL, 0, 0,\ + RING_SYM, 0, 0, 1, spec, 0, 0 } + + RING("adornment", "engagement", 0), + RING("teleportation", "wooden", 0), + RING("regeneration", "black onyx", 0), + RING("searching", "topaz", 0), + RING("see invisible", "pearl", 0), + RING("stealth", "sapphire", 0), + RING("levitation", "moonstone", 0), + RING("poison resistance", "agate", 0), + RING("aggravate monster", "tiger eye", 0), + RING("hunger", "shining", 0), + RING("fire resistance", "gold", 0), + RING("cold resistance", "copper", 0), + RING("protection from shape changers", "diamond", 0), + RING("conflict", "jade", 0), + RING("gain strength", "ruby", SPEC), + RING("increase damage", "silver", SPEC), + RING("protection", "granite", SPEC), + RING("warning", "wire", 0), + RING("teleport control", "iron", 0), + RING(NULL, "ivory", 0), + RING(NULL, "blackened", 0), + +/* gems ************************************************************/ +#define GEM(name,color,prob,gval) { name, color, NULL, 0, 1,\ + GEM_SYM, prob, 0, 1, 0, 0, gval } + GEM("diamond", "blue", 1, 4000), + GEM("ruby", "red", 1, 3500), + GEM("sapphire", "blue", 1, 3000), + GEM("emerald", "green", 1, 2500), + GEM("turquoise", "green", 1, 2000), + GEM("aquamarine", "blue", 1, 1500), + GEM("tourmaline", "green", 1, 1000), + GEM("topaz", "yellow", 1, 900), + GEM("opal", "yellow", 1, 800), + GEM("garnet", "dark", 1, 700), + GEM("amethyst", "violet", 2, 650), + GEM("agate", "green", 2, 600), + GEM("onyx", "white", 2, 550), + GEM("jasper", "yellowish brown", 2, 500), + GEM("jade", "green", 2, 450), + GEM("worthless piece of blue glass", "blue", 20, 0), + GEM("worthless piece of red glass", "red", 20, 0), + GEM("worthless piece of yellow glass", "yellow", 20, 0), + GEM("worthless piece of green glass", "green", 20, 0), + { NULL, NULL, NULL, 0, 0, ILLOBJ_SYM, 0, 0, 0, 0, 0, 0 } +}; + +const char obj_symbols[] = { + ILLOBJ_SYM, AMULET_SYM, FOOD_SYM, WEAPON_SYM, TOOL_SYM, + BALL_SYM, CHAIN_SYM, ROCK_SYM, ARMOR_SYM, POTION_SYM, SCROLL_SYM, + WAND_SYM, RING_SYM, GEM_SYM, 0 }; +int bases[sizeof(obj_symbols)]; +#endif /* _DEF_OBJECTS_H_ */ diff --git a/hack/def.permonst.h b/hack/def.permonst.h new file mode 100644 index 0000000..f00fb19 --- /dev/null +++ b/hack/def.permonst.h @@ -0,0 +1,90 @@ +/* $NetBSD: def.permonst.h,v 1.6 2003/04/02 18:36:34 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_PERMONST_H_ +#define _DEF_PERMONST_H_ +struct permonst { + const char *mname; + char mlet; + schar mlevel,mmove,ac,damn,damd; + unsigned pxlth; +}; + +extern const struct permonst mons[]; +#define PM_ACID_BLOB &mons[7] +#define PM_ZOMBIE &mons[13] +#define PM_PIERCER &mons[17] +#define PM_KILLER_BEE &mons[26] +#define PM_WRAITH &mons[33] +#define PM_MIMIC &mons[37] +#define PM_VAMPIRE &mons[43] +#define PM_CHAMELEON &mons[47] +#define PM_DEMON &mons[54] +#define PM_MINOTAUR &mons[55] /* last in mons array */ +#define PM_SHK &mons[56] /* very last */ +#define PM_GHOST &pm_ghost +#define PM_EEL &pm_eel +#define PM_WIZARD &pm_wizard +#define CMNUM 55 /* number of common monsters */ + +#endif /* _DEF_PERMONST_H_ */ diff --git a/hack/def.rm.h b/hack/def.rm.h new file mode 100644 index 0000000..bc54059 --- /dev/null +++ b/hack/def.rm.h @@ -0,0 +1,115 @@ +/* $NetBSD: def.rm.h,v 1.6 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_RM_H_ +#define _DEF_RM_H_ +/* Level location types */ +#define HWALL 1 +#define VWALL 2 +#define SDOOR 3 +#define SCORR 4 +#define LDOOR 5 +#define POOL 6 /* not yet fully implemented */ + /* this should in fact be a bit like lit */ +#define DOOR 7 +#define CORR 8 +#define ROOM 9 +#define STAIRS 10 + +/* + * Avoid using the level types in inequalities: + * these types are subject to change. + * Instead, use one of the macros below. + */ +#define IS_WALL(typ) ((typ) <= VWALL) +#define IS_ROCK(typ) ((typ) < POOL) /* absolutely nonaccessible */ +#define ACCESSIBLE(typ) ((typ) >= DOOR) /* good position */ +#define IS_ROOM(typ) ((typ) >= ROOM) /* ROOM or STAIRS */ +#define ZAP_POS(typ) ((typ) > DOOR) + +/* + * A few of the associated symbols are not hardwired. + */ +#ifdef QUEST +#define CORR_SYM ':' +#else +#define CORR_SYM '#' +#endif /* QUEST */ +#define POOL_SYM '}' + +#define ERRCHAR '{' + +/* + * The structure describing a coordinate position. + * Before adding fields, remember that this will significantly affect + * the size of temporary files and save files. + */ +struct rm { + char scrsym; + unsigned typ:5; + unsigned new:1; + unsigned seen:1; + unsigned lit:1; +}; +extern struct rm levl[COLNO][ROWNO]; +#endif /* _DEF_RM_H_ */ diff --git a/hack/def.trap.h b/hack/def.trap.h new file mode 100644 index 0000000..6521332 --- /dev/null +++ b/hack/def.trap.h @@ -0,0 +1,89 @@ +/* $NetBSD: def.trap.h,v 1.5 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_TRAP_H_ +#define _DEF_TRAP_H_ +struct trap { + struct trap *ntrap; + xchar tx,ty; + unsigned ttyp:5; + unsigned tseen:1; + unsigned once:1; +}; + +extern struct trap *ftrap; +#define newtrap() (struct trap *) alloc(sizeof(struct trap)) + +/* various kinds of traps */ +#define BEAR_TRAP 0 +#define ARROW_TRAP 1 +#define DART_TRAP 2 +#define TRAPDOOR 3 +#define TELEP_TRAP 4 +#define PIT 5 +#define SLP_GAS_TRAP 6 +#define PIERC 7 +#define MIMIC 8 /* used only in mklev.c */ +#define TRAPNUM 9 /* if not less than 32, change sizeof(ttyp) */ + /* see also mtrapseen (bit map) */ +#endif /* _DEF_TRAP_H_ */ diff --git a/hack/def.wseg.h b/hack/def.wseg.h new file mode 100644 index 0000000..df79b1d --- /dev/null +++ b/hack/def.wseg.h @@ -0,0 +1,76 @@ +/* $NetBSD: def.wseg.h,v 1.5 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEF_WSEG_H_ +#define _DEF_WSEG_H_ +#ifndef NOWORM +/* worm structure */ +struct wseg { + struct wseg *nseg; + xchar wx,wy; + unsigned wdispl:1; +}; + +#define newseg() (struct wseg *) alloc(sizeof(struct wseg)) +#endif /* NOWORM */ +#endif /* _DEF_WSEG_H_ */ diff --git a/hack/extern.h b/hack/extern.h new file mode 100644 index 0000000..e2ef242 --- /dev/null +++ b/hack/extern.h @@ -0,0 +1,668 @@ +/* $NetBSD: extern.h,v 1.6 2004/01/27 20:30:29 jsm Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _EXTERN_H_ +#define _EXTERN_H_ +#include +#include + +/* alloc.c */ +long *alloc(unsigned); +long *enlarge(char *, unsigned); + +/* hack.apply.c */ +int doapply(void); +int holetime(void); +void dighole(void); + +/* hack.bones.c */ +void savebones(void); +int getbones(void); + +/* hack.c */ +void unsee(void); +void seeoff(int); +void domove(void); +void movobj(struct obj *, int, int); +int dopickup(void); +void pickup(int); +void lookaround(void); +int monster_nearby(void); +int rroom(int, int); +int cansee(xchar, xchar); +int sgn(int); +void setsee(void); +void nomul(int); +int abon(void); +int dbon(void); +void losestr(int); +void losehp(int, const char *); +void losehp_m(int, struct monst *); +void losexp(void); +int inv_weight(void); +int inv_cnt(void); +long newuexp(void); + +/* hack.cmd.c */ +void rhack(const char *); +int doextcmd(void); +char lowc(int); +char unctrl(int); +int movecmd(int); +int getdir(boolean); +void confdir(void); +int finddir(void); +int isroom(int, int); +int isok(int, int); + +/* hack.do.c */ +int dodrop(void); +void dropx(struct obj *); +void dropy(struct obj *); +int doddrop(void); +int dodown(void); +int doup(void); +void goto_level(int, boolean); +int donull(void); +int dopray(void); +int dothrow(void); +struct obj *splitobj(struct obj *, int); +void more_experienced(int, int); +void set_wounded_legs(long, int); +void heal_legs(void); + +/* hack.do_name.c */ +coord getpos(int, const char *); +int do_mname(void); +void do_oname(struct obj *); +int ddocall(void); +void docall(struct obj *); +char *xmonnam(struct monst *, int); +char *lmonnam(struct monst *); +char *monnam(struct monst *); +char *Monnam(struct monst *); +char *amonnam(struct monst *, const char *); +char *Amonnam(struct monst *, const char *); +char *Xmonnam(struct monst *); +char *visctrl(int); + +/* hack.do_wear.c */ +void off_msg(struct obj *); +int doremarm(void); +int doremring(void); +int dorr(struct obj *); +int cursed(struct obj *); +int armoroff(struct obj *); +int doweararm(void); +int dowearring(void); +void ringoff(struct obj *); +void find_ac(void); +void glibr(void); +struct obj *some_armor(void); +void corrode_armor(void); + +/* hack.dog.c */ +void makedog(void); +void initedog(struct monst *); +void losedogs(void); +void keepdogs(void); +void fall_down(struct monst *); +int dogfood(struct obj *); +int dog_move(struct monst *, int); +int inroom(xchar, xchar); +int tamedog(struct monst *, struct obj *); + +/* hack.eat.c */ +void init_uhunger(void); +int opentin(void); +int Meatdone(void); +int doeat(void); +void gethungry(void); +void morehungry(int); +void lesshungry(int); +int unfaint(void); +void newuhs(boolean); +int poisonous(struct obj *); +int eatcorpse(struct obj *); + +/* hack.end.c */ +int dodone(void); +void done1(int); +void done_intr(int); +void done_hangup(int); +void done_in_by(struct monst *); +void done(const char *); +void topten(void); +void outheader(void); +struct toptenentry; +int outentry(int, struct toptenentry *, int); +char *itoa(int); +const char *ordin(int); +void clearlocks(void); +void hangup(int) __attribute__((__noreturn__)); +char *eos(char *); +void charcat(char *, int); +void prscore(int, char **); + +/* hack.engrave.c */ +struct engr *engr_at(xchar, xchar); +int sengr_at(const char *, xchar, xchar); +void u_wipe_engr(int); +void wipe_engr_at(xchar, xchar, xchar); +void read_engr_at(int, int); +void make_engr_at(int, int, const char *); +int doengrave(void); +void save_engravings(int); +void rest_engravings(int); +void del_engr(struct engr *); + +/* hack.fight.c */ +int hitmm(struct monst *, struct monst *); +void mondied(struct monst *); +void monstone(struct monst *); +int fightm(struct monst *); +int thitu(int, int, const char *); +boolean hmon(struct monst *, struct obj *, int); +int attack(struct monst *); + +/* hack.invent.c */ +struct obj *addinv(struct obj *); +void useup(struct obj *); +void freeinv(struct obj *); +void delobj(struct obj *); +void freeobj(struct obj *); +void freegold(struct gold *); +void deltrap(struct trap *); +struct monst *m_at(int, int); +struct obj *o_at(int, int); +struct obj *sobj_at(int, int, int); +int carried(struct obj *); +int carrying(int); +struct obj *o_on(unsigned int, struct obj *); +struct trap *t_at(int, int); +struct gold *g_at(int, int); +struct obj *mkgoldobj(long); +struct obj *getobj(const char *, const char *); +int ckunpaid(struct obj *); +int ggetobj(const char *, int (*fn)(struct obj *), int); +int askchain(struct obj *, char *, int, int (*)(struct obj *), + int (*)(struct obj *), int); +char obj_to_let(struct obj *); +void prinv(struct obj *); +int ddoinv(void); +void doinv(char *); +int dotypeinv(void); +int dolook(void); +void stackobj(struct obj *); +int merged(struct obj *, struct obj *, int); +int countgold(void); +int doprgold(void); +int doprwep(void); +int doprarm(void); +int doprring(void); +int digit(int); + +/* hack.ioctl.c */ +void getioctls(void); +void setioctls(void); +int dosuspend(void); + +/* hack.lev.c */ +void savelev(int, xchar); +void bwrite(int, const void *, unsigned); +void saveobjchn(int, struct obj *); +void savemonchn(int, struct monst *); +void savegoldchn(int, struct gold *); +void savetrapchn(int, struct trap *); +void getlev(int, int, xchar); +void mread(int, char *, unsigned); +void mklev(void); + +/* hack.main.c */ +void glo(int); +void askname(void); +void impossible(const char *, ...) + __attribute__((__format__(__printf__, 1, 2))); +void stop_occupation(void); + +/* hack.makemon.c */ +struct monst *makemon(const struct permonst *, int, int); +coord enexto(xchar, xchar); +int goodpos(int, int); +void rloc(struct monst *); +struct monst *mkmon_at(int, int, int); + +/* hack.mhitu.c */ +int mhitu(struct monst *); +int hitu(struct monst *, int); + +/* hack.mklev.c */ +void makelevel(void); +int makerooms(void); +void addrs(int, int, int, int); +void addrsx(int, int, int, int, boolean); +struct mkroom; +int comp(const void *, const void *); +coord finddpos(int, int, int, int); +int okdoor(int, int); +void dodoor(int, int, struct mkroom *); +void dosdoor(int, int, struct mkroom *, int); +int maker(schar, schar, schar, schar); +void makecorridors(void); +void join(int, int); +void make_niches(void); +void makevtele(void); +void makeniche(boolean); +void mktrap(int, int, struct mkroom *); + +/* hack.mkmaze.c */ +void makemaz(void); +void walkfrom(int, int); +void move(int *, int *, int); +int okay(int, int, int); +coord mazexy(void); + +/* hack.mkobj.c */ +struct obj *mkobj_at(int, int, int); +void mksobj_at(int, int, int); +struct obj *mkobj(int); +struct obj *mksobj(int); +int letter(int); +int weight(struct obj *); +void mkgold(long, int, int); + +/* hack.mkshop.c */ +void mkshop(void); +void mkzoo(int); +const struct permonst *morguemon(void); +void mkswamp(void); +int nexttodoor(int, int); +int has_dnstairs(struct mkroom *); +int has_upstairs(struct mkroom *); +int isbig(struct mkroom *); +int dist2(int, int, int, int); +int sq(int); + +/* hack.mon.c */ +void movemon(void); +void justswld(struct monst *, const char *); +void youswld(struct monst *, int, int, const char *); +int dochugw(struct monst *); +int dochug(struct monst *); +int m_move(struct monst *, int); +void mpickgold(struct monst *); +void mpickgems(struct monst *); +int mfndpos(struct monst *, coord[9 ], int[9 ], int); +int dist(int, int); +void poisoned(const char *, const char *); +void mondead(struct monst *); +void replmon(struct monst *, struct monst *); +void relmon(struct monst *); +void monfree(struct monst *); +void dmonsfree(void); +void unstuck(struct monst *); +void killed(struct monst *); +void kludge(const char *, const char *); +void rescham(void); +int newcham(struct monst *, const struct permonst *); +void mnexto(struct monst *); +int ishuman(struct monst *); +void setmangry(struct monst *); +int canseemon(struct monst *); + +/* hack.monst.c */ + +/* hack.o_init.c */ +int letindex(int); +void init_objects(void); +int probtype(int); +void setgemprobs(void); +void oinit(void); +void savenames(int); +void restnames(int); +int dodiscovered(void); +int interesting_to_discover(int); + +/* hack.objnam.c */ +char *strprepend(char *, char *); +char *sitoa(int); +char *typename(int); +char *xname(struct obj *); +char *doname(struct obj *); +void setan(const char *, char *); +char *aobjnam(struct obj *, const char *); +char *Doname(struct obj *); +struct obj *readobjnam(char *); + +/* hack.options.c */ +void initoptions(void); +void parseoptions(char *, boolean); +int doset(void); + +/* hack.pager.c */ +int dowhatis(void); +void intruph(int); +void page_more(FILE *, int); +void set_whole_screen(void); +int readnews(void); +void set_pager(int); +int page_line(const char *); +void cornline(int, const char *); +int dohelp(void); +int page_file(const char *, boolean); +int dosh(void); +int child(int); + +/* hack.potion.c */ +int dodrink(void); +void pluslvl(void); +void strange_feeling(struct obj *, const char *); +void potionhit(struct monst *, struct obj *); +void potionbreathe(struct obj *); +int dodip(void); +void ghost_from_bottle(void); + +/* hack.pri.c */ +void swallowed(void); +void panic(const char *, ...) + __attribute__((__format__(__printf__, 1, 2))); +void atl(int, int, int); +void on_scr(int, int); +void tmp_at(schar, schar); +void Tmp_at(schar, schar); +void setclipped(void) __attribute__((__noreturn__)); +void at(xchar, xchar, int); +void prme(void); +int doredraw(void); +void docrt(void); +void docorner(int, int); +void curs_on_u(void); +void pru(void); +void prl(int, int); +char news0(xchar, xchar); +void newsym(int, int); +void mnewsym(int, int); +void nosee(int, int); +void prl1(int, int); +void nose1(int, int); +int vism_at(int, int); +void pobj(struct obj *); +void unpobj(struct obj *); +void seeobjs(void); +void seemons(void); +void pmon(struct monst *); +void unpmon(struct monst *); +void nscr(void); +void cornbot(int); +void bot(void); +void mstatusline(struct monst *); +void cls(void); + +/* hack.read.c */ +int doread(void); +int identify(struct obj *); +void litroom(boolean); +int monstersym(int); + +/* hack.rip.c */ +void outrip(void); +void center(int, char *); + +/* hack.rumors.c */ +void init_rumors(FILE *); +int skipline(FILE *); +void outline(FILE *); +void outrumor(void); +int used(int); + +/* hack.save.c */ +int dosave(void); +int dosave0(int); +int dorecover(int); +struct obj *restobjchn(int); +struct monst *restmonchn(int); + +/* hack.search.c */ +int findit(void); +int dosearch(void); +int doidtrap(void); +void wakeup(struct monst *); +void seemimic(struct monst *); + +/* hack.shk.c */ +void obfree(struct obj *, struct obj *); +void paybill(void); +char *shkname(struct monst *); +void shkdead(struct monst *); +void replshk(struct monst *, struct monst *); +int inshop(void); +int dopay(void); +struct bill_x; +struct obj *bp_to_obj(struct bill_x *); +void addtobill(struct obj *); +void splitbill(struct obj *, struct obj *); +void subfrombill(struct obj *); +int doinvbill(int); +int shkcatch(struct obj *); +int shk_move(struct monst *); +void shopdig(int); +int online(int, int); +int follower(struct monst *); + +/* hack.shknam.c */ +void findname(char *, int); + +/* hack.steal.c */ +long somegold(void); +void stealgold(struct monst *); +int stealarm(void); +int steal(struct monst *); +void mpickobj(struct monst *, struct obj *); +int stealamulet(struct monst *); +void relobj(struct monst *, int); + +/* hack.termcap.c */ +void startup(void); +void start_screen(void); +void end_screen(void); +void curs(int, int); +void nocmov(int, int); +void cmov(int, int); +int xputc(int); +void xputs(char *); +void cl_end(void); +void clear_screen(void); +void home(void); +void standoutbeg(void); +void standoutend(void); +void backsp(void); +void bell(void); +void delay_output(void); +void cl_eos(void); + +/* hack.timeout.c */ +void timeout(void); +void stoned_dialogue(void); + +/* hack.topl.c */ +int doredotopl(void); +void redotoplin(void); +void remember_topl(void); +void addtopl(const char *); +void xmore(const char *); +void more(void); +void cmore(const char *); +void clrlin(void); +void pline(const char *, ...) + __attribute__((__format__(__printf__, 1, 2))); +void vpline(const char *, va_list) + __attribute__((__format__(__printf__, 1, 0))); +void putsym(int); +void putstr(const char *); + +/* hack.track.c */ +void initrack(void); +void settrack(void); +coord *gettrack(int, int); + +/* hack.trap.c */ +struct trap *maketrap(int, int, int); +void dotrap(struct trap *); +int mintrap(struct monst *); +void selftouch(const char *); +void float_up(void); +void float_down(void); +void vtele(void); +void tele(void); +void teleds(int, int); +int teleok(int, int); +int dotele(void); +void placebc(int); +void unplacebc(void); +void level_tele(void); +void drown(void); + +/* hack.tty.c */ +void gettty(void); +void settty(const char *); +void setctty(void); +void setftty(void); +void error(const char *, ...) + __attribute__((__format__(__printf__, 1, 2),__noreturn__)); +void getlin(char *); +void getret(void); +void cgetret(const char *); +void xwaitforspace(const char *); +char *parse(void); +char readchar(void); +void end_of_input(void) __attribute__((__noreturn__)); + +/* hack.u_init.c */ +void u_init(void); +struct trobj; +void ini_inv(struct trobj *); +void wiz_inv(void); +void plnamesuffix(void); +int role_index(int); + +/* hack.unix.c */ +void setrandom(void); +struct tm *getlt(void); +int getyear(void); +char *getdate(void); +int phase_of_the_moon(void); +int night(void); +int midnight(void); +void gethdate(char *); +int uptodate(int); +int veryold(int); +void getlock(void); +void getmailstatus(void); +void ckmailstatus(void); +void newmail(void); +void mdrush(struct monst *, boolean); +void readmail(void); +void regularize(char *); + +/* hack.vault.c */ +void setgd(void); +int gd_move(void); +void gddead(void); +void replgd(struct monst *, struct monst *); +void invault(void); + +/* hack.version.c */ +int doversion(void); + +/* hack.wield.c */ +void setuwep(struct obj *); +int dowield(void); +void corrode_weapon(void); +int chwepon(struct obj *, int); + +/* hack.wizard.c */ +void amulet(void); +int wiz_hit(struct monst *); +void inrange(struct monst *); +void aggravate(void); +void clonewiz(struct monst *); + +/* hack.worm.c */ +#ifndef NOWORM +int getwn(struct monst *); +void initworm(struct monst *); +void worm_move(struct monst *); +void worm_nomove(struct monst *); +void wormdead(struct monst *); +void wormhit(struct monst *); +void wormsee(unsigned); +struct wseg; +void pwseg(struct wseg *); +void cutworm(struct monst *, xchar, xchar, uchar); +void remseg(struct wseg *); +#endif + +/* hack.worn.c */ +void setworn(struct obj *, long); +void setnotworn(struct obj *); + +/* hack.zap.c */ +void bhitm(struct monst *, struct obj *); +int bhito(struct obj *, struct obj *); +int dozap(void); +const char *exclam(int); +void hit(const char *, struct monst *, const char *); +void miss(const char *, struct monst *); +struct monst *bhit(int, int, int, int, + void (*)(struct monst *, struct obj *), + int (*)(struct obj *, struct obj *), + struct obj *); +struct monst *boomhit(int, int); +char dirlet(int, int); +void buzz(int, xchar, xchar, int, int); +int zhit(struct monst *, int); +int revive(struct obj *); +void rloco(struct obj *); +void fracture_rock(struct obj *); +void burn_scrolls(void); + +/* rnd.c */ +int rn1(int, int); +int rn2(int); +int rnd(int); +int d(int, int); +#endif /* _EXTERN_H_ */ diff --git a/hack/hack.6.in b/hack/hack.6.in new file mode 100644 index 0000000..4c3d98a --- /dev/null +++ b/hack/hack.6.in @@ -0,0 +1,209 @@ +.\" $NetBSD: hack.6,v 1.14 2004/06/01 10:10:06 wiz Exp $ -*- nroff -*- +.\" +.\" Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, +.\" Amsterdam +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions are +.\" met: +.\" +.\" - Redistributions of source code must retain the above copyright notice, +.\" this list of conditions and the following disclaimer. +.\" +.\" - Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" - Neither the name of the Stichting Centrum voor Wiskunde en +.\" Informatica, nor the names of its contributors may be used to endorse or +.\" promote products derived from this software without specific prior +.\" written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +.\" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +.\" PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +.\" OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +.\" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +.\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" +.\" Copyright (c) 1982 Jay Fenlason +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 31, 1985 +.Dt HACK 6 +.Os +.Sh NAME +.Nm hack +.Nd exploring The Dungeons of Doom +.Sh SYNOPSIS +.Nm +.Op Fl d Ar directory +.Op Fl n +.Op Fl u Ar playername +.Nm +.Op Fl d Ar directory +.Op Fl s +.Op Fl X +.Op Ar playername ... +.Sh DESCRIPTION +.Nm +is a display oriented dungeons \*[Am] dragons-like game. +Both display and command structure resemble rogue. +(For a game with the same structure but entirely different display - +a real cave instead of dull rectangles - try Quest.) +.Pp +To get started you really only need to know two commands. +The command +.Ic \&? +will give you a list of the available commands and the command +.Ic / +will identify the things you see on the screen. +.Pp +To win the game (as opposed to merely playing to beat other people's high +scores) you must locate the Amulet of Yendor which is somewhere below +the 20th level of the dungeon and get it out. +Nobody has achieved this yet and if somebody does, he will probably go +down in history as a hero among heroes. +.Pp +When the game ends, either by your death, when you quit, or if you escape +from the caves, +.Nm +will give you (a fragment of) the list of top scorers. +The scoring is based on many aspects of your behavior but a rough estimate +is obtained by taking the amount of gold you've found in the cave plus four +times your (real) experience. +Precious stones may be worth a lot of gold when brought to the exit. +There is a 10% penalty for getting yourself killed. +.Pp +The administration of the game is kept in the directory specified with the +.Fl d +option, or, if no such option is given, in the directory specified by +the environment variable +.Ev HACKDIR , +or, if no such variable exists, in the current directory. +This same directory contains several auxiliary files such as lockfiles and +the list of topscorers and a subdirectory +.Pa save +where games are saved. +The game administrator may however choose to install hack with a fixed +playing ground, usually +.Pa @hack_dir@ . +.Pp +The +.Fl n +option suppresses printing of the news. +.Pp +The +.Fl u +.Ar playername +option supplies the answer to the question "Who are you?". +When +.Ar playername +has as suffix one of +.Em -T , +.Em -S , +.Em -K , +.Em -F , +.Em -C , +or +.Em -W , +then this supplies the answer to the question "What kind of character ... ?". +.Pp +The +.Fl s +option will print out the list of your scores. +It may be followed by arguments +.Fl X +where X is one of the letters C, F, K, S, T, W to print the scores of +Cavemen, Fighters, Knights, Speleologists, Tourists or Wizards. +It may also be followed by one or more player names to print the scores of the +players mentioned. +.Sh AUTHORS +Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the +original hack, very much like rogue (but full of bugs). +.br +Andries Brouwer continuously deformed their sources into the current +version - in fact an entirely different game. +.Sh FILES +.Bl -tag -width 24n -compact +.It Pa hack +The hack program. +.It Pa data, rumors +Data files used by hack. +.It Pa help, hh +Help data files. +.It Pa record +The list of topscorers. +.It Pa save +A subdirectory containing the saved games. +.It Pa bones_dd +Descriptions of the ghost and belongings of a deceased adventurer. +.It Pa xlock.dd +Description of a dungeon level. +.It Pa safelock +Lock file for xlock. +.It Pa record_lock +Lock file for record. +.El +.Sh ENVIRONMENT +.Bl -tag -width 24n -compact +.It Ev USER No or Ev LOGNAME +Your login name. +.It Ev HOME +Your home directory. +.It Ev SHELL +Your shell. +.It Ev TERM +The type of your terminal. +.It Ev HACKPAGER, PAGER +Pager used instead of default pager. +.It Ev MAIL +Mailbox file. +.It Ev MAILREADER +Reader used instead of default (probably +.Pa /usr/bin/mail ) . +.It Ev HACKDIR +Playground. +.It Ev HACKOPTIONS +String predefining several hack options (see help file). +.El +.Pp +Several other environment variables are used in debugging (wizard) mode, +like +.Ev GENOCIDED , +.Ev INVENT , +.Ev MAGIC +and +.Ev SHOPTYPE . +.Sh BUGS +Probably infinite. +Mail complaints to mcvax!aeb . diff --git a/hack/hack.Decl.c b/hack/hack.Decl.c new file mode 100644 index 0000000..9166f5e --- /dev/null +++ b/hack/hack.Decl.c @@ -0,0 +1,110 @@ +/* $NetBSD: hack.Decl.c,v 1.6 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.Decl.c,v 1.6 2003/04/02 18:36:35 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +char nul[40]; /* contains zeros */ +char plname[PL_NSIZ];/* player name */ +char lock[PL_NSIZ + 4] = "1lock"; /* long enough for login name + * .99 */ + +boolean in_mklev, restoring; + +struct rm levl[COLNO][ROWNO]; /* level map */ +#ifndef QUEST +#include "def.mkroom.h" +struct mkroom rooms[MAXNROFROOMS + 1]; +coord doors[DOORMAX]; +#endif /* QUEST */ +struct monst *fmon = 0; +struct trap *ftrap = 0; +struct gold *fgold = 0; +struct obj *fobj = 0, *fcobj = 0, *invent = 0, *uwep = 0, *uarm = 0, *uarm2 = 0, + *uarmh = 0, *uarms = 0, *uarmg = 0, *uright = 0, *uleft = 0, + *uchain = 0, *uball = 0; +struct flag flags; +struct you u; +struct monst youmonst; /* dummy; used as return value for boomhit */ + +xchar dlevel = 1; +xchar xupstair, yupstair, xdnstair, ydnstair; +char *save_cm = 0; +const char *killer, *nomovemsg; + +long moves = 1; +long wailmsg = 0; + +int multi = 0; +char genocided[60]; +char fut_geno[60]; + +xchar curx, cury; +xchar seelx, seehx, seely, seehy; /* corners of lit room */ + +coord bhitpos; + +const char quitchars[] = " \r\n\033"; diff --git a/hack/hack.apply.c b/hack/hack.apply.c new file mode 100644 index 0000000..391cbf4 --- /dev/null +++ b/hack/hack.apply.c @@ -0,0 +1,537 @@ +/* $NetBSD: hack.apply.c,v 1.8 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.apply.c,v 1.8 2004/01/27 20:30:29 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include "def.edog.h" +#include "def.mkroom.h" + +static void use_camera(struct obj *); +static int in_ice_box(struct obj *); +static int ck_ice_box(struct obj *); +static int out_ice_box(struct obj *); +static void use_ice_box(struct obj *); +static struct monst *bchit(int, int , int , int); +static void use_whistle(struct obj *); +static void use_magic_whistle(struct obj *); +static int dig(void); +static int use_pick_axe(struct obj *); + +int +doapply() +{ + struct obj *obj; + int res = 1; + + obj = getobj("(", "use or apply"); + if (!obj) + return (0); + + switch (obj->otyp) { + case EXPENSIVE_CAMERA: + use_camera(obj); + break; + case ICE_BOX: + use_ice_box(obj); + break; + case PICK_AXE: + res = use_pick_axe(obj); + break; + + case MAGIC_WHISTLE: + if (pl_character[0] == 'W' || u.ulevel > 9) { + use_magic_whistle(obj); + break; + } + /* fall into next case */ + case WHISTLE: + use_whistle(obj); + break; + + case CAN_OPENER: + if (!carrying(TIN)) { + pline("You have no can to open."); + goto xit; + } + pline("You cannot open a tin without eating its contents."); + pline("In order to eat, use the 'e' command."); + if (obj != uwep) + pline("Opening the tin will be much easier if you wield the can-opener."); + goto xit; + + default: + pline("Sorry, I don't know how to use that."); +xit: + nomul(0); + return (0); + } + nomul(0); + return (res); +} + +/* ARGSUSED */ +static void +use_camera(obj) /* */ + struct obj *obj __attribute__((__unused__)); +{ + struct monst *mtmp; + if (!getdir(1)) { /* ask: in what direction? */ + flags.move = multi = 0; + return; + } + if (u.uswallow) { + pline("You take a picture of %s's stomach.", monnam(u.ustuck)); + return; + } + if (u.dz) { + pline("You take a picture of the %s.", + (u.dz > 0) ? "floor" : "ceiling"); + return; + } + if ((mtmp = bchit(u.dx, u.dy, COLNO, '!')) != NULL) { + if (mtmp->msleep) { + mtmp->msleep = 0; + pline("The flash awakens %s.", monnam(mtmp)); /* a3 */ + } else if (mtmp->data->mlet != 'y') + if (mtmp->mcansee || mtmp->mblinded) { + int tmp = dist(mtmp->mx, mtmp->my); + int tmp2; + if (cansee(mtmp->mx, mtmp->my)) + pline("%s is blinded by the flash!", Monnam(mtmp)); + setmangry(mtmp); + if (tmp < 9 && !mtmp->isshk && rn2(4)) { + mtmp->mflee = 1; + if (rn2(4)) + mtmp->mfleetim = rnd(100); + } + if (tmp < 3) + mtmp->mcansee = mtmp->mblinded = 0; + else { + tmp2 = mtmp->mblinded; + tmp2 += rnd(1 + 50 / tmp); + if (tmp2 > 127) + tmp2 = 127; + mtmp->mblinded = tmp2; + mtmp->mcansee = 0; + } + } + } +} + +static +struct obj *current_ice_box;/* a local variable of use_ice_box, to be + * used by its local procedures in/ck_ice_box */ +static int +in_ice_box(obj) + struct obj *obj; +{ + if (obj == current_ice_box || + (Punished && (obj == uball || obj == uchain))) { + pline("You must be kidding."); + return (0); + } + if (obj->owornmask & (W_ARMOR | W_RING)) { + pline("You cannot refrigerate something you are wearing."); + return (0); + } + if (obj->owt + current_ice_box->owt > 70) { + pline("It won't fit."); + return (1); /* be careful! */ + } + if (obj == uwep) { + if (uwep->cursed) { + pline("Your weapon is welded to your hand!"); + return (0); + } + setuwep((struct obj *) 0); + } + current_ice_box->owt += obj->owt; + freeinv(obj); + obj->o_cnt_id = current_ice_box->o_id; + obj->nobj = fcobj; + fcobj = obj; + obj->age = moves - obj->age; /* actual age */ + return (1); +} + +static int +ck_ice_box(obj) + struct obj *obj; +{ + return (obj->o_cnt_id == current_ice_box->o_id); +} + +static int +out_ice_box(obj) + struct obj *obj; +{ + struct obj *otmp; + if (obj == fcobj) + fcobj = fcobj->nobj; + else { + for (otmp = fcobj; otmp->nobj != obj; otmp = otmp->nobj) + if (!otmp->nobj) + panic("out_ice_box"); + otmp->nobj = obj->nobj; + } + current_ice_box->owt -= obj->owt; + obj->age = moves - obj->age; /* simulated point of time */ + (void) addinv(obj); + return 0; +} + +static void +use_ice_box(obj) + struct obj *obj; +{ + int cnt = 0; + struct obj *otmp; + current_ice_box = obj; /* for use by in/out_ice_box */ + for (otmp = fcobj; otmp; otmp = otmp->nobj) + if (otmp->o_cnt_id == obj->o_id) + cnt++; + if (!cnt) + pline("Your ice-box is empty."); + else { + pline("Do you want to take something out of the ice-box? [yn] "); + if (readchar() == 'y') + if (askchain(fcobj, (char *) 0, 0, out_ice_box, ck_ice_box, 0)) + return; + pline("That was all. Do you wish to put something in? [yn] "); + if (readchar() != 'y') + return; + } + /* call getobj: 0: allow cnt; #: allow all types; %: expect food */ + otmp = getobj("0#%", "put in"); + if (!otmp || !in_ice_box(otmp)) + flags.move = multi = 0; +} + +static struct monst * +bchit(ddx, ddy, range, sym) + int ddx, ddy, range; + char sym; +{ + struct monst *mtmp = (struct monst *) 0; + int bchx = u.ux, bchy = u.uy; + + if (sym) + Tmp_at(-1, sym);/* open call */ + while (range--) { + bchx += ddx; + bchy += ddy; + if ((mtmp = m_at(bchx, bchy)) != NULL) + break; + if (!ZAP_POS(levl[bchx][bchy].typ)) { + bchx -= ddx; + bchy -= ddy; + break; + } + if (sym) + Tmp_at(bchx, bchy); + } + if (sym) + Tmp_at(-1, -1); + return (mtmp); +} + +/* ARGSUSED */ +static void +use_whistle(obj) + struct obj *obj __attribute__((__unused__)); +{ + struct monst *mtmp = fmon; + pline("You produce a high whistling sound."); + while (mtmp) { + if (dist(mtmp->mx, mtmp->my) < u.ulevel * 20) { + if (mtmp->msleep) + mtmp->msleep = 0; + if (mtmp->mtame) + EDOG(mtmp)->whistletime = moves; + } + mtmp = mtmp->nmon; + } +} + +/* ARGSUSED */ +static void +use_magic_whistle(obj) + struct obj *obj __attribute__((__unused__)); +{ + struct monst *mtmp = fmon; + pline("You produce a strange whistling sound."); + while (mtmp) { + if (mtmp->mtame) + mnexto(mtmp); + mtmp = mtmp->nmon; + } +} + +static int dig_effort; /* effort expended on current pos */ +static uchar dig_level; +static coord dig_pos; +static boolean dig_down; + +static int +dig() +{ + struct rm *lev; + int dpx = dig_pos.x, dpy = dig_pos.y; + + /* perhaps a nymph stole his pick-axe while he was busy digging */ + /* or perhaps he teleported away */ + if (u.uswallow || !uwep || uwep->otyp != PICK_AXE || + dig_level != dlevel || + ((dig_down && (dpx != u.ux || dpy != u.uy)) || + (!dig_down && dist(dpx, dpy) > 2))) + return (0); + + dig_effort += 10 + abon() + uwep->spe + rn2(5); + if (dig_down) { + if (!xdnstair) { + pline("The floor here seems too hard to dig in."); + return (0); + } + if (dig_effort > 250) { + dighole(); + return (0); /* done with digging */ + } + if (dig_effort > 50) { + struct trap *ttmp = t_at(dpx, dpy); + + if (!ttmp) { + ttmp = maketrap(dpx, dpy, PIT); + ttmp->tseen = 1; + pline("You have dug a pit."); + u.utrap = rn1(4, 2); + u.utraptype = TT_PIT; + return (0); + } + } + } else if (dig_effort > 100) { + const char *digtxt; + struct obj *obj; + + lev = &levl[dpx][dpy]; + if ((obj = sobj_at(ENORMOUS_ROCK, dpx, dpy)) != NULL) { + fracture_rock(obj); + digtxt = "The rock falls apart."; + } else if (!lev->typ || lev->typ == SCORR) { + lev->typ = CORR; + digtxt = "You succeeded in cutting away some rock."; + } else if (lev->typ == HWALL || lev->typ == VWALL + || lev->typ == SDOOR) { + lev->typ = xdnstair ? DOOR : ROOM; + digtxt = "You just made an opening in the wall."; + } else + digtxt = "Now what exactly was it that you were digging in?"; + mnewsym(dpx, dpy); + prl(dpx, dpy); + pline(digtxt); /* after mnewsym & prl */ + return (0); + } else { + if (IS_WALL(levl[dpx][dpy].typ)) { + int rno = inroom(dpx, dpy); + + if (rno >= 0 && rooms[rno].rtype >= 8) { + pline("This wall seems too hard to dig into."); + return (0); + } + } + pline("You hit the rock with all your might."); + } + return (1); +} + +/* When will hole be finished? Very rough indication used by shopkeeper. */ +int +holetime() +{ + return ((occupation == dig) ? (250 - dig_effort) / 20 : -1); +} + +void +dighole() +{ + struct trap *ttmp = t_at(u.ux, u.uy); + + if (!xdnstair) { + pline("The floor here seems too hard to dig in."); + } else { + if (ttmp) + ttmp->ttyp = TRAPDOOR; + else + ttmp = maketrap(u.ux, u.uy, TRAPDOOR); + ttmp->tseen = 1; + pline("You've made a hole in the floor."); + if (!u.ustuck) { + if (inshop()) + shopdig(1); + pline("You fall through ..."); + if (u.utraptype == TT_PIT) { + u.utrap = 0; + u.utraptype = 0; + } + goto_level(dlevel + 1, FALSE); + } + } +} + +static int +use_pick_axe(obj) + struct obj *obj; +{ + char dirsyms[12]; + char *dsp = dirsyms, *sdp = sdir; + struct monst *mtmp; + struct rm *lev; + int rx, ry, res = 0; + + if (obj != uwep) { + if (uwep && uwep->cursed) { + /* Andreas Bormann - ihnp4!decvax!mcvax!unido!ab */ + pline("Since your weapon is welded to your hand,"); + pline("you cannot use that pick-axe."); + return (0); + } + pline("You now wield %s.", doname(obj)); + setuwep(obj); + res = 1; + } + while (*sdp) { + (void) movecmd(*sdp); /* sets u.dx and u.dy and u.dz */ + rx = u.ux + u.dx; + ry = u.uy + u.dy; + if (u.dz > 0 || (u.dz == 0 && isok(rx, ry) && + (IS_ROCK(levl[rx][ry].typ) + || sobj_at(ENORMOUS_ROCK, rx, ry)))) + *dsp++ = *sdp; + sdp++; + } + *dsp = 0; + pline("In what direction do you want to dig? [%s] ", dirsyms); + if (!getdir(0)) /* no txt */ + return (res); + if (u.uswallow && attack(u.ustuck)) /* return(1) */ + ; + else if (u.dz < 0) + pline("You cannot reach the ceiling."); + else if (u.dz == 0) { + if (Confusion) + confdir(); + rx = u.ux + u.dx; + ry = u.uy + u.dy; + if ((mtmp = m_at(rx, ry)) && attack(mtmp)) + return (1); + if (!isok(rx, ry)) { + pline("Clash!"); + return (1); + } + lev = &levl[rx][ry]; + if (lev->typ == DOOR) + pline("Your %s against the door.", + aobjnam(obj, "clang")); + else if (!IS_ROCK(lev->typ) + && !sobj_at(ENORMOUS_ROCK, rx, ry)) { + /* ACCESSIBLE or POOL */ + pline("You swing your %s through thin air.", + aobjnam(obj, (char *) 0)); + } else { + if (dig_pos.x != rx || dig_pos.y != ry + || dig_level != dlevel || dig_down) { + dig_down = FALSE; + dig_pos.x = rx; + dig_pos.y = ry; + dig_level = dlevel; + dig_effort = 0; + pline("You start digging."); + } else + pline("You continue digging."); + occupation = dig; + occtxt = "digging"; + } + } else if (Levitation) { + pline("You cannot reach the floor."); + } else { + if (dig_pos.x != u.ux || dig_pos.y != u.uy + || dig_level != dlevel || !dig_down) { + dig_down = TRUE; + dig_pos.x = u.ux; + dig_pos.y = u.uy; + dig_level = dlevel; + dig_effort = 0; + pline("You start digging in the floor."); + if (inshop()) + shopdig(0); + } else + pline("You continue digging in the floor."); + occupation = dig; + occtxt = "digging"; + } + return (1); +} diff --git a/hack/hack.bones.c b/hack/hack.bones.c new file mode 100644 index 0000000..35c4597 --- /dev/null +++ b/hack/hack.bones.c @@ -0,0 +1,176 @@ +/* $NetBSD: hack.bones.c,v 1.6 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.bones.c,v 1.6 2003/04/02 18:36:35 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include +#include + +char bones[] = "bones_xx"; + +/* save bones and possessions of a deceased adventurer */ +void +savebones() +{ + int fd; + struct obj *otmp; + struct trap *ttmp; + struct monst *mtmp; + + if (dlevel <= 0 || dlevel > MAXLEVEL) + return; + if (!rn2(1 + dlevel / 2)) + return; /* not so many ghosts on low levels */ + bones[6] = '0' + (dlevel / 10); + bones[7] = '0' + (dlevel % 10); + if ((fd = open(bones, O_RDONLY)) >= 0) { + (void) close(fd); + return; + } + /* drop everything; the corpse's possessions are usually cursed */ + otmp = invent; + while (otmp) { + otmp->ox = u.ux; + otmp->oy = u.uy; + otmp->age = 0; /* very long ago */ + otmp->owornmask = 0; + if (rn2(5)) + otmp->cursed = 1; + if (!otmp->nobj) { + otmp->nobj = fobj; + fobj = invent; + invent = 0; /* superfluous */ + break; + } + otmp = otmp->nobj; + } + if (!(mtmp = makemon(PM_GHOST, u.ux, u.uy))) + return; + mtmp->mx = u.ux; + mtmp->my = u.uy; + mtmp->msleep = 1; + (void) strcpy((char *) mtmp->mextra, plname); + mkgold(somegold() + d(dlevel, 30), u.ux, u.uy); + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { + mtmp->m_id = 0; + if (mtmp->mtame) { + mtmp->mtame = 0; + mtmp->mpeaceful = 0; + } + mtmp->mlstmv = 0; + if (mtmp->mdispl) + unpmon(mtmp); + } + for (ttmp = ftrap; ttmp; ttmp = ttmp->ntrap) + ttmp->tseen = 0; + for (otmp = fobj; otmp; otmp = otmp->nobj) { + otmp->o_id = 0; + /* otmp->o_cnt_id = 0; - superfluous */ + otmp->onamelth = 0; + otmp->known = 0; + otmp->invlet = 0; + if (otmp->olet == AMULET_SYM && !otmp->spe) { + otmp->spe = -1; /* no longer the actual amulet */ + otmp->cursed = 1; /* flag as gotten from a + * ghost */ + } + } + if ((fd = creat(bones, FMASK)) < 0) + return; + savelev(fd, dlevel); + (void) close(fd); +} + +int +getbones() +{ + int fd, x, y, ok; + + if (rn2(3)) + return (0); /* only once in three times do we find bones */ + bones[6] = '0' + dlevel / 10; + bones[7] = '0' + dlevel % 10; + if ((fd = open(bones, O_RDONLY)) < 0) + return (0); + if ((ok = uptodate(fd)) != 0) { + getlev(fd, 0, dlevel); + for (x = 0; x < COLNO; x++) + for (y = 0; y < ROWNO; y++) + levl[x][y].seen = levl[x][y].new = 0; + } + (void) close(fd); +#ifdef WIZARD + if (!wizard) /* duvel!frans: don't remove bones while + * debugging */ +#endif /* WiZARD */ + if (unlink(bones) < 0) { + pline("Cannot unlink %s .", bones); + return (0); + } + return (ok); +} diff --git a/hack/hack.c b/hack/hack.c new file mode 100644 index 0000000..05141af --- /dev/null +++ b/hack/hack.c @@ -0,0 +1,975 @@ +/* $NetBSD: hack.c,v 1.6 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.c,v 1.6 2003/04/02 18:36:35 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +/* + * called on movement: 1. when throwing ball+chain far away 2. when + * teleporting 3. when walking out of a lit room + */ +void +unsee() +{ + int x, y; + struct rm *lev; + + /* + if(u.udispl){ + u.udispl = 0; + newsym(u.udisx, u.udisy); + } + */ +#ifndef QUEST + if (seehx) { + seehx = 0; + } else +#endif /* QUEST */ + for (x = u.ux - 1; x < u.ux + 2; x++) + for (y = u.uy - 1; y < u.uy + 2; y++) { + if (!isok(x, y)) + continue; + lev = &levl[x][y]; + if (!lev->lit && lev->scrsym == '.') { + lev->scrsym = ' '; + lev->new = 1; + on_scr(x, y); + } + } +} + +/* + * called: in hack.eat.c: seeoff(0) - blind after eating rotten food in + * hack.mon.c: seeoff(0) - blinded by a yellow light in hack.mon.c: seeoff(1) + * - swallowed in hack.do.c: seeoff(0) - blind after drinking potion in + * hack.do.c: seeoff(1) - go up or down the stairs in hack.trap.c:seeoff(1) + * - fall through trapdoor + */ +void +seeoff(mode) + int mode; /* 1 to redo @, 0 to leave them *//* 1 means + * misc movement, 0 means blindness */ +{ + int x, y; + struct rm *lev; + + if (u.udispl && mode) { + u.udispl = 0; + levl[u.udisx][u.udisy].scrsym = news0(u.udisx, u.udisy); + } +#ifndef QUEST + if (seehx) { + seehx = 0; + } else +#endif /* QUEST */ + if (!mode) { + for (x = u.ux - 1; x < u.ux + 2; x++) + for (y = u.uy - 1; y < u.uy + 2; y++) { + if (!isok(x, y)) + continue; + lev = &levl[x][y]; + if (!lev->lit && lev->scrsym == '.') + lev->seen = 0; + } + } +} + +void +domove() +{ + xchar oldx, oldy; + struct monst *mtmp = NULL; + struct rm *tmpr, *ust; + struct trap *trap = NULL; + struct obj *otmp = NULL; + + u_wipe_engr(rnd(5)); + + if (inv_weight() > 0) { + pline("You collapse under your load."); + nomul(0); + return; + } + if (u.uswallow) { + u.dx = u.dy = 0; + u.ux = u.ustuck->mx; + u.uy = u.ustuck->my; + } else { + if (Confusion) { + do { + confdir(); + } while (!isok(u.ux + u.dx, u.uy + u.dy) || + IS_ROCK(levl[u.ux + u.dx][u.uy + u.dy].typ)); + } + if (!isok(u.ux + u.dx, u.uy + u.dy)) { + nomul(0); + return; + } + } + + ust = &levl[u.ux][u.uy]; + oldx = u.ux; + oldy = u.uy; + if (!u.uswallow && (trap = t_at(u.ux + u.dx, u.uy + u.dy)) && trap->tseen) + nomul(0); + if (u.ustuck && !u.uswallow && (u.ux + u.dx != u.ustuck->mx || + u.uy + u.dy != u.ustuck->my)) { + if (dist(u.ustuck->mx, u.ustuck->my) > 2) { + /* perhaps it fled (or was teleported or ... ) */ + u.ustuck = 0; + } else { + if (Blind) + pline("You cannot escape from it!"); + else + pline("You cannot escape from %s!", + monnam(u.ustuck)); + nomul(0); + return; + } + } + if (u.uswallow || (mtmp = m_at(u.ux + u.dx, u.uy + u.dy))) { + /* attack monster */ + + nomul(0); + gethungry(); + if (multi < 0) + return; /* we just fainted */ + + /* try to attack; note that it might evade */ + if (attack(u.uswallow ? u.ustuck : mtmp)) + return; + } + /* not attacking an animal, so we try to move */ + if (u.utrap) { + if (u.utraptype == TT_PIT) { + pline("You are still in a pit."); + u.utrap--; + } else { + pline("You are caught in a beartrap."); + if ((u.dx && u.dy) || !rn2(5)) + u.utrap--; + } + return; + } + tmpr = &levl[u.ux + u.dx][u.uy + u.dy]; + if (IS_ROCK(tmpr->typ) || + (u.dx && u.dy && (tmpr->typ == DOOR || ust->typ == DOOR))) { + flags.move = 0; + nomul(0); + return; + } + while ((otmp = sobj_at(ENORMOUS_ROCK, u.ux + u.dx, u.uy + u.dy)) != NULL){ + xchar rx = u.ux + 2 * u.dx, ry = u.uy + 2 * u.dy; + struct trap *ttmp; + nomul(0); + if (isok(rx, ry) && !IS_ROCK(levl[rx][ry].typ) && + (levl[rx][ry].typ != DOOR || !(u.dx && u.dy)) && + !sobj_at(ENORMOUS_ROCK, rx, ry)) { + if (m_at(rx, ry)) { + pline("You hear a monster behind the rock."); + pline("Perhaps that's why you cannot move it."); + goto cannot_push; + } + if ((ttmp = t_at(rx, ry)) != NULL) + switch (ttmp->ttyp) { + case PIT: + pline("You push the rock into a pit!"); + deltrap(ttmp); + delobj(otmp); + pline("It completely fills the pit!"); + continue; + case TELEP_TRAP: + pline("You push the rock and suddenly it disappears!"); + delobj(otmp); + continue; + } + if (levl[rx][ry].typ == POOL) { + levl[rx][ry].typ = ROOM; + mnewsym(rx, ry); + prl(rx, ry); + pline("You push the rock into the water."); + pline("Now you can cross the water!"); + delobj(otmp); + continue; + } + otmp->ox = rx; + otmp->oy = ry; + /* pobj(otmp); */ + if (cansee(rx, ry)) + atl(rx, ry, otmp->olet); + if (Invisible) + newsym(u.ux + u.dx, u.uy + u.dy); + + { + static long lastmovetime; + /* + * note: this var contains garbage initially + * and after a restore + */ + if (moves > lastmovetime + 2 || moves < lastmovetime) + pline("With great effort you move the enormous rock."); + lastmovetime = moves; + } + } else { + pline("You try to move the enormous rock, but in vain."); + cannot_push: + if ((!invent || inv_weight() + 90 <= 0) && + (!u.dx || !u.dy || (IS_ROCK(levl[u.ux][u.uy + u.dy].typ) + && IS_ROCK(levl[u.ux + u.dx][u.uy].typ)))) { + pline("However, you can squeeze yourself into a small opening."); + break; + } else + return; + } + } + if (u.dx && u.dy && IS_ROCK(levl[u.ux][u.uy + u.dy].typ) && + IS_ROCK(levl[u.ux + u.dx][u.uy].typ) && + invent && inv_weight() + 40 > 0) { + pline("You are carrying too much to get through."); + nomul(0); + return; + } + if (Punished && + DIST(u.ux + u.dx, u.uy + u.dy, uchain->ox, uchain->oy) > 2) { + if (carried(uball)) { + movobj(uchain, u.ux, u.uy); + goto nodrag; + } + if (DIST(u.ux + u.dx, u.uy + u.dy, uball->ox, uball->oy) < 3) { + /* leave ball, move chain under/over ball */ + movobj(uchain, uball->ox, uball->oy); + goto nodrag; + } + if (inv_weight() + (int) uball->owt / 2 > 0) { + pline("You cannot %sdrag the heavy iron ball.", + invent ? "carry all that and also " : ""); + nomul(0); + return; + } + movobj(uball, uchain->ox, uchain->oy); + unpobj(uball); /* BAH %% */ + uchain->ox = u.ux; + uchain->oy = u.uy; + nomul(-2); + nomovemsg = ""; +nodrag: ; + } + u.ux += u.dx; + u.uy += u.dy; + if (flags.run) { + if (tmpr->typ == DOOR || + (xupstair == u.ux && yupstair == u.uy) || + (xdnstair == u.ux && ydnstair == u.uy)) + nomul(0); + } + if (tmpr->typ == POOL && !Levitation) + drown(); /* not necessarily fatal */ + + /* + if(u.udispl) { + u.udispl = 0; + newsym(oldx,oldy); + } + */ + if (!Blind) { +#ifdef QUEST + setsee(); +#else + if (ust->lit) { + if (tmpr->lit) { + if (tmpr->typ == DOOR) + prl1(u.ux + u.dx, u.uy + u.dy); + else if (ust->typ == DOOR) + nose1(oldx - u.dx, oldy - u.dy); + } else { + unsee(); + prl1(u.ux + u.dx, u.uy + u.dy); + } + } else { + if (tmpr->lit) + setsee(); + else { + prl1(u.ux + u.dx, u.uy + u.dy); + if (tmpr->typ == DOOR) { + if (u.dy) { + prl(u.ux - 1, u.uy); + prl(u.ux + 1, u.uy); + } else { + prl(u.ux, u.uy - 1); + prl(u.ux, u.uy + 1); + } + } + } + nose1(oldx - u.dx, oldy - u.dy); + } +#endif /* QUEST */ + } else { + pru(); + } + if (!flags.nopick) + pickup(1); + if (trap) + dotrap(trap); /* fall into pit, arrow trap, etc. */ + (void) inshop(); + if (!Blind) + read_engr_at(u.ux, u.uy); +} + +void +movobj(obj, ox, oy) + struct obj *obj; + int ox, oy; +{ + /* Some dirty programming to get display right */ + freeobj(obj); + unpobj(obj); + obj->nobj = fobj; + fobj = obj; + obj->ox = ox; + obj->oy = oy; +} + +int +dopickup() +{ + if (!g_at(u.ux, u.uy) && !o_at(u.ux, u.uy)) { + pline("There is nothing here to pick up."); + return (0); + } + if (Levitation) { + pline("You cannot reach the floor."); + return (1); + } + pickup(0); + return (1); +} + +void +pickup(int all) +{ + struct gold *gold; + struct obj *obj, *obj2; + int wt; + + if (Levitation) + return; + while ((gold = g_at(u.ux, u.uy)) != NULL) { + pline("%ld gold piece%s.", gold->amount, plur(gold->amount)); + u.ugold += gold->amount; + flags.botl = 1; + freegold(gold); + if (flags.run) + nomul(0); + if (Invisible) + newsym(u.ux, u.uy); + } + + /* check for more than one object */ + if (!all) { + int ct = 0; + + for (obj = fobj; obj; obj = obj->nobj) + if (obj->ox == u.ux && obj->oy == u.uy) + if (!Punished || obj != uchain) + ct++; + if (ct < 2) + all++; + else + pline("There are several objects here."); + } + for (obj = fobj; obj; obj = obj2) { + obj2 = obj->nobj; /* perhaps obj will be picked up */ + if (obj->ox == u.ux && obj->oy == u.uy) { + if (flags.run) + nomul(0); + + /* do not pick up uchain */ + if (Punished && obj == uchain) + continue; + + if (!all) { + char c; + + pline("Pick up %s ? [ynaq]", doname(obj)); + while (!strchr("ynaq ", (c = readchar()))) + bell(); + if (c == 'q') + return; + if (c == 'n') + continue; + if (c == 'a') + all = 1; + } + if (obj->otyp == DEAD_COCKATRICE && !uarmg) { + pline("Touching the dead cockatrice is a fatal mistake."); + pline("You turn to stone."); + killer = "cockatrice cadaver"; + done("died"); + } + if (obj->otyp == SCR_SCARE_MONSTER) { + if (!obj->spe) + obj->spe = 1; + else { + /* + * Note: perhaps the 1st pickup + * failed: you cannot carry anymore, + * and so we never dropped it - let's + * assume that treading on it twice + * also destroys the scroll + */ + pline("The scroll turns to dust as you pick it up."); + delobj(obj); + continue; + } + } + wt = inv_weight() + obj->owt; + if (wt > 0) { + if (obj->quan > 1) { + /* see how many we can lift */ + int savequan = obj->quan; + int iw = inv_weight(); + int qq; + for (qq = 1; qq < savequan; qq++) { + obj->quan = qq; + if (iw + weight(obj) > 0) + break; + } + obj->quan = savequan; + qq--; + /* we can carry qq of them */ + if (!qq) + goto too_heavy; + pline("You can only carry %s of the %s lying here.", + (qq == 1) ? "one" : "some", + doname(obj)); + (void) splitobj(obj, qq); + /* + * note: obj2 is set already, so + * we'll never encounter the other + * half; if it should be otherwise + * then write obj2 = + * splitobj(obj,qq); + */ + goto lift_some; + } + too_heavy: + pline("There %s %s here, but %s.", + (obj->quan == 1) ? "is" : "are", + doname(obj), + !invent ? "it is too heavy for you to lift" + : "you cannot carry anymore"); + break; + } + lift_some: + if (inv_cnt() >= 52) { + pline("Your knapsack cannot accomodate anymore items."); + break; + } + if (wt > -5) + pline("You have a little trouble lifting"); + freeobj(obj); + if (Invisible) + newsym(u.ux, u.uy); + addtobill(obj); /* sets obj->unpaid if necessary */ + { + int pickquan = obj->quan; + int mergquan; + if (!Blind) + obj->dknown = 1; /* this is done by + * prinv(), but addinv() + * needs it already for + * merging */ + obj = addinv(obj); /* might merge it with + * other objects */ + mergquan = obj->quan; + obj->quan = pickquan; /* to fool prinv() */ + prinv(obj); + obj->quan = mergquan; + } + } + } +} + +/* stop running if we see something interesting */ +/* turn around a corner if that is the only way we can proceed */ +/* do not turn left or right twice */ +void +lookaround() +{ + int x, y, i, x0 = 0, y0 = 0, m0 = 0, i0 = 9; + int corrct = 0, noturn = 0; + struct monst *mtmp; + if (Blind || flags.run == 0) + return; + if (flags.run == 1 && levl[u.ux][u.uy].typ == ROOM) + return; +#ifdef QUEST + if (u.ux0 == u.ux + u.dx && u.uy0 == u.uy + u.dy) + goto stop; +#endif /* QUEST */ + for (x = u.ux - 1; x <= u.ux + 1; x++) + for (y = u.uy - 1; y <= u.uy + 1; y++) { + if (x == u.ux && y == u.uy) + continue; + if (!levl[x][y].typ) + continue; + if ((mtmp = m_at(x, y)) && !mtmp->mimic && + (!mtmp->minvis || See_invisible)) { + if (!mtmp->mtame || (x == u.ux + u.dx && y == u.uy + u.dy)) + goto stop; + } else + mtmp = 0; /* invisible M cannot + * influence us */ + if (x == u.ux - u.dx && y == u.uy - u.dy) + continue; + switch (levl[x][y].scrsym) { + case '|': + case '-': + case '.': + case ' ': + break; + case '+': + if (x != u.ux && y != u.uy) + break; + if (flags.run != 1) + goto stop; + /* fall into next case */ + case CORR_SYM: + corr: + if (flags.run == 1 || flags.run == 3) { + i = DIST(x, y, u.ux + u.dx, u.uy + u.dy); + if (i > 2) + break; + if (corrct == 1 && DIST(x, y, x0, y0) != 1) + noturn = 1; + if (i < i0) { + i0 = i; + x0 = x; + y0 = y; + m0 = mtmp ? 1 : 0; + } + } + corrct++; + break; + case '^': + if (flags.run == 1) + goto corr; /* if you must */ + if (x == u.ux + u.dx && y == u.uy + u.dy) + goto stop; + break; + default: /* e.g. objects or trap or stairs */ + if (flags.run == 1) + goto corr; + if (mtmp) + break; /* d */ + stop: + nomul(0); + return; + } + } +#ifdef QUEST + if (corrct > 0 && (flags.run == 4 || flags.run == 5)) + goto stop; +#endif /* QUEST */ + if (corrct > 1 && flags.run == 2) + goto stop; + if ((flags.run == 1 || flags.run == 3) && !noturn && !m0 && i0 && + (corrct == 1 || (corrct == 2 && i0 == 1))) { + /* make sure that we do not turn too far */ + if (i0 == 2) { + if (u.dx == y0 - u.uy && u.dy == u.ux - x0) + i = 2; /* straight turn right */ + else + i = -2; /* straight turn left */ + } else if (u.dx && u.dy) { + if ((u.dx == u.dy && y0 == u.uy) || + (u.dx != u.dy && y0 != u.uy)) + i = -1; /* half turn left */ + else + i = 1; /* half turn right */ + } else { + if ((x0 - u.ux == y0 - u.uy && !u.dy) || + (x0 - u.ux != y0 - u.uy && u.dy)) + i = 1; /* half turn right */ + else + i = -1; /* half turn left */ + } + i += u.last_str_turn; + if (i <= 2 && i >= -2) { + u.last_str_turn = i; + u.dx = x0 - u.ux, u.dy = y0 - u.uy; + } + } +} + +/* something like lookaround, but we are not running */ +/* react only to monsters that might hit us */ +int +monster_nearby() +{ + int x, y; + struct monst *mtmp; + if (!Blind) + for (x = u.ux - 1; x <= u.ux + 1; x++) + for (y = u.uy - 1; y <= u.uy + 1; y++) { + if (x == u.ux && y == u.uy) + continue; + if ((mtmp = m_at(x, y)) && !mtmp->mimic && !mtmp->mtame && + !mtmp->mpeaceful && !strchr("Ea", mtmp->data->mlet) && + !mtmp->mfroz && !mtmp->msleep && /* aplvax!jcn */ + (!mtmp->minvis || See_invisible)) + return (1); + } + return (0); +} + +#ifdef QUEST +int +cansee(x, y) + xchar x, y; +{ + int dx, dy, adx, ady, sdx, sdy, dmax, d; + if (Blind) + return (0); + if (!isok(x, y)) + return (0); + d = dist(x, y); + if (d < 3) + return (1); + if (d > u.uhorizon * u.uhorizon) + return (0); + if (!levl[x][y].lit) + return (0); + dx = x - u.ux; + adx = abs(dx); + sdx = sgn(dx); + dy = y - u.uy; + ady = abs(dy); + sdy = sgn(dy); + if (dx == 0 || dy == 0 || adx == ady) { + dmax = (dx == 0) ? ady : adx; + for (d = 1; d <= dmax; d++) + if (!rroom(sdx * d, sdy * d)) + return (0); + return (1); + } else if (ady > adx) { + for (d = 1; d <= ady; d++) { + if (!rroom(sdx * ((d * adx) / ady), sdy * d) || + !rroom(sdx * ((d * adx - 1) / ady + 1), sdy * d)) + return (0); + } + return (1); + } else { + for (d = 1; d <= adx; d++) { + if (!rroom(sdx * d, sdy * ((d * ady) / adx)) || + !rroom(sdx * d, sdy * ((d * ady - 1) / adx + 1))) + return (0); + } + return (1); + } +} + +int +rroom(x, y) + int x, y; +{ + return (IS_ROOM(levl[u.ux + x][u.uy + y].typ)); +} + +#else + +int +cansee(x, y) + xchar x, y; +{ + if (Blind || u.uswallow) + return (0); + if (dist(x, y) < 3) + return (1); + if (levl[x][y].lit && seelx <= x && x <= seehx && seely <= y && + y <= seehy) + return (1); + return (0); +} +#endif /* QUEST */ + +int +sgn(a) + int a; +{ + return ((a > 0) ? 1 : (a == 0) ? 0 : -1); +} + +#ifdef QUEST +void +setsee() +{ + int x, y; + + if (Blind) { + pru(); + return; + } + for (y = u.uy - u.uhorizon; y <= u.uy + u.uhorizon; y++) + for (x = u.ux - u.uhorizon; x <= u.ux + u.uhorizon; x++) { + if (cansee(x, y)) + prl(x, y); + } +} + +#else + +void +setsee() +{ + int x, y; + + if (Blind) { + pru(); + return; + } + if (!levl[u.ux][u.uy].lit) { + seelx = u.ux - 1; + seehx = u.ux + 1; + seely = u.uy - 1; + seehy = u.uy + 1; + } else { + for (seelx = u.ux; levl[seelx - 1][u.uy].lit; seelx--); + for (seehx = u.ux; levl[seehx + 1][u.uy].lit; seehx++); + for (seely = u.uy; levl[u.ux][seely - 1].lit; seely--); + for (seehy = u.uy; levl[u.ux][seehy + 1].lit; seehy++); + } + for (y = seely; y <= seehy; y++) + for (x = seelx; x <= seehx; x++) { + prl(x, y); + } + if (!levl[u.ux][u.uy].lit) + seehx = 0; /* seems necessary elsewhere */ + else { + if (seely == u.uy) + for (x = u.ux - 1; x <= u.ux + 1; x++) + prl(x, seely - 1); + if (seehy == u.uy) + for (x = u.ux - 1; x <= u.ux + 1; x++) + prl(x, seehy + 1); + if (seelx == u.ux) + for (y = u.uy - 1; y <= u.uy + 1; y++) + prl(seelx - 1, y); + if (seehx == u.ux) + for (y = u.uy - 1; y <= u.uy + 1; y++) + prl(seehx + 1, y); + } +} +#endif /* QUEST */ + +void +nomul(nval) + int nval; +{ + if (multi < 0) + return; + multi = nval; + flags.mv = flags.run = 0; +} + +int +abon() +{ + if (u.ustr == 3) + return (-3); + else if (u.ustr < 6) + return (-2); + else if (u.ustr < 8) + return (-1); + else if (u.ustr < 17) + return (0); + else if (u.ustr < 69) + return (1); /* up to 18/50 */ + else if (u.ustr < 118) + return (2); + else + return (3); +} + +int +dbon() +{ + if (u.ustr < 6) + return (-1); + else if (u.ustr < 16) + return (0); + else if (u.ustr < 18) + return (1); + else if (u.ustr == 18) + return (2); /* up to 18 */ + else if (u.ustr < 94) + return (3); /* up to 18/75 */ + else if (u.ustr < 109) + return (4); /* up to 18/90 */ + else if (u.ustr < 118) + return (5); /* up to 18/99 */ + else + return (6); +} + +void +losestr(num) /* may kill you; cause may be poison or */ + int num; /* monster like 'A' */ +{ + u.ustr -= num; + while (u.ustr < 3) { + u.ustr++; + u.uhp -= 6; + u.uhpmax -= 6; + } + flags.botl = 1; +} + +void +losehp(n, knam) + int n; + const char *knam; +{ + u.uhp -= n; + if (u.uhp > u.uhpmax) + u.uhpmax = u.uhp; /* perhaps n was negative */ + flags.botl = 1; + if (u.uhp < 1) { + killer = knam; /* the thing that killed you */ + done("died"); + } +} + +void +losehp_m(n, mtmp) + int n; + struct monst *mtmp; +{ + u.uhp -= n; + flags.botl = 1; + if (u.uhp < 1) + done_in_by(mtmp); +} + +void +losexp() +{ /* hit by V or W */ + int num; + + if (u.ulevel > 1) + pline("Goodbye level %u.", u.ulevel--); + else + u.uhp = -1; + num = rnd(10); + u.uhp -= num; + u.uhpmax -= num; + u.uexp = newuexp(); + flags.botl = 1; +} + +int +inv_weight() +{ + struct obj *otmp = invent; + int wt = (u.ugold + 500) / 1000; + int carrcap; + if (Levitation) /* pugh@cornell */ + carrcap = MAX_CARR_CAP; + else { + carrcap = 5 * (((u.ustr > 18) ? 20 : u.ustr) + u.ulevel); + if (carrcap > MAX_CARR_CAP) + carrcap = MAX_CARR_CAP; + if (Wounded_legs & LEFT_SIDE) + carrcap -= 10; + if (Wounded_legs & RIGHT_SIDE) + carrcap -= 10; + } + while (otmp) { + wt += otmp->owt; + otmp = otmp->nobj; + } + return (wt - carrcap); +} + +int +inv_cnt() +{ + struct obj *otmp = invent; + int ct = 0; + while (otmp) { + ct++; + otmp = otmp->nobj; + } + return (ct); +} + +long +newuexp() +{ + return (10 * (1L << (u.ulevel - 1))); +} diff --git a/hack/hack.cmd.c b/hack/hack.cmd.c new file mode 100644 index 0000000..43f4ebd --- /dev/null +++ b/hack/hack.cmd.c @@ -0,0 +1,382 @@ +/* $NetBSD: hack.cmd.c,v 1.7 2003/04/02 18:36:35 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.cmd.c,v 1.7 2003/04/02 18:36:35 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include "def.func_tab.h" + +const struct func_tab cmdlist[] = { + { '\020', doredotopl }, + { '\022', doredraw }, + { '\024', dotele }, +#ifdef SUSPEND + { '\032', dosuspend }, +#endif /* SUSPEND */ + { 'a', doapply }, + /* 'A' : UNUSED */ + /* 'b', 'B' : go sw */ + { 'c', ddocall }, + { 'C', do_mname }, + { 'd', dodrop }, + { 'D', doddrop }, + { 'e', doeat }, + { 'E', doengrave }, + /* 'f', 'F' : multiple go (might become 'fight') */ + /* 'g', 'G' : UNUSED */ + /* 'h', 'H' : go west */ + { 'I', dotypeinv }, /* Robert Viduya */ + { 'i', ddoinv }, + /* 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N' : move commands */ + /* 'o', doopen, */ + { 'O', doset }, + { 'p', dopay }, + { 'P', dowearring }, + { 'q', dodrink }, + { 'Q', dodone }, + { 'r', doread }, + { 'R', doremring }, + { 's', dosearch }, + { 'S', dosave }, + { 't', dothrow }, + { 'T', doremarm }, + /* 'u', 'U' : go ne */ + { 'v', doversion }, + /* 'V' : UNUSED */ + { 'w', dowield }, + { 'W', doweararm }, + /* 'x', 'X' : UNUSED */ + /* 'y', 'Y' : go nw */ + { 'z', dozap }, + /* 'Z' : UNUSED */ + { '<', doup }, + { '>', dodown }, + { '/', dowhatis }, + { '?', dohelp }, +#ifdef SHELL + { '!', dosh }, +#endif /* SHELL */ + { '.', donull }, + { ' ', donull }, + { ',', dopickup }, + { ':', dolook }, + { '^', doidtrap }, + { '\\', dodiscovered }, /* Robert Viduya */ + { WEAPON_SYM, doprwep }, + { ARMOR_SYM, doprarm }, + { RING_SYM, doprring }, + { '$', doprgold }, + { '#', doextcmd }, + { 0, 0 } +}; + +const struct ext_func_tab extcmdlist[] = { + { "dip", dodip }, + { "pray", dopray }, + { (char *) 0, donull } +}; + +void +rhack(cmd) + const char *cmd; +{ + const struct func_tab *tlist = cmdlist; + boolean firsttime = FALSE; + int res; + + if (!cmd) { + firsttime = TRUE; + flags.nopick = 0; + cmd = parse(); + } + if (!*cmd || (*cmd & 0377) == 0377 || + (flags.no_rest_on_space && *cmd == ' ')) { + bell(); + flags.move = 0; + return; /* probably we just had an interrupt */ + } + if (movecmd(*cmd)) { +walk: + if (multi) + flags.mv = 1; + domove(); + return; + } + if (movecmd(lowc(*cmd))) { + flags.run = 1; +rush: + if (firsttime) { + if (!multi) + multi = COLNO; + u.last_str_turn = 0; + } + flags.mv = 1; +#ifdef QUEST + if (flags.run >= 4) + finddir(); + if (firsttime) { + u.ux0 = u.ux + u.dx; + u.uy0 = u.uy + u.dy; + } +#endif /* QUEST */ + domove(); + return; + } + if ((*cmd == 'f' && movecmd(cmd[1])) || movecmd(unctrl(*cmd))) { + flags.run = 2; + goto rush; + } + if (*cmd == 'F' && movecmd(lowc(cmd[1]))) { + flags.run = 3; + goto rush; + } + if (*cmd == 'm' && movecmd(cmd[1])) { + flags.run = 0; + flags.nopick = 1; + goto walk; + } + if (*cmd == 'M' && movecmd(lowc(cmd[1]))) { + flags.run = 1; + flags.nopick = 1; + goto rush; + } +#ifdef QUEST + if (*cmd == cmd[1] && (*cmd == 'f' || *cmd == 'F')) { + flags.run = 4; + if (*cmd == 'F') + flags.run += 2; + if (cmd[2] == '-') + flags.run += 1; + goto rush; + } +#endif /* QUEST */ + while (tlist->f_char) { + if (*cmd == tlist->f_char) { + res = (*(tlist->f_funct)) (); + if (!res) { + flags.move = 0; + multi = 0; + } + return; + } + tlist++; + } + { + char expcmd[10]; + char *cp = expcmd; + while (*cmd && cp - expcmd < (int)sizeof(expcmd) - 2) { + if (*cmd >= 040 && *cmd < 0177) + *cp++ = *cmd++; + else { + *cp++ = '^'; + *cp++ = *cmd++ ^ 0100; + } + } + *cp++ = 0; + pline("Unknown command '%s'.", expcmd); + } + multi = flags.move = 0; +} + +int +doextcmd() +{ /* here after # - now read a full-word + * command */ + char buf[BUFSZ]; + const struct ext_func_tab *efp = extcmdlist; + + pline("# "); + getlin(buf); + clrlin(); + if (buf[0] == '\033') + return (0); + while (efp->ef_txt) { + if (!strcmp(efp->ef_txt, buf)) + return ((*(efp->ef_funct)) ()); + efp++; + } + pline("%s: unknown command.", buf); + return (0); +} + +char +lowc(sym) + char sym; +{ + return ((sym >= 'A' && sym <= 'Z') ? sym + 'a' - 'A' : sym); +} + +char +unctrl(sym) + char sym; +{ + return ((sym >= ('A' & 037) && sym <= ('Z' & 037)) ? sym + 0140 : sym); +} + +/* 'rogue'-like direction commands */ +char sdir[] = "hykulnjb><"; +schar xdir[10] = {-1, -1, 0, 1, 1, 1, 0, -1, 0, 0}; +schar ydir[10] = {0, -1, -1, -1, 0, 1, 1, 1, 0, 0}; +schar zdir[10] = {0, 0, 0, 0, 0, 0, 0, 0, 1, -1}; + +int +movecmd(sym) /* also sets u.dz, but returns false for <> */ + char sym; +{ + char *dp; + + u.dz = 0; + if (!(dp = strchr(sdir, sym))) + return (0); + u.dx = xdir[dp - sdir]; + u.dy = ydir[dp - sdir]; + u.dz = zdir[dp - sdir]; + return (!u.dz); +} + +int +getdir(s) + boolean s; +{ + char dirsym; + + if (s) + pline("In what direction?"); + dirsym = readchar(); + if (!movecmd(dirsym) && !u.dz) { + if (!strchr(quitchars, dirsym)) + pline("What a strange direction!"); + return (0); + } + if (Confusion && !u.dz) + confdir(); + return (1); +} + +void +confdir() +{ + int x = rn2(8); + u.dx = xdir[x]; + u.dy = ydir[x]; +} + +#ifdef QUEST +int +finddir() +{ + int i, ui = u.di; + for (i = 0; i <= 8; i++) { + if (flags.run & 1) + ui++; + else + ui += 7; + ui %= 8; + if (i == 8) { + pline("Not near a wall."); + flags.move = multi = 0; + return (0); + } + if (!isroom(u.ux + xdir[ui], u.uy + ydir[ui])) + break; + } + for (i = 0; i <= 8; i++) { + if (flags.run & 1) + ui += 7; + else + ui++; + ui %= 8; + if (i == 8) { + pline("Not near a room."); + flags.move = multi = 0; + return (0); + } + if (isroom(u.ux + xdir[ui], u.uy + ydir[ui])) + break; + } + u.di = ui; + u.dx = xdir[ui]; + u.dy = ydir[ui]; + return 0; +} + +int +isroom(x, y) + int x, y; +{ /* what about POOL? */ + return (isok(x, y) && (levl[x][y].typ == ROOM || + (levl[x][y].typ >= LDOOR && flags.run >= 6))); +} +#endif /* QUEST */ + +int +isok(x, y) + int x, y; +{ + /* x corresponds to curx, so x==1 is the first column. Ach. %% */ + return (x >= 1 && x <= COLNO - 1 && y >= 0 && y <= ROWNO - 1); +} diff --git a/hack/hack.do.c b/hack/hack.do.c new file mode 100644 index 0000000..b606eda --- /dev/null +++ b/hack/hack.do.c @@ -0,0 +1,586 @@ +/* $NetBSD: hack.do.c,v 1.7 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.do.c,v 1.7 2004/01/27 20:30:29 jsm Exp $"); +#endif /* not lint */ + +/* Contains code for 'd', 'D' (drop), '>', '<' (up, down) and 't' (throw) */ + +#include "hack.h" +#include "extern.h" +#include +#include +#include + + +static int drop(struct obj *); + +int +dodrop() +{ + return (drop(getobj("0$#", "drop"))); +} + +static int +drop(obj) + struct obj *obj; +{ + if (!obj) + return (0); + if (obj->olet == '$') { /* pseudo object */ + long amount = OGOLD(obj); + + if (amount == 0) + pline("You didn't drop any gold pieces."); + else { + mkgold(amount, u.ux, u.uy); + pline("You dropped %ld gold piece%s.", + amount, plur(amount)); + if (Invisible) + newsym(u.ux, u.uy); + } + free((char *) obj); + return (1); + } + if (obj->owornmask & (W_ARMOR | W_RING)) { + pline("You cannot drop something you are wearing."); + return (0); + } + if (obj == uwep) { + if (uwep->cursed) { + pline("Your weapon is welded to your hand!"); + return (0); + } + setuwep((struct obj *) 0); + } + pline("You dropped %s.", doname(obj)); + dropx(obj); + return (1); +} + +/* Called in several places - should not produce texts */ +void +dropx(obj) + struct obj *obj; +{ + freeinv(obj); + dropy(obj); +} + +void +dropy(obj) + struct obj *obj; +{ + if (obj->otyp == CRYSKNIFE) + obj->otyp = WORM_TOOTH; + obj->ox = u.ux; + obj->oy = u.uy; + obj->nobj = fobj; + fobj = obj; + if (Invisible) + newsym(u.ux, u.uy); + subfrombill(obj); + stackobj(obj); +} + +/* drop several things */ +int +doddrop() +{ + return (ggetobj("drop", drop, 0)); +} + +int +dodown() +{ + if (u.ux != xdnstair || u.uy != ydnstair) { + pline("You can't go down here."); + return (0); + } + if (u.ustuck) { + pline("You are being held, and cannot go down."); + return (1); + } + if (Levitation) { + pline("You're floating high above the stairs."); + return (0); + } + goto_level(dlevel + 1, TRUE); + return (1); +} + +int +doup() +{ + if (u.ux != xupstair || u.uy != yupstair) { + pline("You can't go up here."); + return (0); + } + if (u.ustuck) { + pline("You are being held, and cannot go up."); + return (1); + } + if (!Levitation && inv_weight() + 5 > 0) { + pline("Your load is too heavy to climb the stairs."); + return (1); + } + goto_level(dlevel - 1, TRUE); + return (1); +} + +void +goto_level(newlevel, at_stairs) + int newlevel; + boolean at_stairs; +{ + int fd; + boolean up = (newlevel < dlevel); + + if (newlevel <= 0) + done("escaped");/* in fact < 0 is impossible */ + if (newlevel > MAXLEVEL) + newlevel = MAXLEVEL; /* strange ... */ + if (newlevel == dlevel) + return; /* this can happen */ + + glo(dlevel); + fd = creat(lock, FMASK); + if (fd < 0) { + /* + * This is not quite impossible: e.g., we may have + * exceeded our quota. If that is the case then we + * cannot leave this level, and cannot save either. + * Another possibility is that the directory was not + * writable. + */ + pline("A mysterious force prevents you from going %s.", + up ? "up" : "down"); + return; + } + if (Punished) + unplacebc(); + u.utrap = 0; /* needed in level_tele */ + u.ustuck = 0; /* idem */ + keepdogs(); + seeoff(1); + if (u.uswallow) /* idem */ + u.uswldtim = u.uswallow = 0; + flags.nscrinh = 1; + u.ux = FAR; /* hack */ + (void) inshop(); /* probably was a trapdoor */ + + savelev(fd, dlevel); + (void) close(fd); + + dlevel = newlevel; + if (maxdlevel < dlevel) + maxdlevel = dlevel; + glo(dlevel); + + if (!level_exists[dlevel]) + mklev(); + else { + if ((fd = open(lock, O_RDONLY)) < 0) { + pline("Cannot open %s .", lock); + pline("Probably someone removed it."); + done("tricked"); + } + getlev(fd, hackpid, dlevel); + (void) close(fd); + } + + if (at_stairs) { + if (up) { + u.ux = xdnstair; + u.uy = ydnstair; + if (!u.ux) { /* entering a maze from below? */ + u.ux = xupstair; /* this will confuse the + * player! */ + u.uy = yupstair; + } + if (Punished && !Levitation) { + pline("With great effort you climb the stairs."); + placebc(1); + } + } else { + u.ux = xupstair; + u.uy = yupstair; + if (inv_weight() + 5 > 0 || Punished) { + pline("You fall down the stairs."); /* %% */ + losehp(rnd(3), "fall"); + if (Punished) { + if (uwep != uball && rn2(3)) { + pline("... and are hit by the iron ball."); + losehp(rnd(20), "iron ball"); + } + placebc(1); + } + selftouch("Falling, you"); + } + } + { + struct monst *mtmp = m_at(u.ux, u.uy); + if (mtmp) + mnexto(mtmp); + } + } else { /* trapdoor or level_tele */ + do { + u.ux = rnd(COLNO - 1); + u.uy = rn2(ROWNO); + } while (levl[u.ux][u.uy].typ != ROOM || + m_at(u.ux, u.uy)); + if (Punished) { + if (uwep != uball && !up /* %% */ && rn2(5)) { + pline("The iron ball falls on your head."); + losehp(rnd(25), "iron ball"); + } + placebc(1); + } + selftouch("Falling, you"); + } + (void) inshop(); + initrack(); + + losedogs(); + { + struct monst *mtmp; + if ((mtmp = m_at(u.ux, u.uy)) != NULL) + mnexto(mtmp); /* riv05!a3 */ + } + flags.nscrinh = 0; + setsee(); + seeobjs(); /* make old cadavers disappear - riv05!a3 */ + docrt(); + pickup(1); + read_engr_at(u.ux, u.uy); +} + +int +donull() +{ + return (1); /* Do nothing, but let other things happen */ +} + +int +dopray() +{ + nomovemsg = "You finished your prayer."; + nomul(-3); + return (1); +} + +int +dothrow() +{ + struct obj *obj; + struct monst *mon; + int tmp; + + obj = getobj("#)", "throw"); /* it is also possible to throw food */ + /* (or jewels, or iron balls ... ) */ + if (!obj || !getdir(1)) /* ask "in what direction?" */ + return (0); + if (obj->owornmask & (W_ARMOR | W_RING)) { + pline("You can't throw something you are wearing."); + return (0); + } + u_wipe_engr(2); + + if (obj == uwep) { + if (obj->cursed) { + pline("Your weapon is welded to your hand."); + return (1); + } + if (obj->quan > 1) + setuwep(splitobj(obj, 1)); + else + setuwep((struct obj *) 0); + } else if (obj->quan > 1) + (void) splitobj(obj, 1); + freeinv(obj); + if (u.uswallow) { + mon = u.ustuck; + bhitpos.x = mon->mx; + bhitpos.y = mon->my; + } else if (u.dz) { + if (u.dz < 0) { + pline("%s hits the ceiling, then falls back on top of your head.", + Doname(obj)); /* note: obj->quan == 1 */ + if (obj->olet == POTION_SYM) + potionhit(&youmonst, obj); + else { + if (uarmh) + pline("Fortunately, you are wearing a helmet!"); + losehp(uarmh ? 1 : rnd((int) (obj->owt)), "falling object"); + dropy(obj); + } + } else { + pline("%s hits the floor.", Doname(obj)); + if (obj->otyp == EXPENSIVE_CAMERA) { + pline("It is shattered in a thousand pieces!"); + obfree(obj, Null(obj)); + } else if (obj->otyp == EGG) { + pline("\"Splash!\""); + obfree(obj, Null(obj)); + } else if (obj->olet == POTION_SYM) { + pline("The flask breaks, and you smell a peculiar odor ..."); + potionbreathe(obj); + obfree(obj, Null(obj)); + } else { + dropy(obj); + } + } + return (1); + } else if (obj->otyp == BOOMERANG) { + mon = boomhit(u.dx, u.dy); + if (mon == &youmonst) { /* the thing was caught */ + (void) addinv(obj); + return (1); + } + } else { + if (obj->otyp == PICK_AXE && shkcatch(obj)) + return (1); + + mon = bhit(u.dx, u.dy, (obj->otyp == ICE_BOX) ? 1 : + (!Punished || obj != uball) ? 8 : !u.ustuck ? 5 : 1, + obj->olet, + (void (*)(struct monst *, struct obj *)) 0, + (int (*)(struct obj *, struct obj *)) 0, obj); + } + if (mon) { + /* awake monster if sleeping */ + wakeup(mon); + + if (obj->olet == WEAPON_SYM) { + tmp = -1 + u.ulevel + mon->data->ac + abon(); + if (obj->otyp < ROCK) { + if (!uwep || + uwep->otyp != obj->otyp + (BOW - ARROW)) + tmp -= 4; + else { + tmp += uwep->spe; + } + } else if (obj->otyp == BOOMERANG) + tmp += 4; + tmp += obj->spe; + if (u.uswallow || tmp >= rnd(20)) { + if (hmon(mon, obj, 1) == TRUE) { + /* mon still alive */ +#ifndef NOWORM + cutworm(mon, bhitpos.x, bhitpos.y, obj->otyp); +#endif /* NOWORM */ + } else + mon = 0; + /* weapons thrown disappear sometimes */ + if (obj->otyp < BOOMERANG && rn2(3)) { + /* check bill; free */ + obfree(obj, (struct obj *) 0); + return (1); + } + } else + miss(objects[obj->otyp].oc_name, mon); + } else if (obj->otyp == HEAVY_IRON_BALL) { + tmp = -1 + u.ulevel + mon->data->ac + abon(); + if (!Punished || obj != uball) + tmp += 2; + if (u.utrap) + tmp -= 2; + if (u.uswallow || tmp >= rnd(20)) { + if (hmon(mon, obj, 1) == FALSE) + mon = 0; /* he died */ + } else + miss("iron ball", mon); + } else if (obj->olet == POTION_SYM && u.ulevel > rn2(15)) { + potionhit(mon, obj); + return (1); + } else { + if (cansee(bhitpos.x, bhitpos.y)) + pline("You miss %s.", monnam(mon)); + else + pline("You miss it."); + if (obj->olet == FOOD_SYM && mon->data->mlet == 'd') + if (tamedog(mon, obj)) + return (1); + if (obj->olet == GEM_SYM && mon->data->mlet == 'u' && + !mon->mtame) { + if (obj->dknown && objects[obj->otyp].oc_name_known) { + if (objects[obj->otyp].g_val > 0) { + u.uluck += 5; + goto valuable; + } else { + pline("%s is not interested in your junk.", + Monnam(mon)); + } + } else { /* value unknown to @ */ + u.uluck++; + valuable: + if (u.uluck > LUCKMAX) /* dan@ut-ngp */ + u.uluck = LUCKMAX; + pline("%s graciously accepts your gift.", + Monnam(mon)); + mpickobj(mon, obj); + rloc(mon); + return (1); + } + } + } + } + /* the code following might become part of dropy() */ + if (obj->otyp == CRYSKNIFE) + obj->otyp = WORM_TOOTH; + obj->ox = bhitpos.x; + obj->oy = bhitpos.y; + obj->nobj = fobj; + fobj = obj; + /* prevent him from throwing articles to the exit and escaping */ + /* subfrombill(obj); */ + stackobj(obj); + if (Punished && obj == uball && + (bhitpos.x != u.ux || bhitpos.y != u.uy)) { + freeobj(uchain); + unpobj(uchain); + if (u.utrap) { + if (u.utraptype == TT_PIT) + pline("The ball pulls you out of the pit!"); + else { + long side = + rn2(3) ? LEFT_SIDE : RIGHT_SIDE; + pline("The ball pulls you out of the bear trap."); + pline("Your %s leg is severely damaged.", + (side == LEFT_SIDE) ? "left" : "right"); + set_wounded_legs(side, 500 + rn2(1000)); + losehp(2, "thrown ball"); + } + u.utrap = 0; + } + unsee(); + uchain->nobj = fobj; + fobj = uchain; + u.ux = uchain->ox = bhitpos.x - u.dx; + u.uy = uchain->oy = bhitpos.y - u.dy; + setsee(); + (void) inshop(); + } + if (cansee(bhitpos.x, bhitpos.y)) + prl(bhitpos.x, bhitpos.y); + return (1); +} + +/* split obj so that it gets size num */ +/* remainder is put in the object structure delivered by this call */ +struct obj * +splitobj(obj, num) + struct obj *obj; + int num; +{ + struct obj *otmp; + otmp = newobj(0); + *otmp = *obj; /* copies whole structure */ + otmp->o_id = flags.ident++; + otmp->onamelth = 0; + obj->quan = num; + obj->owt = weight(obj); + otmp->quan -= num; + otmp->owt = weight(otmp); /* -= obj->owt ? */ + obj->nobj = otmp; + if (obj->unpaid) + splitbill(obj, otmp); + return (otmp); +} + +void +more_experienced(exp, rexp) + int exp, rexp; +{ + u.uexp += exp; + u.urexp += 4 * exp + rexp; + if (exp) + flags.botl = 1; + if (u.urexp >= ((pl_character[0] == 'W') ? 1000 : 2000)) + flags.beginner = 0; +} + +void +set_wounded_legs(side, timex) + long side; + int timex; +{ + if (!Wounded_legs || (Wounded_legs & TIMEOUT)) + Wounded_legs |= side + timex; + else + Wounded_legs |= side; +} + +void +heal_legs() +{ + if (Wounded_legs) { + if ((Wounded_legs & BOTH_SIDES) == BOTH_SIDES) + pline("Your legs feel somewhat better."); + else + pline("Your leg feels somewhat better."); + Wounded_legs = 0; + } +} diff --git a/hack/hack.do_name.c b/hack/hack.do_name.c new file mode 100644 index 0000000..e58ac6d --- /dev/null +++ b/hack/hack.do_name.c @@ -0,0 +1,385 @@ +/* $NetBSD: hack.do_name.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.do_name.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" + +coord +getpos(force, goal) + int force; + const char *goal; +{ + int cx, cy, i, c; + coord cc; + pline("(For instructions type a ?)"); + cx = u.ux; + cy = u.uy; + curs(cx, cy + 2); + while ((c = readchar()) != '.') { + for (i = 0; i < 8; i++) + if (sdir[i] == c) { + if (1 <= cx + xdir[i] && cx + xdir[i] <= COLNO) + cx += xdir[i]; + if (0 <= cy + ydir[i] && cy + ydir[i] <= ROWNO - 1) + cy += ydir[i]; + goto nxtc; + } + if (c == '?') { + pline("Use [hjkl] to move the cursor to %s.", goal); + pline("Type a . when you are at the right place."); + } else { + pline("Unknown direction: '%s' (%s).", + visctrl(c), + force ? "use hjkl or ." : "aborted"); + if (force) + goto nxtc; + cc.x = -1; + cc.y = 0; + return (cc); + } +nxtc: ; + curs(cx, cy + 2); + } + cc.x = cx; + cc.y = cy; + return (cc); +} + +int +do_mname() +{ + char buf[BUFSZ]; + coord cc; + int cx, cy, lth, i; + struct monst *mtmp, *mtmp2; + cc = getpos(0, "the monster you want to name"); + cx = cc.x; + cy = cc.y; + if (cx < 0) + return (0); + mtmp = m_at(cx, cy); + if (!mtmp) { + if (cx == u.ux && cy == u.uy) + pline("This ugly monster is called %s and cannot be renamed.", + plname); + else + pline("There is no monster there."); + return (1); + } + if (mtmp->mimic) { + pline("I see no monster there."); + return (1); + } + if (!cansee(cx, cy)) { + pline("I cannot see a monster there."); + return (1); + } + pline("What do you want to call %s? ", lmonnam(mtmp)); + getlin(buf); + clrlin(); + if (!*buf || *buf == '\033') + return (1); + lth = strlen(buf) + 1; + if (lth > 63) { + buf[62] = 0; + lth = 63; + } + mtmp2 = newmonst(mtmp->mxlth + lth); + *mtmp2 = *mtmp; + for (i = 0; (unsigned)i < mtmp->mxlth; i++) + ((char *) mtmp2->mextra)[i] = ((char *) mtmp->mextra)[i]; + mtmp2->mnamelth = lth; + (void) strcpy(NAME(mtmp2), buf); + replmon(mtmp, mtmp2); + return (1); +} + +/* + * This routine changes the address of obj . Be careful not to call it + * when there might be pointers around in unknown places. For now: only + * when obj is in the inventory. + */ +void +do_oname(obj) + struct obj *obj; +{ + struct obj *otmp, *otmp2; + int lth; + char buf[BUFSZ]; + pline("What do you want to name %s? ", doname(obj)); + getlin(buf); + clrlin(); + if (!*buf || *buf == '\033') + return; + lth = strlen(buf) + 1; + if (lth > 63) { + buf[62] = 0; + lth = 63; + } + otmp2 = newobj(lth); + *otmp2 = *obj; + otmp2->onamelth = lth; + (void) strcpy(ONAME(otmp2), buf); + + setworn((struct obj *) 0, obj->owornmask); + setworn(otmp2, otmp2->owornmask); + + /* + * do freeinv(obj); etc. by hand in order to preserve the position of + * this object in the inventory + */ + if (obj == invent) + invent = otmp2; + else + for (otmp = invent;; otmp = otmp->nobj) { + if (!otmp) + panic("Do_oname: cannot find obj."); + if (otmp->nobj == obj) { + otmp->nobj = otmp2; + break; + } + } +#if 0 + obfree(obj, otmp2); /* now unnecessary: no pointers on bill */ +#endif + free((char *) obj); /* let us hope nobody else saved a pointer */ +} + +int +ddocall() +{ + struct obj *obj; + + pline("Do you want to name an individual object? [ny] "); + switch (readchar()) { + case '\033': + break; + case 'y': + obj = getobj("#", "name"); + if (obj) + do_oname(obj); + break; + default: + obj = getobj("?!=/", "call"); + if (obj) + docall(obj); + } + return (0); +} + +void +docall(obj) + struct obj *obj; +{ + char buf[BUFSZ]; + struct obj otemp; + char **str1; + char *str; + + otemp = *obj; + otemp.quan = 1; + otemp.onamelth = 0; + str = xname(&otemp); + pline("Call %s %s: ", strchr(vowels, *str) ? "an" : "a", str); + getlin(buf); + clrlin(); + if (!*buf || *buf == '\033') + return; + str = newstring(strlen(buf) + 1); + (void) strcpy(str, buf); + str1 = &(objects[obj->otyp].oc_uname); + if (*str1) + free(*str1); + *str1 = str; +} + +const char *const ghostnames[] = {/* these names should have length < PL_NSIZ */ + "adri", "andries", "andreas", "bert", "david", "dirk", "emile", + "frans", "fred", "greg", "hether", "jay", "john", "jon", "kay", + "kenny", "maud", "michiel", "mike", "peter", "robert", "ron", + "tom", "wilmar" +}; + +char * +xmonnam(mtmp, vb) + struct monst *mtmp; + int vb; +{ + static char buf[BUFSZ]; /* %% */ + if (mtmp->mnamelth && !vb) { + (void) strcpy(buf, NAME(mtmp)); + return (buf); + } + switch (mtmp->data->mlet) { + case ' ': + { + const char *gn = (char *) mtmp->mextra; + if (!*gn) { /* might also look in scorefile */ + gn = ghostnames[rn2(SIZE(ghostnames))]; + if (!rn2(2)) + (void) + strcpy((char *) mtmp->mextra, !rn2(5) ? plname : gn); + } + (void) sprintf(buf, "%s's ghost", gn); + } + break; + case '@': + if (mtmp->isshk) { + (void) strcpy(buf, shkname(mtmp)); + break; + } + /* fall into next case */ + default: + (void) sprintf(buf, "the %s%s", + mtmp->minvis ? "invisible " : "", + mtmp->data->mname); + } + if (vb && mtmp->mnamelth) { + (void) strcat(buf, " called "); + (void) strcat(buf, NAME(mtmp)); + } + return (buf); +} + +char * +lmonnam(mtmp) + struct monst *mtmp; +{ + return (xmonnam(mtmp, 1)); +} + +char * +monnam(mtmp) + struct monst *mtmp; +{ + return (xmonnam(mtmp, 0)); +} + +char * +Monnam(mtmp) + struct monst *mtmp; +{ + char *bp = monnam(mtmp); + if ('a' <= *bp && *bp <= 'z') + *bp += ('A' - 'a'); + return (bp); +} + +char * +amonnam(mtmp, adj) + struct monst *mtmp; + const char *adj; +{ + char *bp = monnam(mtmp); + static char buf[BUFSZ]; /* %% */ + + if (!strncmp(bp, "the ", 4)) + bp += 4; + (void) sprintf(buf, "the %s %s", adj, bp); + return (buf); +} + +char * +Amonnam(mtmp, adj) + struct monst *mtmp; + const char *adj; +{ + char *bp = amonnam(mtmp, adj); + + *bp = 'T'; + return (bp); +} + +char * +Xmonnam(mtmp) + struct monst *mtmp; +{ + char *bp = Monnam(mtmp); + if (!strncmp(bp, "The ", 4)) { + bp += 2; + *bp = 'A'; + } + return (bp); +} + +char * +visctrl(c) + char c; +{ + static char ccc[3]; + if (c < 040) { + ccc[0] = '^'; + ccc[1] = c + 0100; + ccc[2] = 0; + } else { + ccc[0] = c; + ccc[1] = 0; + } + return (ccc); +} diff --git a/hack/hack.do_wear.c b/hack/hack.do_wear.c new file mode 100644 index 0000000..a031d44 --- /dev/null +++ b/hack/hack.do_wear.c @@ -0,0 +1,452 @@ +/* $NetBSD: hack.do_wear.c,v 1.5 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.do_wear.c,v 1.5 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +void +off_msg(otmp) + struct obj *otmp; +{ + pline("You were wearing %s.", doname(otmp)); +} + +int +doremarm() +{ + struct obj *otmp; + if (!uarm && !uarmh && !uarms && !uarmg) { + pline("Not wearing any armor."); + return (0); + } + otmp = (!uarmh && !uarms && !uarmg) ? uarm : + (!uarms && !uarm && !uarmg) ? uarmh : + (!uarmh && !uarm && !uarmg) ? uarms : + (!uarmh && !uarm && !uarms) ? uarmg : + getobj("[", "take off"); + if (!otmp) + return (0); + if (!(otmp->owornmask & (W_ARMOR - W_ARM2))) { + pline("You can't take that off."); + return (0); + } + if (otmp == uarmg && uwep && uwep->cursed) { /* myers@uwmacc */ + pline("You seem not able to take off the gloves while holding your weapon."); + return (0); + } + (void) armoroff(otmp); + return (1); +} + +int +doremring() +{ + if (!uleft && !uright) { + pline("Not wearing any ring."); + return (0); + } + if (!uleft) + return (dorr(uright)); + if (!uright) + return (dorr(uleft)); + if (uleft && uright) + while (1) { + char answer; + + pline("What ring, Right or Left? [ rl?]"); + if (strchr(quitchars, (answer = readchar()))) + return (0); + switch (answer) { + case 'l': + case 'L': + return (dorr(uleft)); + case 'r': + case 'R': + return (dorr(uright)); + case '?': + (void) doprring(); + /* might look at morc here %% */ + } + } + /* NOTREACHED */ + return (0); +} + +int +dorr(otmp) + struct obj *otmp; +{ + if (cursed(otmp)) + return (0); + ringoff(otmp); + off_msg(otmp); + return (1); +} + +int +cursed(otmp) + struct obj *otmp; +{ + if (otmp->cursed) { + pline("You can't. It appears to be cursed."); + return (1); + } + return (0); +} + +int +armoroff(otmp) + struct obj *otmp; +{ + int delay = -objects[otmp->otyp].oc_delay; + if (cursed(otmp)) + return (0); + setworn((struct obj *) 0, otmp->owornmask & W_ARMOR); + if (delay) { + nomul(delay); + switch (otmp->otyp) { + case HELMET: + nomovemsg = "You finished taking off your helmet."; + break; + case PAIR_OF_GLOVES: + nomovemsg = "You finished taking off your gloves"; + break; + default: + nomovemsg = "You finished taking off your suit."; + } + } else { + off_msg(otmp); + } + return (1); +} + +int +doweararm() +{ + struct obj *otmp; + int delay; + int err = 0; + long mask = 0; + + otmp = getobj("[", "wear"); + if (!otmp) + return (0); + if (otmp->owornmask & W_ARMOR) { + pline("You are already wearing that!"); + return (0); + } + if (otmp->otyp == HELMET) { + if (uarmh) { + pline("You are already wearing a helmet."); + err++; + } else + mask = W_ARMH; + } else if (otmp->otyp == SHIELD) { + if (uarms) + pline("You are already wearing a shield."), err++; + if (uwep && uwep->otyp == TWO_HANDED_SWORD) + pline("You cannot wear a shield and wield a two-handed sword."), err++; + if (!err) + mask = W_ARMS; + } else if (otmp->otyp == PAIR_OF_GLOVES) { + if (uarmg) { + pline("You are already wearing gloves."); + err++; + } else if (uwep && uwep->cursed) { + pline("You cannot wear gloves over your weapon."); + err++; + } else + mask = W_ARMG; + } else { + if (uarm) { + if (otmp->otyp != ELVEN_CLOAK || uarm2) { + pline("You are already wearing some armor."); + err++; + } + } + if (!err) + mask = W_ARM; + } + if (otmp == uwep && uwep->cursed) { + if (!err++) + pline("%s is welded to your hand.", Doname(uwep)); + } + if (err) + return (0); + setworn(otmp, mask); + if (otmp == uwep) + setuwep((struct obj *) 0); + delay = -objects[otmp->otyp].oc_delay; + if (delay) { + nomul(delay); + nomovemsg = "You finished your dressing manoeuvre."; + } + otmp->known = 1; + return (1); +} + +int +dowearring() +{ + struct obj *otmp; + long mask = 0; + long oldprop; + + if (uleft && uright) { + pline("There are no more ring-fingers to fill."); + return (0); + } + otmp = getobj("=", "wear"); + if (!otmp) + return (0); + if (otmp->owornmask & W_RING) { + pline("You are already wearing that!"); + return (0); + } + if (otmp == uleft || otmp == uright) { + pline("You are already wearing that."); + return (0); + } + if (otmp == uwep && uwep->cursed) { + pline("%s is welded to your hand.", Doname(uwep)); + return (0); + } + if (uleft) + mask = RIGHT_RING; + else if (uright) + mask = LEFT_RING; + else + do { + char answer; + + pline("What ring-finger, Right or Left? "); + if (strchr(quitchars, (answer = readchar()))) + return (0); + switch (answer) { + case 'l': + case 'L': + mask = LEFT_RING; + break; + case 'r': + case 'R': + mask = RIGHT_RING; + break; + } + } while (!mask); + setworn(otmp, mask); + if (otmp == uwep) + setuwep((struct obj *) 0); + oldprop = u.uprops[PROP(otmp->otyp)].p_flgs; + u.uprops[PROP(otmp->otyp)].p_flgs |= mask; + switch (otmp->otyp) { + case RIN_LEVITATION: + if (!oldprop) + float_up(); + break; + case RIN_PROTECTION_FROM_SHAPE_CHANGERS: + rescham(); + break; + case RIN_GAIN_STRENGTH: + u.ustr += otmp->spe; + u.ustrmax += otmp->spe; + if (u.ustr > 118) + u.ustr = 118; + if (u.ustrmax > 118) + u.ustrmax = 118; + flags.botl = 1; + break; + case RIN_INCREASE_DAMAGE: + u.udaminc += otmp->spe; + break; + } + prinv(otmp); + return (1); +} + +void +ringoff(obj) + struct obj *obj; +{ + long mask; + mask = obj->owornmask & W_RING; + setworn((struct obj *) 0, obj->owornmask); + if (!(u.uprops[PROP(obj->otyp)].p_flgs & mask)) + impossible("Strange... I didnt know you had that ring."); + u.uprops[PROP(obj->otyp)].p_flgs &= ~mask; + switch (obj->otyp) { + case RIN_FIRE_RESISTANCE: + /* Bad luck if the player is in hell... --jgm */ + if (!Fire_resistance && dlevel >= 30) { + pline("The flames of Hell burn you to a crisp."); + killer = "stupidity in hell"; + done("burned"); + } + break; + case RIN_LEVITATION: + if (!Levitation) { /* no longer floating */ + float_down(); + } + break; + case RIN_GAIN_STRENGTH: + u.ustr -= obj->spe; + u.ustrmax -= obj->spe; + if (u.ustr > 118) + u.ustr = 118; + if (u.ustrmax > 118) + u.ustrmax = 118; + flags.botl = 1; + break; + case RIN_INCREASE_DAMAGE: + u.udaminc -= obj->spe; + break; + } +} + +void +find_ac() +{ + int uac = 10; + if (uarm) + uac -= ARM_BONUS(uarm); + if (uarm2) + uac -= ARM_BONUS(uarm2); + if (uarmh) + uac -= ARM_BONUS(uarmh); + if (uarms) + uac -= ARM_BONUS(uarms); + if (uarmg) + uac -= ARM_BONUS(uarmg); + if (uleft && uleft->otyp == RIN_PROTECTION) + uac -= uleft->spe; + if (uright && uright->otyp == RIN_PROTECTION) + uac -= uright->spe; + if (uac != u.uac) { + u.uac = uac; + flags.botl = 1; + } +} + +void +glibr() +{ + struct obj *otmp; + int xfl = 0; + if (!uarmg) + if (uleft || uright) { + /* Note: at present also cursed rings fall off */ + pline("Your %s off your fingers.", + (uleft && uright) ? "rings slip" : "ring slips"); + xfl++; + if ((otmp = uleft) != Null(obj)) { + ringoff(uleft); + dropx(otmp); + } + if ((otmp = uright) != Null(obj)) { + ringoff(uright); + dropx(otmp); + } + } + if ((otmp = uwep) != Null(obj)) { + /* Note: at present also cursed weapons fall */ + setuwep((struct obj *) 0); + dropx(otmp); + pline("Your weapon %sslips from your hands.", + xfl ? "also " : ""); + } +} + +struct obj * +some_armor() +{ + struct obj *otmph = uarm; + if (uarmh && (!otmph || !rn2(4))) + otmph = uarmh; + if (uarmg && (!otmph || !rn2(4))) + otmph = uarmg; + if (uarms && (!otmph || !rn2(4))) + otmph = uarms; + return (otmph); +} + +void +corrode_armor() +{ + struct obj *otmph = some_armor(); + if (otmph) { + if (otmph->rustfree || + otmph->otyp == ELVEN_CLOAK || + otmph->otyp == LEATHER_ARMOR || + otmph->otyp == STUDDED_LEATHER_ARMOR) { + pline("Your %s not affected!", + aobjnam(otmph, "are")); + return; + } + pline("Your %s!", aobjnam(otmph, "corrode")); + otmph->spe--; + } +} diff --git a/hack/hack.dog.c b/hack/hack.dog.c new file mode 100644 index 0000000..db047e1 --- /dev/null +++ b/hack/hack.dog.c @@ -0,0 +1,525 @@ +/* $NetBSD: hack.dog.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.dog.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include "hack.mfndpos.h" +#include "def.edog.h" +#include "def.mkroom.h" + +const struct permonst li_dog = +{"little dog", 'd', 2, 18, 6, 1, 6, sizeof(struct edog)}; +const struct permonst dog = +{"dog", 'd', 4, 16, 5, 1, 6, sizeof(struct edog)}; +const struct permonst la_dog = +{"large dog", 'd', 6, 15, 4, 2, 4, sizeof(struct edog)}; + + +void +makedog() +{ + struct monst *mtmp = makemon(&li_dog, u.ux, u.uy); + if (!mtmp) + return; /* dogs were genocided */ + initedog(mtmp); +} + +void +initedog(mtmp) + struct monst *mtmp; +{ + mtmp->mtame = mtmp->mpeaceful = 1; + EDOG(mtmp)->hungrytime = 1000 + moves; + EDOG(mtmp)->eattime = 0; + EDOG(mtmp)->droptime = 0; + EDOG(mtmp)->dropdist = 10000; + EDOG(mtmp)->apport = 10; + EDOG(mtmp)->whistletime = 0; +} + +/* attach the monsters that went down (or up) together with @ */ +struct monst *mydogs = 0; +struct monst *fallen_down = 0;/* monsters that fell through a trapdoor */ +/* they will appear on the next level @ goes to, even if he goes up! */ + +void +losedogs() +{ + struct monst *mtmp; + while ((mtmp = mydogs) != NULL) { + mydogs = mtmp->nmon; + mtmp->nmon = fmon; + fmon = mtmp; + mnexto(mtmp); + } + while ((mtmp = fallen_down) != NULL) { + fallen_down = mtmp->nmon; + mtmp->nmon = fmon; + fmon = mtmp; + rloc(mtmp); + } +} + +void +keepdogs() +{ + struct monst *mtmp; + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) + if (dist(mtmp->mx, mtmp->my) < 3 && follower(mtmp) + && !mtmp->msleep && !mtmp->mfroz) { + relmon(mtmp); + mtmp->nmon = mydogs; + mydogs = mtmp; + unpmon(mtmp); + keepdogs(); /* we destroyed the link, so use + * recursion */ + return; /* (admittedly somewhat primitive) */ + } +} + +void +fall_down(mtmp) + struct monst *mtmp; +{ + relmon(mtmp); + mtmp->nmon = fallen_down; + fallen_down = mtmp; + unpmon(mtmp); + mtmp->mtame = 0; +} + +/* return quality of food; the lower the better */ +#define DOGFOOD 0 +#define CADAVER 1 +#define ACCFOOD 2 +#define MANFOOD 3 +#define APPORT 4 +#define POISON 5 +#define UNDEF 6 +int +dogfood(obj) + struct obj *obj; +{ + switch (obj->olet) { + case FOOD_SYM: + return ( + (obj->otyp == TRIPE_RATION) ? DOGFOOD : + (obj->otyp < CARROT) ? ACCFOOD : + (obj->otyp < CORPSE) ? MANFOOD : + (poisonous(obj) || obj->age + 50 <= moves || + obj->otyp == DEAD_COCKATRICE) + ? POISON : CADAVER + ); + default: + if (!obj->cursed) + return (APPORT); + /* fall into next case */ + case BALL_SYM: + case CHAIN_SYM: + case ROCK_SYM: + return (UNDEF); + } +} + +/* return 0 (no move), 1 (move) or 2 (dead) */ +int +dog_move(struct monst *mtmp, int after) +{ + int nx, ny, omx, omy, appr, nearer, j; + int udist, chi = 0, i, whappr; + struct monst *mtmp2; + const struct permonst *mdat = mtmp->data; + struct edog *edog = EDOG(mtmp); + struct obj *obj; + struct trap *trap; + xchar cnt, chcnt, nix, niy; + schar dogroom, uroom; + xchar gx = 0, gy = 0, gtyp, otyp; /* current goal */ + coord poss[9]; + int info[9]; +#define GDIST(x,y) ((x-gx)*(x-gx) + (y-gy)*(y-gy)) +#define DDIST(x,y) ((x-omx)*(x-omx) + (y-omy)*(y-omy)) + + if (moves <= edog->eattime) + return (0); /* dog is still eating */ + omx = mtmp->mx; + omy = mtmp->my; + whappr = (moves - EDOG(mtmp)->whistletime < 5); + if (moves > edog->hungrytime + 500 && !mtmp->mconf) { + mtmp->mconf = 1; + mtmp->mhpmax /= 3; + if (mtmp->mhp > mtmp->mhpmax) + mtmp->mhp = mtmp->mhpmax; + if (cansee(omx, omy)) + pline("%s is confused from hunger.", Monnam(mtmp)); + else + pline("You feel worried about %s.", monnam(mtmp)); + } else if (moves > edog->hungrytime + 750 || mtmp->mhp < 1) { + if (cansee(omx, omy)) + pline("%s dies from hunger.", Monnam(mtmp)); + else + pline("You have a sad feeling for a moment, then it passes."); + mondied(mtmp); + return (2); + } + dogroom = inroom(omx, omy); + uroom = inroom(u.ux, u.uy); + udist = dist(omx, omy); + + /* maybe we tamed him while being swallowed --jgm */ + if (!udist) + return (0); + + /* if we are carrying sth then we drop it (perhaps near @) */ + /* Note: if apport == 1 then our behaviour is independent of udist */ + if (mtmp->minvent) { + if (!rn2(udist) || !rn2((int) edog->apport)) + if ((unsigned)rn2(10) < edog->apport) { + relobj(mtmp, (int) mtmp->minvis); + if (edog->apport > 1) + edog->apport--; + edog->dropdist = udist; /* hpscdi!jon */ + edog->droptime = moves; + } + } else { + if ((obj = o_at(omx, omy)) != NULL) + if (!strchr("0_", obj->olet)) { + if ((otyp = dogfood(obj)) <= CADAVER) { + nix = omx; + niy = omy; + goto eatobj; + } + if (obj->owt < 10 * mtmp->data->mlevel) + if ((unsigned)rn2(20) < edog->apport + 3) + if (rn2(udist) || !rn2((int) edog->apport)) { + freeobj(obj); + unpobj(obj); + /* + * if(levl[omx][omy].s + * crsym == + * obj->olet) + * newsym(omx,omy); + */ + mpickobj(mtmp, obj); + } + } + } + + /* first we look for food */ + gtyp = UNDEF; /* no goal as yet */ +#ifdef LINT + gx = gy = 0; /* suppress 'used before set' message */ +#endif /* LINT */ + for (obj = fobj; obj; obj = obj->nobj) { + otyp = dogfood(obj); + if (otyp > gtyp || otyp == UNDEF) + continue; + if (inroom(obj->ox, obj->oy) != dogroom) + continue; + if (otyp < MANFOOD && + (dogroom >= 0 || DDIST(obj->ox, obj->oy) < 10)) { + if (otyp < gtyp || (otyp == gtyp && + DDIST(obj->ox, obj->oy) < DDIST(gx, gy))) { + gx = obj->ox; + gy = obj->oy; + gtyp = otyp; + } + } else if (gtyp == UNDEF && dogroom >= 0 && + uroom == dogroom && + !mtmp->minvent && edog->apport > (unsigned)rn2(8)) { + gx = obj->ox; + gy = obj->oy; + gtyp = APPORT; + } + } + if (gtyp == UNDEF || + (gtyp != DOGFOOD && gtyp != APPORT && moves < edog->hungrytime)) { + if (dogroom < 0 || dogroom == uroom) { + gx = u.ux; + gy = u.uy; +#ifndef QUEST + } else { + int tmp = rooms[dogroom].fdoor; + cnt = rooms[dogroom].doorct; + + gx = gy = FAR; /* random, far away */ + while (cnt--) { + if (dist(gx, gy) > + dist(doors[tmp].x, doors[tmp].y)) { + gx = doors[tmp].x; + gy = doors[tmp].y; + } + tmp++; + } + /* here gx == FAR e.g. when dog is in a vault */ + if (gx == FAR || (gx == omx && gy == omy)) { + gx = u.ux; + gy = u.uy; + } +#endif /* QUEST */ + } + appr = (udist >= 9) ? 1 : (mtmp->mflee) ? -1 : 0; + if (after && udist <= 4 && gx == u.ux && gy == u.uy) + return (0); + if (udist > 1) { + if (!IS_ROOM(levl[u.ux][u.uy].typ) || !rn2(4) || + whappr || + (mtmp->minvent && rn2((int) edog->apport))) + appr = 1; + } + /* if you have dog food he'll follow you more closely */ + if (appr == 0) { + obj = invent; + while (obj) { + if (obj->otyp == TRIPE_RATION) { + appr = 1; + break; + } + obj = obj->nobj; + } + } + } else + appr = 1; /* gtyp != UNDEF */ + if (mtmp->mconf) + appr = 0; + + if (gx == u.ux && gy == u.uy && (dogroom != uroom || dogroom < 0)) { + coord *cp; + cp = gettrack(omx, omy); + if (cp) { + gx = cp->x; + gy = cp->y; + } + } + nix = omx; + niy = omy; + cnt = mfndpos(mtmp, poss, info, ALLOW_M | ALLOW_TRAPS); + chcnt = 0; + chi = -1; + for (i = 0; i < cnt; i++) { + nx = poss[i].x; + ny = poss[i].y; + if (info[i] & ALLOW_M) { + mtmp2 = m_at(nx, ny); + if (mtmp2->data->mlevel >= mdat->mlevel + 2 || + mtmp2->data->mlet == 'c') + continue; + if (after) + return (0); /* hit only once each move */ + + if (hitmm(mtmp, mtmp2) == 1 && rn2(4) && + mtmp2->mlstmv != moves && + hitmm(mtmp2, mtmp) == 2) + return (2); + return (0); + } + /* dog avoids traps */ + /* but perhaps we have to pass a trap in order to follow @ */ + if ((info[i] & ALLOW_TRAPS) && (trap = t_at(nx, ny))) { + if (!trap->tseen && rn2(40)) + continue; + if (rn2(10)) + continue; + } + /* dog eschewes cursed objects */ + /* but likes dog food */ + obj = fobj; + while (obj) { + if (obj->ox != nx || obj->oy != ny) + goto nextobj; + if (obj->cursed) + goto nxti; + if (obj->olet == FOOD_SYM && + (otyp = dogfood(obj)) < MANFOOD && + (otyp < ACCFOOD || edog->hungrytime <= moves)) { + /* + * Note: our dog likes the food so much that + * he might eat it even when it conceals a + * cursed object + */ + nix = nx; + niy = ny; + chi = i; + eatobj: + edog->eattime = + moves + obj->quan * objects[obj->otyp].oc_delay; + if (edog->hungrytime < moves) + edog->hungrytime = moves; + edog->hungrytime += + 5 * obj->quan * objects[obj->otyp].nutrition; + mtmp->mconf = 0; + if (cansee(nix, niy)) + pline("%s ate %s.", Monnam(mtmp), doname(obj)); + /* perhaps this was a reward */ + if (otyp != CADAVER) + edog->apport += 200 / (edog->dropdist + moves - edog->droptime); + delobj(obj); + goto newdogpos; + } + nextobj: + obj = obj->nobj; + } + + for (j = 0; j < MTSZ && j < cnt - 1; j++) + if (nx == mtmp->mtrack[j].x && ny == mtmp->mtrack[j].y) + if (rn2(4 * (cnt - j))) + goto nxti; + + /* + * Some stupid C compilers cannot compute the whole + * expression at once. + */ + nearer = GDIST(nx, ny); + nearer -= GDIST(nix, niy); + nearer *= appr; + if ((nearer == 0 && !rn2(++chcnt)) || nearer < 0 || + (nearer > 0 && !whappr && + ((omx == nix && omy == niy && !rn2(3)) + || !rn2(12)) + )) { + nix = nx; + niy = ny; + if (nearer < 0) + chcnt = 0; + chi = i; + } +nxti: ; + } +newdogpos: + if (nix != omx || niy != omy) { + if (info[chi] & ALLOW_U) { + (void) hitu(mtmp, d(mdat->damn, mdat->damd) + 1); + return (0); + } + mtmp->mx = nix; + mtmp->my = niy; + for (j = MTSZ - 1; j > 0; j--) + mtmp->mtrack[j] = mtmp->mtrack[j - 1]; + mtmp->mtrack[0].x = omx; + mtmp->mtrack[0].y = omy; + } + if (mintrap(mtmp) == 2) /* he died */ + return (2); + pmon(mtmp); + return (1); +} + +/* return roomnumber or -1 */ +int +inroom(x, y) + xchar x, y; +{ +#ifndef QUEST + struct mkroom *croom = &rooms[0]; + while (croom->hx >= 0) { + if (croom->hx >= x - 1 && croom->lx <= x + 1 && + croom->hy >= y - 1 && croom->ly <= y + 1) + return (croom - rooms); + croom++; + } +#endif /* QUEST */ + return (-1); /* not in room or on door */ +} + +int +tamedog(mtmp, obj) + struct monst *mtmp; + struct obj *obj; +{ + struct monst *mtmp2; + + if (flags.moonphase == FULL_MOON && night() && rn2(6)) + return (0); + + /* If we cannot tame him, at least he's no longer afraid. */ + mtmp->mflee = 0; + mtmp->mfleetim = 0; + if (mtmp->mtame || mtmp->mfroz || +#ifndef NOWORM + mtmp->wormno || +#endif /* NOWORM */ + mtmp->isshk || mtmp->isgd || strchr(" &@12", mtmp->data->mlet)) + return (0); /* no tame long worms? */ + if (obj) { + if (dogfood(obj) >= MANFOOD) + return (0); + if (cansee(mtmp->mx, mtmp->my)) { + pline("%s devours the %s.", Monnam(mtmp), + objects[obj->otyp].oc_name); + } + obfree(obj, (struct obj *) 0); + } + mtmp2 = newmonst(sizeof(struct edog) + mtmp->mnamelth); + *mtmp2 = *mtmp; + mtmp2->mxlth = sizeof(struct edog); + if (mtmp->mnamelth) + (void) strcpy(NAME(mtmp2), NAME(mtmp)); + initedog(mtmp2); + replmon(mtmp, mtmp2); + return (1); +} diff --git a/hack/hack.eat.c b/hack/hack.eat.c new file mode 100644 index 0000000..e533ca5 --- /dev/null +++ b/hack/hack.eat.c @@ -0,0 +1,559 @@ +/* $NetBSD: hack.eat.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.eat.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +char POISONOUS[] = "ADKSVabhks"; + +/* hunger texts used on bottom line (each 8 chars long) */ +#define SATIATED 0 +#define NOT_HUNGRY 1 +#define HUNGRY 2 +#define WEAK 3 +#define FAINTING 4 +#define FAINTED 5 +#define STARVED 6 + +const char *const hu_stat[] = { + "Satiated", + " ", + "Hungry ", + "Weak ", + "Fainting", + "Fainted ", + "Starved " +}; + +void +init_uhunger() +{ + u.uhunger = 900; + u.uhs = NOT_HUNGRY; +} + +#define TTSZ SIZE(tintxts) +const struct { + const char *txt; + int nut; +} tintxts[] = { + { "It contains first quality peaches - what a surprise!", 40 }, + { "It contains salmon - not bad!", 60 }, + { "It contains apple juice - perhaps not what you hoped for.", 20 }, + { "It contains some nondescript substance, tasting awfully.", 500 }, + { "It contains rotten meat. You vomit.", -50 }, + { "It turns out to be empty.", 0 } +}; + +static struct { + struct obj *tin; + int usedtime, reqtime; +} tin; + +int +opentin() +{ + int r; + + if (!carried(tin.tin)) /* perhaps it was stolen? */ + return (0); /* %% probably we should use tinoid */ + if (tin.usedtime++ >= 50) { + pline("You give up your attempt to open the tin."); + return (0); + } + if (tin.usedtime < tin.reqtime) + return (1); /* still busy */ + + pline("You succeed in opening the tin."); + useup(tin.tin); + r = rn2(2 * TTSZ); + if (r < TTSZ) { + pline(tintxts[r].txt); + lesshungry(tintxts[r].nut); + if (r == 1) { /* SALMON */ + Glib = rnd(15); + pline("Eating salmon made your fingers very slippery."); + } + } else { + pline("It contains spinach - this makes you feel like Popeye!"); + lesshungry(600); + if (u.ustr < 118) + u.ustr += rnd(((u.ustr < 17) ? 19 : 118) - u.ustr); + if (u.ustr > u.ustrmax) + u.ustrmax = u.ustr; + flags.botl = 1; + } + return (0); +} + +int +Meatdone() +{ + u.usym = '@'; + prme(); + return 0; +} + +int +doeat() +{ + struct obj *otmp; + struct objclass *ftmp; + int tmp; + + /* Is there some food (probably a heavy corpse) here on the ground? */ + if (!Levitation) + for (otmp = fobj; otmp; otmp = otmp->nobj) { + if (otmp->ox == u.ux && otmp->oy == u.uy && + otmp->olet == FOOD_SYM) { + pline("There %s %s here; eat %s? [ny] ", + (otmp->quan == 1) ? "is" : "are", + doname(otmp), + (otmp->quan == 1) ? "it" : "one"); + if (readchar() == 'y') { + if (otmp->quan != 1) + (void) splitobj(otmp, 1); + freeobj(otmp); + otmp = addinv(otmp); + addtobill(otmp); + goto gotit; + } + } + } + otmp = getobj("%", "eat"); + if (!otmp) + return (0); +gotit: + if (otmp->otyp == TIN) { + if (uwep) { + switch (uwep->otyp) { + case CAN_OPENER: + tmp = 1; + break; + case DAGGER: + case CRYSKNIFE: + tmp = 3; + break; + case PICK_AXE: + case AXE: + tmp = 6; + break; + default: + goto no_opener; + } + pline("Using your %s you try to open the tin.", + aobjnam(uwep, (char *) 0)); + } else { + no_opener: + pline("It is not so easy to open this tin."); + if (Glib) { + pline("The tin slips out of your hands."); + if (otmp->quan > 1) { + struct obj *obj; + + obj = splitobj(otmp, 1); + if (otmp == uwep) + setuwep(obj); + } + dropx(otmp); + return (1); + } + tmp = 10 + rn2(1 + 500 / ((int) (u.ulevel + u.ustr))); + } + tin.reqtime = tmp; + tin.usedtime = 0; + tin.tin = otmp; + occupation = opentin; + occtxt = "opening the tin"; + return (1); + } + ftmp = &objects[otmp->otyp]; + multi = -ftmp->oc_delay; + if (otmp->otyp >= CORPSE && eatcorpse(otmp)) + goto eatx; + if (!rn2(7) && otmp->otyp != FORTUNE_COOKIE) { + pline("Blecch! Rotten food!"); + if (!rn2(4)) { + pline("You feel rather light headed."); + Confusion += d(2, 4); + } else if (!rn2(4) && !Blind) { + pline("Everything suddenly goes dark."); + Blind = d(2, 10); + seeoff(0); + } else if (!rn2(3)) { + if (Blind) + pline("The world spins and you slap against the floor."); + else + pline("The world spins and goes dark."); + nomul(-rnd(10)); + nomovemsg = "You are conscious again."; + } + lesshungry(ftmp->nutrition / 4); + } else { + if (u.uhunger >= 1500) { + pline("You choke over your food."); + pline("You die..."); + killer = ftmp->oc_name; + done("choked"); + } + switch (otmp->otyp) { + case FOOD_RATION: + if (u.uhunger <= 200) + pline("That food really hit the spot!"); + else if (u.uhunger <= 700) + pline("That satiated your stomach!"); + else { + pline("You're having a hard time getting all that food down."); + multi -= 2; + } + lesshungry(ftmp->nutrition); + if (multi < 0) + nomovemsg = "You finished your meal."; + break; + case TRIPE_RATION: + pline("Yak - dog food!"); + more_experienced(1, 0); + flags.botl = 1; + if (rn2(2)) { + pline("You vomit."); + morehungry(20); + if (Sick) { + Sick = 0; /* David Neves */ + pline("What a relief!"); + } + } else + lesshungry(ftmp->nutrition); + break; + default: + if (otmp->otyp >= CORPSE) + pline("That %s tasted terrible!", ftmp->oc_name); + else + pline("That %s was delicious!", ftmp->oc_name); + lesshungry(ftmp->nutrition); + if (otmp->otyp == DEAD_LIZARD && (Confusion > 2)) + Confusion = 2; + else +#ifdef QUEST + if (otmp->otyp == CARROT && !Blind) { + u.uhorizon++; + setsee(); + pline("Your vision improves."); + } else +#endif /* QUEST */ + if (otmp->otyp == FORTUNE_COOKIE) { + if (Blind) { + pline("This cookie has a scrap of paper inside!"); + pline("What a pity, that you cannot read it!"); + } else + outrumor(); + } else if (otmp->otyp == LUMP_OF_ROYAL_JELLY) { + /* This stuff seems to be VERY healthy! */ + if (u.ustrmax < 118) + u.ustrmax++; + if (u.ustr < u.ustrmax) + u.ustr++; + u.uhp += rnd(20); + if (u.uhp > u.uhpmax) { + if (!rn2(17)) + u.uhpmax++; + u.uhp = u.uhpmax; + } + heal_legs(); + } + break; + } + } +eatx: + if (multi < 0 && !nomovemsg) { + static char msgbuf[BUFSZ]; + (void) sprintf(msgbuf, "You finished eating the %s.", + ftmp->oc_name); + nomovemsg = msgbuf; + } + useup(otmp); + return (1); +} + +/* called in hack.main.c */ +void +gethungry() +{ + --u.uhunger; + if (moves % 2) { + if (Regeneration) + u.uhunger--; + if (Hunger) + u.uhunger--; + /* + * a3: if(Hunger & LEFT_RING) u.uhunger--; if(Hunger & + * RIGHT_RING) u.uhunger--; etc. + */ + } + if (moves % 20 == 0) { /* jimt@asgb */ + if (uleft) + u.uhunger--; + if (uright) + u.uhunger--; + } + newuhs(TRUE); +} + +/* called after vomiting and after performing feats of magic */ +void +morehungry(num) + int num; +{ + u.uhunger -= num; + newuhs(TRUE); +} + +/* called after eating something (and after drinking fruit juice) */ +void +lesshungry(num) + int num; +{ + u.uhunger += num; + newuhs(FALSE); +} + +int +unfaint() +{ + u.uhs = FAINTING; + flags.botl = 1; + return 0; +} + +void +newuhs(incr) + boolean incr; +{ + int newhs, h = u.uhunger; + + newhs = (h > 1000) ? SATIATED : + (h > 150) ? NOT_HUNGRY : + (h > 50) ? HUNGRY : + (h > 0) ? WEAK : FAINTING; + + if (newhs == FAINTING) { + if (u.uhs == FAINTED) + newhs = FAINTED; + if (u.uhs <= WEAK || rn2(20 - u.uhunger / 10) >= 19) { + if (u.uhs != FAINTED && multi >= 0 /* %% */ ) { + pline("You faint from lack of food."); + nomul(-10 + (u.uhunger / 10)); + nomovemsg = "You regain consciousness."; + afternmv = unfaint; + newhs = FAINTED; + } + } else if (u.uhunger < -(int) (200 + 25 * u.ulevel)) { + u.uhs = STARVED; + flags.botl = 1; + bot(); + pline("You die from starvation."); + done("starved"); + } + } + if (newhs != u.uhs) { + if (newhs >= WEAK && u.uhs < WEAK) + losestr(1); /* this may kill you -- see below */ + else if (newhs < WEAK && u.uhs >= WEAK && u.ustr < u.ustrmax) + losestr(-1); + switch (newhs) { + case HUNGRY: + pline((!incr) ? "You only feel hungry now." : + (u.uhunger < 145) ? "You feel hungry." : + "You are beginning to feel hungry."); + break; + case WEAK: + pline((!incr) ? "You feel weak now." : + (u.uhunger < 45) ? "You feel weak." : + "You are beginning to feel weak."); + break; + } + u.uhs = newhs; + flags.botl = 1; + if (u.uhp < 1) { + pline("You die from hunger and exhaustion."); + killer = "exhaustion"; + done("starved"); + } + } +} + +#define CORPSE_I_TO_C(otyp) (char) ((otyp >= DEAD_ACID_BLOB)\ + ? 'a' + (otyp - DEAD_ACID_BLOB)\ + : '@' + (otyp - DEAD_HUMAN)) +int +poisonous(otmp) + struct obj *otmp; +{ + return (strchr(POISONOUS, CORPSE_I_TO_C(otmp->otyp)) != 0); +} + +/* returns 1 if some text was printed */ +int +eatcorpse(otmp) + struct obj *otmp; +{ + char let = CORPSE_I_TO_C(otmp->otyp); + int tp = 0; + if (let != 'a' && moves > otmp->age + 50 + rn2(100)) { + tp++; + pline("Ulch -- that meat was tainted!"); + pline("You get very sick."); + Sick = 10 + rn2(10); + u.usick_cause = objects[otmp->otyp].oc_name; + } else if (strchr(POISONOUS, let) && rn2(5)) { + tp++; + pline("Ecch -- that must have been poisonous!"); + if (!Poison_resistance) { + losestr(rnd(4)); + losehp(rnd(15), "poisonous corpse"); + } else + pline("You don't seem affected by the poison."); + } else if (strchr("ELNOPQRUuxz", let) && rn2(5)) { + tp++; + pline("You feel sick."); + losehp(rnd(8), "cadaver"); + } + switch (let) { + case 'L': + case 'N': + case 't': + Teleportation |= INTRINSIC; + break; + case 'W': + pluslvl(); + break; + case 'n': + u.uhp = u.uhpmax; + flags.botl = 1; + /* fall into next case */ + case '@': + pline("You cannibal! You will be sorry for this!"); + /* not tp++; */ + /* fall into next case */ + case 'd': + Aggravate_monster |= INTRINSIC; + break; + case 'I': + if (!Invis) { + Invis = 50 + rn2(100); + if (!See_invisible) + newsym(u.ux, u.uy); + } else { + Invis |= INTRINSIC; + See_invisible |= INTRINSIC; + } + /* fall into next case */ + case 'y': +#ifdef QUEST + u.uhorizon++; +#endif /* QUEST */ + /* fall into next case */ + case 'B': + Confusion = 50; + break; + case 'D': + Fire_resistance |= INTRINSIC; + break; + case 'E': + Telepat |= INTRINSIC; + break; + case 'F': + case 'Y': + Cold_resistance |= INTRINSIC; + break; + case 'k': + case 's': + Poison_resistance |= INTRINSIC; + break; + case 'c': + pline("You turn to stone."); + killer = "dead cockatrice"; + done("died"); + /* NOTREACHED */ + case 'a': + if (Stoned) { + pline("What a pity - you just destroyed a future piece of art!"); + tp++; + Stoned = 0; + } + break; + case 'M': + pline("You cannot resist the temptation to mimic a treasure chest."); + tp++; + nomul(-30); + afternmv = Meatdone; + nomovemsg = "You now again prefer mimicking a human."; + u.usym = '$'; + prme(); + break; + } + return (tp); +} diff --git a/hack/hack.end.c b/hack/hack.end.c new file mode 100644 index 0000000..2ffa5cf --- /dev/null +++ b/hack/hack.end.c @@ -0,0 +1,790 @@ +/* $NetBSD: hack.end.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.end.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include +#include +#include +#include "hack.h" +#include "extern.h" +#define Sprintf (void) sprintf + +xchar maxdlevel = 1; + +int +dodone() +{ + done1(0); + return 0; +} + + +/*ARGSUSED*/ +void +done1(n) + int n __attribute__((__unused__)); +{ + (void) signal(SIGINT, SIG_IGN); + pline("Really quit?"); + if (readchar() != 'y') { + (void) signal(SIGINT, done1); + clrlin(); + (void) fflush(stdout); + if (multi > 0) + nomul(0); + return; + } + done("quit"); + /* NOTREACHED */ +} + +int done_stopprint; +int done_hup; + +/*ARGSUSED*/ +void +done_intr(n) + int n __attribute__((__unused__)); +{ + done_stopprint++; + (void) signal(SIGINT, SIG_IGN); + (void) signal(SIGQUIT, SIG_IGN); +} + +void +done_hangup(n) + int n; +{ + done_hup++; + (void) signal(SIGHUP, SIG_IGN); + done_intr(n); +} + +void +done_in_by(mtmp) + struct monst *mtmp; +{ + static char buf[BUFSZ]; + pline("You die ..."); + if (mtmp->data->mlet == ' ') { + Sprintf(buf, "the ghost of %s", (char *) mtmp->mextra); + killer = buf; + } else if (mtmp->mnamelth) { + Sprintf(buf, "%s called %s", + mtmp->data->mname, NAME(mtmp)); + killer = buf; + } else if (mtmp->minvis) { + Sprintf(buf, "invisible %s", mtmp->data->mname); + killer = buf; + } else + killer = mtmp->data->mname; + done("died"); +} + +/* + * called with arg "died", "drowned", "escaped", "quit", "choked", + * "panicked", "burned", "starved" or "tricked" + */ +/* Be careful not to call panic from here! */ +void +done(st1) + const char *st1; +{ + +#ifdef WIZARD + if (wizard && *st1 == 'd') { + u.uswldtim = 0; + if (u.uhpmax < 0) + u.uhpmax = 100; /* arbitrary */ + u.uhp = u.uhpmax; + pline("For some reason you are still alive."); + flags.move = 0; + if (multi > 0) + multi = 0; + else + multi = -1; + flags.botl = 1; + return; + } +#endif /* WIZARD */ + (void) signal(SIGINT, done_intr); + (void) signal(SIGQUIT, done_intr); + (void) signal(SIGHUP, done_hangup); + if (*st1 == 'q' && u.uhp < 1) { + st1 = "died"; + killer = "quit while already on Charon's boat"; + } + if (*st1 == 's') + killer = "starvation"; + else if (*st1 == 'd' && st1[1] == 'r') + killer = "drowning"; + else if (*st1 == 'p') + killer = "panic"; + else if (*st1 == 't') + killer = "trickery"; + else if (!strchr("bcd", *st1)) + killer = st1; + paybill(); + clearlocks(); + if (flags.toplin == 1) + more(); + if (strchr("bcds", *st1)) { +#ifdef WIZARD + if (!wizard) +#endif /* WIZARD */ + savebones(); + if (!flags.notombstone) + outrip(); + } + if (*st1 == 'c') + killer = st1; /* after outrip() */ + settty((char *) 0); /* does a clear_screen() */ + if (!done_stopprint) + printf("Goodbye %s %s...\n\n", pl_character, plname); + { + long int tmp; + tmp = u.ugold - u.ugold0; + if (tmp < 0) + tmp = 0; + if (*st1 == 'd' || *st1 == 'b') + tmp -= tmp / 10; + u.urexp += tmp; + u.urexp += 50 * maxdlevel; + if (maxdlevel > 20) + u.urexp += 1000 * ((maxdlevel > 30) ? 10 : maxdlevel - 20); + } + if (*st1 == 'e') { + struct monst *mtmp; + struct obj *otmp; + int i; + unsigned worthlessct = 0; + boolean has_amulet = FALSE; + + killer = st1; + keepdogs(); + mtmp = mydogs; + if (mtmp) { + if (!done_stopprint) + printf("You"); + while (mtmp) { + if (!done_stopprint) + printf(" and %s", monnam(mtmp)); + if (mtmp->mtame) + u.urexp += mtmp->mhp; + mtmp = mtmp->nmon; + } + if (!done_stopprint) + printf("\nescaped from the dungeon with %ld points,\n", + u.urexp); + } else if (!done_stopprint) + printf("You escaped from the dungeon with %ld points,\n", + u.urexp); + for (otmp = invent; otmp; otmp = otmp->nobj) { + if (otmp->olet == GEM_SYM) { + objects[otmp->otyp].oc_name_known = 1; + i = otmp->quan * objects[otmp->otyp].g_val; + if (i == 0) { + worthlessct += otmp->quan; + continue; + } + u.urexp += i; + if (!done_stopprint) + printf("\t%s (worth %d Zorkmids),\n", + doname(otmp), i); + } else if (otmp->olet == AMULET_SYM) { + otmp->known = 1; + i = (otmp->spe < 0) ? 2 : 5000; + u.urexp += i; + if (!done_stopprint) + printf("\t%s (worth %d Zorkmids),\n", + doname(otmp), i); + if (otmp->spe >= 0) { + has_amulet = TRUE; + killer = "escaped (with amulet)"; + } + } + } + if (worthlessct) + if (!done_stopprint) + printf("\t%u worthless piece%s of coloured glass,\n", + worthlessct, plur(worthlessct)); + if (has_amulet) + u.urexp *= 2; + } else if (!done_stopprint) + printf("You %s on dungeon level %d with %ld points,\n", + st1, dlevel, u.urexp); + if (!done_stopprint) + printf("and %ld piece%s of gold, after %ld move%s.\n", + u.ugold, plur(u.ugold), moves, plur(moves)); + if (!done_stopprint) + printf("You were level %u with a maximum of %d hit points when you %s.\n", + u.ulevel, u.uhpmax, st1); + if (*st1 == 'e' && !done_stopprint) { + getret(); /* all those pieces of coloured glass ... */ + cls(); + } +#ifdef WIZARD + if (!wizard) +#endif /* WIZARD */ + topten(); + if (done_stopprint) + printf("\n\n"); + exit(0); +} + +#define newttentry() (struct toptenentry *) alloc(sizeof(struct toptenentry)) +#define NAMSZ 8 +#define DTHSZ 40 +#define PERSMAX 1 +#define POINTSMIN 1 /* must be > 0 */ +#define ENTRYMAX 100 /* must be >= 10 */ +#define PERS_IS_UID /* delete for PERSMAX per name; now per uid */ +struct toptenentry { + struct toptenentry *tt_next; + long int points; + int level, maxlvl, hp, maxhp; + int uid; + char plchar; + char sex; + char name[NAMSZ + 1]; + char death[DTHSZ + 1]; + char date[7];/* yymmdd */ +} *tt_head; + +void +topten() +{ + int uid = getuid(); + int rank, rank0 = -1, rank1 = 0; + int occ_cnt = PERSMAX; + struct toptenentry *t0, *t1, *tprev; + const char *recfile = RECORD; + const char *reclock = "record_lock"; + int sleepct = 300; + FILE *rfile; + int flg = 0; +#define HUP if(!done_hup) + while (link(recfile, reclock) == -1) { + HUP perror(reclock); + if (!sleepct--) { + HUP puts("I give up. Sorry."); + HUP puts("Perhaps there is an old record_lock around?"); + return; + } + HUP printf("Waiting for access to record file. (%d)\n", + sleepct); + HUP(void) fflush(stdout); + sleep(1); + } + if (!(rfile = fopen(recfile, "r"))) { + HUP puts("Cannot open record file!"); + goto unlock; + } + HUP(void) putchar('\n'); + + /* create a new 'topten' entry */ + t0 = newttentry(); + t0->level = dlevel; + t0->maxlvl = maxdlevel; + t0->hp = u.uhp; + t0->maxhp = u.uhpmax; + t0->points = u.urexp; + t0->plchar = pl_character[0]; + t0->sex = (flags.female ? 'F' : 'M'); + t0->uid = uid; + (void) strncpy(t0->name, plname, NAMSZ); + (t0->name)[NAMSZ] = 0; + (void) strncpy(t0->death, killer, DTHSZ); + (t0->death)[DTHSZ] = 0; + (void) strcpy(t0->date, getdate()); + + /* assure minimum number of points */ + if (t0->points < POINTSMIN) + t0->points = 0; + + t1 = tt_head = newttentry(); + tprev = 0; + /* rank0: -1 undefined, 0 not_on_list, n n_th on list */ + for (rank = 1;;) { + if (fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]", + t1->date, &t1->uid, + &t1->level, &t1->maxlvl, + &t1->hp, &t1->maxhp, &t1->points, + &t1->plchar, &t1->sex, t1->name, t1->death) != 11 + || t1->points < POINTSMIN) + t1->points = 0; + if (rank0 < 0 && t1->points < t0->points) { + rank0 = rank++; + if (tprev == 0) + tt_head = t0; + else + tprev->tt_next = t0; + t0->tt_next = t1; + occ_cnt--; + flg++; /* ask for a rewrite */ + } else + tprev = t1; + if (t1->points == 0) + break; + if ( +#ifdef PERS_IS_UID + t1->uid == t0->uid && +#else + strncmp(t1->name, t0->name, NAMSZ) == 0 && +#endif /* PERS_IS_UID */ + t1->plchar == t0->plchar && --occ_cnt <= 0) { + if (rank0 < 0) { + rank0 = 0; + rank1 = rank; + HUP printf("You didn't beat your previous score of %ld points.\n\n", + t1->points); + } + if (occ_cnt < 0) { + flg++; + continue; + } + } + if (rank <= ENTRYMAX) { + t1 = t1->tt_next = newttentry(); + rank++; + } + if (rank > ENTRYMAX) { + t1->points = 0; + break; + } + } + if (flg) { /* rewrite record file */ + (void) fclose(rfile); + if (!(rfile = fopen(recfile, "w"))) { + HUP puts("Cannot write record file\n"); + goto unlock; + } + if (!done_stopprint) + if (rank0 > 0) { + if (rank0 <= 10) + puts("You made the top ten list!\n"); + else + printf("You reached the %d%s place on the top %d list.\n\n", + rank0, ordin(rank0), ENTRYMAX); + } + } + if (rank0 == 0) + rank0 = rank1; + if (rank0 <= 0) + rank0 = rank; + if (!done_stopprint) + outheader(); + t1 = tt_head; + for (rank = 1; t1->points != 0; rank++, t1 = t1->tt_next) { + if (flg) + fprintf(rfile, "%6s %d %d %d %d %d %ld %c%c %s,%s\n", + t1->date, t1->uid, + t1->level, t1->maxlvl, + t1->hp, t1->maxhp, t1->points, + t1->plchar, t1->sex, t1->name, t1->death); + if (done_stopprint) + continue; + if (rank > (int)flags.end_top && + (rank < rank0 - (int)flags.end_around || rank > rank0 + (int)flags.end_around) + && (!flags.end_own || +#ifdef PERS_IS_UID + t1->uid != t0->uid)) +#else + strncmp(t1->name, t0->name, NAMSZ))) +#endif /* PERS_IS_UID */ + continue; + if (rank == rank0 - (int)flags.end_around && + rank0 > (int)(flags.end_top + flags.end_around + 1) && + !flags.end_own) + (void) putchar('\n'); + if (rank != rank0) + (void) outentry(rank, t1, 0); + else if (!rank1) + (void) outentry(rank, t1, 1); + else { + int t0lth = outentry(0, t0, -1); + int t1lth = outentry(rank, t1, t0lth); + if (t1lth > t0lth) + t0lth = t1lth; + (void) outentry(0, t0, t0lth); + } + } + if (rank0 >= rank) + if (!done_stopprint) + (void) outentry(0, t0, 1); + (void) fclose(rfile); +unlock: + (void) unlink(reclock); +} + +void +outheader() +{ + char linebuf[BUFSZ]; + char *bp; + (void) strcpy(linebuf, "Number Points Name"); + bp = eos(linebuf); + while (bp < linebuf + COLNO - 9) + *bp++ = ' '; + (void) strcpy(bp, "Hp [max]"); + puts(linebuf); +} + +/* so>0: standout line; so=0: ordinary line; so<0: no output, return lth */ +int +outentry(int rank, struct toptenentry *t1, int so) +{ + boolean quit = FALSE, killed = FALSE, starv = FALSE; + char linebuf[BUFSZ]; + linebuf[0] = 0; + if (rank) + Sprintf(eos(linebuf), "%3d", rank); + else + Sprintf(eos(linebuf), " "); + Sprintf(eos(linebuf), " %6ld %8s", t1->points, t1->name); + if (t1->plchar == 'X') + Sprintf(eos(linebuf), " "); + else + Sprintf(eos(linebuf), "-%c ", t1->plchar); + if (!strncmp("escaped", t1->death, 7)) { + if (!strcmp(" (with amulet)", t1->death + 7)) + Sprintf(eos(linebuf), "escaped the dungeon with amulet"); + else + Sprintf(eos(linebuf), "escaped the dungeon [max level %d]", + t1->maxlvl); + } else { + if (!strncmp(t1->death, "quit", 4)) { + quit = TRUE; + if (t1->maxhp < 3 * t1->hp && t1->maxlvl < 4) + Sprintf(eos(linebuf), "cravenly gave up"); + else + Sprintf(eos(linebuf), "quit"); + } else if (!strcmp(t1->death, "choked")) + Sprintf(eos(linebuf), "choked on %s food", + (t1->sex == 'F') ? "her" : "his"); + else if (!strncmp(t1->death, "starv", 5)) + Sprintf(eos(linebuf), "starved to death"), starv = TRUE; + else + Sprintf(eos(linebuf), "was killed"), killed = TRUE; + Sprintf(eos(linebuf), " on%s level %d", + (killed || starv) ? "" : " dungeon", t1->level); + if (t1->maxlvl != t1->level) + Sprintf(eos(linebuf), " [max %d]", t1->maxlvl); + if (quit && t1->death[4]) + Sprintf(eos(linebuf), t1->death + 4); + } + if (killed) + Sprintf(eos(linebuf), " by %s%s", + (!strncmp(t1->death, "trick", 5) || !strncmp(t1->death, "the ", 4)) + ? "" : + strchr(vowels, *t1->death) ? "an " : "a ", + t1->death); + Sprintf(eos(linebuf), "."); + if (t1->maxhp) { + char *bp = eos(linebuf); + char hpbuf[10]; + int hppos; + Sprintf(hpbuf, (t1->hp > 0) ? itoa(t1->hp) : "-"); + hppos = COLNO - 7 - strlen(hpbuf); + if (bp <= linebuf + hppos) { + while (bp < linebuf + hppos) + *bp++ = ' '; + (void) strcpy(bp, hpbuf); + Sprintf(eos(bp), " [%d]", t1->maxhp); + } + } + if (so == 0) + puts(linebuf); + else if (so > 0) { + char *bp = eos(linebuf); + if (so >= COLNO) + so = COLNO - 1; + while (bp < linebuf + so) + *bp++ = ' '; + *bp = 0; + standoutbeg(); + fputs(linebuf, stdout); + standoutend(); + (void) putchar('\n'); + } + return (strlen(linebuf)); +} + +char * +itoa(a) + int a; +{ + static char buf[12]; + Sprintf(buf, "%d", a); + return (buf); +} + +const char * +ordin(n) + int n; +{ + int d = n % 10; + return ((d == 0 || d > 3 || n / 10 == 1) ? "th" : (d == 1) ? "st" : + (d == 2) ? "nd" : "rd"); +} + +void +clearlocks() +{ + int x; + (void) signal(SIGHUP, SIG_IGN); + for (x = maxdlevel; x >= 0; x--) { + glo(x); + (void) unlink(lock); /* not all levels need be present */ + } +} + +#ifdef NOSAVEONHANGUP +/*ARGSUSED*/ +void +hangup(n) + int n; +{ + (void) signal(SIGINT, SIG_IGN); + clearlocks(); + exit(1); +} +#endif /* NOSAVEONHANGUP */ + +char * +eos(s) + char *s; +{ + while (*s) + s++; + return (s); +} + +/* it is the callers responsibility to check that there is room for c */ +void +charcat(s, c) + char *s, c; +{ + while (*s) + s++; + *s++ = c; + *s = 0; +} + +/* + * Called with args from main if argc >= 0. In this case, list scores as + * requested. Otherwise, find scores for the current player (and list them + * if argc == -1). + */ +void +prscore(argc, argv) + int argc; + char **argv; +{ + char **players = NULL; + int playerct; + int rank; + struct toptenentry *t1, *t2; + const char *recfile = RECORD; + FILE *rfile; + int flg = 0; + int i; +#ifdef nonsense + long total_score = 0L; + char totchars[10]; + int totcharct = 0; +#endif /* nonsense */ + int outflg = (argc >= -1); +#ifdef PERS_IS_UID + int uid = -1; +#else + char *player0; +#endif /* PERS_IS_UID */ + + if (!(rfile = fopen(recfile, "r"))) { + puts("Cannot open record file!"); + return; + } + if (argc > 1 && !strncmp(argv[1], "-s", 2)) { + if (!argv[1][2]) { + argc--; + argv++; + } else if (!argv[1][3] && strchr("CFKSTWX", argv[1][2])) { + argv[1]++; + argv[1][0] = '-'; + } else + argv[1] += 2; + } + if (argc <= 1) { +#ifdef PERS_IS_UID + uid = getuid(); + playerct = 0; +#else + player0 = plname; + if (!*player0) + player0 = "hackplayer"; + playerct = 1; + players = &player0; +#endif /* PERS_IS_UID */ + } else { + playerct = --argc; + players = ++argv; + } + if (outflg) + putchar('\n'); + + t1 = tt_head = newttentry(); + for (rank = 1;; rank++) { + if (fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]", + t1->date, &t1->uid, + &t1->level, &t1->maxlvl, + &t1->hp, &t1->maxhp, &t1->points, + &t1->plchar, &t1->sex, t1->name, t1->death) != 11) + t1->points = 0; + if (t1->points == 0) + break; +#ifdef PERS_IS_UID + if (!playerct && t1->uid == uid) + flg++; + else +#endif /* PERS_IS_UID */ + for (i = 0; i < playerct; i++) { + if (strcmp(players[i], "all") == 0 || + strncmp(t1->name, players[i], NAMSZ) == 0 || + (players[i][0] == '-' && + players[i][1] == t1->plchar && + players[i][2] == 0) || + (digit(players[i][0]) && rank <= atoi(players[i]))) + flg++; + } + t1 = t1->tt_next = newttentry(); + } + (void) fclose(rfile); + if (!flg) { + if (outflg) { + printf("Cannot find any entries for "); + if (playerct < 1) + printf("you.\n"); + else { + if (playerct > 1) + printf("any of "); + for (i = 0; i < playerct; i++) + printf("%s%s", players[i], (i < playerct - 1) ? ", " : ".\n"); + printf("Call is: %s -s [playernames]\n", hname); + } + } + return; + } + if (outflg) + outheader(); + t1 = tt_head; + for (rank = 1; t1->points != 0; rank++, t1 = t2) { + t2 = t1->tt_next; +#ifdef PERS_IS_UID + if (!playerct && t1->uid == uid) + goto outwithit; + else +#endif /* PERS_IS_UID */ + for (i = 0; i < playerct; i++) { + if (strcmp(players[i], "all") == 0 || + strncmp(t1->name, players[i], NAMSZ) == 0 || + (players[i][0] == '-' && + players[i][1] == t1->plchar && + players[i][2] == 0) || + (digit(players[i][0]) && rank <= atoi(players[i]))) { + outwithit: + if (outflg) + (void) outentry(rank, t1, 0); +#ifdef nonsense + total_score += t1->points; + if (totcharct < sizeof(totchars) - 1) + totchars[totcharct++] = t1->plchar; +#endif /* nonsense */ + break; + } + } + free((char *) t1); + } +#ifdef nonsense + totchars[totcharct] = 0; + + /* + * We would like to determine whether he is experienced. However, the + * information collected here only tells about the scores/roles that + * got into the topten (top 100?). We should maintain a .hacklog or + * something in his home directory. + */ + flags.beginner = (total_score < 6000); + for (i = 0; i < 6; i++) + if (!strchr(totchars, "CFKSTWX"[i])) { + flags.beginner = 1; + if (!pl_character[0]) + pl_character[0] = "CFKSTWX"[i]; + break; + } +#endif /* nonsense */ +} diff --git a/hack/hack.engrave.c b/hack/hack.engrave.c new file mode 100644 index 0000000..a0ab117 --- /dev/null +++ b/hack/hack.engrave.c @@ -0,0 +1,403 @@ +/* $NetBSD: hack.engrave.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.engrave.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" + +struct engr { + struct engr *nxt_engr; + char *engr_txt; + xchar engr_x, engr_y; + unsigned engr_lth; /* for save & restore; not length of + * text */ + long engr_time; /* moment engraving was (will be) + * finished */ + xchar engr_type; +#define DUST 1 +#define ENGRAVE 2 +#define BURN 3 +} *head_engr; + +struct engr * +engr_at(x, y) + xchar x, y; +{ + struct engr *ep = head_engr; + while (ep) { + if (x == ep->engr_x && y == ep->engr_y) + return (ep); + ep = ep->nxt_engr; + } + return ((struct engr *) 0); +} + +int +sengr_at(s, x, y) + const char *s; + xchar x, y; +{ + struct engr *ep = engr_at(x, y); + char *t; + int n; + if (ep && ep->engr_time <= moves) { + t = ep->engr_txt; + /* + if(!strcmp(s,t)) return(1); + */ + n = strlen(s); + while (*t) { + if (!strncmp(s, t, n)) + return (1); + t++; + } + } + return (0); +} + +void +u_wipe_engr(cnt) + int cnt; +{ + if (!u.uswallow && !Levitation) + wipe_engr_at(u.ux, u.uy, cnt); +} + +void +wipe_engr_at(x, y, cnt) + xchar x, y, cnt; +{ + struct engr *ep = engr_at(x, y); + int lth, pos; + char ch; + if (ep) { + if ((ep->engr_type != DUST) || Levitation) { + cnt = rn2(1 + 50 / (cnt + 1)) ? 0 : 1; + } + lth = strlen(ep->engr_txt); + if (lth && cnt > 0) { + while (cnt--) { + pos = rn2(lth); + if ((ch = ep->engr_txt[pos]) == ' ') + continue; + ep->engr_txt[pos] = (ch != '?') ? '?' : ' '; + } + } + while (lth && ep->engr_txt[lth - 1] == ' ') + ep->engr_txt[--lth] = 0; + while (ep->engr_txt[0] == ' ') + ep->engr_txt++; + if (!ep->engr_txt[0]) + del_engr(ep); + } +} + +void +read_engr_at(x, y) + int x, y; +{ + struct engr *ep = engr_at(x, y); + if (ep && ep->engr_txt[0]) { + switch (ep->engr_type) { + case DUST: + pline("Something is written here in the dust."); + break; + case ENGRAVE: + pline("Something is engraved here on the floor."); + break; + case BURN: + pline("Some text has been burned here in the floor."); + break; + default: + impossible("Something is written in a very strange way."); + } + pline("You read: \"%s\".", ep->engr_txt); + } +} + +void +make_engr_at(x, y, s) + int x, y; + const char *s; +{ + struct engr *ep; + + if ((ep = engr_at(x, y)) != NULL) + del_engr(ep); + ep = (struct engr *) + alloc((unsigned) (sizeof(struct engr) + strlen(s) + 1)); + ep->nxt_engr = head_engr; + head_engr = ep; + ep->engr_x = x; + ep->engr_y = y; + ep->engr_txt = (char *) (ep + 1); + (void) strcpy(ep->engr_txt, s); + ep->engr_time = 0; + ep->engr_type = DUST; + ep->engr_lth = strlen(s) + 1; +} + +int +doengrave() +{ + int len; + char *sp; + struct engr *ep, *oep = engr_at(u.ux, u.uy); + char buf[BUFSZ]; + xchar type; + int spct; /* number of leading spaces */ + struct obj *otmp; + multi = 0; + + if (u.uswallow) { + pline("You're joking. Hahaha!"); /* riv05!a3 */ + return (0); + } + /* one may write with finger, weapon or wand */ + otmp = getobj("#-)/", "write with"); + if (!otmp) + return (0); + + if (otmp == &zeroobj) + otmp = 0; + if (otmp && otmp->otyp == WAN_FIRE && otmp->spe) { + type = BURN; + otmp->spe--; + } else { + /* first wield otmp */ + if (otmp != uwep) { + if (uwep && uwep->cursed) { + /* Andreas Bormann */ + pline("Since your weapon is welded to your hand,"); + pline("you use the %s.", aobjnam(uwep, (char *) 0)); + otmp = uwep; + } else { + if (!otmp) + pline("You are now empty-handed."); + else if (otmp->cursed) + pline("The %s %s to your hand!", + aobjnam(otmp, "weld"), + (otmp->quan == 1) ? "itself" : "themselves"); + else + pline("You now wield %s.", doname(otmp)); + setuwep(otmp); + } + } + if (!otmp) + type = DUST; + else if (otmp->otyp == DAGGER || otmp->otyp == TWO_HANDED_SWORD || + otmp->otyp == CRYSKNIFE || + otmp->otyp == LONG_SWORD || otmp->otyp == AXE) { + type = ENGRAVE; + if ((int) otmp->spe <= -3) { + type = DUST; + pline("Your %s too dull for engraving.", + aobjnam(otmp, "are")); + if (oep && oep->engr_type != DUST) + return (1); + } + } else + type = DUST; + } + if (Levitation && type != BURN) { /* riv05!a3 */ + pline("You can't reach the floor!"); + return (1); + } + if (oep && oep->engr_type == DUST) { + pline("You wipe out the message that was written here."); + del_engr(oep); + oep = 0; + } + if (type == DUST && oep) { + pline("You cannot wipe out the message that is %s in the rock.", + (oep->engr_type == BURN) ? "burned" : "engraved"); + return (1); + } + pline("What do you want to %s on the floor here? ", + (type == ENGRAVE) ? "engrave" : (type == BURN) ? "burn" : "write"); + getlin(buf); + clrlin(); + spct = 0; + sp = buf; + while (*sp == ' ') + spct++, sp++; + len = strlen(sp); + if (!len || *buf == '\033') { + if (type == BURN) + otmp->spe++; + return (0); + } + switch (type) { + case DUST: + case BURN: + if (len > 15) { + multi = -(len / 10); + nomovemsg = "You finished writing."; + } + break; + case ENGRAVE: /* here otmp != 0 */ + { + int len2 = (otmp->spe + 3) * 2 + 1; + + pline("Your %s dull.", aobjnam(otmp, "get")); + if (len2 < len) { + len = len2; + sp[len] = 0; + otmp->spe = -3; + nomovemsg = "You cannot engrave more."; + } else { + otmp->spe -= len / 2; + nomovemsg = "You finished engraving."; + } + multi = -len; + } + break; + } + if (oep) + len += strlen(oep->engr_txt) + spct; + ep = (struct engr *) alloc((unsigned) (sizeof(struct engr) + len + 1)); + ep->nxt_engr = head_engr; + head_engr = ep; + ep->engr_x = u.ux; + ep->engr_y = u.uy; + sp = (char *) (ep + 1); /* (char *)ep + sizeof(struct engr) */ + ep->engr_txt = sp; + if (oep) { + (void) strcpy(sp, oep->engr_txt); + (void) strcat(sp, buf); + del_engr(oep); + } else + (void) strcpy(sp, buf); + ep->engr_lth = len + 1; + ep->engr_type = type; + ep->engr_time = moves - multi; + + /* kludge to protect pline against excessively long texts */ + if (len > BUFSZ - 20) + sp[BUFSZ - 20] = 0; + + return (1); +} + +void +save_engravings(fd) + int fd; +{ + struct engr *ep = head_engr; + while (ep) { + if (!ep->engr_lth || !ep->engr_txt[0]) { + ep = ep->nxt_engr; + continue; + } + bwrite(fd, (char *) &(ep->engr_lth), sizeof(ep->engr_lth)); + bwrite(fd, (char *) ep, sizeof(struct engr) + ep->engr_lth); + ep = ep->nxt_engr; + } + bwrite(fd, (char *) nul, sizeof(unsigned)); + head_engr = 0; +} + +void +rest_engravings(fd) + int fd; +{ + struct engr *ep; + unsigned lth; + head_engr = 0; + while (1) { + mread(fd, (char *) <h, sizeof(unsigned)); + if (lth == 0) + return; + ep = (struct engr *) alloc(sizeof(struct engr) + lth); + mread(fd, (char *) ep, sizeof(struct engr) + lth); + ep->nxt_engr = head_engr; + ep->engr_txt = (char *) (ep + 1); /* Andreas Bormann */ + head_engr = ep; + } +} + +void +del_engr(ep) + struct engr *ep; +{ + struct engr *ept; + if (ep == head_engr) + head_engr = ep->nxt_engr; + else { + for (ept = head_engr; ept; ept = ept->nxt_engr) { + if (ept->nxt_engr == ep) { + ept->nxt_engr = ep->nxt_engr; + goto fnd; + } + } + impossible("Error in del_engr?"); + return; +fnd: ; + } + free((char *) ep); +} diff --git a/hack/hack.fight.c b/hack/hack.fight.c new file mode 100644 index 0000000..3929a3c --- /dev/null +++ b/hack/hack.fight.c @@ -0,0 +1,468 @@ +/* $NetBSD: hack.fight.c,v 1.6 2003/04/02 18:36:36 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.fight.c,v 1.6 2003/04/02 18:36:36 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +static boolean far_noise; +static long noisetime; + +/* hitmm returns 0 (miss), 1 (hit), or 2 (kill) */ +int +hitmm(magr, mdef) + struct monst *magr, *mdef; +{ + const struct permonst *pa = magr->data, *pd = mdef->data; + int hit; + schar tmp; + boolean vis; + if (strchr("Eauy", pa->mlet)) + return (0); + if (magr->mfroz) + return (0); /* riv05!a3 */ + tmp = pd->ac + pa->mlevel; + if (mdef->mconf || mdef->mfroz || mdef->msleep) { + tmp += 4; + if (mdef->msleep) + mdef->msleep = 0; + } + hit = (tmp > rnd(20)); + if (hit) + mdef->msleep = 0; + vis = (cansee(magr->mx, magr->my) && cansee(mdef->mx, mdef->my)); + if (vis) { + char buf[BUFSZ]; + if (mdef->mimic) + seemimic(mdef); + if (magr->mimic) + seemimic(magr); + (void) sprintf(buf, "%s %s", Monnam(magr), + hit ? "hits" : "misses"); + pline("%s %s.", buf, monnam(mdef)); + } else { + boolean far = (dist(magr->mx, magr->my) > 15); + if (far != far_noise || moves - noisetime > 10) { + far_noise = far; + noisetime = moves; + pline("You hear some noises%s.", + far ? " in the distance" : ""); + } + } + if (hit) { + if (magr->data->mlet == 'c' && !magr->cham) { + magr->mhpmax += 3; + if (vis) + pline("%s is turned to stone!", Monnam(mdef)); + else if (mdef->mtame) + pline("You have a peculiarly sad feeling for a moment, then it passes."); + monstone(mdef); + hit = 2; + } else if ((mdef->mhp -= d(pa->damn, pa->damd)) < 1) { + magr->mhpmax += 1 + rn2(pd->mlevel + 1); + if (magr->mtame && magr->mhpmax > 8 * pa->mlevel) { + if (pa == &li_dog) + magr->data = pa = &dog; + else if (pa == &dog) + magr->data = pa = &la_dog; + } + if (vis) + pline("%s is killed!", Monnam(mdef)); + else if (mdef->mtame) + pline("You have a sad feeling for a moment, then it passes."); + mondied(mdef); + hit = 2; + } + } + return (hit); +} + +/* drop (perhaps) a cadaver and remove monster */ +void +mondied(mdef) + struct monst *mdef; +{ + const struct permonst *pd = mdef->data; + if (letter(pd->mlet) && rn2(3)) { + (void) mkobj_at(pd->mlet, mdef->mx, mdef->my); + if (cansee(mdef->mx, mdef->my)) { + unpmon(mdef); + atl(mdef->mx, mdef->my, fobj->olet); + } + stackobj(fobj); + } + mondead(mdef); +} + +/* drop a rock and remove monster */ +void +monstone(mdef) + struct monst *mdef; +{ + if (strchr(mlarge, mdef->data->mlet)) + mksobj_at(ENORMOUS_ROCK, mdef->mx, mdef->my); + else + mksobj_at(ROCK, mdef->mx, mdef->my); + if (cansee(mdef->mx, mdef->my)) { + unpmon(mdef); + atl(mdef->mx, mdef->my, fobj->olet); + } + mondead(mdef); +} + + +int +fightm(mtmp) + struct monst *mtmp; +{ + struct monst *mon; + for (mon = fmon; mon; mon = mon->nmon) + if (mon != mtmp) { + if (DIST(mon->mx, mon->my, mtmp->mx, mtmp->my) < 3) + if (rn2(4)) + return (hitmm(mtmp, mon)); + } + return (-1); +} + +/* u is hit by sth, but not a monster */ +int +thitu(tlev, dam, name) + int tlev, dam; + const char *name; +{ + char buf[BUFSZ]; + setan(name, buf); + if (u.uac + tlev <= rnd(20)) { + if (Blind) + pline("It misses."); + else + pline("You are almost hit by %s!", buf); + return (0); + } else { + if (Blind) + pline("You are hit!"); + else + pline("You are hit by %s!", buf); + losehp(dam, name); + return (1); + } +} + +char mlarge[] = "bCDdegIlmnoPSsTUwY',&"; + +boolean +hmon(mon, obj, thrown) /* return TRUE if mon still alive */ + struct monst *mon; + struct obj *obj; + int thrown; +{ + int tmp; + boolean hittxt = FALSE; + + if (!obj) { + tmp = rnd(2); /* attack with bare hands */ + if (mon->data->mlet == 'c' && !uarmg) { + pline("You hit the cockatrice with your bare hands."); + pline("You turn to stone ..."); + done_in_by(mon); + } + } else if (obj->olet == WEAPON_SYM || obj->otyp == PICK_AXE) { + if (obj == uwep && (obj->otyp > SPEAR || obj->otyp < BOOMERANG)) + tmp = rnd(2); + else { + if (strchr(mlarge, mon->data->mlet)) { + tmp = rnd(objects[obj->otyp].wldam); + if (obj->otyp == TWO_HANDED_SWORD) + tmp += d(2, 6); + else if (obj->otyp == FLAIL) + tmp += rnd(4); + } else { + tmp = rnd(objects[obj->otyp].wsdam); + } + tmp += obj->spe; + if (!thrown && obj == uwep && obj->otyp == BOOMERANG + && !rn2(3)) { + pline("As you hit %s, the boomerang breaks into splinters.", + monnam(mon)); + freeinv(obj); + setworn((struct obj *) 0, obj->owornmask); + obfree(obj, (struct obj *) 0); + tmp++; + } + } + if (mon->data->mlet == 'O' && obj->otyp == TWO_HANDED_SWORD && + !strcmp(ONAME(obj), "Orcrist")) + tmp += rnd(10); + } else + switch (obj->otyp) { + case HEAVY_IRON_BALL: + tmp = rnd(25); + break; + case EXPENSIVE_CAMERA: + pline("You succeed in destroying your camera. Congratulations!"); + freeinv(obj); + if (obj->owornmask) + setworn((struct obj *) 0, obj->owornmask); + obfree(obj, (struct obj *) 0); + return (TRUE); + case DEAD_COCKATRICE: + pline("You hit %s with the cockatrice corpse.", + monnam(mon)); + if (mon->data->mlet == 'c') { + tmp = 1; + hittxt = TRUE; + break; + } + pline("%s is turned to stone!", Monnam(mon)); + killed(mon); + return (FALSE); + case CLOVE_OF_GARLIC: /* no effect against demons */ + if (strchr(UNDEAD, mon->data->mlet)) + mon->mflee = 1; + tmp = 1; + break; + default: + /* non-weapons can damage because of their weight */ + /* (but not too much) */ + tmp = obj->owt / 10; + if (tmp < 1) + tmp = 1; + else + tmp = rnd(tmp); + if (tmp > 6) + tmp = 6; + } + + /****** NOTE: perhaps obj is undefined!! (if !thrown && BOOMERANG) */ + + tmp += u.udaminc + dbon(); + if (u.uswallow) { + if ((tmp -= u.uswldtim) <= 0) { + pline("Your arms are no longer able to hit."); + return (TRUE); + } + } + if (tmp < 1) + tmp = 1; + mon->mhp -= tmp; + if (mon->mhp < 1) { + killed(mon); + return (FALSE); + } + if (mon->mtame && (!mon->mflee || mon->mfleetim)) { + mon->mflee = 1; /* Rick Richardson */ + mon->mfleetim += 10 * rnd(tmp); + } + if (!hittxt) { + if (thrown) + /* this assumes that we cannot throw plural things */ + hit(xname(obj) /* or: objects[obj->otyp].oc_name */ , + mon, exclam(tmp)); + else if (Blind) + pline("You hit it."); + else + pline("You hit %s%s", monnam(mon), exclam(tmp)); + } + if (u.umconf && !thrown) { + if (!Blind) { + pline("Your hands stop glowing blue."); + if (!mon->mfroz && !mon->msleep) + pline("%s appears confused.", Monnam(mon)); + } + mon->mconf = 1; + u.umconf = 0; + } + return (TRUE); /* mon still alive */ +} + +/* try to attack; return FALSE if monster evaded */ +/* u.dx and u.dy must be set */ +int +attack(mtmp) + struct monst *mtmp; +{ + schar tmp; + boolean malive = TRUE; + const struct permonst *mdat; + mdat = mtmp->data; + + u_wipe_engr(3); /* andrew@orca: prevent unlimited pick-axe + * attacks */ + + if (mdat->mlet == 'L' && !mtmp->mfroz && !mtmp->msleep && + !mtmp->mconf && mtmp->mcansee && !rn2(7) && + (m_move(mtmp, 0) == 2 /* he died */ || /* he moved: */ + mtmp->mx != u.ux + u.dx || mtmp->my != u.uy + u.dy)) + return (FALSE); + + if (mtmp->mimic) { + if (!u.ustuck && !mtmp->mflee) + u.ustuck = mtmp; + switch (levl[u.ux + u.dx][u.uy + u.dy].scrsym) { + case '+': + pline("The door actually was a Mimic."); + break; + case '$': + pline("The chest was a Mimic!"); + break; + default: + pline("Wait! That's a Mimic!"); + } + wakeup(mtmp); /* clears mtmp->mimic */ + return (TRUE); + } + wakeup(mtmp); + + if (mtmp->mhide && mtmp->mundetected) { + struct obj *obj; + + mtmp->mundetected = 0; + if ((obj = o_at(mtmp->mx, mtmp->my)) && !Blind) + pline("Wait! There's a %s hiding under %s!", + mdat->mname, doname(obj)); + return (TRUE); + } + tmp = u.uluck + u.ulevel + mdat->ac + abon(); + if (uwep) { + if (uwep->olet == WEAPON_SYM || uwep->otyp == PICK_AXE) + tmp += uwep->spe; + if (uwep->otyp == TWO_HANDED_SWORD) + tmp -= 1; + else if (uwep->otyp == DAGGER) + tmp += 2; + else if (uwep->otyp == CRYSKNIFE) + tmp += 3; + else if (uwep->otyp == SPEAR && + strchr("XDne", mdat->mlet)) + tmp += 2; + } + if (mtmp->msleep) { + mtmp->msleep = 0; + tmp += 2; + } + if (mtmp->mfroz) { + tmp += 4; + if (!rn2(10)) + mtmp->mfroz = 0; + } + if (mtmp->mflee) + tmp += 2; + if (u.utrap) + tmp -= 3; + + /* with a lot of luggage, your agility diminishes */ + tmp -= (inv_weight() + 40) / 20; + + if (tmp <= rnd(20) && !u.uswallow) { + if (Blind) + pline("You miss it."); + else + pline("You miss %s.", monnam(mtmp)); + } else { + /* we hit the monster; be careful: it might die! */ + + if ((malive = hmon(mtmp, uwep, 0)) == TRUE) { + /* monster still alive */ + if (!rn2(25) && mtmp->mhp < mtmp->mhpmax / 2) { + mtmp->mflee = 1; + if (!rn2(3)) + mtmp->mfleetim = rnd(100); + if (u.ustuck == mtmp && !u.uswallow) + u.ustuck = 0; + } +#ifndef NOWORM + if (mtmp->wormno) + cutworm(mtmp, u.ux + u.dx, u.uy + u.dy, + uwep ? uwep->otyp : 0); +#endif /* NOWORM */ + } + if (mdat->mlet == 'a') { + if (rn2(2)) { + pline("You are splashed by the blob's acid!"); + losehp_m(rnd(6), mtmp); + if (!rn2(30)) + corrode_armor(); + } + if (!rn2(6)) + corrode_weapon(); + } + } + if (malive && mdat->mlet == 'E' && canseemon(mtmp) + && !mtmp->mcan && rn2(3)) { + if (mtmp->mcansee) { + pline("You are frozen by the floating eye's gaze!"); + nomul((u.ulevel > 6 || rn2(4)) ? rn1(20, -21) : -200); + } else { + pline("The blinded floating eye cannot defend itself."); + if (!rn2(500)) + if ((int) u.uluck > LUCKMIN) + u.uluck--; + } + } + return (TRUE); +} diff --git a/hack/hack.fix b/hack/hack.fix new file mode 100644 index 0000000..5e29211 --- /dev/null +++ b/hack/hack.fix @@ -0,0 +1,115 @@ +$NetBSD: hack.fix,v 1.3 2001/09/16 16:34:25 wiz Exp $ + +/***** unido:net.games.hack / ab / 7:23 pm Sep 13, 1985*/ + +Recently hack (1.0.3) crashed with core dumps during some good games. +The crashes occurred in the onbill-routine. After investigating the core +dump I found that the shopkeeper's bill was still to be paid. Normaly +if you leave a shop the bill will be cleared and onbill() would not +check it. But under certain conditions you can leave a shop without +clearing the bill. The conditions are: + + 1. You have to rob a shop in order to make the shopkeeper + follow you. + + 2. After leaving the shop being followed by the shopkeeper + you must return to the shop... + + 3. ...and then leave the unguarded shop again. + - The shopkeeper mustn't be present! + +If you climb the stairs to the previous level, chances are that your +bill now contains much more items than allowed. If so the next call to +onbill() will dump the core. + +Following is a context diff to fix the bug. Actually just the last hunk +does the fix [it deletes two lines which have been inserted in 1.0.3], +but I think the other fix was intended by the now deleted lines. + + Andreas + +-- +Andreas Bormann ab@unido.UUCP +University of Dortmund N 51 29' 05" E 07 24' 42" +West Germany + +------ the diff follows: + +*** hack.shk.c.orig Sun Aug 4 12:07:51 1985 +--- hack.shk.c Fri Sep 13 14:29:52 1985 +*************** +*** 133,139 + /* Did we just leave a shop? */ + if(u.uinshop && + (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) { +- u.uinshop = 0; + if(shopkeeper) { + if(ESHK(shopkeeper)->billct) { + pline("Somehow you escaped the shop without paying!"); + +--- 133,138 ----- + /* Did we just leave a shop? */ + if(u.uinshop && + (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) { + if(shopkeeper) { + if(ESHK(shopkeeper)->billct) { + if(inroom(shopkeeper->mx, shopkeeper->my) +*************** +*** 136,142 + u.uinshop = 0; + if(shopkeeper) { + if(ESHK(shopkeeper)->billct) { +! pline("Somehow you escaped the shop without paying!"); + addupbill(); + pline("You stole for a total worth of %ld zorkmids.", + total); + +--- 135,143 ----- + (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) { + if(shopkeeper) { + if(ESHK(shopkeeper)->billct) { +! if(inroom(shopkeeper->mx, shopkeeper->my) +! == u.uinshop - 1) /* ab@unido */ +! pline("Somehow you escaped the shop without paying!"); + addupbill(); + pline("You stole for a total worth of %ld zorkmids.", + total); +*************** +*** 149,154 + shopkeeper = 0; + shlevel = 0; + } + } + + /* Did we just enter a zoo of some kind? */ + +--- 150,156 ----- + shopkeeper = 0; + shlevel = 0; + } ++ u.uinshop = 0; + } + + /* Did we just enter a zoo of some kind? */ +*************** +*** 183,190 + findshk(roomno); + if(!shopkeeper) { + rooms[roomno].rtype = 0; +- u.uinshop = 0; +- } else if(inroom(shopkeeper->mx, shopkeeper->my) != roomno) { + u.uinshop = 0; + } else if(!u.uinshop){ + if(!ESHK(shopkeeper)->visitct || + +--- 185,190 ----- + findshk(roomno); + if(!shopkeeper) { + rooms[roomno].rtype = 0; + u.uinshop = 0; + } else if(!u.uinshop){ + if(!ESHK(shopkeeper)->visitct || +/* ---------- */ + + + diff --git a/hack/hack.h b/hack/hack.h new file mode 100644 index 0000000..9ca5d82 --- /dev/null +++ b/hack/hack.h @@ -0,0 +1,249 @@ +/* $NetBSD: hack.h,v 1.10 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _HACK_H_ +#define _HACK_H_ + +#include "config.h" +#include +#include + +#ifndef BSD +#define index strchr +#define rindex strrchr +#endif /* BSD */ + +#define Null(type) ((struct type *) 0) + +#include "def.objclass.h" + +typedef struct { + xchar x,y; +} coord; + +#include "def.monst.h" /* uses coord */ +#include "def.gold.h" +#include "def.trap.h" +#include "def.obj.h" +#include "def.flag.h" + +#define plur(x) (((x) == 1) ? "" : "s") + +#define BUFSZ 256 /* for getlin buffers */ +#define PL_NSIZ 32 /* name of player, ghost, shopkeeper */ + +#include "def.rm.h" +#include "def.permonst.h" + +#define newstring(x) (char *) alloc((unsigned)(x)) +#include "hack.onames.h" + +#define ON 1 +#define OFF 0 + +struct prop { +#define TIMEOUT 007777 /* mask */ +#define LEFT_RING W_RINGL /* 010000L */ +#define RIGHT_RING W_RINGR /* 020000L */ +#define INTRINSIC 040000L +#define LEFT_SIDE LEFT_RING +#define RIGHT_SIDE RIGHT_RING +#define BOTH_SIDES (LEFT_SIDE | RIGHT_SIDE) + long p_flgs; + void (*p_tofn)(void); /* called after timeout */ +}; + +struct you { + xchar ux, uy; + schar dx, dy, dz; /* direction of move (or zap or ... ) */ +#ifdef QUEST + schar di; /* direction of FF */ + xchar ux0, uy0; /* initial position FF */ +#endif /* QUEST */ + xchar udisx, udisy; /* last display pos */ + char usym; /* usually '@' */ + schar uluck; +#define LUCKMAX 10 /* on moonlit nights 11 */ +#define LUCKMIN (-10) + int last_str_turn:3; /* 0: none, 1: half turn, 2: full turn */ + /* +: turn right, -: turn left */ + unsigned udispl:1; /* @ on display */ + unsigned ulevel:4; /* 1 - 14 */ +#ifdef QUEST + unsigned uhorizon:7; +#endif /* QUEST */ + unsigned utrap:3; /* trap timeout */ + unsigned utraptype:1; /* defined if utrap nonzero */ +#define TT_BEARTRAP 0 +#define TT_PIT 1 + unsigned uinshop:6; /* used only in shk.c - (roomno+1) of shop */ + + +/* perhaps these #define's should also be generated by makedefs */ +#define TELEPAT LAST_RING /* not a ring */ +#define Telepat u.uprops[TELEPAT].p_flgs +#define FAST (LAST_RING+1) /* not a ring */ +#define Fast u.uprops[FAST].p_flgs +#define CONFUSION (LAST_RING+2) /* not a ring */ +#define Confusion u.uprops[CONFUSION].p_flgs +#define INVIS (LAST_RING+3) /* not a ring */ +#define Invis u.uprops[INVIS].p_flgs +#define Invisible (Invis && !See_invisible) +#define GLIB (LAST_RING+4) /* not a ring */ +#define Glib u.uprops[GLIB].p_flgs +#define PUNISHED (LAST_RING+5) /* not a ring */ +#define Punished u.uprops[PUNISHED].p_flgs +#define SICK (LAST_RING+6) /* not a ring */ +#define Sick u.uprops[SICK].p_flgs +#define BLIND (LAST_RING+7) /* not a ring */ +#define Blind u.uprops[BLIND].p_flgs +#define WOUNDED_LEGS (LAST_RING+8) /* not a ring */ +#define Wounded_legs u.uprops[WOUNDED_LEGS].p_flgs +#define STONED (LAST_RING+9) /* not a ring */ +#define Stoned u.uprops[STONED].p_flgs +#define PROP(x) (x-RIN_ADORNMENT) /* convert ring to index in uprops */ + unsigned umconf:1; + const char *usick_cause; + struct prop uprops[LAST_RING+10]; + + unsigned uswallow:1; /* set if swallowed by a monster */ + unsigned uswldtim:4; /* time you have been swallowed */ + unsigned uhs:3; /* hunger state - see hack.eat.c */ + schar ustr,ustrmax; + schar udaminc; + schar uac; + int uhp,uhpmax; + long int ugold,ugold0,uexp,urexp; + int uhunger; /* refd only in eat.c and shk.c */ + int uinvault; + struct monst *ustuck; + int nr_killed[CMNUM+2]; /* used for experience bookkeeping */ +}; + +#define DIST(x1,y1,x2,y2) (((x1)-(x2))*((x1)-(x2)) + ((y1)-(y2))*((y1)-(y2))) + +#define PL_CSIZ 20 /* sizeof pl_character */ +#define MAX_CARR_CAP 120 /* so that boulders can be heavier */ +#define MAXLEVEL 40 +#define FAR (COLNO+2) /* position outside screen */ + +extern boolean in_mklev; +extern boolean level_exists[]; +extern boolean restoring; +extern char *CD; +extern const char *catmore; +extern char *hname; +extern const char *const hu_stat[]; /* in eat.c */ +extern const char *nomovemsg; +extern const char *occtxt; +extern char *save_cm; +extern const char *killer; +extern const char *const traps[]; +extern char SAVEF[]; +extern char fut_geno[60]; /* idem */ +extern char genocided[60]; /* defined in Decl.c */ +extern char lock[]; +extern char mlarge[]; +extern char morc; +extern char nul[]; +extern char plname[PL_NSIZ], pl_character[PL_CSIZ]; +extern const char quitchars[]; +extern char sdir[]; /* defined in hack.c */ +extern const char shtypes[]; /* = "=/)%?!["; 8 types: 7 specialized, 1 mixed */ +extern const char vowels[]; +extern coord bhitpos; /* place where thrown weapon falls to the ground */ +extern int (*afternmv)(void); +extern int (*occupation)(void); +extern int CO, LI; /* usually COLNO and ROWNO+2 */ +extern int bases[]; +extern int doorindex; +extern int hackpid; +extern int multi; +extern int nroom; +extern long moves; +extern long wailmsg; +extern schar xdir[], ydir[]; /* idem */ +extern struct monst *mydogs; +extern struct monst youmonst; +extern struct obj *billobjs; +extern struct obj *invent, *uwep, *uarm, *uarm2, *uarmh, *uarms, *uarmg; +extern struct obj *uleft, *uright, *fcobj; +extern struct obj *uball; /* defined if PUNISHED */ +extern struct obj *uchain; /* defined iff PUNISHED */ +extern struct obj zeroobj; +extern const struct permonst li_dog, dog, la_dog; +extern const struct permonst pm_eel; +extern const struct permonst pm_ghost; +extern const struct permonst pm_mail_daemon; +extern const struct permonst pm_wizard; +#ifndef NOWORM +extern long wgrowtime[32]; +extern struct wseg *m_atseg; +extern struct wseg *wsegs[32], *wheads[32]; +#endif +extern struct you u; +extern xchar curx, cury; /* cursor location on screen */ +extern xchar dlevel, maxdlevel; /* dungeon level */ +extern xchar seehx,seelx,seehy,seely; /* where to see*/ +extern xchar xdnstair, ydnstair, xupstair, yupstair; /* stairs up and down. */ +#endif /* _HACK_H_ */ diff --git a/hack/hack.invent.c b/hack/hack.invent.c new file mode 100644 index 0000000..c33d502 --- /dev/null +++ b/hack/hack.invent.c @@ -0,0 +1,1042 @@ +/* $NetBSD: hack.invent.c,v 1.9 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.invent.c,v 1.9 2004/01/27 20:30:29 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" + +#ifndef NOWORM +#include "def.wseg.h" +#endif /* NOWORM */ + +#define NOINVSYM '#' + +static int lastinvnr = 51; /* 0 ... 51 */ + +static void assigninvlet(struct obj *); +static char *xprname(struct obj *, char); + +static void +assigninvlet(otmp) + struct obj *otmp; +{ + boolean inuse[52]; + int i; + struct obj *obj; + + for (i = 0; i < 52; i++) + inuse[i] = FALSE; + for (obj = invent; obj; obj = obj->nobj) + if (obj != otmp) { + i = obj->invlet; + if ('a' <= i && i <= 'z') + inuse[i - 'a'] = TRUE; + else if ('A' <= i && i <= 'Z') + inuse[i - 'A' + 26] = TRUE; + if (i == otmp->invlet) + otmp->invlet = 0; + } + if ((i = otmp->invlet) && + (('a' <= i && i <= 'z') || ('A' <= i && i <= 'Z'))) + return; + for (i = lastinvnr + 1; i != lastinvnr; i++) { + if (i == 52) { + i = -1; + continue; + } + if (!inuse[i]) + break; + } + otmp->invlet = (inuse[i] ? NOINVSYM : + (i < 26) ? ('a' + i) : ('A' + i - 26)); + lastinvnr = i; +} + +struct obj * +addinv(obj) + struct obj *obj; +{ + struct obj *otmp; + + /* merge or attach to end of chain */ + if (!invent) { + invent = obj; + otmp = 0; + } else + for (otmp = invent; /* otmp */ ; otmp = otmp->nobj) { + if (merged(otmp, obj, 0)) + return (otmp); + if (!otmp->nobj) { + otmp->nobj = obj; + break; + } + } + obj->nobj = 0; + + if (flags.invlet_constant) { + assigninvlet(obj); + /* + * The ordering of the chain is nowhere significant + * so in case you prefer some other order than the + * historical one, change the code below. + */ + if (otmp) { /* find proper place in chain */ + otmp->nobj = 0; + if ((invent->invlet ^ 040) > (obj->invlet ^ 040)) { + obj->nobj = invent; + invent = obj; + } else + for (otmp = invent;; otmp = otmp->nobj) { + if (!otmp->nobj || + (otmp->nobj->invlet ^ 040) > (obj->invlet ^ 040)) { + obj->nobj = otmp->nobj; + otmp->nobj = obj; + break; + } + } + } + } + return (obj); +} + +void +useup(obj) + struct obj *obj; +{ + if (obj->quan > 1) { + obj->quan--; + obj->owt = weight(obj); + } else { + setnotworn(obj); + freeinv(obj); + obfree(obj, (struct obj *) 0); + } +} + +void +freeinv(obj) + struct obj *obj; +{ + struct obj *otmp; + + if (obj == invent) + invent = invent->nobj; + else { + for (otmp = invent; otmp->nobj != obj; otmp = otmp->nobj) + if (!otmp->nobj) + panic("freeinv"); + otmp->nobj = obj->nobj; + } +} + +/* destroy object in fobj chain (if unpaid, it remains on the bill) */ +void +delobj(obj) + struct obj *obj; +{ + freeobj(obj); + unpobj(obj); + obfree(obj, (struct obj *) 0); +} + +/* unlink obj from chain starting with fobj */ +void +freeobj(obj) + struct obj *obj; +{ + struct obj *otmp; + + if (obj == fobj) + fobj = fobj->nobj; + else { + for (otmp = fobj; otmp->nobj != obj; otmp = otmp->nobj) + if (!otmp) + panic("error in freeobj"); + otmp->nobj = obj->nobj; + } +} + +/* Note: freegold throws away its argument! */ +void +freegold(gold) + struct gold *gold; +{ + struct gold *gtmp; + + if (gold == fgold) + fgold = gold->ngold; + else { + for (gtmp = fgold; gtmp->ngold != gold; gtmp = gtmp->ngold) + if (!gtmp) + panic("error in freegold"); + gtmp->ngold = gold->ngold; + } + free((char *) gold); +} + +void +deltrap(trap) + struct trap *trap; +{ + struct trap *ttmp; + + if (trap == ftrap) + ftrap = ftrap->ntrap; + else { + for (ttmp = ftrap; ttmp->ntrap != trap; ttmp = ttmp->ntrap); + ttmp->ntrap = trap->ntrap; + } + free((char *) trap); +} + +struct wseg *m_atseg; + +struct monst * +m_at(x, y) + int x, y; +{ + struct monst *mtmp; +#ifndef NOWORM + struct wseg *wtmp; +#endif /* NOWORM */ + + m_atseg = 0; + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { + if (mtmp->mx == x && mtmp->my == y) + return (mtmp); +#ifndef NOWORM + if (mtmp->wormno) { + for (wtmp = wsegs[mtmp->wormno]; wtmp; wtmp = wtmp->nseg) + if (wtmp->wx == x && wtmp->wy == y) { + m_atseg = wtmp; + return (mtmp); + } + } +#endif /* NOWORM */ + } + return (0); +} + +struct obj * +o_at(x, y) + int x, y; +{ + struct obj *otmp; + + for (otmp = fobj; otmp; otmp = otmp->nobj) + if (otmp->ox == x && otmp->oy == y) + return (otmp); + return (0); +} + +struct obj * +sobj_at(n, x, y) + int n, x, y; +{ + struct obj *otmp; + + for (otmp = fobj; otmp; otmp = otmp->nobj) + if (otmp->ox == x && otmp->oy == y && otmp->otyp == n) + return (otmp); + return (0); +} + +int +carried(obj) + struct obj *obj; +{ + struct obj *otmp; + for (otmp = invent; otmp; otmp = otmp->nobj) + if (otmp == obj) + return (1); + return (0); +} + +int +carrying(type) + int type; +{ + struct obj *otmp; + + for (otmp = invent; otmp; otmp = otmp->nobj) + if (otmp->otyp == type) + return (TRUE); + return (FALSE); +} + +struct obj * +o_on(id, objchn) + unsigned int id; + struct obj *objchn; +{ + while (objchn) { + if (objchn->o_id == id) + return (objchn); + objchn = objchn->nobj; + } + return ((struct obj *) 0); +} + +struct trap * +t_at(x, y) + int x, y; +{ + struct trap *trap = ftrap; + while (trap) { + if (trap->tx == x && trap->ty == y) + return (trap); + trap = trap->ntrap; + } + return (0); +} + +struct gold * +g_at(x, y) + int x, y; +{ + struct gold *gold = fgold; + while (gold) { + if (gold->gx == x && gold->gy == y) + return (gold); + gold = gold->ngold; + } + return (0); +} + +/* make dummy object structure containing gold - for temporary use only */ +struct obj * +mkgoldobj(q) + long q; +{ + struct obj *otmp; + + otmp = newobj(0); + /* should set o_id etc. but otmp will be freed soon */ + otmp->olet = '$'; + u.ugold -= q; + OGOLD(otmp) = q; + flags.botl = 1; + return (otmp); +} + +/* + * getobj returns: + * struct obj *xxx: object to do something with. + * (struct obj *) 0 error return: no object. + * &zeroobj explicitly no object (as in w-). + */ +struct obj * +getobj(let, word) + const char *let, *word; +{ + struct obj *otmp; + char ilet, ilet1, ilet2; + char buf[BUFSZ]; + char lets[BUFSZ]; + int foo = 0, foo2; + char *bp = buf; + xchar allowcnt = 0; /* 0, 1 or 2 */ + boolean allowgold = FALSE; + boolean allowall = FALSE; + boolean allownone = FALSE; + xchar foox = 0; + long cnt; + + if (*let == '0') + let++, allowcnt = 1; + if (*let == '$') + let++, allowgold = TRUE; + if (*let == '#') + let++, allowall = TRUE; + if (*let == '-') + let++, allownone = TRUE; + if (allownone) + *bp++ = '-'; + if (allowgold) + *bp++ = '$'; + if (bp > buf && bp[-1] == '-') + *bp++ = ' '; + + ilet = 'a'; + for (otmp = invent; otmp; otmp = otmp->nobj) { + if (!*let || strchr(let, otmp->olet)) { + bp[foo++] = flags.invlet_constant ? otmp->invlet : ilet; + + /* ugly check: remove inappropriate things */ + if ((!strcmp(word, "take off") && + !(otmp->owornmask & (W_ARMOR - W_ARM2))) + || (!strcmp(word, "wear") && + (otmp->owornmask & (W_ARMOR | W_RING))) + || (!strcmp(word, "wield") && + (otmp->owornmask & W_WEP))) { + foo--; + foox++; + } + } + if (ilet == 'z') + ilet = 'A'; + else + ilet++; + } + bp[foo] = 0; + if (foo == 0 && bp > buf && bp[-1] == ' ') + *--bp = 0; + (void) strcpy(lets, bp);/* necessary since we destroy buf */ + if (foo > 5) { /* compactify string */ + foo = foo2 = 1; + ilet2 = bp[0]; + ilet1 = bp[1]; + while ((ilet = bp[++foo2] = bp[++foo]) != '\0') { + if (ilet == ilet1 + 1) { + if (ilet1 == ilet2 + 1) + bp[foo2 - 1] = ilet1 = '-'; + else if (ilet2 == '-') { + bp[--foo2] = ++ilet1; + continue; + } + } + ilet2 = ilet1; + ilet1 = ilet; + } + } + if (!foo && !allowall && !allowgold && !allownone) { + pline("You don't have anything %sto %s.", + foox ? "else " : "", word); + return (0); + } + for (;;) { + if (!buf[0]) + pline("What do you want to %s [*]? ", word); + else + pline("What do you want to %s [%s or ?*]? ", + word, buf); + + cnt = 0; + ilet = readchar(); + while (digit(ilet) && allowcnt) { + if (cnt < 100000000) + cnt = 10 * cnt + (ilet - '0'); + else + cnt = 999999999; + allowcnt = 2; /* signal presence of cnt */ + ilet = readchar(); + } + if (digit(ilet)) { + pline("No count allowed with this command."); + continue; + } + if (strchr(quitchars, ilet)) + return ((struct obj *) 0); + if (ilet == '-') { + return (allownone ? &zeroobj : (struct obj *) 0); + } + if (ilet == '$') { + if (!allowgold) { + pline("You cannot %s gold.", word); + continue; + } + if (!(allowcnt == 2 && cnt < u.ugold)) + cnt = u.ugold; + return (mkgoldobj(cnt)); + } + if (ilet == '?') { + doinv(lets); + if (!(ilet = morc)) + continue; + /* he typed a letter (not a space) to more() */ + } else if (ilet == '*') { + doinv((char *) 0); + if (!(ilet = morc)) + continue; + /* ... */ + } + if (flags.invlet_constant) { + for (otmp = invent; otmp; otmp = otmp->nobj) + if (otmp->invlet == ilet) + break; + } else { + if (ilet >= 'A' && ilet <= 'Z') + ilet += 'z' - 'A' + 1; + ilet -= 'a'; + for (otmp = invent; otmp && ilet; + ilet--, otmp = otmp->nobj); + } + if (!otmp) { + pline("You don't have that object."); + continue; + } + if (cnt < 0 || otmp->quan < cnt) { + pline("You don't have that many! [You have %u]" + ,otmp->quan); + continue; + } + break; + } + if (!allowall && let && !strchr(let, otmp->olet)) { + pline("That is a silly thing to %s.", word); + return (0); + } + if (allowcnt == 2) { /* cnt given */ + if (cnt == 0) + return (0); + if (cnt != otmp->quan) { + struct obj *obj; + obj = splitobj(otmp, (int) cnt); + if (otmp == uwep) + setuwep(obj); + } + } + return (otmp); +} + +int +ckunpaid(otmp) + struct obj *otmp; +{ + return (otmp->unpaid); +} + +/* interactive version of getobj - used for Drop and Identify */ +/* return the number of times fn was called successfully */ +int +ggetobj(word, fn, max) + const char *word; + int (*fn)(struct obj *); + int max; +{ + char buf[BUFSZ]; + char *ip; + char sym; + int oletct = 0, iletct = 0; + boolean allflag = FALSE; + char olets[20], ilets[20]; + int (*ckfn)(struct obj *) = + (int (*)(struct obj *)) 0; + xchar allowgold = (u.ugold && !strcmp(word, "drop")) ? 1 : 0; /* BAH */ + if (!invent && !allowgold) { + pline("You have nothing to %s.", word); + return (0); + } else { + struct obj *otmp = invent; + int uflg = 0; + + if (allowgold) + ilets[iletct++] = '$'; + ilets[iletct] = 0; + while (otmp) { + if (!strchr(ilets, otmp->olet)) { + ilets[iletct++] = otmp->olet; + ilets[iletct] = 0; + } + if (otmp->unpaid) + uflg = 1; + otmp = otmp->nobj; + } + ilets[iletct++] = ' '; + if (uflg) + ilets[iletct++] = 'u'; + if (invent) + ilets[iletct++] = 'a'; + ilets[iletct] = 0; + } + pline("What kinds of thing do you want to %s? [%s] ", + word, ilets); + getlin(buf); + if (buf[0] == '\033') { + clrlin(); + return (0); + } + ip = buf; + olets[0] = 0; + while ((sym = *ip++) != '\0') { + if (sym == ' ') + continue; + if (sym == '$') { + if (allowgold == 1) + (*fn) (mkgoldobj(u.ugold)); + else if (!u.ugold) + pline("You have no gold."); + allowgold = 2; + } else if (sym == 'a' || sym == 'A') + allflag = TRUE; + else if (sym == 'u' || sym == 'U') + ckfn = ckunpaid; + else if (strchr("!%?[()=*/\"0", sym)) { + if (!strchr(olets, sym)) { + olets[oletct++] = sym; + olets[oletct] = 0; + } + } else + pline("You don't have any %c's.", sym); + } + if (allowgold == 2 && !oletct) + return (1); /* he dropped gold (or at least tried to) */ + else + return (askchain(invent, olets, allflag, fn, ckfn, max)); +} + +/* + * Walk through the chain starting at objchn and ask for all objects + * with olet in olets (if nonNULL) and satisfying ckfn (if nonNULL) + * whether the action in question (i.e., fn) has to be performed. + * If allflag then no questions are asked. Max gives the max nr of + * objects to be treated. Return the number of objects treated. + */ +int +askchain(objchn, olets, allflag, fn, ckfn, max) + struct obj *objchn; + char *olets; + int allflag; + int (*fn)(struct obj *); + int (*ckfn)(struct obj *); + int max; +{ + struct obj *otmp, *otmp2; + char sym, ilet; + int cnt = 0; + ilet = 'a' - 1; + for (otmp = objchn; otmp; otmp = otmp2) { + if (ilet == 'z') + ilet = 'A'; + else + ilet++; + otmp2 = otmp->nobj; + if (olets && *olets && !strchr(olets, otmp->olet)) + continue; + if (ckfn && !(*ckfn) (otmp)) + continue; + if (!allflag) { + pline(xprname(otmp, ilet)); + addtopl(" [nyaq]? "); + sym = readchar(); + } else + sym = 'y'; + + switch (sym) { + case 'a': + allflag = 1; + case 'y': + cnt += (*fn) (otmp); + if (--max == 0) + goto ret; + case 'n': + default: + break; + case 'q': + goto ret; + } + } + pline(cnt ? "That was all." : "No applicable objects."); +ret: + return (cnt); +} + +char +obj_to_let(obj) /* should of course only be called for things + * in invent */ + struct obj *obj; +{ + struct obj *otmp; + char ilet; + + if (flags.invlet_constant) + return (obj->invlet); + ilet = 'a'; + for (otmp = invent; otmp && otmp != obj; otmp = otmp->nobj) + if (++ilet > 'z') + ilet = 'A'; + return (otmp ? ilet : NOINVSYM); +} + +void +prinv(obj) + struct obj *obj; +{ + pline(xprname(obj, obj_to_let(obj))); +} + +static char * +xprname(obj, let) + struct obj *obj; + char let; +{ + static char li[BUFSZ]; + + (void) sprintf(li, "%c - %s.", + flags.invlet_constant ? obj->invlet : let, + doname(obj)); + return (li); +} + +int +ddoinv() +{ + doinv((char *) 0); + return (0); +} + +/* called with 0 or "": all objects in inventory */ +/* otherwise: all objects with (serial) letter in lets */ +void +doinv(lets) + char *lets; +{ + struct obj *otmp; + char ilet; + int ct = 0; + char any[BUFSZ]; + + morc = 0; /* just to be sure */ + + if (!invent) { + pline("Not carrying anything."); + return; + } + cornline(0, (char *) 0); + ilet = 'a'; + for (otmp = invent; otmp; otmp = otmp->nobj) { + if (flags.invlet_constant) + ilet = otmp->invlet; + if (!lets || !*lets || strchr(lets, ilet)) { + cornline(1, xprname(otmp, ilet)); + any[ct++] = ilet; + } + if (!flags.invlet_constant) + if (++ilet > 'z') + ilet = 'A'; + } + any[ct] = 0; + cornline(2, any); +} + +int +dotypeinv() +{ /* free after Robert Viduya */ + /* Changed to one type only, so he doesnt have to type cr */ + char c, ilet; + char stuff[BUFSZ]; + int stct; + struct obj *otmp; + boolean billx = inshop() && doinvbill(0); + boolean unpd = FALSE; + + if (!invent && !u.ugold && !billx) { + pline("You aren't carrying anything."); + return (0); + } + stct = 0; + if (u.ugold) + stuff[stct++] = '$'; + stuff[stct] = 0; + for (otmp = invent; otmp; otmp = otmp->nobj) { + if (!strchr(stuff, otmp->olet)) { + stuff[stct++] = otmp->olet; + stuff[stct] = 0; + } + if (otmp->unpaid) + unpd = TRUE; + } + if (unpd) + stuff[stct++] = 'u'; + if (billx) + stuff[stct++] = 'x'; + stuff[stct] = 0; + + if (stct > 1) { + pline("What type of object [%s] do you want an inventory of? ", + stuff); + c = readchar(); + if (strchr(quitchars, c)) + return (0); + } else + c = stuff[0]; + + if (c == '$') + return (doprgold()); + + if (c == 'x' || c == 'X') { + if (billx) + (void) doinvbill(1); + else + pline("No used-up objects on the shopping bill."); + return (0); + } + if ((c == 'u' || c == 'U') && !unpd) { + pline("You are not carrying any unpaid objects."); + return (0); + } + stct = 0; + ilet = 'a'; + for (otmp = invent; otmp; otmp = otmp->nobj) { + if (flags.invlet_constant) + ilet = otmp->invlet; + if (c == otmp->olet || (c == 'u' && otmp->unpaid)) + stuff[stct++] = ilet; + if (!flags.invlet_constant) + if (++ilet > 'z') + ilet = 'A'; + } + stuff[stct] = '\0'; + if (stct == 0) + pline("You have no such objects."); + else + doinv(stuff); + + return (0); +} + +/* look at what is here */ +int +dolook() +{ + struct obj *otmp = NULL, *otmp0 = NULL; + struct gold *gold = NULL; + const char *verb = Blind ? "feel" : "see"; + int ct = 0; + + if (!u.uswallow) { + if (Blind) { + pline("You try to feel what is lying here on the floor."); + if (Levitation) { /* ab@unido */ + pline("You cannot reach the floor!"); + return (1); + } + } + otmp0 = o_at(u.ux, u.uy); + gold = g_at(u.ux, u.uy); + } + if (u.uswallow || (!otmp0 && !gold)) { + pline("You %s no objects here.", verb); + return (!!Blind); + } + cornline(0, "Things that are here:"); + for (otmp = otmp0; otmp; otmp = otmp->nobj) { + if (otmp->ox == u.ux && otmp->oy == u.uy) { + ct++; + cornline(1, doname(otmp)); + if (Blind && otmp->otyp == DEAD_COCKATRICE && !uarmg) { + pline("Touching the dead cockatrice is a fatal mistake ..."); + pline("You die ..."); + killer = "dead cockatrice"; + done("died"); + } + } + } + + if (gold) { + char gbuf[30]; + + (void) sprintf(gbuf, "%ld gold piece%s", + gold->amount, plur(gold->amount)); + if (!ct++) + pline("You %s here %s.", verb, gbuf); + else + cornline(1, gbuf); + } + if (ct == 1 && !gold) { + pline("You %s here %s.", verb, doname(otmp0)); + cornline(3, (char *) 0); + } + if (ct > 1) + cornline(2, (char *) 0); + return (!!Blind); +} + +void +stackobj(obj) + struct obj *obj; +{ + struct obj *otmp = fobj; + for (otmp = fobj; otmp; otmp = otmp->nobj) + if (otmp != obj) + if (otmp->ox == obj->ox && otmp->oy == obj->oy && + merged(obj, otmp, 1)) + return; +} + +/* merge obj with otmp and delete obj if types agree */ +int +merged(otmp, obj, lose) + struct obj *otmp, *obj; + int lose; +{ + if (obj->otyp == otmp->otyp && + obj->unpaid == otmp->unpaid && + obj->spe == otmp->spe && + obj->dknown == otmp->dknown && + obj->cursed == otmp->cursed && + (strchr("%*?!", obj->olet) || + (obj->known == otmp->known && + (obj->olet == WEAPON_SYM && obj->otyp < BOOMERANG)))) { + otmp->quan += obj->quan; + otmp->owt += obj->owt; + if (lose) + freeobj(obj); + obfree(obj, otmp); /* free(obj), bill->otmp */ + return (1); + } else + return (0); +} + +static long goldcounted; +/* + * Gold is no longer displayed; in fact, when you have a lot of money, + * it may take a while before you have counted it all. + * [Bug: d$ and pickup still tell you how much it was.] + */ +int +countgold() +{ + if ((goldcounted += 100 * (u.ulevel + 1)) >= u.ugold) { + long eps = 0; + if (!rn2(2)) + eps = rnd((int) (u.ugold / 100 + 1)); + pline("You probably have about %ld gold pieces.", + u.ugold + eps); + return (0); /* done */ + } + return (1); /* continue */ +} + +int +doprgold() +{ + if (!u.ugold) + pline("You do not carry any gold."); + else if (u.ugold <= 500) + pline("You are carrying %ld gold pieces.", u.ugold); + else { + pline("You sit down in order to count your gold pieces."); + goldcounted = 500; + occupation = countgold; + occtxt = "counting your gold"; + } + return (1); +} + +/* --- end of gold counting section --- */ +int +doprwep() +{ + if (!uwep) + pline("You are empty handed."); + else + prinv(uwep); + return (0); +} + +int +doprarm() +{ + if (!uarm && !uarmg && !uarms && !uarmh) + pline("You are not wearing any armor."); + else { + char lets[6]; + int ct = 0; + + if (uarm) + lets[ct++] = obj_to_let(uarm); + if (uarm2) + lets[ct++] = obj_to_let(uarm2); + if (uarmh) + lets[ct++] = obj_to_let(uarmh); + if (uarms) + lets[ct++] = obj_to_let(uarms); + if (uarmg) + lets[ct++] = obj_to_let(uarmg); + lets[ct] = 0; + doinv(lets); + } + return (0); +} + +int +doprring() +{ + if (!uleft && !uright) + pline("You are not wearing any rings."); + else { + char lets[3]; + int ct = 0; + + if (uleft) + lets[ct++] = obj_to_let(uleft); + if (uright) + lets[ct++] = obj_to_let(uright); + lets[ct] = 0; + doinv(lets); + } + return (0); +} + +int +digit(c) + char c; +{ + return (c >= '0' && c <= '9'); +} diff --git a/hack/hack.ioctl.c b/hack/hack.ioctl.c new file mode 100644 index 0000000..ebf2ae8 --- /dev/null +++ b/hack/hack.ioctl.c @@ -0,0 +1,112 @@ +/* $NetBSD: hack.ioctl.c,v 1.7 2003/04/02 18:36:37 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.ioctl.c,v 1.7 2003/04/02 18:36:37 jsm Exp $"); +#endif /* not lint */ + +/* + * This cannot be part of hack.tty.c (as it was earlier) since on some + * systems (e.g. MUNIX) the include files and define the + * same constants, and the C preprocessor complains. + */ +#include +#include "hack.h" +#include "extern.h" +struct termios termios; + +void +getioctls() +{ + (void) tcgetattr(fileno(stdin), &termios); +} + +void +setioctls() +{ + (void) tcsetattr(fileno(stdin), TCSADRAIN, &termios); +} + +#ifdef SUSPEND /* implies BSD */ +#include +int +dosuspend() +{ +#ifdef SIGTSTP + if (signal(SIGTSTP, SIG_IGN) == SIG_DFL) { + settty((char *) 0); + (void) signal(SIGTSTP, SIG_DFL); + (void) kill(0, SIGTSTP); + gettty(); + setftty(); + docrt(); + } else { + pline("I don't think your shell has job control."); + } +#else /* SIGTSTP */ + pline("Sorry, it seems we have no SIGTSTP here. Try ! or S."); +#endif /* SIGTSTP */ + return (0); +} +#endif /* SUSPEND */ diff --git a/hack/hack.lev.c b/hack/hack.lev.c new file mode 100644 index 0000000..c12144a --- /dev/null +++ b/hack/hack.lev.c @@ -0,0 +1,349 @@ +/* $NetBSD: hack.lev.c,v 1.6 2003/04/02 18:36:37 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.lev.c,v 1.6 2003/04/02 18:36:37 jsm Exp $"); +#endif /* not lint */ + +#include +#include +#include "hack.h" +#include "extern.h" +#include "def.mkroom.h" + +#ifndef NOWORM +#include "def.wseg.h" +#endif /* NOWORM */ + +boolean level_exists[MAXLEVEL + 1]; + +void +savelev(fd, lev) + int fd; + xchar lev; +{ +#ifndef NOWORM + struct wseg *wtmp, *wtmp2; + int tmp; +#endif /* NOWORM */ + + if (fd < 0) + panic("Save on bad file!"); /* impossible */ + if (lev >= 0 && lev <= MAXLEVEL) + level_exists[lev] = TRUE; + + bwrite(fd, (char *) &hackpid, sizeof(hackpid)); + bwrite(fd, (char *) &lev, sizeof(lev)); + bwrite(fd, (char *) levl, sizeof(levl)); + bwrite(fd, (char *) &moves, sizeof(long)); + bwrite(fd, (char *) &xupstair, sizeof(xupstair)); + bwrite(fd, (char *) &yupstair, sizeof(yupstair)); + bwrite(fd, (char *) &xdnstair, sizeof(xdnstair)); + bwrite(fd, (char *) &ydnstair, sizeof(ydnstair)); + savemonchn(fd, fmon); + savegoldchn(fd, fgold); + savetrapchn(fd, ftrap); + saveobjchn(fd, fobj); + saveobjchn(fd, billobjs); + billobjs = 0; + save_engravings(fd); +#ifndef QUEST + bwrite(fd, (char *) rooms, sizeof(rooms)); + bwrite(fd, (char *) doors, sizeof(doors)); +#endif /* QUEST */ + fgold = 0; + ftrap = 0; + fmon = 0; + fobj = 0; +#ifndef NOWORM + bwrite(fd, (char *) wsegs, sizeof(wsegs)); + for (tmp = 1; tmp < 32; tmp++) { + for (wtmp = wsegs[tmp]; wtmp; wtmp = wtmp2) { + wtmp2 = wtmp->nseg; + bwrite(fd, (char *) wtmp, sizeof(struct wseg)); + } + wsegs[tmp] = 0; + } + bwrite(fd, (char *) wgrowtime, sizeof(wgrowtime)); +#endif /* NOWORM */ +} + +void +bwrite(fd, loc, num) + int fd; + const void *loc; + unsigned num; +{ + if (write(fd, loc, num) != (ssize_t)num) + panic("cannot write %u bytes to file #%d", num, fd); +} + +void +saveobjchn(fd, otmp) + int fd; + struct obj *otmp; +{ + struct obj *otmp2; + unsigned xl; + int minusone = -1; + + while (otmp) { + otmp2 = otmp->nobj; + xl = otmp->onamelth; + bwrite(fd, (char *) &xl, sizeof(int)); + bwrite(fd, (char *) otmp, xl + sizeof(struct obj)); + free((char *) otmp); + otmp = otmp2; + } + bwrite(fd, (char *) &minusone, sizeof(int)); +} + +void +savemonchn(fd, mtmp) + int fd; + struct monst *mtmp; +{ + struct monst *mtmp2; + unsigned xl; + int minusone = -1; + const struct permonst *monbegin = &mons[0]; + + bwrite(fd, &monbegin, sizeof(monbegin)); + + while (mtmp) { + mtmp2 = mtmp->nmon; + xl = mtmp->mxlth + mtmp->mnamelth; + bwrite(fd, (char *) &xl, sizeof(int)); + bwrite(fd, (char *) mtmp, xl + sizeof(struct monst)); + if (mtmp->minvent) + saveobjchn(fd, mtmp->minvent); + free((char *) mtmp); + mtmp = mtmp2; + } + bwrite(fd, (char *) &minusone, sizeof(int)); +} + +void +savegoldchn(fd, gold) + int fd; + struct gold *gold; +{ + struct gold *gold2; + while (gold) { + gold2 = gold->ngold; + bwrite(fd, (char *) gold, sizeof(struct gold)); + free((char *) gold); + gold = gold2; + } + bwrite(fd, nul, sizeof(struct gold)); +} + +void +savetrapchn(fd, trap) + int fd; + struct trap *trap; +{ + struct trap *trap2; + while (trap) { + trap2 = trap->ntrap; + bwrite(fd, (char *) trap, sizeof(struct trap)); + free((char *) trap); + trap = trap2; + } + bwrite(fd, nul, sizeof(struct trap)); +} + +void +getlev(fd, pid, lev) + int fd, pid; + xchar lev; +{ + struct gold *gold; + struct trap *trap; +#ifndef NOWORM + struct wseg *wtmp; +#endif /* NOWORM */ + int tmp; + long omoves; + int hpid; + xchar dlvl; + + /* First some sanity checks */ + mread(fd, (char *) &hpid, sizeof(hpid)); + mread(fd, (char *) &dlvl, sizeof(dlvl)); + if ((pid && pid != hpid) || (lev && dlvl != lev)) { + pline("Strange, this map is not as I remember it."); + pline("Somebody is trying some trickery here ..."); + pline("This game is void ..."); + done("tricked"); + } + fgold = 0; + ftrap = 0; + mread(fd, (char *) levl, sizeof(levl)); + mread(fd, (char *) &omoves, sizeof(omoves)); + mread(fd, (char *) &xupstair, sizeof(xupstair)); + mread(fd, (char *) &yupstair, sizeof(yupstair)); + mread(fd, (char *) &xdnstair, sizeof(xdnstair)); + mread(fd, (char *) &ydnstair, sizeof(ydnstair)); + + fmon = restmonchn(fd); + + /* regenerate animals while on another level */ + { + long tmoves = (moves > omoves) ? moves - omoves : 0; + struct monst *mtmp, *mtmp2; + + for (mtmp = fmon; mtmp; mtmp = mtmp2) { + long newhp; /* tmoves may be very large */ + + mtmp2 = mtmp->nmon; + if (strchr(genocided, mtmp->data->mlet)) { + mondead(mtmp); + continue; + } + if (mtmp->mtame && tmoves > 250) { + mtmp->mtame = 0; + mtmp->mpeaceful = 0; + } + newhp = mtmp->mhp + + (strchr(MREGEN, mtmp->data->mlet) ? tmoves : tmoves / 20); + if (newhp > mtmp->mhpmax) + mtmp->mhp = mtmp->mhpmax; + else + mtmp->mhp = newhp; + } + } + + setgd(); + gold = newgold(); + mread(fd, (char *) gold, sizeof(struct gold)); + while (gold->gx) { + gold->ngold = fgold; + fgold = gold; + gold = newgold(); + mread(fd, (char *) gold, sizeof(struct gold)); + } + free((char *) gold); + trap = newtrap(); + mread(fd, (char *) trap, sizeof(struct trap)); + while (trap->tx) { + trap->ntrap = ftrap; + ftrap = trap; + trap = newtrap(); + mread(fd, (char *) trap, sizeof(struct trap)); + } + free((char *) trap); + fobj = restobjchn(fd); + billobjs = restobjchn(fd); + rest_engravings(fd); +#ifndef QUEST + mread(fd, (char *) rooms, sizeof(rooms)); + mread(fd, (char *) doors, sizeof(doors)); +#endif /* QUEST */ +#ifndef NOWORM + mread(fd, (char *) wsegs, sizeof(wsegs)); + for (tmp = 1; tmp < 32; tmp++) + if (wsegs[tmp]) { + wheads[tmp] = wsegs[tmp] = wtmp = newseg(); + while (1) { + mread(fd, (char *) wtmp, sizeof(struct wseg)); + if (!wtmp->nseg) + break; + wheads[tmp]->nseg = wtmp = newseg(); + wheads[tmp] = wtmp; + } + } + mread(fd, (char *) wgrowtime, sizeof(wgrowtime)); +#endif /* NOWORM */ +} + +void +mread(fd, buf, len) + int fd; + char *buf; + unsigned len; +{ + int rlen; + + rlen = read(fd, buf, (int) len); + if (rlen != (int)len) { + pline("Read %d instead of %u bytes.\n", rlen, len); + if (restoring) { + (void) unlink(SAVEF); + error("Error restoring old game."); + } + panic("Error reading level file."); + } +} + +void +mklev() +{ + if (getbones()) + return; + + in_mklev = TRUE; + makelevel(); + in_mklev = FALSE; +} diff --git a/hack/hack.main.c b/hack/hack.main.c new file mode 100644 index 0000000..ce4715c --- /dev/null +++ b/hack/hack.main.c @@ -0,0 +1,587 @@ +/* $NetBSD: hack.main.c,v 1.9 2004/01/27 20:30:29 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.main.c,v 1.9 2004/01/27 20:30:29 jsm Exp $"); +#endif /* not lint */ + +#include +#include +#include +#include +#include "hack.h" +#include "extern.h" + +#ifdef QUEST +#define gamename "quest" +#else +#define gamename "hack" +#endif + +int (*afternmv)(void); +int (*occupation)(void); +const char *occtxt; /* defined when occupation != NULL */ + +int hackpid; /* current pid */ +int locknum; /* max num of players */ +#ifdef DEF_PAGER +const char *catmore; /* default pager */ +#endif +char SAVEF[PL_NSIZ + 11] = "save/"; /* save/99999player */ +char *hname; /* name of the game (argv[0] of call) */ +char obuf[BUFSIZ]; /* BUFSIZ is defined in stdio.h */ + +int main(int, char *[]); +static void chdirx(const char *, boolean); + +int +main(argc, argv) + int argc; + char *argv[]; +{ + int fd; +#ifdef CHDIR + char *dir; +#endif + + /* Check for dirty tricks with closed fds 0, 1, 2 */ + fd = open("/dev/null", O_RDONLY); + if (fd < 3) + exit(1); + close(fd); + + hname = argv[0]; + hackpid = getpid(); + +#ifdef CHDIR /* otherwise no chdir() */ + /* + * See if we must change directory to the playground. + * (Perhaps hack runs suid and playground is inaccessible + * for the player.) + * The environment variable HACKDIR is overridden by a + * -d command line option (must be the first option given) + */ + + dir = getenv("HACKDIR"); + if (argc > 1 && !strncmp(argv[1], "-d", 2)) { + argc--; + argv++; + dir = argv[0] + 2; + if (*dir == '=' || *dir == ':') + dir++; + if (!*dir && argc > 1) { + argc--; + argv++; + dir = argv[0]; + } + if (!*dir) + error("Flag -d must be followed by a directory name."); + } +#endif + + /* + * Who am i? Algorithm: 1. Use name as specified in HACKOPTIONS + * 2. Use $USER or $LOGNAME (if 1. fails) + * 3. Use getlogin() (if 2. fails) + * The resulting name is overridden by command line options. + * If everything fails, or if the resulting name is some generic + * account like "games", "play", "player", "hack" then eventually + * we'll ask him. + * Note that we trust him here; it is possible to play under + * somebody else's name. + */ + { + char *s; + + initoptions(); + if (!*plname && (s = getenv("USER"))) + (void) strncpy(plname, s, sizeof(plname) - 1); + if (!*plname && (s = getenv("LOGNAME"))) + (void) strncpy(plname, s, sizeof(plname) - 1); + if (!*plname && (s = getlogin())) + (void) strncpy(plname, s, sizeof(plname) - 1); + } + + /* + * Now we know the directory containing 'record' and + * may do a prscore(). + */ + if (argc > 1 && !strncmp(argv[1], "-s", 2)) { +#ifdef CHDIR + chdirx(dir, 0); +#endif + prscore(argc, argv); + exit(0); + } + /* + * It seems he really wants to play. + * Remember tty modes, to be restored on exit. + */ + gettty(); + setbuf(stdout, obuf); + setrandom(); + startup(); + cls(); + u.uhp = 1; /* prevent RIP on early quits */ + u.ux = FAR; /* prevent nscr() */ + (void) signal(SIGHUP, hangup); + + /* + * Find the creation date of this game, + * so as to avoid restoring outdated savefiles. + */ + gethdate(hname); + + /* + * We cannot do chdir earlier, otherwise gethdate will fail. + */ +#ifdef CHDIR + chdirx(dir, 1); +#endif + + /* + * Process options. + */ + while (argc > 1 && argv[1][0] == '-') { + argv++; + argc--; + switch (argv[0][1]) { +#ifdef WIZARD + case 'D': + /* if(!strcmp(getlogin(), WIZARD)) */ + wizard = TRUE; + /* + * else printf("Sorry.\n"); + */ + break; +#endif +#ifdef NEWS + case 'n': + flags.nonews = TRUE; + break; +#endif + case 'u': + if (argv[0][2]) + (void) strncpy(plname, argv[0] + 2, sizeof(plname) - 1); + else if (argc > 1) { + argc--; + argv++; + (void) strncpy(plname, argv[0], sizeof(plname) - 1); + } else + printf("Player name expected after -u\n"); + break; + default: + /* allow -T for Tourist, etc. */ + (void) strncpy(pl_character, argv[0] + 1, + sizeof(pl_character) - 1); + + /* printf("Unknown option: %s\n", *argv); */ + } + } + + if (argc > 1) + locknum = atoi(argv[1]); +#ifdef MAX_NR_OF_PLAYERS + if (!locknum || locknum > MAX_NR_OF_PLAYERS) + locknum = MAX_NR_OF_PLAYERS; +#endif +#ifdef DEF_PAGER + if (((catmore = getenv("HACKPAGER")) == NULL && + (catmore = getenv("PAGER")) == NULL) || + catmore[0] == '\0') + catmore = DEF_PAGER; +#endif +#ifdef MAIL + getmailstatus(); +#endif +#ifdef WIZARD + if (wizard) + (void) strcpy(plname, "wizard"); + else +#endif + if (!*plname || !strncmp(plname, "player", 4) + || !strncmp(plname, "games", 4)) + askname(); + plnamesuffix(); /* strip suffix from name; calls askname() */ + /* again if suffix was whole name */ + /* accepts any suffix */ +#ifdef WIZARD + if (!wizard) { +#endif + /* + * check for multiple games under the same name + * (if !locknum) or check max nr of players (otherwise) + */ + (void) signal(SIGQUIT, SIG_IGN); + (void) signal(SIGINT, SIG_IGN); + if (!locknum) + (void) strcpy(lock, plname); + getlock(); /* sets lock if locknum != 0 */ +#ifdef WIZARD + } else { + char *sfoo; + (void) strcpy(lock, plname); + if ((sfoo = getenv("MAGIC")) != NULL) + while (*sfoo) { + switch (*sfoo++) { + case 'n': + (void) srandom(*sfoo++); + break; + } + } + if ((sfoo = getenv("GENOCIDED")) != NULL) { + if (*sfoo == '!') { + const struct permonst *pm = mons; + char *gp = genocided; + + while (pm < mons + CMNUM + 2) { + if (!strchr(sfoo, pm->mlet)) + *gp++ = pm->mlet; + pm++; + } + *gp = 0; + } else + (void) strcpy(genocided, sfoo); + (void) strcpy(fut_geno, genocided); + } + } +#endif + setftty(); + (void) sprintf(SAVEF, "save/%d%s", getuid(), plname); + regularize(SAVEF + 5); /* avoid . or / in name */ + if ((fd = open(SAVEF, O_RDONLY)) >= 0 && + (uptodate(fd) || unlink(SAVEF) == 666)) { + (void) signal(SIGINT, done1); + pline("Restoring old save file..."); + (void) fflush(stdout); + if (!dorecover(fd)) + goto not_recovered; + pline("Hello %s, welcome to %s!", plname, gamename); + flags.move = 0; + } else { +not_recovered: + fobj = fcobj = invent = 0; + fmon = fallen_down = 0; + ftrap = 0; + fgold = 0; + flags.ident = 1; + init_objects(); + u_init(); + + (void) signal(SIGINT, done1); + mklev(); + u.ux = xupstair; + u.uy = yupstair; + (void) inshop(); + setsee(); + flags.botlx = 1; + makedog(); + { + struct monst *mtmp; + if ((mtmp = m_at(u.ux, u.uy)) != NULL) + mnexto(mtmp); /* riv05!a3 */ + } + seemons(); +#ifdef NEWS + if (flags.nonews || !readnews()) + /* after reading news we did docrt() already */ +#endif + docrt(); + + /* give welcome message before pickup messages */ + pline("Hello %s, welcome to %s!", plname, gamename); + + pickup(1); + read_engr_at(u.ux, u.uy); + flags.move = 1; + } + + flags.moonphase = phase_of_the_moon(); + if (flags.moonphase == FULL_MOON) { + pline("You are lucky! Full moon tonight."); + u.uluck++; + } else if (flags.moonphase == NEW_MOON) { + pline("Be careful! New moon tonight."); + } + initrack(); + + for (;;) { + if (flags.move) { /* actual time passed */ + + settrack(); + + if (moves % 2 == 0 || + (!(Fast & ~INTRINSIC) && (!Fast || rn2(3)))) { + movemon(); + if (!rn2(70)) + (void) makemon((struct permonst *) 0, 0, 0); + } + if (Glib) + glibr(); + timeout(); + ++moves; + if (flags.time) + flags.botl = 1; + if (u.uhp < 1) { + pline("You die..."); + done("died"); + } + if (u.uhp * 10 < u.uhpmax && moves - wailmsg > 50) { + wailmsg = moves; + if (u.uhp == 1) + pline("You hear the wailing of the Banshee..."); + else + pline("You hear the howling of the CwnAnnwn..."); + } + if (u.uhp < u.uhpmax) { + if (u.ulevel > 9) { + if (Regeneration || !(moves % 3)) { + flags.botl = 1; + u.uhp += rnd((int) u.ulevel - 9); + if (u.uhp > u.uhpmax) + u.uhp = u.uhpmax; + } + } else if (Regeneration || + (!(moves % (22 - u.ulevel * 2)))) { + flags.botl = 1; + u.uhp++; + } + } + if (Teleportation && !rn2(85)) + tele(); + if (Searching && multi >= 0) + (void) dosearch(); + gethungry(); + invault(); + amulet(); + } + if (multi < 0) { + if (!++multi) { + pline(nomovemsg ? nomovemsg : + "You can move again."); + nomovemsg = 0; + if (afternmv) + (*afternmv) (); + afternmv = 0; + } + } + find_ac(); +#ifndef QUEST + if (!flags.mv || Blind) +#endif + { + seeobjs(); + seemons(); + nscr(); + } + if (flags.botl || flags.botlx) + bot(); + + flags.move = 1; + + if (multi >= 0 && occupation) { + if (monster_nearby()) + stop_occupation(); + else if ((*occupation) () == 0) + occupation = 0; + continue; + } + if (multi > 0) { +#ifdef QUEST + if (flags.run >= 4) + finddir(); +#endif + lookaround(); + if (!multi) { /* lookaround may clear multi */ + flags.move = 0; + continue; + } + if (flags.mv) { + if (multi < COLNO && !--multi) + flags.mv = flags.run = 0; + domove(); + } else { + --multi; + rhack(save_cm); + } + } else if (multi == 0) { +#ifdef MAIL + ckmailstatus(); +#endif + rhack((char *) 0); + } + if (multi && multi % 7 == 0) + (void) fflush(stdout); + } +} + +void +glo(foo) + int foo; +{ + /* construct the string xlock.n */ + char *tf; + + tf = lock; + while (*tf && *tf != '.') + tf++; + (void) sprintf(tf, ".%d", foo); +} + +/* + * plname is filled either by an option (-u Player or -uPlayer) or + * explicitly (-w implies wizard) or by askname. + * It may still contain a suffix denoting pl_character. + */ +void +askname() +{ + int c, ct; + printf("\nWho are you? "); + (void) fflush(stdout); + ct = 0; + while ((c = getchar()) != '\n') { + if (c == EOF) + error("End of input\n"); + /* some people get confused when their erase char is not ^H */ + if (c == '\010') { + if (ct) + ct--; + continue; + } + if (c != '-') + if (c < 'A' || (c > 'Z' && c < 'a') || c > 'z') + c = '_'; + if ((size_t)ct < sizeof(plname) - 1) + plname[ct++] = c; + } + plname[ct] = 0; + if (ct == 0) + askname(); +} + +/* VARARGS1 */ +void +impossible(const char *s, ...) +{ + va_list ap; + + va_start(ap, s); + vpline(s, ap); + va_end(ap); + pline("Program in disorder - perhaps you'd better Quit."); +} + +#ifdef CHDIR +static void +chdirx(dir, wr) + const char *dir; + boolean wr; +{ + +#ifdef SECURE + if (dir /* User specified directory? */ +#ifdef HACKDIR + && strcmp(dir, HACKDIR) /* and not the default? */ +#endif + ) { + (void) setuid(getuid()); /* Ron Wessels */ + (void) setregid(getgid(), getgid()); + } +#endif + +#ifdef HACKDIR + if (dir == NULL) + dir = HACKDIR; +#endif + + if (dir && chdir(dir) < 0) { + perror(dir); + error("Cannot chdir to %s.", dir); + } + /* warn the player if he cannot write the record file */ + /* perhaps we should also test whether . is writable */ + /* unfortunately the access systemcall is worthless */ + if (wr) { + int fd; + + if (dir == NULL) + dir = "."; + if ((fd = open(RECORD, O_RDWR)) < 0) { + printf("Warning: cannot write %s/%s", dir, RECORD); + getret(); + } else + (void) close(fd); + } +} +#endif + +void +stop_occupation() +{ + if (occupation) { + pline("You stop %s.", occtxt); + occupation = 0; + } +} diff --git a/hack/hack.makemon.c b/hack/hack.makemon.c new file mode 100644 index 0000000..e13e17a --- /dev/null +++ b/hack/hack.makemon.c @@ -0,0 +1,280 @@ +/* $NetBSD: hack.makemon.c,v 1.6 2003/04/02 18:36:37 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.makemon.c,v 1.6 2003/04/02 18:36:37 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +struct monst zeromonst; + +/* + * called with [x,y] = coordinates; + * [0,0] means anyplace + * [u.ux,u.uy] means: call mnexto (if !in_mklev) + * + * In case we make an Orc or killer bee, we make an entire horde (swarm); + * note that in this case we return only one of them (the one at [x,y]). + */ +struct monst * +makemon(const struct permonst *ptr, int x, int y) +{ + struct monst *mtmp; + int tmp, ct; + boolean anything = (!ptr); + + if (x != 0 || y != 0) + if (m_at(x, y)) + return ((struct monst *) 0); + if (ptr) { + if (strchr(fut_geno, ptr->mlet)) + return ((struct monst *) 0); + } else { + ct = CMNUM - strlen(fut_geno); + if (strchr(fut_geno, 'm')) + ct++; /* make only 1 minotaur */ + if (strchr(fut_geno, '@')) + ct++; + if (ct <= 0) + return (0); /* no more monsters! */ + tmp = rn2(ct * dlevel / 24 + 7); + if (tmp < dlevel - 4) + tmp = rn2(ct * dlevel / 24 + 12); + if (tmp >= ct) + tmp = rn1(ct - ct / 2, ct / 2); + for (ct = 0; ct < CMNUM; ct++) { + ptr = &mons[ct]; + if (strchr(fut_geno, ptr->mlet)) + continue; + if (!tmp--) + goto gotmon; + } + panic("makemon?"); + } +gotmon: + mtmp = newmonst(ptr->pxlth); + *mtmp = zeromonst; /* clear all entries in structure */ + for (ct = 0; ct < (int)ptr->pxlth; ct++) + ((char *) &(mtmp->mextra[0]))[ct] = 0; + mtmp->nmon = fmon; + fmon = mtmp; + mtmp->m_id = flags.ident++; + mtmp->data = ptr; + mtmp->mxlth = ptr->pxlth; + if (ptr->mlet == 'D') + mtmp->mhpmax = mtmp->mhp = 80; + else if (!ptr->mlevel) + mtmp->mhpmax = mtmp->mhp = rnd(4); + else + mtmp->mhpmax = mtmp->mhp = d(ptr->mlevel, 8); + mtmp->mx = x; + mtmp->my = y; + mtmp->mcansee = 1; + if (ptr->mlet == 'M') { + mtmp->mimic = 1; + mtmp->mappearance = ']'; + } + if (!in_mklev) { + if (x == u.ux && y == u.uy && ptr->mlet != ' ') + mnexto(mtmp); + if (x == 0 && y == 0) + rloc(mtmp); + } + if (ptr->mlet == 's' || ptr->mlet == 'S') { + mtmp->mhide = mtmp->mundetected = 1; + if (in_mklev) + if (mtmp->mx && mtmp->my) + (void) mkobj_at(0, mtmp->mx, mtmp->my); + } + if (ptr->mlet == ':') { + mtmp->cham = 1; + (void) newcham(mtmp, &mons[dlevel + 14 + rn2(CMNUM - 14 - dlevel)]); + } + if (ptr->mlet == 'I' || ptr->mlet == ';') + mtmp->minvis = 1; + if (ptr->mlet == 'L' || ptr->mlet == 'N' + || (in_mklev && strchr("&w;", ptr->mlet) && rn2(5)) + ) + mtmp->msleep = 1; + +#ifndef NOWORM + if (ptr->mlet == 'w' && getwn(mtmp)) + initworm(mtmp); +#endif /* NOWORM */ + + if (anything) + if (ptr->mlet == 'O' || ptr->mlet == 'k') { + coord mm; + int cnt = rnd(10); + mm.x = x; + mm.y = y; + while (cnt--) { + mm = enexto(mm.x, mm.y); + (void) makemon(ptr, mm.x, mm.y); + } + } + return (mtmp); +} + +coord +enexto(xx, yy) + xchar xx, yy; +{ + xchar x, y; + coord foo[15], *tfoo; + int range; + + tfoo = foo; + range = 1; + do { /* full kludge action. */ + for (x = xx - range; x <= xx + range; x++) + if (goodpos(x, yy - range)) { + tfoo->x = x; + tfoo++->y = yy - range; + if (tfoo == &foo[15]) + goto foofull; + } + for (x = xx - range; x <= xx + range; x++) + if (goodpos(x, yy + range)) { + tfoo->x = x; + tfoo++->y = yy + range; + if (tfoo == &foo[15]) + goto foofull; + } + for (y = yy + 1 - range; y < yy + range; y++) + if (goodpos(xx - range, y)) { + tfoo->x = xx - range; + tfoo++->y = y; + if (tfoo == &foo[15]) + goto foofull; + } + for (y = yy + 1 - range; y < yy + range; y++) + if (goodpos(xx + range, y)) { + tfoo->x = xx + range; + tfoo++->y = y; + if (tfoo == &foo[15]) + goto foofull; + } + range++; + } while (tfoo == foo); +foofull: + return (foo[rn2(tfoo - foo)]); +} + +int +goodpos(int x, int y) +{ /* used only in mnexto and rloc */ + return ( + !(x < 1 || x > COLNO - 2 || y < 1 || y > ROWNO - 2 || + m_at(x, y) || !ACCESSIBLE(levl[x][y].typ) + || (x == u.ux && y == u.uy) + || sobj_at(ENORMOUS_ROCK, x, y) + )); +} + +void +rloc(mtmp) + struct monst *mtmp; +{ + int tx, ty; + char ch = mtmp->data->mlet; + +#ifndef NOWORM + if (ch == 'w' && mtmp->mx) + return; /* do not relocate worms */ +#endif /* NOWORM */ + do { + tx = rn1(COLNO - 3, 2); + ty = rn2(ROWNO); + } while (!goodpos(tx, ty)); + mtmp->mx = tx; + mtmp->my = ty; + if (u.ustuck == mtmp) { + if (u.uswallow) { + u.ux = tx; + u.uy = ty; + docrt(); + } else + u.ustuck = 0; + } + pmon(mtmp); +} + +struct monst * +mkmon_at(let, x, y) + char let; + int x, y; +{ + int ct; + const struct permonst *ptr; + + for (ct = 0; ct < CMNUM; ct++) { + ptr = &mons[ct]; + if (ptr->mlet == let) + return (makemon(ptr, x, y)); + } + return (0); +} diff --git a/hack/hack.mfndpos.h b/hack/hack.mfndpos.h new file mode 100644 index 0000000..43c8b1c --- /dev/null +++ b/hack/hack.mfndpos.h @@ -0,0 +1,75 @@ +/* $NetBSD: hack.mfndpos.h,v 1.5 2003/04/02 18:36:37 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _HACK_MFNDPOS_H_ +#define _HACK_MFNDPOS_H_ +#define ALLOW_TRAPS 0777 +#define ALLOW_U 01000 +#define ALLOW_M 02000 +#define ALLOW_TM 04000 +#define ALLOW_ALL (ALLOW_U | ALLOW_M | ALLOW_TM | ALLOW_TRAPS) +#define ALLOW_SSM 010000 +#define ALLOW_ROCK 020000 +#define NOTONL 040000 +#define NOGARLIC 0100000 +#endif /* _HACK_MFNDPOS_H_ */ diff --git a/hack/hack.mhitu.c b/hack/hack.mhitu.c new file mode 100644 index 0000000..db1720f --- /dev/null +++ b/hack/hack.mhitu.c @@ -0,0 +1,455 @@ +/* $NetBSD: hack.mhitu.c,v 1.6 2003/04/02 18:36:37 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mhitu.c,v 1.6 2003/04/02 18:36:37 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +/* + * mhitu: monster hits you + * returns 1 if monster dies (e.g. 'y', 'F'), 0 otherwise + */ +int +mhitu(mtmp) + struct monst *mtmp; +{ + const struct permonst *mdat = mtmp->data; + int tmp, ctmp; + + nomul(0); + + /* If swallowed, can only be affected by hissers and by u.ustuck */ + if (u.uswallow) { + if (mtmp != u.ustuck) { + if (mdat->mlet == 'c' && !rn2(13)) { + pline("Outside, you hear %s's hissing!", + monnam(mtmp)); + pline("%s gets turned to stone!", + Monnam(u.ustuck)); + pline("And the same fate befalls you."); + done_in_by(mtmp); + /* "notreached": not return(1); */ + } + return (0); + } + switch (mdat->mlet) { /* now mtmp == u.ustuck */ + case ',': + youswld(mtmp, (u.uac > 0) ? u.uac + 4 : 4, + 5, "The trapper"); + break; + case '\'': + youswld(mtmp, rnd(6), 7, "The lurker above"); + break; + case 'P': + youswld(mtmp, d(2, 4), 12, "The purple worm"); + break; + default: + /* This is not impossible! */ + pline("The mysterious monster totally digests you."); + u.uhp = 0; + } + if (u.uhp < 1) + done_in_by(mtmp); + return (0); + } + if (mdat->mlet == 'c' && Stoned) + return (0); + + /* make eels visible the moment they hit/miss us */ + if (mdat->mlet == ';' && mtmp->minvis && cansee(mtmp->mx, mtmp->my)) { + mtmp->minvis = 0; + pmon(mtmp); + } + if (!strchr("1&DuxynNF", mdat->mlet)) + tmp = hitu(mtmp, d(mdat->damn, mdat->damd)); + else + tmp = 0; + if (strchr(UNDEAD, mdat->mlet) && midnight()) + tmp += hitu(mtmp, d(mdat->damn, mdat->damd)); + + ctmp = tmp && !mtmp->mcan && + (!uarm || objects[uarm->otyp].a_can < rnd(3) || !rn2(50)); + switch (mdat->mlet) { + case '1': + if (wiz_hit(mtmp)) + return (1); /* he disappeared */ + break; + case '&': + if (!mtmp->cham && !mtmp->mcan && !rn2(13)) { + (void) makemon(PM_DEMON, u.ux, u.uy); + } else { + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, rnd(3)); + (void) hitu(mtmp, rnd(3)); + (void) hitu(mtmp, rn1(4, 2)); + } + break; + case ',': + if (tmp) + justswld(mtmp, "The trapper"); + break; + case '\'': + if (tmp) + justswld(mtmp, "The lurker above"); + break; + case ';': + if (ctmp) { + if (!u.ustuck && !rn2(10)) { + pline("%s swings itself around you!", + Monnam(mtmp)); + u.ustuck = mtmp; + } else if (u.ustuck == mtmp && + levl[mtmp->mx][mtmp->my].typ == POOL) { + pline("%s drowns you ...", Monnam(mtmp)); + done("drowned"); + } + } + break; + case 'A': + if (ctmp && rn2(2)) { + if (Poison_resistance) + pline("The sting doesn't seem to affect you."); + else { + pline("You feel weaker!"); + losestr(1); + } + } + break; + case 'C': + (void) hitu(mtmp, rnd(6)); + break; + case 'c': + if (!rn2(5)) { + pline("You hear %s's hissing!", monnam(mtmp)); + if (ctmp || !rn2(20) || (flags.moonphase == NEW_MOON + && !carrying(DEAD_LIZARD))) { + Stoned = 5; + /* pline("You get turned to stone!"); */ + /* done_in_by(mtmp); */ + } + } + break; + case 'D': + if (rn2(6) || mtmp->mcan) { + (void) hitu(mtmp, d(3, 10)); + (void) hitu(mtmp, rnd(8)); + (void) hitu(mtmp, rnd(8)); + break; + } + kludge("%s breathes fire!", "The dragon"); + buzz(-1, mtmp->mx, mtmp->my, u.ux - mtmp->mx, u.uy - mtmp->my); + break; + case 'd': + (void) hitu(mtmp, d(2, (flags.moonphase == FULL_MOON) ? 3 : 4)); + break; + case 'e': + (void) hitu(mtmp, d(3, 6)); + break; + case 'F': + if (mtmp->mcan) + break; + kludge("%s explodes!", "The freezing sphere"); + if (Cold_resistance) + pline("You don't seem affected by it."); + else { + xchar dn; + if (17 - (u.ulevel / 2) > rnd(20)) { + pline("You get blasted!"); + dn = 6; + } else { + pline("You duck the blast..."); + dn = 3; + } + losehp_m(d(dn, 6), mtmp); + } + mondead(mtmp); + return (1); + case 'g': + if (ctmp && multi >= 0 && !rn2(3)) { + kludge("You are frozen by %ss juices", "the cube'"); + nomul(-rnd(10)); + } + break; + case 'h': + if (ctmp && multi >= 0 && !rn2(5)) { + nomul(-rnd(10)); + kludge("You are put to sleep by %ss bite!", + "the homunculus'"); + } + break; + case 'j': + tmp = hitu(mtmp, rnd(3)); + tmp &= hitu(mtmp, rnd(3)); + if (tmp) { + (void) hitu(mtmp, rnd(4)); + (void) hitu(mtmp, rnd(4)); + } + break; + case 'k': + if ((hitu(mtmp, rnd(4)) || !rn2(3)) && ctmp) { + poisoned("bee's sting", mdat->mname); + } + break; + case 'L': + if (tmp) + stealgold(mtmp); + break; + case 'N': + if (mtmp->mcan && !Blind) { + pline("%s tries to seduce you, but you seem not interested.", + Amonnam(mtmp, "plain")); + if (rn2(3)) + rloc(mtmp); + } else if (steal(mtmp)) { + rloc(mtmp); + mtmp->mflee = 1; + } + break; + case 'n': + if (!uwep && !uarm && !uarmh && !uarms && !uarmg) { + pline("%s hits! (I hope you don't mind)", + Monnam(mtmp)); + u.uhp += rnd(7); + if (!rn2(7)) + u.uhpmax++; + if (u.uhp > u.uhpmax) + u.uhp = u.uhpmax; + flags.botl = 1; + if (!rn2(50)) + rloc(mtmp); + } else { + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, d(2, 6)); + } + break; + case 'o': + tmp = hitu(mtmp, rnd(6)); + if (hitu(mtmp, rnd(6)) && tmp && /* hits with both paws */ + !u.ustuck && rn2(2)) { + u.ustuck = mtmp; + kludge("%s has grabbed you!", "The owlbear"); + u.uhp -= d(2, 8); + } else if (u.ustuck == mtmp) { + u.uhp -= d(2, 8); + pline("You are being crushed."); + } + break; + case 'P': + if (ctmp && !rn2(4)) + justswld(mtmp, "The purple worm"); + else + (void) hitu(mtmp, d(2, 4)); + break; + case 'Q': + (void) hitu(mtmp, rnd(2)); + (void) hitu(mtmp, rnd(2)); + break; + case 'R': + if (tmp && uarmh && !uarmh->rustfree && + (int) uarmh->spe >= -1) { + pline("Your helmet rusts!"); + uarmh->spe--; + } else if (ctmp && uarm && !uarm->rustfree && /* Mike Newton */ + uarm->otyp < STUDDED_LEATHER_ARMOR && + (int) uarm->spe >= -1) { + pline("Your armor rusts!"); + uarm->spe--; + } + break; + case 'S': + if (ctmp && !rn2(8)) { + poisoned("snake's bite", mdat->mname); + } + break; + case 's': + if (tmp && !rn2(8)) { + poisoned("scorpion's sting", mdat->mname); + } + (void) hitu(mtmp, rnd(8)); + (void) hitu(mtmp, rnd(8)); + break; + case 'T': + (void) hitu(mtmp, rnd(6)); + (void) hitu(mtmp, rnd(6)); + break; + case 't': + if (!rn2(5)) + rloc(mtmp); + break; + case 'u': + mtmp->mflee = 1; + break; + case 'U': + (void) hitu(mtmp, d(3, 4)); + (void) hitu(mtmp, d(3, 4)); + break; + case 'v': + if (ctmp && !u.ustuck) + u.ustuck = mtmp; + break; + case 'V': + if (tmp) + u.uhp -= 4; + if (ctmp) + losexp(); + break; + case 'W': + if (ctmp) + losexp(); + break; +#ifndef NOWORM + case 'w': + if (tmp) + wormhit(mtmp); +#endif /* NOWORM */ + break; + case 'X': + (void) hitu(mtmp, rnd(5)); + (void) hitu(mtmp, rnd(5)); + (void) hitu(mtmp, rnd(5)); + break; + case 'x': + { + long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE; + pline("%s pricks in your %s leg!", + Monnam(mtmp), (side == RIGHT_SIDE) ? "right" : "left"); + set_wounded_legs(side, rnd(50)); + losehp_m(2, mtmp); + break; + } + case 'y': + if (mtmp->mcan) + break; + mondead(mtmp); + if (!Blind) { + pline("You are blinded by a blast of light!"); + Blind = d(4, 12); + seeoff(0); + } + return (1); + case 'Y': + (void) hitu(mtmp, rnd(6)); + break; + } + if (u.uhp < 1) + done_in_by(mtmp); + return (0); +} + +int +hitu(mtmp, dam) + struct monst *mtmp; + int dam; +{ + int tmp, res; + + nomul(0); + if (u.uswallow) + return (0); + + if (mtmp->mhide && mtmp->mundetected) { + mtmp->mundetected = 0; + if (!Blind) { + struct obj *obj; + if ((obj = o_at(mtmp->mx, mtmp->my)) != NULL) + pline("%s was hidden under %s!", + Xmonnam(mtmp), doname(obj)); + } + } + tmp = u.uac; + /* give people with Ac = -10 at least some vulnerability */ + if (tmp < 0) { + dam += tmp; /* decrease damage */ + if (dam <= 0) + dam = 1; + tmp = -rn2(-tmp); + } + tmp += mtmp->data->mlevel; + if (multi < 0) + tmp += 4; + if ((Invis && mtmp->data->mlet != 'I') || !mtmp->mcansee) + tmp -= 2; + if (mtmp->mtrapped) + tmp -= 2; + if (tmp <= rnd(20)) { + if (Blind) + pline("It misses."); + else + pline("%s misses.", Monnam(mtmp)); + res = 0; + } else { + if (Blind) + pline("It hits!"); + else + pline("%s hits!", Monnam(mtmp)); + losehp_m(dam, mtmp); + res = 1; + } + stop_occupation(); + return (res); +} diff --git a/hack/hack.mklev.c b/hack/hack.mklev.c new file mode 100644 index 0000000..2a4fc05 --- /dev/null +++ b/hack/hack.mklev.c @@ -0,0 +1,851 @@ +/* $NetBSD: hack.mklev.c,v 1.6 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mklev.c,v 1.6 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include +#include +#include "hack.h" +#include "extern.h" + +#define somex() ((random()%(croom->hx-croom->lx+1))+croom->lx) +#define somey() ((random()%(croom->hy-croom->ly+1))+croom->ly) + +#include "def.mkroom.h" +#define XLIM 4 /* define minimum required space around a + * room */ +#define YLIM 3 +boolean secret; /* TRUE while making a vault: increase + * [XY]LIM */ +int smeq[MAXNROFROOMS + 1]; +int doorindex; +struct rm zerorm; +schar nxcor; +boolean goldseen; +int nroom; + +/* Definitions used by makerooms() and addrs() */ +#define MAXRS 50 /* max lth of temp rectangle table - + * arbitrary */ +struct rectangle { + xchar rlx, rly, rhx, rhy; +} rs[MAXRS + 1]; +int rscnt, rsmax; /* 0..rscnt-1: currently under consideration */ +/* rscnt..rsmax: discarded */ + +void +makelevel() +{ + struct mkroom *croom, *troom; + unsigned tryct; + int x, y; + + nroom = 0; + doorindex = 0; + rooms[0].hx = -1; /* in case we are in a maze */ + + for (x = 0; x < COLNO; x++) + for (y = 0; y < ROWNO; y++) + levl[x][y] = zerorm; + + oinit(); /* assign level dependent obj probabilities */ + + if (dlevel >= rn1(3, 26)) { /* there might be several mazes */ + makemaz(); + return; + } + /* construct the rooms */ + nroom = 0; + secret = FALSE; + (void) makerooms(); + + /* construct stairs (up and down in different rooms if possible) */ + croom = &rooms[rn2(nroom)]; + xdnstair = somex(); + ydnstair = somey(); + levl[xdnstair][ydnstair].scrsym = '>'; + levl[xdnstair][ydnstair].typ = STAIRS; + if (nroom > 1) { + troom = croom; + croom = &rooms[rn2(nroom - 1)]; + if (croom >= troom) + croom++; + } + xupstair = somex(); /* %% < and > might be in the same place */ + yupstair = somey(); + levl[xupstair][yupstair].scrsym = '<'; + levl[xupstair][yupstair].typ = STAIRS; + + /* for each room: put things inside */ + for (croom = rooms; croom->hx > 0; croom++) { + + /* put a sleeping monster inside */ + /* + * Note: monster may be on the stairs. This cannot be + * avoided: maybe the player fell through a trapdoor while a + * monster was on the stairs. Conclusion: we have to check + * for monsters on the stairs anyway. + */ + if (!rn2(3)) + (void) + makemon((struct permonst *) 0, somex(), somey()); + + /* put traps and mimics inside */ + goldseen = FALSE; + while (!rn2(8 - (dlevel / 6))) + mktrap(0, 0, croom); + if (!goldseen && !rn2(3)) + mkgold(0L, somex(), somey()); + if (!rn2(3)) { + (void) mkobj_at(0, somex(), somey()); + tryct = 0; + while (!rn2(5)) { + if (++tryct > 100) { + printf("tryct overflow4\n"); + break; + } + (void) mkobj_at(0, somex(), somey()); + } + } + } + + qsort((char *) rooms, nroom, sizeof(struct mkroom), comp); + makecorridors(); + make_niches(); + + /* make a secret treasure vault, not connected to the rest */ + if (nroom <= (2 * MAXNROFROOMS / 3)) + if (rn2(3)) { + troom = &rooms[nroom]; + secret = TRUE; + if (makerooms()) { + troom->rtype = VAULT; /* treasure vault */ + for (x = troom->lx; x <= troom->hx; x++) + for (y = troom->ly; y <= troom->hy; y++) + mkgold((long) (rnd(dlevel * 100) + 50), x, y); + if (!rn2(3)) + makevtele(); + } + } +#ifndef QUEST +#ifdef WIZARD + if (wizard && getenv("SHOPTYPE")) + mkshop(); + else +#endif /* WIZARD */ + if (dlevel > 1 && dlevel < 20 && rn2(dlevel) < 3) + mkshop(); + else if (dlevel > 6 && !rn2(7)) + mkzoo(ZOO); + else if (dlevel > 9 && !rn2(5)) + mkzoo(BEEHIVE); + else if (dlevel > 11 && !rn2(6)) + mkzoo(MORGUE); + else if (dlevel > 18 && !rn2(6)) + mkswamp(); +#endif /* QUEST */ +} + +int +makerooms() +{ + struct rectangle *rsp; + int lx, ly, hx, hy, lowx, lowy, hix, hiy, dx, dy; + int tryct = 0, xlim, ylim; + + /* init */ + xlim = XLIM + secret; + ylim = YLIM + secret; + if (nroom == 0) { + rsp = rs; + rsp->rlx = rsp->rly = 0; + rsp->rhx = COLNO - 1; + rsp->rhy = ROWNO - 1; + rsmax = 1; + } + rscnt = rsmax; + + /* make rooms until satisfied */ + while (rscnt > 0 && nroom < MAXNROFROOMS - 1) { + if (!secret && nroom > (MAXNROFROOMS / 3) && + !rn2((MAXNROFROOMS - nroom) * (MAXNROFROOMS - nroom))) + return (0); + + /* pick a rectangle */ + rsp = &rs[rn2(rscnt)]; + hx = rsp->rhx; + hy = rsp->rhy; + lx = rsp->rlx; + ly = rsp->rly; + + /* find size of room */ + if (secret) + dx = dy = 1; + else { + dx = 2 + rn2((hx - lx - 8 > 20) ? 12 : 8); + dy = 2 + rn2(4); + if (dx * dy > 50) + dy = 50 / dx; + } + + /* look whether our room will fit */ + if (hx - lx < dx + dx / 2 + 2 * xlim || hy - ly < dy + dy / 3 + 2 * ylim) { + /* no, too small */ + /* maybe we throw this area out */ + if (secret || !rn2(MAXNROFROOMS + 1 - nroom - tryct)) { + rscnt--; + rs[rsmax] = *rsp; + *rsp = rs[rscnt]; + rs[rscnt] = rs[rsmax]; + tryct = 0; + } else + tryct++; + continue; + } + lowx = lx + xlim + rn2(hx - lx - dx - 2 * xlim + 1); + lowy = ly + ylim + rn2(hy - ly - dy - 2 * ylim + 1); + hix = lowx + dx; + hiy = lowy + dy; + + if (maker(lowx, dx, lowy, dy)) { + if (secret) + return (1); + addrs(lowx - 1, lowy - 1, hix + 1, hiy + 1); + tryct = 0; + } else if (tryct++ > 100) + break; + } + return (0); /* failed to make vault - very strange */ +} + +void +addrs(lowx, lowy, hix, hiy) + int lowx, lowy, hix, hiy; +{ + struct rectangle *rsp; + int lx, ly, hx, hy, xlim, ylim; + boolean discarded; + + xlim = XLIM + secret; + ylim = YLIM + secret; + + /* walk down since rscnt and rsmax change */ + for (rsp = &rs[rsmax - 1]; rsp >= rs; rsp--) { + + if ((lx = rsp->rlx) > hix || (ly = rsp->rly) > hiy || + (hx = rsp->rhx) < lowx || (hy = rsp->rhy) < lowy) + continue; + if ((discarded = (rsp >= &rs[rscnt]))) { + *rsp = rs[--rsmax]; + } else { + rsmax--; + rscnt--; + *rsp = rs[rscnt]; + if (rscnt != rsmax) + rs[rscnt] = rs[rsmax]; + } + if (lowy - ly > 2 * ylim + 4) + addrsx(lx, ly, hx, lowy - 2, discarded); + if (lowx - lx > 2 * xlim + 4) + addrsx(lx, ly, lowx - 2, hy, discarded); + if (hy - hiy > 2 * ylim + 4) + addrsx(lx, hiy + 2, hx, hy, discarded); + if (hx - hix > 2 * xlim + 4) + addrsx(hix + 2, ly, hx, hy, discarded); + } +} + +void +addrsx(lx, ly, hx, hy, discarded) + int lx, ly, hx, hy; + boolean discarded; /* piece of a discarded area */ +{ + struct rectangle *rsp; + + /* check inclusions */ + for (rsp = rs; rsp < &rs[rsmax]; rsp++) { + if (lx >= rsp->rlx && hx <= rsp->rhx && + ly >= rsp->rly && hy <= rsp->rhy) + return; + } + + /* make a new entry */ + if (rsmax >= MAXRS) { +#ifdef WIZARD + if (wizard) + pline("MAXRS may be too small."); +#endif /* WIZARD */ + return; + } + rsmax++; + if (!discarded) { + *rsp = rs[rscnt]; + rsp = &rs[rscnt]; + rscnt++; + } + rsp->rlx = lx; + rsp->rly = ly; + rsp->rhx = hx; + rsp->rhy = hy; +} + +int +comp(vx, vy) + const void *vx, *vy; +{ + const struct mkroom *x = vx, *y = vy; + if (x->lx < y->lx) + return (-1); + return (x->lx > y->lx); +} + +coord +finddpos(int xl, int yl, int xh, int yh) +{ + coord ff; + int x, y; + + x = (xl == xh) ? xl : (xl + rn2(xh - xl + 1)); + y = (yl == yh) ? yl : (yl + rn2(yh - yl + 1)); + if (okdoor(x, y)) + goto gotit; + + for (x = xl; x <= xh; x++) + for (y = yl; y <= yh; y++) + if (okdoor(x, y)) + goto gotit; + + for (x = xl; x <= xh; x++) + for (y = yl; y <= yh; y++) + if (levl[x][y].typ == DOOR || levl[x][y].typ == SDOOR) + goto gotit; + /* cannot find something reasonable -- strange */ + x = xl; + y = yh; +gotit: + ff.x = x; + ff.y = y; + return (ff); +} + +/* see whether it is allowable to create a door at [x,y] */ +int +okdoor(x, y) + int x, y; +{ + if (levl[x - 1][y].typ == DOOR || levl[x + 1][y].typ == DOOR || + levl[x][y + 1].typ == DOOR || levl[x][y - 1].typ == DOOR || + levl[x - 1][y].typ == SDOOR || levl[x + 1][y].typ == SDOOR || + levl[x][y - 1].typ == SDOOR || levl[x][y + 1].typ == SDOOR || + (levl[x][y].typ != HWALL && levl[x][y].typ != VWALL) || + doorindex >= DOORMAX) + return (0); + return (1); +} + +void +dodoor(x, y, aroom) + int x, y; + struct mkroom *aroom; +{ + if (doorindex >= DOORMAX) { + impossible("DOORMAX exceeded?"); + return; + } + if (!okdoor(x, y) && nxcor) + return; + dosdoor(x, y, aroom, rn2(8) ? DOOR : SDOOR); +} + +void +dosdoor(x, y, aroom, type) + int x, y; + struct mkroom *aroom; + int type; +{ + struct mkroom *broom; + int tmp; + + if (!IS_WALL(levl[x][y].typ)) /* avoid SDOORs with '+' as scrsym */ + type = DOOR; + levl[x][y].typ = type; + if (type == DOOR) + levl[x][y].scrsym = '+'; + aroom->doorct++; + broom = aroom + 1; + if (broom->hx < 0) + tmp = doorindex; + else + for (tmp = doorindex; tmp > broom->fdoor; tmp--) + doors[tmp] = doors[tmp - 1]; + doorindex++; + doors[tmp].x = x; + doors[tmp].y = y; + for (; broom->hx >= 0; broom++) + broom->fdoor++; +} + +/* Only called from makerooms() */ +int +maker(lowx, ddx, lowy, ddy) + schar lowx, ddx, lowy, ddy; +{ + struct mkroom *croom; + int x, y, hix = lowx + ddx, hiy = lowy + ddy; + int xlim = XLIM + secret, ylim = YLIM + secret; + + if (nroom >= MAXNROFROOMS) + return (0); + if (lowx < XLIM) + lowx = XLIM; + if (lowy < YLIM) + lowy = YLIM; + if (hix > COLNO - XLIM - 1) + hix = COLNO - XLIM - 1; + if (hiy > ROWNO - YLIM - 1) + hiy = ROWNO - YLIM - 1; +chk: + if (hix <= lowx || hiy <= lowy) + return (0); + + /* check area around room (and make room smaller if necessary) */ + for (x = lowx - xlim; x <= hix + xlim; x++) { + for (y = lowy - ylim; y <= hiy + ylim; y++) { + if (levl[x][y].typ) { +#ifdef WIZARD + if (wizard && !secret) + pline("Strange area [%d,%d] in maker().", x, y); +#endif /* WIZARD */ + if (!rn2(3)) + return (0); + if (x < lowx) + lowx = x + xlim + 1; + else + hix = x - xlim - 1; + if (y < lowy) + lowy = y + ylim + 1; + else + hiy = y - ylim - 1; + goto chk; + } + } + } + + croom = &rooms[nroom]; + + /* on low levels the room is lit (usually) */ + /* secret vaults are always lit */ + if ((rnd(dlevel) < 10 && rn2(77)) || (ddx == 1 && ddy == 1)) { + for (x = lowx - 1; x <= hix + 1; x++) + for (y = lowy - 1; y <= hiy + 1; y++) + levl[x][y].lit = 1; + croom->rlit = 1; + } else + croom->rlit = 0; + croom->lx = lowx; + croom->hx = hix; + croom->ly = lowy; + croom->hy = hiy; + croom->rtype = croom->doorct = croom->fdoor = 0; + + for (x = lowx - 1; x <= hix + 1; x++) + for (y = lowy - 1; y <= hiy + 1; y += (hiy - lowy + 2)) { + levl[x][y].scrsym = '-'; + levl[x][y].typ = HWALL; + } + for (x = lowx - 1; x <= hix + 1; x += (hix - lowx + 2)) + for (y = lowy; y <= hiy; y++) { + levl[x][y].scrsym = '|'; + levl[x][y].typ = VWALL; + } + for (x = lowx; x <= hix; x++) + for (y = lowy; y <= hiy; y++) { + levl[x][y].scrsym = '.'; + levl[x][y].typ = ROOM; + } + + smeq[nroom] = nroom; + croom++; + croom->hx = -1; + nroom++; + return (1); +} + +void +makecorridors() +{ + int a, b; + + nxcor = 0; + for (a = 0; a < nroom - 1; a++) + join(a, a + 1); + for (a = 0; a < nroom - 2; a++) + if (smeq[a] != smeq[a + 2]) + join(a, a + 2); + for (a = 0; a < nroom; a++) + for (b = 0; b < nroom; b++) + if (smeq[a] != smeq[b]) + join(a, b); + if (nroom > 2) + for (nxcor = rn2(nroom) + 4; nxcor; nxcor--) { + a = rn2(nroom); + b = rn2(nroom - 2); + if (b >= a) + b += 2; + join(a, b); + } +} + +void +join(a, b) + int a, b; +{ + coord cc, tt; + int tx, ty, xx, yy; + struct rm *crm; + struct mkroom *croom, *troom; + int dx, dy, dix, diy, cct; + + croom = &rooms[a]; + troom = &rooms[b]; + + /* + * find positions cc and tt for doors in croom and troom and + * direction for a corridor between them + */ + + if (troom->hx < 0 || croom->hx < 0 || doorindex >= DOORMAX) + return; + if (troom->lx > croom->hx) { + dx = 1; + dy = 0; + xx = croom->hx + 1; + tx = troom->lx - 1; + cc = finddpos(xx, croom->ly, xx, croom->hy); + tt = finddpos(tx, troom->ly, tx, troom->hy); + } else if (troom->hy < croom->ly) { + dy = -1; + dx = 0; + yy = croom->ly - 1; + cc = finddpos(croom->lx, yy, croom->hx, yy); + ty = troom->hy + 1; + tt = finddpos(troom->lx, ty, troom->hx, ty); + } else if (troom->hx < croom->lx) { + dx = -1; + dy = 0; + xx = croom->lx - 1; + tx = troom->hx + 1; + cc = finddpos(xx, croom->ly, xx, croom->hy); + tt = finddpos(tx, troom->ly, tx, troom->hy); + } else { + dy = 1; + dx = 0; + yy = croom->hy + 1; + ty = troom->ly - 1; + cc = finddpos(croom->lx, yy, croom->hx, yy); + tt = finddpos(troom->lx, ty, troom->hx, ty); + } + xx = cc.x; + yy = cc.y; + tx = tt.x - dx; + ty = tt.y - dy; + if (nxcor && levl[xx + dx][yy + dy].typ) + return; + dodoor(xx, yy, croom); + + cct = 0; + while (xx != tx || yy != ty) { + xx += dx; + yy += dy; + + /* loop: dig corridor at [xx,yy] and find new [xx,yy] */ + if (cct++ > 500 || (nxcor && !rn2(35))) + return; + + if (xx == COLNO - 1 || xx == 0 || yy == 0 || yy == ROWNO - 1) + return; /* impossible */ + + crm = &levl[xx][yy]; + if (!(crm->typ)) { + if (rn2(100)) { + crm->typ = CORR; + crm->scrsym = CORR_SYM; + if (nxcor && !rn2(50)) + (void) mkobj_at(ROCK_SYM, xx, yy); + } else { + crm->typ = SCORR; + crm->scrsym = ' '; + } + } else if (crm->typ != CORR && crm->typ != SCORR) { + /* strange ... */ + return; + } + /* find next corridor position */ + dix = abs(xx - tx); + diy = abs(yy - ty); + + /* do we have to change direction ? */ + if (dy && dix > diy) { + int ddx = (xx > tx) ? -1 : 1; + + crm = &levl[xx + ddx][yy]; + if (!crm->typ || crm->typ == CORR || crm->typ == SCORR) { + dx = ddx; + dy = 0; + continue; + } + } else if (dx && diy > dix) { + int ddy = (yy > ty) ? -1 : 1; + + crm = &levl[xx][yy + ddy]; + if (!crm->typ || crm->typ == CORR || crm->typ == SCORR) { + dy = ddy; + dx = 0; + continue; + } + } + /* continue straight on? */ + crm = &levl[xx + dx][yy + dy]; + if (!crm->typ || crm->typ == CORR || crm->typ == SCORR) + continue; + + /* no, what must we do now?? */ + if (dx) { + dx = 0; + dy = (ty < yy) ? -1 : 1; + crm = &levl[xx + dx][yy + dy]; + if (!crm->typ || crm->typ == CORR || crm->typ == SCORR) + continue; + dy = -dy; + continue; + } else { + dy = 0; + dx = (tx < xx) ? -1 : 1; + crm = &levl[xx + dx][yy + dy]; + if (!crm->typ || crm->typ == CORR || crm->typ == SCORR) + continue; + dx = -dx; + continue; + } + } + + /* we succeeded in digging the corridor */ + dodoor(tt.x, tt.y, troom); + + if (smeq[a] < smeq[b]) + smeq[b] = smeq[a]; + else + smeq[a] = smeq[b]; +} + +void +make_niches() +{ + int ct = rnd(nroom / 2 + 1); + while (ct--) + makeniche(FALSE); +} + +void +makevtele() +{ + makeniche(TRUE); +} + +void +makeniche(with_trap) + boolean with_trap; +{ + struct mkroom *aroom; + struct rm *rm; + int vct = 8; + coord dd; + int dy, xx, yy; + struct trap *ttmp; + + if (doorindex < DOORMAX) + while (vct--) { + aroom = &rooms[rn2(nroom - 1)]; + if (aroom->rtype != 0) + continue; /* not an ordinary room */ + if (aroom->doorct == 1 && rn2(5)) + continue; + if (rn2(2)) { + dy = 1; + dd = finddpos(aroom->lx, aroom->hy + 1, aroom->hx, aroom->hy + 1); + } else { + dy = -1; + dd = finddpos(aroom->lx, aroom->ly - 1, aroom->hx, aroom->ly - 1); + } + xx = dd.x; + yy = dd.y; + if ((rm = &levl[xx][yy + dy])->typ) + continue; + if (with_trap || !rn2(4)) { + rm->typ = SCORR; + rm->scrsym = ' '; + if (with_trap) { + ttmp = maketrap(xx, yy + dy, TELEP_TRAP); + ttmp->once = 1; + make_engr_at(xx, yy - dy, "ad ae?ar um"); + } + dosdoor(xx, yy, aroom, SDOOR); + } else { + rm->typ = CORR; + rm->scrsym = CORR_SYM; + if (rn2(7)) + dosdoor(xx, yy, aroom, rn2(5) ? SDOOR : DOOR); + else { + mksobj_at(SCR_TELEPORTATION, xx, yy + dy); + if (!rn2(3)) + (void) mkobj_at(0, xx, yy + dy); + } + } + return; + } +} + +/* make a trap somewhere (in croom if mazeflag = 0) */ +void +mktrap(num, mazeflag, croom) + int num, mazeflag; + struct mkroom *croom; +{ + struct trap *ttmp; + int kind, nopierc, nomimic, fakedoor, fakegold, tryct = 0; + xchar mx, my; + + if (!num || num >= TRAPNUM) { + nopierc = (dlevel < 4) ? 1 : 0; + nomimic = (dlevel < 9 || goldseen) ? 1 : 0; + if (strchr(fut_geno, 'M')) + nomimic = 1; + kind = rn2(TRAPNUM - nopierc - nomimic); + /* note: PIERC = 7, MIMIC = 8, TRAPNUM = 9 */ + } else + kind = num; + + if (kind == MIMIC) { + struct monst *mtmp; + + fakedoor = (!rn2(3) && !mazeflag); + fakegold = (!fakedoor && !rn2(2)); + if (fakegold) + goldseen = TRUE; + do { + if (++tryct > 200) + return; + if (fakedoor) { + /* note: fakedoor maybe on actual door */ + if (rn2(2)) { + if (rn2(2)) + mx = croom->hx + 1; + else + mx = croom->lx - 1; + my = somey(); + } else { + if (rn2(2)) + my = croom->hy + 1; + else + my = croom->ly - 1; + mx = somex(); + } + } else if (mazeflag) { + coord mm; + mm = mazexy(); + mx = mm.x; + my = mm.y; + } else { + mx = somex(); + my = somey(); + } + } while (m_at(mx, my) || levl[mx][my].typ == STAIRS); + if ((mtmp = makemon(PM_MIMIC, mx, my)) != NULL) { + mtmp->mimic = 1; + mtmp->mappearance = + fakegold ? '$' : fakedoor ? '+' : + (mazeflag && rn2(2)) ? AMULET_SYM : + "=/)%?![<>"[rn2(9)]; + } + return; + } + do { + if (++tryct > 200) + return; + if (mazeflag) { + coord mm; + mm = mazexy(); + mx = mm.x; + my = mm.y; + } else { + mx = somex(); + my = somey(); + } + } while (t_at(mx, my) || levl[mx][my].typ == STAIRS); + ttmp = maketrap(mx, my, kind); + if (mazeflag && !rn2(10) && ttmp->ttyp < PIERC) + ttmp->tseen = 1; +} diff --git a/hack/hack.mkmaze.c b/hack/hack.mkmaze.c new file mode 100644 index 0000000..471edc2 --- /dev/null +++ b/hack/hack.mkmaze.c @@ -0,0 +1,217 @@ +/* $NetBSD: hack.mkmaze.c,v 1.6 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mkmaze.c,v 1.6 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include "def.mkroom.h" /* not really used */ +const struct permonst hell_hound = +{"hell hound", 'd', 12, 14, 2, 3, 6, 0}; + +void +makemaz() +{ + int x, y; + int zx, zy; + coord mm; + boolean al = (dlevel >= 30 && !flags.made_amulet); + + for (x = 2; x < COLNO - 1; x++) + for (y = 2; y < ROWNO - 1; y++) + levl[x][y].typ = (x % 2 && y % 2) ? 0 : HWALL; + if (al) { + struct monst *mtmp; + + zx = 2 * (COLNO / 4) - 1; + zy = 2 * (ROWNO / 4) - 1; + for (x = zx - 2; x < zx + 4; x++) + for (y = zy - 2; y <= zy + 2; y++) { + levl[x][y].typ = + (y == zy - 2 || y == zy + 2 || x == zx - 2 || x == zx + 3) ? POOL : + (y == zy - 1 || y == zy + 1 || x == zx - 1 || x == zx + 2) ? HWALL : + ROOM; + } + (void) mkobj_at(AMULET_SYM, zx, zy); + flags.made_amulet = 1; + walkfrom(zx + 4, zy); + if ((mtmp = makemon(&hell_hound, zx, zy)) != NULL) + mtmp->msleep = 1; + if ((mtmp = makemon(PM_WIZARD, zx + 1, zy)) != NULL) { + mtmp->msleep = 1; + flags.no_of_wizards = 1; + } + } else { + mm = mazexy(); + zx = mm.x; + zy = mm.y; + walkfrom(zx, zy); + (void) mksobj_at(WAN_WISHING, zx, zy); + (void) mkobj_at(ROCK_SYM, zx, zy); /* put a rock on top of + * it */ + } + + for (x = 2; x < COLNO - 1; x++) + for (y = 2; y < ROWNO - 1; y++) { + switch (levl[x][y].typ) { + case HWALL: + levl[x][y].scrsym = '-'; + break; + case ROOM: + levl[x][y].scrsym = '.'; + break; + } + } + for (x = rn1(8, 11); x; x--) { + mm = mazexy(); + (void) mkobj_at(rn2(2) ? GEM_SYM : 0, mm.x, mm.y); + } + for (x = rn1(10, 2); x; x--) { + mm = mazexy(); + (void) mkobj_at(ROCK_SYM, mm.x, mm.y); + } + mm = mazexy(); + (void) makemon(PM_MINOTAUR, mm.x, mm.y); + for (x = rn1(5, 7); x; x--) { + mm = mazexy(); + (void) makemon((struct permonst *) 0, mm.x, mm.y); + } + for (x = rn1(6, 7); x; x--) { + mm = mazexy(); + mkgold(0L, mm.x, mm.y); + } + for (x = rn1(6, 7); x; x--) + mktrap(0, 1, (struct mkroom *) 0); + mm = mazexy(); + levl[(xupstair = mm.x)][(yupstair = mm.y)].scrsym = '<'; + levl[xupstair][yupstair].typ = STAIRS; + xdnstair = ydnstair = 0; +} + +void +walkfrom(x, y) + int x, y; +{ + int q, a, dir; + int dirs[4]; + levl[x][y].typ = ROOM; + while (1) { + q = 0; + for (a = 0; a < 4; a++) + if (okay(x, y, a)) + dirs[q++] = a; + if (!q) + return; + dir = dirs[rn2(q)]; + move(&x, &y, dir); + levl[x][y].typ = ROOM; + move(&x, &y, dir); + walkfrom(x, y); + } +} + +void +move(x, y, dir) + int *x, *y; + int dir; +{ + switch (dir) { + case 0: + --(*y); + break; + case 1: + (*x)++; + break; + case 2: + (*y)++; + break; + case 3: + --(*x); + break; + } +} + +int +okay(x, y, dir) + int x, y; + int dir; +{ + move(&x, &y, dir); + move(&x, &y, dir); + if (x < 3 || y < 3 || x > COLNO - 3 || y > ROWNO - 3 || levl[x][y].typ != 0) + return (0); + else + return (1); +} + +coord +mazexy() +{ + coord mm; + mm.x = 3 + 2 * rn2(COLNO / 2 - 2); + mm.y = 3 + 2 * rn2(ROWNO / 2 - 2); + return mm; +} diff --git a/hack/hack.mkobj.c b/hack/hack.mkobj.c new file mode 100644 index 0000000..4a72255 --- /dev/null +++ b/hack/hack.mkobj.c @@ -0,0 +1,227 @@ +/* $NetBSD: hack.mkobj.c,v 1.6 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mkobj.c,v 1.6 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" + +char mkobjstr[] = "))[[!!!!????%%%%/=**))[[!!!!????%%%%/=**(%"; + +struct obj * +mkobj_at(let, x, y) + int let, x, y; +{ + struct obj *otmp = mkobj(let); + otmp->ox = x; + otmp->oy = y; + otmp->nobj = fobj; + fobj = otmp; + return (otmp); +} + +void +mksobj_at(otyp, x, y) + int otyp, x, y; +{ + struct obj *otmp = mksobj(otyp); + otmp->ox = x; + otmp->oy = y; + otmp->nobj = fobj; + fobj = otmp; +} + +struct obj * +mkobj(let) + int let; +{ + if (!let) + let = mkobjstr[rn2(sizeof(mkobjstr) - 1)]; + return ( + mksobj( + letter(let) ? + CORPSE + ((let > 'Z') ? (let - 'a' + 'Z' - '@' + 1) : (let - '@')) + : probtype(let) + ) + ); +} + + +struct obj zeroobj; + +struct obj * +mksobj(otyp) + int otyp; +{ + struct obj *otmp; + char let = objects[otyp].oc_olet; + + otmp = newobj(0); + *otmp = zeroobj; + otmp->age = moves; + otmp->o_id = flags.ident++; + otmp->quan = 1; + otmp->olet = let; + otmp->otyp = otyp; + otmp->dknown = strchr("/=!?*", let) ? 0 : 1; + switch (let) { + case WEAPON_SYM: + otmp->quan = (otmp->otyp <= ROCK) ? rn1(6, 6) : 1; + if (!rn2(11)) + otmp->spe = rnd(3); + else if (!rn2(10)) { + otmp->cursed = 1; + otmp->spe = -rnd(3); + } + break; + case FOOD_SYM: + if (otmp->otyp >= CORPSE) + break; +#ifdef NOT_YET_IMPLEMENTED + /* if tins are to be identified, need to adapt doname() etc */ + if (otmp->otyp == TIN) + otmp->spe = rnd(...); +#endif /* NOT_YET_IMPLEMENTED */ + /* fall into next case */ + case GEM_SYM: + otmp->quan = rn2(6) ? 1 : 2; + case TOOL_SYM: + case CHAIN_SYM: + case BALL_SYM: + case ROCK_SYM: + case POTION_SYM: + case SCROLL_SYM: + case AMULET_SYM: + break; + case ARMOR_SYM: + if (!rn2(8)) + otmp->cursed = 1; + if (!rn2(10)) + otmp->spe = rnd(3); + else if (!rn2(9)) { + otmp->spe = -rnd(3); + otmp->cursed = 1; + } + break; + case WAND_SYM: + if (otmp->otyp == WAN_WISHING) + otmp->spe = 3; + else + otmp->spe = rn1(5, + (objects[otmp->otyp].bits & NODIR) ? 11 : 4); + break; + case RING_SYM: + if (objects[otmp->otyp].bits & SPEC) { + if (!rn2(3)) { + otmp->cursed = 1; + otmp->spe = -rnd(2); + } else + otmp->spe = rnd(2); + } else if (otmp->otyp == RIN_TELEPORTATION || + otmp->otyp == RIN_AGGRAVATE_MONSTER || + otmp->otyp == RIN_HUNGER || !rn2(9)) + otmp->cursed = 1; + break; + default: + panic("impossible mkobj"); + } + otmp->owt = weight(otmp); + return (otmp); +} + +int +letter(c) + int c; +{ + return (('@' <= c && c <= 'Z') || ('a' <= c && c <= 'z')); +} + +int +weight(obj) + struct obj *obj; +{ + int wt = objects[obj->otyp].oc_weight; + return (wt ? wt * obj->quan : (obj->quan + 1) / 2); +} + +void +mkgold(long num, int x, int y) +{ + struct gold *gold; + long amount = (num ? num : 1 + (rnd(dlevel + 2) * rnd(30))); + + if ((gold = g_at(x, y)) != NULL) + gold->amount += amount; + else { + gold = newgold(); + gold->ngold = fgold; + gold->gx = x; + gold->gy = y; + gold->amount = amount; + fgold = gold; + /* do sth with display? */ + } +} diff --git a/hack/hack.mkshop.c b/hack/hack.mkshop.c new file mode 100644 index 0000000..e30cb54 --- /dev/null +++ b/hack/hack.mkshop.c @@ -0,0 +1,368 @@ +/* $NetBSD: hack.mkshop.c,v 1.8 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mkshop.c,v 1.8 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include +#ifndef QUEST +#include "hack.h" +#include "extern.h" +#include "def.mkroom.h" +#include "def.eshk.h" +#define ESHK ((struct eshk *)(&(shk->mextra[0]))) +const schar shprobs[] = {3, 3, 5, 5, 10, 10, 14, 50}; /* their probabilities */ + +void +mkshop() +{ + struct mkroom *sroom; + int sh, sx, sy, i = -1; + char let; + int roomno; + struct monst *shk; +#ifdef WIZARD + /* first determine shoptype */ + if (wizard) { + char *ep = getenv("SHOPTYPE"); + if (ep) { + if (*ep == 'z' || *ep == 'Z') { + mkzoo(ZOO); + return; + } + if (*ep == 'm' || *ep == 'M') { + mkzoo(MORGUE); + return; + } + if (*ep == 'b' || *ep == 'B') { + mkzoo(BEEHIVE); + return; + } + if (*ep == 's' || *ep == 'S') { + mkswamp(); + return; + } + for (i = 0; shtypes[i]; i++) + if (*ep == shtypes[i]) + break; + goto gottype; + } + } +gottype: +#endif /* WIZARD */ + for (sroom = &rooms[0], roomno = 0;; sroom++, roomno++) { + if (sroom->hx < 0) + return; + if (sroom - rooms >= nroom) { + pline("rooms not closed by -1?"); + return; + } + if (sroom->rtype) + continue; + if (!sroom->rlit || has_dnstairs(sroom) || has_upstairs(sroom)) + continue; + if ( +#ifdef WIZARD + (wizard && getenv("SHOPTYPE") && sroom->doorct != 0) || +#endif /* WIZARD */ + sroom->doorct == 1) + break; + } + + if (i < 0) { /* shoptype not yet determined */ + int j; + + for (j = rn2(100), i = 0; (j -= shprobs[i]) >= 0; i++) + if (!shtypes[i]) + break; /* superfluous */ + if (isbig(sroom) && i + SHOPBASE == WANDSHOP) + i = GENERAL - SHOPBASE; + } + sroom->rtype = i + SHOPBASE; + let = shtypes[i]; + sh = sroom->fdoor; + sx = doors[sh].x; + sy = doors[sh].y; + if (sx == sroom->lx - 1) + sx++; + else if (sx == sroom->hx + 1) + sx--; + else if (sy == sroom->ly - 1) + sy++; + else if (sy == sroom->hy + 1) + sy--; + else { +#ifdef WIZARD + /* This is said to happen sometimes, but I've never seen it. */ + if (wizard) { + int j = sroom->doorct; + + pline("Where is shopdoor?"); + pline("Room at (%d,%d),(%d,%d).", sroom->lx, sroom->ly, + sroom->hx, sroom->hy); + pline("doormax=%d doorct=%d fdoor=%d", + doorindex, sroom->doorct, sh); + while (j--) { + pline("door [%d,%d]", doors[sh].x, doors[sh].y); + sh++; + } + more(); + } +#endif /* WIZARD */ + return; + } + if (!(shk = makemon(PM_SHK, sx, sy))) + return; + shk->isshk = shk->mpeaceful = 1; + shk->msleep = 0; + shk->mtrapseen = ~0; /* we know all the traps already */ + ESHK->shoproom = roomno; + ESHK->shoplevel = dlevel; + ESHK->shd = doors[sh]; + ESHK->shk.x = sx; + ESHK->shk.y = sy; + ESHK->robbed = 0; + ESHK->visitct = 0; + ESHK->following = 0; + shk->mgold = 1000 + 30 * rnd(100); /* initial capital */ + ESHK->billct = 0; + findname(ESHK->shknam, let); + for (sx = sroom->lx; sx <= sroom->hx; sx++) + for (sy = sroom->ly; sy <= sroom->hy; sy++) { + struct monst *mtmp; + if ((sx == sroom->lx && doors[sh].x == sx - 1) || + (sx == sroom->hx && doors[sh].x == sx + 1) || + (sy == sroom->ly && doors[sh].y == sy - 1) || + (sy == sroom->hy && doors[sh].y == sy + 1)) + continue; + if (rn2(100) < dlevel && !m_at(sx, sy) && + (mtmp = makemon(PM_MIMIC, sx, sy))) { + mtmp->mimic = 1; + mtmp->mappearance = + (let && rn2(10) < dlevel) ? let : ']'; + continue; + } + (void) mkobj_at(let, sx, sy); + } +} + +void +mkzoo(type) + int type; +{ + struct mkroom *sroom; + struct monst *mon; + int sh, sx, sy, i; + int goldlim = 500 * dlevel; + int moct = 0; + + i = nroom; + for (sroom = &rooms[rn2(nroom)];; sroom++) { + if (sroom == &rooms[nroom]) + sroom = &rooms[0]; + if (!i-- || sroom->hx < 0) + return; + if (sroom->rtype) + continue; + if (type == MORGUE && sroom->rlit) + continue; + if (has_upstairs(sroom) || (has_dnstairs(sroom) && rn2(3))) + continue; + if (sroom->doorct == 1 || !rn2(5)) + break; + } + sroom->rtype = type; + sh = sroom->fdoor; + for (sx = sroom->lx; sx <= sroom->hx; sx++) + for (sy = sroom->ly; sy <= sroom->hy; sy++) { + if ((sx == sroom->lx && doors[sh].x == sx - 1) || + (sx == sroom->hx && doors[sh].x == sx + 1) || + (sy == sroom->ly && doors[sh].y == sy - 1) || + (sy == sroom->hy && doors[sh].y == sy + 1)) + continue; + mon = makemon( + (type == MORGUE) ? morguemon() : + (type == BEEHIVE) ? PM_KILLER_BEE : (struct permonst *) 0, + sx, sy); + if (mon) + mon->msleep = 1; + switch (type) { + case ZOO: + i = sq(dist2(sx, sy, doors[sh].x, doors[sh].y)); + if (i >= goldlim) + i = 5 * dlevel; + goldlim -= i; + mkgold((long) (10 + rn2(i)), sx, sy); + break; + case MORGUE: + /* + * Usually there is one dead body in the + * morgue + */ + if (!moct && rn2(3)) { + mksobj_at(CORPSE, sx, sy); + moct++; + } + break; + case BEEHIVE: + if (!rn2(3)) + mksobj_at(LUMP_OF_ROYAL_JELLY, sx, sy); + break; + } + } +} + +const struct permonst * +morguemon() +{ + int i = rn2(100), hd = rn2(dlevel); + + if (hd > 10 && i < 10) + return (PM_DEMON); + if (hd > 8 && i > 85) + return (PM_VAMPIRE); + return ((i < 40) ? PM_GHOST : (i < 60) ? PM_WRAITH : PM_ZOMBIE); +} + +void +mkswamp() +{ /* Michiel Huisjes & Fred de Wilde */ + struct mkroom *sroom; + int sx, sy, i, eelct = 0; + + for (i = 0; i < 5; i++) { /* 5 tries */ + sroom = &rooms[rn2(nroom)]; + if (sroom->hx < 0 || sroom->rtype || + has_upstairs(sroom) || has_dnstairs(sroom)) + continue; + + /* satisfied; make a swamp */ + sroom->rtype = SWAMP; + for (sx = sroom->lx; sx <= sroom->hx; sx++) + for (sy = sroom->ly; sy <= sroom->hy; sy++) + if ((sx + sy) % 2 && !o_at(sx, sy) && !t_at(sx, sy) + && !m_at(sx, sy) && !nexttodoor(sx, sy)) { + levl[sx][sy].typ = POOL; + levl[sx][sy].scrsym = POOL_SYM; + if (!eelct || !rn2(4)) { + (void) makemon(PM_EEL, sx, sy); + eelct++; + } + } + } +} + +int +nexttodoor(sx, sy) + int sx, sy; +{ + int dx, dy; + struct rm *lev; + for (dx = -1; dx <= 1; dx++) + for (dy = -1; dy <= 1; dy++) + if ((lev = &levl[sx + dx][sy + dy])->typ == DOOR || + lev->typ == SDOOR || lev->typ == LDOOR) + return (1); + return (0); +} + +int +has_dnstairs(sroom) + struct mkroom *sroom; +{ + return (sroom->lx <= xdnstair && xdnstair <= sroom->hx && + sroom->ly <= ydnstair && ydnstair <= sroom->hy); +} + +int +has_upstairs(sroom) + struct mkroom *sroom; +{ + return (sroom->lx <= xupstair && xupstair <= sroom->hx && + sroom->ly <= yupstair && yupstair <= sroom->hy); +} + +int +isbig(sroom) + struct mkroom *sroom; +{ + int area = (sroom->hx - sroom->lx) * (sroom->hy - sroom->ly); + return (area > 20); +} + +int +dist2(x0, y0, x1, y1) + int x0, y0, x1, y1; +{ + return ((x0 - x1) * (x0 - x1) + (y0 - y1) * (y0 - y1)); +} + +int +sq(a) + int a; +{ + return (a * a); +} +#endif /* QUEST */ diff --git a/hack/hack.mon.c b/hack/hack.mon.c new file mode 100644 index 0000000..70111c2 --- /dev/null +++ b/hack/hack.mon.c @@ -0,0 +1,1039 @@ +/* $NetBSD: hack.mon.c,v 1.6 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.mon.c,v 1.6 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" +#include "hack.mfndpos.h" + +#ifndef NULL +#define NULL (char *) 0 +#endif + +int warnlevel; /* used by movemon and dochugw */ +long lastwarntime; +int lastwarnlev; +const char *const warnings[] = { + "white", "pink", "red", "ruby", "purple", "black" +}; + +void +movemon() +{ + struct monst *mtmp; + int fr; + + warnlevel = 0; + + while (1) { + /* find a monster that we haven't treated yet */ + /* + * note that mtmp or mtmp->nmon might get killed while mtmp + * moves, so we cannot just walk down the chain (even new + * monsters might get created!) + */ + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) + if (mtmp->mlstmv < moves) + goto next_mon; + /* treated all monsters */ + break; + +next_mon: + mtmp->mlstmv = moves; + + /* most monsters drown in pools */ + { + boolean inpool, iseel; + + inpool = (levl[mtmp->mx][mtmp->my].typ == POOL); + iseel = (mtmp->data->mlet == ';'); + if (inpool && !iseel) { + if (cansee(mtmp->mx, mtmp->my)) + pline("%s drowns.", Monnam(mtmp)); + mondead(mtmp); + continue; + } + /* but eels have a difficult time outside */ + if (iseel && !inpool) { + if (mtmp->mhp > 1) + mtmp->mhp--; + mtmp->mflee = 1; + mtmp->mfleetim += 2; + } + } + if (mtmp->mblinded && !--mtmp->mblinded) + mtmp->mcansee = 1; + if (mtmp->mfleetim && !--mtmp->mfleetim) + mtmp->mflee = 0; + if (mtmp->mimic) + continue; + if (mtmp->mspeed != MSLOW || !(moves % 2)) { + /* continue if the monster died fighting */ + fr = -1; + if (Conflict && cansee(mtmp->mx, mtmp->my) + && (fr = fightm(mtmp)) == 2) + continue; + if (fr < 0 && dochugw(mtmp)) + continue; + } + if (mtmp->mspeed == MFAST && dochugw(mtmp)) + continue; + } + + warnlevel -= u.ulevel; + if (warnlevel >= SIZE(warnings)) + warnlevel = SIZE(warnings) - 1; + if (warnlevel >= 0) + if (warnlevel > lastwarnlev || moves > lastwarntime + 5) { + const char *rr; + switch (Warning & (LEFT_RING | RIGHT_RING)) { + case LEFT_RING: + rr = "Your left ring glows"; + break; + case RIGHT_RING: + rr = "Your right ring glows"; + break; + case LEFT_RING | RIGHT_RING: + rr = "Both your rings glow"; + break; + default: + rr = "Your fingertips glow"; + break; + } + pline("%s %s!", rr, warnings[warnlevel]); + lastwarntime = moves; + lastwarnlev = warnlevel; + } + dmonsfree(); /* remove all dead monsters */ +} + +void +justswld(mtmp, name) + struct monst *mtmp; + const char *name; +{ + + mtmp->mx = u.ux; + mtmp->my = u.uy; + u.ustuck = mtmp; + pmon(mtmp); + kludge("%s swallows you!", name); + more(); + seeoff(1); + u.uswallow = 1; + u.uswldtim = 0; + swallowed(); +} + +void +youswld(mtmp, dam, die, name) + struct monst *mtmp; + int dam, die; + const char *name; +{ + if (mtmp != u.ustuck) + return; + kludge("%s digests you!", name); + u.uhp -= dam; + if ((int)u.uswldtim++ >= die) { /* a3 */ + pline("It totally digests you!"); + u.uhp = -1; + } + if (u.uhp < 1) + done_in_by(mtmp); +#if 0 + flags.botlx = 1; /* should we show status line ? */ +#endif +} + +int +dochugw(mtmp) + struct monst *mtmp; +{ + int x = mtmp->mx; + int y = mtmp->my; + int d = dochug(mtmp); + int dd; + if (!d) /* monster still alive */ + if (Warning) + if (!mtmp->mpeaceful) + if (mtmp->data->mlevel > warnlevel) + if ((dd = dist(mtmp->mx, mtmp->my)) < dist(x, y)) + if (dd < 100) + if (!canseemon(mtmp)) + warnlevel = mtmp->data->mlevel; + return (d); +} + +/* returns 1 if monster died moving, 0 otherwise */ +int +dochug(mtmp) + struct monst *mtmp; +{ + const struct permonst *mdat; + int tmp = 0, nearby, scared; + + if (mtmp->cham && !rn2(6)) + (void) newcham(mtmp, &mons[dlevel + 14 + rn2(CMNUM - 14 - dlevel)]); + mdat = mtmp->data; + if (mdat->mlevel < 0) + panic("bad monster %c (%d)", mdat->mlet, mdat->mlevel); + + /* regenerate monsters */ + if ((!(moves % 20) || strchr(MREGEN, mdat->mlet)) && + mtmp->mhp < mtmp->mhpmax) + mtmp->mhp++; + + if (mtmp->mfroz) + return (0); /* frozen monsters don't do anything */ + + if (mtmp->msleep) { + /* wake up, or get out of here. */ + /* ettins are hard to surprise */ + /* Nymphs and Leprechauns do not easily wake up */ + if (cansee(mtmp->mx, mtmp->my) && + (!Stealth || (mdat->mlet == 'e' && rn2(10))) && + (!strchr("NL", mdat->mlet) || !rn2(50)) && + (Aggravate_monster || strchr("d1", mdat->mlet) + || (!rn2(7) && !mtmp->mimic))) + mtmp->msleep = 0; + else + return (0); + } + /* not frozen or sleeping: wipe out texts written in the dust */ + wipe_engr_at(mtmp->mx, mtmp->my, 1); + + /* confused monsters get unconfused with small probability */ + if (mtmp->mconf && !rn2(50)) + mtmp->mconf = 0; + + /* some monsters teleport */ + if (mtmp->mflee && strchr("tNL", mdat->mlet) && !rn2(40)) { + rloc(mtmp); + return (0); + } + if (mdat->mmove < rnd(6)) + return (0); + + /* fleeing monsters might regain courage */ + if (mtmp->mflee && !mtmp->mfleetim + && mtmp->mhp == mtmp->mhpmax && !rn2(25)) + mtmp->mflee = 0; + + nearby = (dist(mtmp->mx, mtmp->my) < 3); + scared = (nearby && (sengr_at("Elbereth", u.ux, u.uy) || + sobj_at(SCR_SCARE_MONSTER, u.ux, u.uy))); + if (scared && !mtmp->mflee) { + mtmp->mflee = 1; + mtmp->mfleetim = (rn2(7) ? rnd(10) : rnd(100)); + } + if (!nearby || + mtmp->mflee || + mtmp->mconf || + (mtmp->minvis && !rn2(3)) || + (strchr("BIuy", mdat->mlet) && !rn2(4)) || + (mdat->mlet == 'L' && !u.ugold && (mtmp->mgold || rn2(2))) || + (!mtmp->mcansee && !rn2(4)) || + mtmp->mpeaceful + ) { + tmp = m_move(mtmp, 0); /* 2: monster died moving */ + if (tmp == 2 || (tmp && mdat->mmove <= 12)) + return (tmp == 2); + } + if (!strchr("Ea", mdat->mlet) && nearby && + !mtmp->mpeaceful && u.uhp > 0 && !scared) { + if (mhitu(mtmp)) + return (1); /* monster died (e.g. 'y' or 'F') */ + } + /* extra movement for fast monsters */ + if (mdat->mmove - 12 > rnd(12)) + tmp = m_move(mtmp, 1); + return (tmp == 2); +} + +int +m_move(struct monst *mtmp, int after) +{ + struct monst *mtmp2; + int nx, ny, omx, omy, appr, nearer, cnt, i, j; + xchar gx, gy, nix, niy, chcnt; + schar chi; + boolean likegold = 0, likegems = 0, likeobjs = 0; + char msym = mtmp->data->mlet; + schar mmoved = 0; /* not strictly nec.: chi >= 0 will + * do */ + coord poss[9]; + int info[9]; + + if (mtmp->mfroz || mtmp->msleep) + return (0); + if (mtmp->mtrapped) { + i = mintrap(mtmp); + if (i == 2) + return (2); /* he died */ + if (i == 1) + return (0); /* still in trap, so didnt move */ + } + if (mtmp->mhide && o_at(mtmp->mx, mtmp->my) && rn2(10)) + return (0); /* do not leave hiding place */ + +#ifndef NOWORM + if (mtmp->wormno) + goto not_special; +#endif /* NOWORM */ + + /* my dog gets a special treatment */ + if (mtmp->mtame) { + return (dog_move(mtmp, after)); + } + /* likewise for shopkeeper */ + if (mtmp->isshk) { + mmoved = shk_move(mtmp); + if (mmoved >= 0) + goto postmov; + mmoved = 0; /* follow player outside shop */ + } + /* and for the guard */ + if (mtmp->isgd) { + mmoved = gd_move(); + goto postmov; + } + /* + * teleport if that lies in our nature ('t') or when badly wounded + * ('1') + */ + if ((msym == 't' && !rn2(5)) + || (msym == '1' && (mtmp->mhp < 7 || (!xdnstair && !rn2(5)) + || levl[u.ux][u.uy].typ == STAIRS))) { + if (mtmp->mhp < 7 || (msym == 't' && rn2(2))) + rloc(mtmp); + else + mnexto(mtmp); + mmoved = 1; + goto postmov; + } + /* spit fire ('D') or use a wand ('1') when appropriate */ + if (strchr("D1", msym)) + inrange(mtmp); + + if (msym == 'U' && !mtmp->mcan && canseemon(mtmp) && + mtmp->mcansee && rn2(5)) { + if (!Confusion) + pline("%s's gaze has confused you!", Monnam(mtmp)); + else + pline("You are getting more and more confused."); + if (rn2(3)) + mtmp->mcan = 1; + Confusion += d(3, 4); /* timeout */ + } +not_special: + if (!mtmp->mflee && u.uswallow && u.ustuck != mtmp) + return (1); + appr = 1; + if (mtmp->mflee) + appr = -1; + if (mtmp->mconf || Invis || !mtmp->mcansee || + (strchr("BIy", msym) && !rn2(3))) + appr = 0; + omx = mtmp->mx; + omy = mtmp->my; + gx = u.ux; + gy = u.uy; + if (msym == 'L' && appr == 1 && mtmp->mgold > u.ugold) + appr = -1; + + /* + * random criterion for 'smell' or track finding ability should use + * mtmp->msmell or sth + */ + if (msym == '@' || + ('a' <= msym && msym <= 'z')) { + coord *cp; + schar mroom; + mroom = inroom(omx, omy); + if (mroom < 0 || mroom != inroom(u.ux, u.uy)) { + cp = gettrack(omx, omy); + if (cp) { + gx = cp->x; + gy = cp->y; + } + } + } + /* look for gold or jewels nearby */ + likegold = (strchr("LOD", msym) != NULL); + likegems = (strchr("ODu", msym) != NULL); + likeobjs = mtmp->mhide; +#define SRCHRADIUS 25 + { + xchar mind = SRCHRADIUS; /* not too far away */ + int dd; + if (likegold) { + struct gold *gold; + for (gold = fgold; gold; gold = gold->ngold) + if ((dd = DIST(omx, omy, gold->gx, gold->gy)) < mind) { + mind = dd; + gx = gold->gx; + gy = gold->gy; + } + } + if (likegems || likeobjs) { + struct obj *otmp; + for (otmp = fobj; otmp; otmp = otmp->nobj) + if (likeobjs || otmp->olet == GEM_SYM) + if (msym != 'u' || + objects[otmp->otyp].g_val != 0) + if ((dd = DIST(omx, omy, otmp->ox, otmp->oy)) < mind) { + mind = dd; + gx = otmp->ox; + gy = otmp->oy; + } + } + if (mind < SRCHRADIUS && appr == -1) { + if (dist(omx, omy) < 10) { + gx = u.ux; + gy = u.uy; + } else + appr = 1; + } + } + nix = omx; + niy = omy; + cnt = mfndpos(mtmp, poss, info, + msym == 'u' ? NOTONL : + (msym == '@' || msym == '1') ? (ALLOW_SSM | ALLOW_TRAPS) : + strchr(UNDEAD, msym) ? NOGARLIC : ALLOW_TRAPS); + /* ALLOW_ROCK for some monsters ? */ + chcnt = 0; + chi = -1; + for (i = 0; i < cnt; i++) { + nx = poss[i].x; + ny = poss[i].y; + for (j = 0; j < MTSZ && j < cnt - 1; j++) + if (nx == mtmp->mtrack[j].x && ny == mtmp->mtrack[j].y) + if (rn2(4 * (cnt - j))) + goto nxti; +#ifdef STUPID + /* some stupid compilers think that this is too complicated */ + { + int d1 = DIST(nx, ny, gx, gy); + int d2 = DIST(nix, niy, gx, gy); + nearer = (d1 < d2); + } +#else + nearer = (DIST(nx, ny, gx, gy) < DIST(nix, niy, gx, gy)); +#endif /* STUPID */ + if ((appr == 1 && nearer) || (appr == -1 && !nearer) || + !mmoved || + (!appr && !rn2(++chcnt))) { + nix = nx; + niy = ny; + chi = i; + mmoved = 1; + } +nxti: ; + } + if (mmoved) { + if (info[chi] & ALLOW_M) { + mtmp2 = m_at(nix, niy); + if (hitmm(mtmp, mtmp2) == 1 && rn2(4) && + hitmm(mtmp2, mtmp) == 2) + return (2); + return (0); + } + if (info[chi] & ALLOW_U) { + (void) hitu(mtmp, d(mtmp->data->damn, mtmp->data->damd) + 1); + return (0); + } + mtmp->mx = nix; + mtmp->my = niy; + for (j = MTSZ - 1; j > 0; j--) + mtmp->mtrack[j] = mtmp->mtrack[j - 1]; + mtmp->mtrack[0].x = omx; + mtmp->mtrack[0].y = omy; +#ifndef NOWORM + if (mtmp->wormno) + worm_move(mtmp); +#endif /* NOWORM */ + } else { + if (msym == 'u' && rn2(2)) { + rloc(mtmp); + return (0); + } +#ifndef NOWORM + if (mtmp->wormno) + worm_nomove(mtmp); +#endif /* NOWORM */ + } +postmov: + if (mmoved == 1) { + if (mintrap(mtmp) == 2) /* he died */ + return (2); + if (likegold) + mpickgold(mtmp); + if (likegems) + mpickgems(mtmp); + if (mtmp->mhide) + mtmp->mundetected = 1; + } + pmon(mtmp); + return (mmoved); +} + +void +mpickgold(mtmp) + struct monst *mtmp; +{ + struct gold *gold; + while ((gold = g_at(mtmp->mx, mtmp->my)) != NULL) { + mtmp->mgold += gold->amount; + freegold(gold); + if (levl[mtmp->mx][mtmp->my].scrsym == '$') + newsym(mtmp->mx, mtmp->my); + } +} + +void +mpickgems(mtmp) + struct monst *mtmp; +{ + struct obj *otmp; + for (otmp = fobj; otmp; otmp = otmp->nobj) + if (otmp->olet == GEM_SYM) + if (otmp->ox == mtmp->mx && otmp->oy == mtmp->my) + if (mtmp->data->mlet != 'u' || objects[otmp->otyp].g_val != 0) { + freeobj(otmp); + mpickobj(mtmp, otmp); + if (levl[mtmp->mx][mtmp->my].scrsym == GEM_SYM) + newsym(mtmp->mx, mtmp->my); /* %% */ + return; /* pick only one object */ + } +} + +/* return number of acceptable neighbour positions */ +int +mfndpos(mon, poss, info, flag) + struct monst *mon; + coord poss[9]; + int info[9], flag; +{ + int x, y, nx, ny, cnt = 0, ntyp; + struct monst *mtmp; + int nowtyp; + boolean pool; + + x = mon->mx; + y = mon->my; + nowtyp = levl[x][y].typ; + + pool = (mon->data->mlet == ';'); +nexttry: /* eels prefer the water, but if there is no + * water nearby, they will crawl over land */ + if (mon->mconf) { + flag |= ALLOW_ALL; + flag &= ~NOTONL; + } + for (nx = x - 1; nx <= x + 1; nx++) + for (ny = y - 1; ny <= y + 1; ny++) + if (nx != x || ny != y) + if (isok(nx, ny)) + if (!IS_ROCK(ntyp = levl[nx][ny].typ)) + if (!(nx != x && ny != y && (nowtyp == DOOR || ntyp == DOOR))) + if ((ntyp == POOL) == pool) { + info[cnt] = 0; + if (nx == u.ux && ny == u.uy) { + if (!(flag & ALLOW_U)) + continue; + info[cnt] = ALLOW_U; + } else if ((mtmp = m_at(nx, ny)) != NULL) { + if (!(flag & ALLOW_M)) + continue; + info[cnt] = ALLOW_M; + if (mtmp->mtame) { + if (!(flag & ALLOW_TM)) + continue; + info[cnt] |= ALLOW_TM; + } + } + if (sobj_at(CLOVE_OF_GARLIC, nx, ny)) { + if (flag & NOGARLIC) + continue; + info[cnt] |= NOGARLIC; + } + if (sobj_at(SCR_SCARE_MONSTER, nx, ny) || + (!mon->mpeaceful && sengr_at("Elbereth", nx, ny))) { + if (!(flag & ALLOW_SSM)) + continue; + info[cnt] |= ALLOW_SSM; + } + if (sobj_at(ENORMOUS_ROCK, nx, ny)) { + if (!(flag & ALLOW_ROCK)) + continue; + info[cnt] |= ALLOW_ROCK; + } + if (!Invis && online(nx, ny)) { + if (flag & NOTONL) + continue; + info[cnt] |= NOTONL; + } + /* + * we cannot + * avoid + * traps of + * an unknown + * kind + */ + { + struct trap *ttmp = t_at(nx, ny); + int tt; + if (ttmp) { + tt = 1 << ttmp->ttyp; + if (mon->mtrapseen & tt) { + if (!(flag & tt)) + continue; + info[cnt] |= tt; + } + } + } + poss[cnt].x = nx; + poss[cnt].y = ny; + cnt++; + } + if (!cnt && pool && nowtyp != POOL) { + pool = FALSE; + goto nexttry; + } + return (cnt); +} + +int +dist(x, y) + int x, y; +{ + return ((x - u.ux) * (x - u.ux) + (y - u.uy) * (y - u.uy)); +} + +void +poisoned(string, pname) + const char *string, *pname; +{ + int i; + + if (Blind) + pline("It was poisoned."); + else + pline("The %s was poisoned!", string); + if (Poison_resistance) { + pline("The poison doesn't seem to affect you."); + return; + } + i = rn2(10); + if (i == 0) { + u.uhp = -1; + pline("I am afraid the poison was deadly ..."); + } else if (i <= 5) { + losestr(rn1(3, 3)); + } else { + losehp(rn1(10, 6), pname); + } + if (u.uhp < 1) { + killer = pname; + done("died"); + } +} + +void +mondead(mtmp) + struct monst *mtmp; +{ + relobj(mtmp, 1); + unpmon(mtmp); + relmon(mtmp); + unstuck(mtmp); + if (mtmp->isshk) + shkdead(mtmp); + if (mtmp->isgd) + gddead(); +#ifndef NOWORM + if (mtmp->wormno) + wormdead(mtmp); +#endif /* NOWORM */ + monfree(mtmp); +} + +/* called when monster is moved to larger structure */ +void +replmon(mtmp, mtmp2) + struct monst *mtmp, *mtmp2; +{ + relmon(mtmp); + monfree(mtmp); + mtmp2->nmon = fmon; + fmon = mtmp2; + if (u.ustuck == mtmp) + u.ustuck = mtmp2; + if (mtmp2->isshk) + replshk(mtmp, mtmp2); + if (mtmp2->isgd) + replgd(mtmp, mtmp2); +} + +void +relmon(mon) + struct monst *mon; +{ + struct monst *mtmp; + + if (mon == fmon) + fmon = fmon->nmon; + else { + for (mtmp = fmon; mtmp->nmon != mon; mtmp = mtmp->nmon); + mtmp->nmon = mon->nmon; + } +} + +/* + * we do not free monsters immediately, in order to have their name available + * shortly after their demise + */ +struct monst *fdmon; /* chain of dead monsters, need not to be + * saved */ + +void +monfree(mtmp) + struct monst *mtmp; +{ + mtmp->nmon = fdmon; + fdmon = mtmp; +} + +void +dmonsfree() +{ + struct monst *mtmp; + while ((mtmp = fdmon) != NULL) { + fdmon = mtmp->nmon; + free((char *) mtmp); + } +} + +void +unstuck(mtmp) + struct monst *mtmp; +{ + if (u.ustuck == mtmp) { + if (u.uswallow) { + u.ux = mtmp->mx; + u.uy = mtmp->my; + u.uswallow = 0; + setsee(); + docrt(); + } + u.ustuck = 0; + } +} + +void +killed(mtmp) + struct monst *mtmp; +{ +#ifdef lint +#define NEW_SCORING +#endif /* lint */ + int tmp, nk, x, y; + const struct permonst *mdat; + + if (mtmp->cham) + mtmp->data = PM_CHAMELEON; + mdat = mtmp->data; + if (Blind) + pline("You destroy it!"); + else { + pline("You destroy %s!", + mtmp->mtame ? amonnam(mtmp, "poor") : monnam(mtmp)); + } + if (u.umconf) { + if (!Blind) + pline("Your hands stop glowing blue."); + u.umconf = 0; + } + /* count killed monsters */ +#define MAXMONNO 100 + nk = 1; /* in case we cannot find it in mons */ + tmp = mdat - mons; /* strchr in mons array (if not 'd', '@', ...) */ + if (tmp >= 0 && tmp < CMNUM + 2) { + u.nr_killed[tmp]++; + if ((nk = u.nr_killed[tmp]) > MAXMONNO && + !strchr(fut_geno, mdat->mlet)) + charcat(fut_geno, mdat->mlet); + } + /* punish bad behaviour */ + if (mdat->mlet == '@') + Telepat = 0, u.uluck -= 2; + if (mtmp->mpeaceful || mtmp->mtame) + u.uluck--; + if (mdat->mlet == 'u') + u.uluck -= 5; + if ((int) u.uluck < LUCKMIN) + u.uluck = LUCKMIN; + + /* give experience points */ + tmp = 1 + mdat->mlevel * mdat->mlevel; + if (mdat->ac < 3) + tmp += 2 * (7 - mdat->ac); + if (strchr("AcsSDXaeRTVWU&In:P", mdat->mlet)) + tmp += 2 * mdat->mlevel; + if (strchr("DeV&P", mdat->mlet)) + tmp += (7 * mdat->mlevel); + if (mdat->mlevel > 6) + tmp += 50; + if (mdat->mlet == ';') + tmp += 1000; + +#ifdef NEW_SCORING + /* + * ------- recent addition: make nr of points decrease when this is + * not the first of this kind + */ + { + int ul = u.ulevel; + int ml = mdat->mlevel; + + if (ul < 14) /* points are given based on present and + * future level */ + for (tmp2 = 0; !tmp2 || ul + tmp2 <= ml; tmp2++) + if (u.uexp + 1 + (tmp + ((tmp2 <= 0) ? 0 : 4 << (tmp2 - 1))) / nk + >= 10 * pow((unsigned) (ul - 1))) + if (++ul == 14) + break; + + tmp2 = ml - ul - 1; + tmp = (tmp + ((tmp2 < 0) ? 0 : 4 << tmp2)) / nk; + if (!tmp) + tmp = 1; + } + /* note: ul is not necessarily the future value of u.ulevel */ + /* ------- end of recent valuation change ------- */ +#endif /* NEW_SCORING */ + + more_experienced(tmp, 0); + flags.botl = 1; + while (u.ulevel < 14 && u.uexp >= newuexp()) { + pline("Welcome to experience level %u.", ++u.ulevel); + tmp = rnd(10); + if (tmp < 3) + tmp = rnd(10); + u.uhpmax += tmp; + u.uhp += tmp; + flags.botl = 1; + } + + /* dispose of monster and make cadaver */ + x = mtmp->mx; + y = mtmp->my; + mondead(mtmp); + tmp = mdat->mlet; + if (tmp == 'm') { /* he killed a minotaur, give him a wand of + * digging */ + /* note: the dead minotaur will be on top of it! */ + mksobj_at(WAN_DIGGING, x, y); + /* if(cansee(x,y)) atl(x,y,fobj->olet); */ + stackobj(fobj); + } else +#ifndef NOWORM + if (tmp == 'w') { + mksobj_at(WORM_TOOTH, x, y); + stackobj(fobj); + } else +#endif /* NOWORM */ + if (!letter(tmp) || (!strchr("mw", tmp) && !rn2(3))) + tmp = 0; + + if (ACCESSIBLE(levl[x][y].typ)) /* might be mimic in wall or dead eel */ + if (x != u.ux || y != u.uy) /* might be here after + * swallowed */ + if (strchr("NTVm&", mdat->mlet) || rn2(5)) { + struct obj *obj2 = mkobj_at(tmp, x, y); + if (cansee(x, y)) + atl(x, y, obj2->olet); + stackobj(obj2); + } +} + +void +kludge(const char *str, const char *arg) +{ + if (Blind) { + if (*str == '%') + pline(str, "It"); + else + pline(str, "it"); + } else + pline(str, arg); +} + +void +rescham() +{ /* force all chameleons to become normal */ + struct monst *mtmp; + + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) + if (mtmp->cham) { + mtmp->cham = 0; + (void) newcham(mtmp, PM_CHAMELEON); + } +} + +int +newcham(mtmp, mdat) /* make a chameleon look like a new monster */ +/* returns 1 if the monster actually changed */ + struct monst *mtmp; + const struct permonst *mdat; +{ + int mhp, hpn, hpd; + + if (mdat == mtmp->data) + return (0); /* still the same monster */ +#ifndef NOWORM + if (mtmp->wormno) + wormdead(mtmp); /* throw tail away */ +#endif /* NOWORM */ + if (u.ustuck == mtmp) { + if (u.uswallow) { + u.uswallow = 0; + u.uswldtim = 0; + mnexto(mtmp); + docrt(); + prme(); + } + u.ustuck = 0; + } + hpn = mtmp->mhp; + hpd = (mtmp->data->mlevel) * 8; + if (!hpd) + hpd = 4; + mtmp->data = mdat; + mhp = (mdat->mlevel) * 8; + /* new hp: same fraction of max as before */ + mtmp->mhp = 2 + (hpn * mhp) / hpd; + hpn = mtmp->mhpmax; + mtmp->mhpmax = 2 + (hpn * mhp) / hpd; + mtmp->minvis = (mdat->mlet == 'I') ? 1 : 0; +#ifndef NOWORM + if (mdat->mlet == 'w' && getwn(mtmp)) + initworm(mtmp); + /* perhaps we should clear mtmp->mtame here? */ +#endif /* NOWORM */ + unpmon(mtmp); /* necessary for 'I' and to force pmon */ + pmon(mtmp); + return (1); +} + +void +mnexto(mtmp) /* Make monster mtmp next to you (if + * possible) */ + struct monst *mtmp; +{ + coord mm; + mm = enexto(u.ux, u.uy); + mtmp->mx = mm.x; + mtmp->my = mm.y; + pmon(mtmp); +} + +int +ishuman(mtmp) + struct monst *mtmp; +{ + return (mtmp->data->mlet == '@'); +} + +void +setmangry(mtmp) + struct monst *mtmp; +{ + if (!mtmp->mpeaceful) + return; + if (mtmp->mtame) + return; + mtmp->mpeaceful = 0; + if (ishuman(mtmp)) + pline("%s gets angry!", Monnam(mtmp)); +} + +/* + * not one hundred procent correct: now a snake may hide under an invisible + * object + */ +int +canseemon(mtmp) + struct monst *mtmp; +{ + return ((!mtmp->minvis || See_invisible) + && (!mtmp->mhide || !o_at(mtmp->mx, mtmp->my)) + && cansee(mtmp->mx, mtmp->my)); +} diff --git a/hack/hack.monst.c b/hack/hack.monst.c new file mode 100644 index 0000000..4c30814 --- /dev/null +++ b/hack/hack.monst.c @@ -0,0 +1,144 @@ +/* $NetBSD: hack.monst.c,v 1.6 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.monst.c,v 1.6 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include "hack.h" +#include "extern.h" +#include "def.eshk.h" + +const struct permonst mons[CMNUM + 2] = { + {"bat", 'B', 1, 22, 8, 1, 4, 0}, + {"gnome", 'G', 1, 6, 5, 1, 6, 0}, + {"hobgoblin", 'H', 1, 9, 5, 1, 8, 0}, + {"jackal", 'J', 0, 12, 7, 1, 2, 0}, + {"kobold", 'K', 1, 6, 7, 1, 4, 0}, + {"leprechaun", 'L', 5, 15, 8, 1, 2, 0}, + {"giant rat", 'r', 0, 12, 7, 1, 3, 0}, + {"acid blob", 'a', 2, 3, 8, 0, 0, 0}, + {"floating eye", 'E', 2, 1, 9, 0, 0, 0}, + {"homunculus", 'h', 2, 6, 6, 1, 3, 0}, + {"imp", 'i', 2, 6, 2, 1, 4, 0}, + {"orc", 'O', 2, 9, 6, 1, 8, 0}, + {"yellow light", 'y', 3, 15, 0, 0, 0, 0}, + {"zombie", 'Z', 2, 6, 8, 1, 8, 0}, + {"giant ant", 'A', 3, 18, 3, 1, 6, 0}, + {"fog cloud", 'f', 3, 1, 0, 1, 6, 0}, + {"nymph", 'N', 6, 12, 9, 1, 2, 0}, + {"piercer", 'p', 3, 1, 3, 2, 6, 0}, + {"quasit", 'Q', 3, 15, 3, 1, 4, 0}, + {"quivering blob", 'q', 3, 1, 8, 1, 8, 0}, + {"violet fungi", 'v', 3, 1, 7, 1, 4, 0}, + {"giant beetle", 'b', 4, 6, 4, 3, 4, 0}, + {"centaur", 'C', 4, 18, 4, 1, 6, 0}, + {"cockatrice", 'c', 4, 6, 6, 1, 3, 0}, + {"gelatinous cube", 'g', 4, 6, 8, 2, 4, 0}, + {"jaguar", 'j', 4, 15, 6, 1, 8, 0}, + {"killer bee", 'k', 4, 14, 4, 2, 4, 0}, + {"snake", 'S', 4, 15, 3, 1, 6, 0}, + {"freezing sphere", 'F', 2, 13, 4, 0, 0, 0}, + {"owlbear", 'o', 5, 12, 5, 2, 6, 0}, + {"rust monster", 'R', 10, 18, 3, 0, 0, 0}, + {"scorpion", 's', 5, 15, 3, 1, 4, 0}, + {"tengu", 't', 5, 13, 5, 1, 7, 0}, + {"wraith", 'W', 5, 12, 5, 1, 6, 0}, +#ifdef NOWORM + {"wumpus", 'w', 8, 3, 2, 3, 6, 0}, +#else + {"long worm", 'w', 8, 3, 5, 1, 4, 0}, +#endif /* NOWORM */ + {"large dog", 'd', 6, 15, 4, 2, 4, 0}, + {"leocrotta", 'l', 6, 18, 4, 3, 6, 0}, + {"mimic", 'M', 7, 3, 7, 3, 4, 0}, + {"troll", 'T', 7, 12, 4, 2, 7, 0}, + {"unicorn", 'u', 8, 24, 5, 1, 10, 0}, + {"yeti", 'Y', 5, 15, 6, 1, 6, 0}, + {"stalker", 'I', 8, 12, 3, 4, 4, 0}, + {"umber hulk", 'U', 9, 6, 2, 2, 10, 0}, + {"vampire", 'V', 8, 12, 1, 1, 6, 0}, + {"xorn", 'X', 8, 9, -2, 4, 6, 0}, + {"xan", 'x', 7, 18, -2, 2, 4, 0}, + {"zruty", 'z', 9, 8, 3, 3, 6, 0}, + {"chameleon", ':', 6, 5, 6, 4, 2, 0}, + {"dragon", 'D', 10, 9, -1, 3, 8, 0}, + {"ettin", 'e', 10, 12, 3, 2, 8, 0}, + {"lurker above", '\'', 10, 3, 3, 0, 0, 0}, + {"nurse", 'n', 11, 6, 0, 1, 3, 0}, + {"trapper", ',', 12, 3, 3, 0, 0, 0}, + {"purple worm", 'P', 15, 9, 6, 2, 8, 0}, + {"demon", '&', 10, 12, -4, 1, 4, 0}, + {"minotaur", 'm', 15, 15, 6, 4, 10, 0}, + {"shopkeeper", '@', 12, 18, 0, 4, 8, sizeof(struct eshk)} +}; + +const struct permonst pm_ghost = {"ghost", ' ', 10, 3, -5, 1, 1, sizeof(plname)}; +const struct permonst pm_wizard = { + "wizard of Yendor", '1', 15, 12, -2, 1, 12, 0 +}; +#ifdef MAIL +const struct permonst pm_mail_daemon = {"mail daemon", '2', 100, 1, 10, 0, 0, 0}; +#endif /* MAIL */ +const struct permonst pm_eel = {"giant eel", ';', 15, 6, -3, 3, 6, 0}; diff --git a/hack/hack.o_init.c b/hack/hack.o_init.c new file mode 100644 index 0000000..dc5bf93 --- /dev/null +++ b/hack/hack.o_init.c @@ -0,0 +1,247 @@ +/* $NetBSD: hack.o_init.c,v 1.7 2003/04/02 18:36:38 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.o_init.c,v 1.7 2003/04/02 18:36:38 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" +#include "def.objects.h" +#include "hack.onames.h" /* for LAST_GEM */ + +int +letindex(let) + char let; +{ + int i = 0; + char ch; + while ((ch = obj_symbols[i++]) != 0) + if (ch == let) + return (i); + return (0); +} + +void +init_objects() +{ + int i, j, first, last, sum, end; + char let; + const char *tmp; + /* + * init base; if probs given check that they add up to 100, otherwise + * compute probs; shuffle descriptions + */ + end = SIZE(objects); + first = 0; + while (first < end) { + let = objects[first].oc_olet; + last = first + 1; + while (last < end && objects[last].oc_olet == let + && objects[last].oc_name != NULL) + last++; + i = letindex(let); + if ((!i && let != ILLOBJ_SYM) || bases[i] != 0) + error("initialization error"); + bases[i] = first; + + if (let == GEM_SYM) + setgemprobs(); +check: + sum = 0; + for (j = first; j < last; j++) + sum += objects[j].oc_prob; + if (sum == 0) { + for (j = first; j < last; j++) + objects[j].oc_prob = (100 + j - first) / (last - first); + goto check; + } + if (sum != 100) + error("init-prob error for %c", let); + + if (objects[first].oc_descr != NULL && let != TOOL_SYM) { + /* shuffle, also some additional descriptions */ + while (last < end && objects[last].oc_olet == let) + last++; + j = last; + while (--j > first) { + i = first + rn2(j + 1 - first); + tmp = objects[j].oc_descr; + objects[j].oc_descr = objects[i].oc_descr; + objects[i].oc_descr = tmp; + } + } + first = last; + } +} + +int +probtype(let) + char let; +{ + int i = bases[letindex(let)]; + int prob = rn2(100); + while ((prob -= objects[i].oc_prob) >= 0) + i++; + if (objects[i].oc_olet != let || !objects[i].oc_name) + panic("probtype(%c) error, i=%d", let, i); + return (i); +} + +void +setgemprobs() +{ + int j, first; + + first = bases[letindex(GEM_SYM)]; + + for (j = 0; j < 9 - dlevel / 3; j++) + objects[first + j].oc_prob = 0; + first += j; + if (first >= LAST_GEM || first >= SIZE(objects) || + objects[first].oc_olet != GEM_SYM || + objects[first].oc_name == NULL) + printf("Not enough gems? - first=%d j=%d LAST_GEM=%d\n", + first, j, LAST_GEM); + for (j = first; j < LAST_GEM; j++) + objects[j].oc_prob = (20 + j - first) / (LAST_GEM - first); +} + +void +oinit() +{ /* level dependent initialization */ + setgemprobs(); +} + +void +savenames(fd) + int fd; +{ + int i; + unsigned len; + bwrite(fd, (char *) bases, sizeof bases); + bwrite(fd, (char *) objects, sizeof objects); + /* + * as long as we use only one version of Hack/Quest we need not save + * oc_name and oc_descr, but we must save oc_uname for all objects + */ + for (i = 0; i < SIZE(objects); i++) { + if (objects[i].oc_uname) { + len = strlen(objects[i].oc_uname) + 1; + bwrite(fd, (char *) &len, sizeof len); + bwrite(fd, objects[i].oc_uname, len); + } + } +} + +void +restnames(fd) + int fd; +{ + int i; + unsigned len; + mread(fd, (char *) bases, sizeof bases); + mread(fd, (char *) objects, sizeof objects); + for (i = 0; i < SIZE(objects); i++) + if (objects[i].oc_uname) { + mread(fd, (char *) &len, sizeof len); + objects[i].oc_uname = (char *) alloc(len); + mread(fd, objects[i].oc_uname, len); + } +} + +int +dodiscovered() +{ /* free after Robert Viduya */ + int i, end; + int ct = 0; + + cornline(0, "Discoveries"); + + end = SIZE(objects); + for (i = 0; i < end; i++) { + if (interesting_to_discover(i)) { + ct++; + cornline(1, typename(i)); + } + } + if (ct == 0) { + pline("You haven't discovered anything yet..."); + cornline(3, (char *) 0); + } else + cornline(2, (char *) 0); + + return (0); +} + +int +interesting_to_discover(i) + int i; +{ + return ( + objects[i].oc_uname != NULL || + (objects[i].oc_name_known && objects[i].oc_descr != NULL) + ); +} diff --git a/hack/hack.objnam.c b/hack/hack.objnam.c new file mode 100644 index 0000000..10456c7 --- /dev/null +++ b/hack/hack.objnam.c @@ -0,0 +1,643 @@ +/* $NetBSD: hack.objnam.c,v 1.6 2003/04/02 18:36:39 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.objnam.c,v 1.6 2003/04/02 18:36:39 jsm Exp $"); +#endif /* not lint */ + +#include +#include "hack.h" +#include "extern.h" +#define Sprintf (void) sprintf +#define Strcat (void) strcat +#define Strcpy (void) strcpy +#define PREFIX 15 + +char * +strprepend(s, pref) + char *s, *pref; +{ + int i = strlen(pref); + if (i > PREFIX) { + pline("WARNING: prefix too short."); + return (s); + } + s -= i; + (void) strncpy(s, pref, i); /* do not copy trailing 0 */ + return (s); +} + +char * +sitoa(a) + int a; +{ + static char buf[13]; + Sprintf(buf, (a < 0) ? "%d" : "+%d", a); + return (buf); +} + +char * +typename(otyp) + int otyp; +{ + static char buf[BUFSZ]; + struct objclass *ocl = &objects[otyp]; + const char *an = ocl->oc_name; + const char *dn = ocl->oc_descr; + char *un = ocl->oc_uname; + int nn = ocl->oc_name_known; + switch (ocl->oc_olet) { + case POTION_SYM: + Strcpy(buf, "potion"); + break; + case SCROLL_SYM: + Strcpy(buf, "scroll"); + break; + case WAND_SYM: + Strcpy(buf, "wand"); + break; + case RING_SYM: + Strcpy(buf, "ring"); + break; + default: + if (nn) { + Strcpy(buf, an); + if (otyp >= TURQUOISE && otyp <= JADE) + Strcat(buf, " stone"); + if (un) + Sprintf(eos(buf), " called %s", un); + if (dn) + Sprintf(eos(buf), " (%s)", dn); + } else { + Strcpy(buf, dn ? dn : an); + if (ocl->oc_olet == GEM_SYM) + Strcat(buf, " gem"); + if (un) + Sprintf(eos(buf), " called %s", un); + } + return (buf); + } + /* here for ring/scroll/potion/wand */ + if (nn) + Sprintf(eos(buf), " of %s", an); + if (un) + Sprintf(eos(buf), " called %s", un); + if (dn) + Sprintf(eos(buf), " (%s)", dn); + return (buf); +} + +char * +xname(obj) + struct obj *obj; +{ + static char bufr[BUFSZ]; + char *buf = &(bufr[PREFIX]); /* leave room for "17 -3 " */ + int nn = objects[obj->otyp].oc_name_known; + const char *an = objects[obj->otyp].oc_name; + const char *dn = objects[obj->otyp].oc_descr; + char *un = objects[obj->otyp].oc_uname; + int pl = (obj->quan != 1); + if (!obj->dknown && !Blind) + obj->dknown = 1;/* %% doesnt belong here */ + switch (obj->olet) { + case AMULET_SYM: + Strcpy(buf, (obj->spe < 0 && obj->known) + ? "cheap plastic imitation of the " : ""); + Strcat(buf, "Amulet of Yendor"); + break; + case TOOL_SYM: + if (!nn) { + Strcpy(buf, dn); + break; + } + Strcpy(buf, an); + break; + case FOOD_SYM: + if (obj->otyp == DEAD_HOMUNCULUS && pl) { + pl = 0; + Strcpy(buf, "dead homunculi"); + break; + } + /* fungis ? */ + /* fall into next case */ + case WEAPON_SYM: + if (obj->otyp == WORM_TOOTH && pl) { + pl = 0; + Strcpy(buf, "worm teeth"); + break; + } + if (obj->otyp == CRYSKNIFE && pl) { + pl = 0; + Strcpy(buf, "crysknives"); + break; + } + /* fall into next case */ + case ARMOR_SYM: + case CHAIN_SYM: + case ROCK_SYM: + Strcpy(buf, an); + break; + case BALL_SYM: + Sprintf(buf, "%sheavy iron ball", + (obj->owt > objects[obj->otyp].oc_weight) ? "very " : ""); + break; + case POTION_SYM: + if (nn || un || !obj->dknown) { + Strcpy(buf, "potion"); + if (pl) { + pl = 0; + Strcat(buf, "s"); + } + if (!obj->dknown) + break; + if (un) { + Strcat(buf, " called "); + Strcat(buf, un); + } else { + Strcat(buf, " of "); + Strcat(buf, an); + } + } else { + Strcpy(buf, dn); + Strcat(buf, " potion"); + } + break; + case SCROLL_SYM: + Strcpy(buf, "scroll"); + if (pl) { + pl = 0; + Strcat(buf, "s"); + } + if (!obj->dknown) + break; + if (nn) { + Strcat(buf, " of "); + Strcat(buf, an); + } else if (un) { + Strcat(buf, " called "); + Strcat(buf, un); + } else { + Strcat(buf, " labeled "); + Strcat(buf, dn); + } + break; + case WAND_SYM: + if (!obj->dknown) + Sprintf(buf, "wand"); + else if (nn) + Sprintf(buf, "wand of %s", an); + else if (un) + Sprintf(buf, "wand called %s", un); + else + Sprintf(buf, "%s wand", dn); + break; + case RING_SYM: + if (!obj->dknown) + Sprintf(buf, "ring"); + else if (nn) + Sprintf(buf, "ring of %s", an); + else if (un) + Sprintf(buf, "ring called %s", un); + else + Sprintf(buf, "%s ring", dn); + break; + case GEM_SYM: + if (!obj->dknown) { + Strcpy(buf, "gem"); + break; + } + if (!nn) { + Sprintf(buf, "%s gem", dn); + break; + } + Strcpy(buf, an); + if (obj->otyp >= TURQUOISE && obj->otyp <= JADE) + Strcat(buf, " stone"); + break; + default: + Sprintf(buf, "glorkum %c (0%o) %u %d", + obj->olet, obj->olet, obj->otyp, obj->spe); + } + if (pl) { + char *p; + + for (p = buf; *p; p++) { + if (!strncmp(" of ", p, 4)) { + /* pieces of, cloves of, lumps of */ + int c1, c2 = 's'; + + do { + c1 = c2; + c2 = *p; + *p++ = c1; + } while (c1); + goto nopl; + } + } + p = eos(buf) - 1; + if (*p == 's' || *p == 'z' || *p == 'x' || + (*p == 'h' && p[-1] == 's')) + Strcat(buf, "es"); /* boxes */ + else if (*p == 'y' && !strchr(vowels, p[-1])) + Strcpy(p, "ies"); /* rubies, zruties */ + else + Strcat(buf, "s"); + } +nopl: + if (obj->onamelth) { + Strcat(buf, " named "); + Strcat(buf, ONAME(obj)); + } + return (buf); +} + +char * +doname(obj) + struct obj *obj; +{ + char prefix[PREFIX]; + char *bp = xname(obj); + if (obj->quan != 1) + Sprintf(prefix, "%u ", obj->quan); + else + Strcpy(prefix, "a "); + switch (obj->olet) { + case AMULET_SYM: + if (strncmp(bp, "cheap ", 6)) + Strcpy(prefix, "the "); + break; + case ARMOR_SYM: + if (obj->owornmask & W_ARMOR) + Strcat(bp, " (being worn)"); + /* fall into next case */ + case WEAPON_SYM: + if (obj->known) { + Strcat(prefix, sitoa(obj->spe)); + Strcat(prefix, " "); + } + break; + case WAND_SYM: + if (obj->known) + Sprintf(eos(bp), " (%d)", obj->spe); + break; + case RING_SYM: + if (obj->owornmask & W_RINGR) + Strcat(bp, " (on right hand)"); + if (obj->owornmask & W_RINGL) + Strcat(bp, " (on left hand)"); + if (obj->known && (objects[obj->otyp].bits & SPEC)) { + Strcat(prefix, sitoa(obj->spe)); + Strcat(prefix, " "); + } + break; + } + if (obj->owornmask & W_WEP) + Strcat(bp, " (weapon in hand)"); + if (obj->unpaid) + Strcat(bp, " (unpaid)"); + if (!strcmp(prefix, "a ") && strchr(vowels, *bp)) + Strcpy(prefix, "an "); + bp = strprepend(bp, prefix); + return (bp); +} + +/* used only in hack.fight.c (thitu) */ +void +setan(const char *str, char *buf) +{ + if (strchr(vowels, *str)) + Sprintf(buf, "an %s", str); + else + Sprintf(buf, "a %s", str); +} + +char * +aobjnam(otmp, verb) + struct obj *otmp; + const char *verb; +{ + char *bp = xname(otmp); + char prefix[PREFIX]; + if (otmp->quan != 1) { + Sprintf(prefix, "%u ", otmp->quan); + bp = strprepend(bp, prefix); + } + if (verb) { + /* verb is given in plural (i.e., without trailing s) */ + Strcat(bp, " "); + if (otmp->quan != 1) + Strcat(bp, verb); + else if (!strcmp(verb, "are")) + Strcat(bp, "is"); + else { + Strcat(bp, verb); + Strcat(bp, "s"); + } + } + return (bp); +} + +char * +Doname(obj) + struct obj *obj; +{ + char *s = doname(obj); + + if ('a' <= *s && *s <= 'z') + *s -= ('a' - 'A'); + return (s); +} + +const char *const wrp[] = {"wand", "ring", "potion", "scroll", "gem"}; +const char wrpsym[] = {WAND_SYM, RING_SYM, POTION_SYM, SCROLL_SYM, GEM_SYM}; + +struct obj * +readobjnam(bp) + char *bp; +{ + char *p; + int i; + int cnt, spe, spesgn, typ, heavy; + char let; + char *un, *dn, *an; + /* int the = 0; char *oname = 0; */ + cnt = spe = spesgn = typ = heavy = 0; + let = 0; + an = dn = un = 0; + for (p = bp; *p; p++) + if ('A' <= *p && *p <= 'Z') + *p += 'a' - 'A'; + if (!strncmp(bp, "the ", 4)) { + /* the = 1; */ + bp += 4; + } else if (!strncmp(bp, "an ", 3)) { + cnt = 1; + bp += 3; + } else if (!strncmp(bp, "a ", 2)) { + cnt = 1; + bp += 2; + } + if (!cnt && digit(*bp)) { + cnt = atoi(bp); + while (digit(*bp)) + bp++; + while (*bp == ' ') + bp++; + } + if (!cnt) + cnt = 1; /* %% what with "gems" etc. ? */ + + if (*bp == '+' || *bp == '-') { + spesgn = (*bp++ == '+') ? 1 : -1; + spe = atoi(bp); + while (digit(*bp)) + bp++; + while (*bp == ' ') + bp++; + } else { + p = strrchr(bp, '('); + if (p) { + if (p > bp && p[-1] == ' ') + p[-1] = 0; + else + *p = 0; + p++; + spe = atoi(p); + while (digit(*p)) + p++; + if (strcmp(p, ")")) + spe = 0; + else + spesgn = 1; + } + } + /* + * now we have the actual name, as delivered by xname, say green + * potions called whisky scrolls labeled "QWERTY" egg dead zruties + * fortune cookies very heavy iron ball named hoei wand of wishing + * elven cloak + */ + for (p = bp; *p; p++) + if (!strncmp(p, " named ", 7)) { + *p = 0; + /* oname = p+7; */ + } + for (p = bp; *p; p++) + if (!strncmp(p, " called ", 8)) { + *p = 0; + un = p + 8; + } + for (p = bp; *p; p++) + if (!strncmp(p, " labeled ", 9)) { + *p = 0; + dn = p + 9; + } + /* first change to singular if necessary */ + if (cnt != 1) { + /* find "cloves of garlic", "worthless pieces of blue glass" */ + for (p = bp; *p; p++) + if (!strncmp(p, "s of ", 5)) { + while ((*p = p[1]) != '\0') + p++; + goto sing; + } + /* remove -s or -es (boxes) or -ies (rubies, zruties) */ + p = eos(bp); + if (p[-1] == 's') { + if (p[-2] == 'e') { + if (p[-3] == 'i') { + if (!strcmp(p - 7, "cookies")) + goto mins; + Strcpy(p - 3, "y"); + goto sing; + } + /* note: cloves / knives from clove / knife */ + if (!strcmp(p - 6, "knives")) { + Strcpy(p - 3, "fe"); + goto sing; + } + /* note: nurses, axes but boxes */ + if (!strcmp(p - 5, "boxes")) { + p[-2] = 0; + goto sing; + } + } + mins: + p[-1] = 0; + } else { + if (!strcmp(p - 9, "homunculi")) { + Strcpy(p - 1, "us"); /* !! makes string + * longer */ + goto sing; + } + if (!strcmp(p - 5, "teeth")) { + Strcpy(p - 5, "tooth"); + goto sing; + } + /* here we cannot find the plural suffix */ + } + } +sing: + if (!strcmp(bp, "amulet of yendor")) { + typ = AMULET_OF_YENDOR; + goto typfnd; + } + p = eos(bp); + if (!strcmp(p - 5, " mail")) { /* Note: ring mail is not a ring ! */ + let = ARMOR_SYM; + an = bp; + goto srch; + } + for (i = 0; i < (int)sizeof(wrpsym); i++) { + int j = strlen(wrp[i]); + if (!strncmp(bp, wrp[i], j)) { + let = wrpsym[i]; + bp += j; + if (!strncmp(bp, " of ", 4)) + an = bp + 4; + /* else if(*bp) ?? */ + goto srch; + } + if (!strcmp(p - j, wrp[i])) { + let = wrpsym[i]; + p -= j; + *p = 0; + if (p[-1] == ' ') + p[-1] = 0; + dn = bp; + goto srch; + } + } + if (!strcmp(p - 6, " stone")) { + p[-6] = 0; + let = GEM_SYM; + an = bp; + goto srch; + } + if (!strcmp(bp, "very heavy iron ball")) { + heavy = 1; + typ = HEAVY_IRON_BALL; + goto typfnd; + } + an = bp; +srch: + if (!an && !dn && !un) + goto any; + i = 1; + if (let) + i = bases[letindex(let)]; + while (i <= NROFOBJECTS && (!let || objects[i].oc_olet == let)) { + const char *zn = objects[i].oc_name; + + if (!zn) + goto nxti; + if (an && strcmp(an, zn)) + goto nxti; + if (dn && (!(zn = objects[i].oc_descr) || strcmp(dn, zn))) + goto nxti; + if (un && (!(zn = objects[i].oc_uname) || strcmp(un, zn))) + goto nxti; + typ = i; + goto typfnd; +nxti: + i++; + } +any: + if (!let) + let = wrpsym[rn2(sizeof(wrpsym))]; + typ = probtype(let); +typfnd: + { + struct obj *otmp; + let = objects[typ].oc_olet; + otmp = mksobj(typ); + if (heavy) + otmp->owt += 15; + if (cnt > 0 && strchr("%?!*)", let) && + (cnt < 4 || (let == WEAPON_SYM && typ <= ROCK && cnt < 20))) + otmp->quan = cnt; + + if (spe > 3 && spe > otmp->spe) + spe = 0; + else if (let == WAND_SYM) + spe = otmp->spe; + if (spe == 3 && u.uluck < 0) + spesgn = -1; + if (let != WAND_SYM && spesgn == -1) + spe = -spe; + if (let == BALL_SYM) + spe = 0; + else if (let == AMULET_SYM) + spe = -1; + else if (typ == WAN_WISHING && rn2(10)) + spe = (rn2(10) ? -1 : 0); + otmp->spe = spe; + + if (spesgn == -1) + otmp->cursed = 1; + + return (otmp); + } +} diff --git a/hack/hack.options.c b/hack/hack.options.c new file mode 100644 index 0000000..ea55cb8 --- /dev/null +++ b/hack/hack.options.c @@ -0,0 +1,276 @@ +/* $NetBSD: hack.options.c,v 1.7 2004/01/01 16:02:51 jsm Exp $ */ + +/* + * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, + * Amsterdam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Stichting Centrum voor Wiskunde en + * Informatica, nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Copyright (c) 1982 Jay Fenlason + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifndef lint +__RCSID("$NetBSD: hack.options.c,v 1.7 2004/01/01 16:02:51 jsm Exp $"); +#endif /* not lint */ + +#include +#include +#include "hack.h" +#include "extern.h" + +void +initoptions() +{ + char *opts; + + flags.time = flags.nonews = flags.notombstone = flags.end_own = + flags.standout = flags.nonull = FALSE; + flags.no_rest_on_space = TRUE; + flags.invlet_constant = TRUE; + flags.end_top = 5; + flags.end_around = 4; + flags.female = FALSE; /* players are usually male */ + + if ((opts = getenv("HACKOPTIONS")) != NULL) + parseoptions(opts, TRUE); +} + +void +parseoptions(opts, from_env) + char *opts; + boolean from_env; +{ + char *op, *op2; + unsigned num; + boolean negated; + + if ((op = strchr(opts, ',')) != NULL) { + *op++ = 0; + parseoptions(op, from_env); + } + if ((op = strchr(opts, ' ')) != NULL) { + op2 = op; + while (*op++) + if (*op != ' ') + *op2++ = *op; + } + if (!*opts) + return; + negated = FALSE; + while ((*opts == '!') || !strncmp(opts, "no", 2)) { + if (*opts == '!') + opts++; + else + opts += 2; + negated = !negated; + } + + if (!strncmp(opts, "standout", 8)) { + flags.standout = !negated; + return; + } + if (!strncmp(opts, "null", 3)) { + flags.nonull = negated; + return; + } + if (!strncmp(opts, "tombstone", 4)) { + flags.notombstone = negated; + return; + } + if (!strncmp(opts, "news", 4)) { + flags.nonews = negated; + return; + } + if (!strncmp(opts, "time", 4)) { + flags.time = !negated; + flags.botl = 1; + return; + } + if (!strncmp(opts, "restonspace", 4)) { + flags.no_rest_on_space = negated; + return; + } + if (!strncmp(opts, "fixinv", 4)) { + if (from_env) + flags.invlet_constant = !negated; + else + pline("The fixinvlet option must be in HACKOPTIONS."); + return; + } + if (!strncmp(opts, "male", 4)) { + flags.female = negated; + return; + } + if (!strncmp(opts, "female", 6)) { + flags.female = !negated; + return; + } + /* name:string */ + if (!strncmp(opts, "name", 4)) { + if (!from_env) { + pline("The playername can be set only from HACKOPTIONS."); + return; + } + op = strchr(opts, ':'); + if (!op) + goto bad; + (void) strncpy(plname, op + 1, sizeof(plname) - 1); + return; + } + /* endgame:5t[op] 5a[round] o[wn] */ + if (!strncmp(opts, "endgame", 3)) { + op = strchr(opts, ':'); + if (!op) + goto bad; + op++; + while (*op) { + num = 1; + if (digit(*op)) { + num = atoi(op); + while (digit(*op)) + op++; + } else if (*op == '!') { + negated = !negated; + op++; + } + switch (*op) { + case 't': + flags.end_top = num; + break; + case 'a': + flags.end_around = num; + break; + case 'o': + flags.end_own = !negated; + break; + default: + goto bad; + } + while (letter(*++op)); + if (*op == '/') + op++; + } + return; + } +bad: + if (!from_env) { + if (!strncmp(opts, "help", 4)) { + pline("%s%s%s", + "To set options use `HACKOPTIONS=\"\"' in your environment, or ", + "give the command 'O' followed by the line `' while playing. ", + "Here is a list of