Emacs Fortune File
Wednesday, December 26, 2007
The idea of fortune files in Unix has been around for a long time. I open and close terminal windows a lot, so I don't like to have "fortunes" pop up all the time when I open a bash shell. However, I usually keep Emacs open for extended periods of time so I do have some custom fortune code in my .emacs to display an "inspirational" message on startup:
(defvar fortune-file "~/.fortune.txt" "The file that fortunes come from.")I've overridden the
(defvar fortune-strings nil "The fortunes in the fortune file.")
(defun open-fortune-file (file) (find-file file) (if (null fortune-strings) (let ((strings nil) (prev 1)) (goto-char (point-min)) (while (re-search-forward "^%$" (point-max) t) (push (buffer-substring-no-properties prev (- (point) 1)) strings) (setq prev (1+ (point)))) (push (buffer-substring-no-properties prev (point-max)) strings) (setq fortune-strings (apply 'vector strings)))))
(defun fortune () "Get a fortune to display." (interactive) (when (null fortune-strings) (open-fortune-file fortune-file) (kill-buffer (current-buffer))) (let* ((n (random (length fortune-strings))) (string (aref fortune-strings n))) (if (interactive-p) (message (format "%s" string)) string)))
;; Override standard startup message (defun startup-echo-area-message () (aquamacs-wrap-string (fortune) (floor (/ (frame-pixel-width) 8))))
startup-echo-area-message
function so that a fortune is displayed on startup
instead of the normal copyright message (since I use
Aquamacs Emacs, there is one Aquamacs-specific function
(aquamacs-wrap-string) in this code; however, that can easily be replaced if
you're not using Aquamacs). Also, you can just do "M-x
fortune" to get a random fortune any time you like.In my fortune file, I keep a mixture of Lisp, programming, math, and other quotes that I've collected over the years. Here's a subset of my .fortune.txt file:
% Functional programming is like describing your problem to a mathematician. Imperative programming is like giving instructions to an idiot. -- arcus, #scheme on Freenode % In all the ways that matter, Perl is by *far* the most CL-like language I've ever used - far closer to it than Scheme or Python, which are basically written by the kind of people who would rather spend their time in some kind of monastry flagellating themselves for crimes against Computer Science. -- Tim Bradshaw, c.l.l % Parentheses? What parentheses? I haven't noticed any parentheses since my first month of Lisp programming. I like to ask people who complain about parentheses in Lisp if they are bothered by all the spaces between words in a newspaper... -- Kenny Tilton% I am reminded of Gregor Kiczales at ILC 2003 [the International Lisp Conference] displaying some AspectJ to a silent crowd, pausing, then plaintively adding, "When I show that to Java programmers they stand up and cheer." -- Kenny Tilton % It is cruel to compare the Lisp machine with a bunch of PERL hacks. Especially when you know that the Lisp machine pioneered things like generic networking (which nowbody has - even nowadays), distributed objects, has been used to control all kinds of devices (from capture boards to massively parrallel computers like the connection machine), had stuff like remote 3d graphics rendering a decade ago, and all this was actually implemented in Lisp in a sane way (not glued together). -- Rainer Joswig % > What's so great about the lambda calculus?
In a profession plagued by, "when all you have is a hammer, everything looks like a nail," we get really excited when someone is able to come along and prove that everything really *is* a nail if lambda is the hammer. -- brlewis@my-deja.com % You're posting to a Scheme group. Around here, arguing that Java is better than C++ is like arguing that grasshoppers taste better than tree bark. -- Thant Tessmanin comp.lang.scheme % One can think in Lisp and still realize that actually writing programs in it has no future. (One sometimes cries.) -- Jamie Zawinski % Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski % > Best job interview question I've heard: "So, do you have > 15 years of experience with Java?" "No, it just seems like 15 years...." -- Geoff Lane % Science is like sex: sometimes something useful comes out, but that's not why we're doing it. -- Richard Feynman % Please say this was followed by a very serious discussion on Right and Wrong involving a blow torch, 220V, a cobra and three East Germans named Georg... -- Robert Uhl % You can drag any rat out of the sewer and teach it to get some work done in Perl, but you cannot teach it serious programming. -- Erik Naggum % When the revolution comes, we'll need a longer wall. -- Tom De Mulder % Get with the program, jeffrey. No one is 'wrong' on Usenet. They are either 100% totally correct, or they are 'a lying, scum sucking weasel.' There is no in-between. -- Garrett Johnson % The thing that gets me is that one of the arguments that landed Robert Morris, author of "the internet worm" in jail was all the sysadmins' time his prank cost. Yet the author of sendmail is still walking around free without even a U (for Unixery) branded on his forehead. -- Nicolas Pioch % First time I've gotten a programming job that required a drug test. I was worried they were going to say 'you don't have enough LSD in your system to do Unix programming'. -- Paul Tomblin % An Emacs reference mug is what I want. It would hold ten gallons of coffee. -- Steve VanDevender % Compared to system administration, being cursed forever is a step up. -- Paul Tomko % LISP - She is an aging beatnik, who lives in a rural commune with her hippie cousins SMALLTALK and FORTH. students) who have visited the farmhouse, enthusiastically praise the natural food, and perpetual love-ins that take place there. Others criticize the long cooking times, and the abnormal sexual postures (prefix and postfix). Although these women seldom have full-time jobs, when they do work, their employers praise them for their imagination, but usually not for their efficiency. -- Programming Languages are like Women (http://www.columbia.edu/~sss31/rainbow/prog.lang.html) % Learning Lisp is like climbing Mount Everest. Like Everest, once you get up there you can say, "I am at the highest point on the whole Earth!" But then you look around and realize that the only people up there with you are crazed hermits, enigmatic sherpas, and a lot of rich white tourists. Let's consider just the economic dimension here: the hermits are up there because they hate capitalism and have gone a bit funny. The sherpas are up there earning minimum wage because they love the mountain. And the rich white tourists? They're up there because they're already rich enough to afford to go, or because they know they'll be able to leverage the experience in their consulting gigs to make more money later. -- Chalain (http://weblog.raganwald.com/2006/12/lisp-is-not-last-word.html) % Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days. --Marvin Minsky % The more of an IT flavor the job descriptions had, the less dangerous was the company. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers. If they wanted Perl or Python programmers, that would be a bit frightening. If I had ever seen a job posting looking for Lisp hackers, I would have been really worried. --Paul Graham % Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++. The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp. --Paul Graham % APL is like a diamond. It has a beautiful crystal structure; all of its parts are related in a uniform and elegant way. But if you try to extend this structure in any way - even by adding another diamond - you get an ugly kludge. LISP, on the other hand, is like a ball of mud. You can add any amount of mud to it and it still looks like a ball of mud. --Joel Moses % The best way to have a good idea is to have a lot of ideas and throw the bad ones away. -- Linus Pauling % The amazing thing is, back when I was a C++ programmer, I thought that [Design Patterns] was SUCH a great book. And I guess it was, in a way: it made it possible to use C++ and get something done. In the long run, of course, that may have been a disservice... -- Alain Picard % Lisp nearing the age of 50 is the most modern language out there. GC, dynamic, reflective, the best OO model extant including GFs, procedural macros, and the only thing old-fashioned about it is that it is compiled and fast. -- Kenny Tilton, comp.lang.python % Any differences between Common Lisp and Scheme pale in contrast to differences between Lisp and Java, C, etc. It's like arguing over Guinness or Murphy's when everyone else is drinking Bud and Miller. -- Joe Marshall, comp.lang.lightweight % The essence of Lisp: executable pseudo-code. -- Joe Marshall, comp.lang.lisp % If you decide to go with the same tools and technology as everyone else, you make sure that you won't fail any worse than they do. However, you also ensure that you won't succeed any better. -- James Robertson % Knowing the syntax of Java does not make someone a software engineer. -- John Knight % Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days. -- Marvin Minsky % There are undoubtedly a lot of very intelligent people writing Java, better programmers than I will ever be. I just wish I knew why. -- Steve Holden % High thoughts must have a high language. -- Aristophanes % Like the creators of sitcoms or junk food or package tours, Java's designers were consciously designing a product for people not as smart as them. --Paul Graham % Arguing that Java is better than C++ is like arguing that grasshoppers taste better than tree bark. -- Thant Tessman % Java, the best argument for Smalltalk since C++. -- Frank Winkler % Claiming Java is easier than C++ is like saying that K2 is shorter than Everest. --Larry O'Brien % C++ is history repeated as tragedy. Java is history repeated as farce. -- Scott McKay % LISP is like a ball of mud. You can add any amount of mud to it and it still looks like a ball of mud. -- Joel Moses % Java is, in many ways, C++--. -- Michael Feldman % Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++. The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp. --Paul Graham % Of all the great programmers I can think of, I know of only one who would voluntarily program in Java. And of all the great programmers I can think of who don't work for Sun, on Java, I know of zero. --Paul Graham % I fear the the new object-oriented systems may suffer the fate of LISP, in that they can do many things, but the complexity of the class hierarchies may cause them to collapse under their own weight. --Bill Joy % If Java had true garbage collection, most programs would delete themselves upon execution. -- Robert Sewell % Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in. -- Larry Wall % [In Python] The easy things are easy, the harder things are progressively harder, and you tend not to notice the inconsistencies. Lisp has the philosophy of making fewer compromises: of providing a very powerful and totally consistent core. This can make Lisp harder to learn because you operate at a higher level of abstraction right from the start... -- Peter Norvig in "Python for Lisp Programmers" % If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases. -- Guy Steele % When Lisp is outlawed, only outlaws will have Lisp. -- Peter Seibel on c.l.l. % The big bang way only works for god, everybody else has to use evolution. -- David Moon From one of the "dynamic languages wizards" panels - see http://www.ai.mit.edu/projects/dynlangs/wizards-panels.html % We are born naked, wet, and hungry. Then things get worse. --Sam Steingold % Some computer languages simply amplify the kind of thinking that you already do. Some computer languages teach you fundamentally new ways of looking at problems. Python is like Lisp in that it tends to teach you new ways of thinking about problems to broaden your mental horizons. -- Eric Raymond % Dalinian: Lisp. Java. Which one sounds sexier?
RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by LSD. Java evokes a vision of a stereotypical nerd, with no life or social skills. -- usenet % The best swordsman in the world doesn't need to fear the second best swordsman in the world; no, the person for him to be afraid of is some ignorant antagonist who has never had a sword in his hand before; he doesn't do the thing he ought to do, and so the expert isn't prepared for him; he does the thing he ought not to do and often it catches the expert out and ends him on the spot. -- Mark Twain % ... What is actually happening, I am afraid, is that we all tell each other and ourselves that software engineering techniques should be improved considerably, because there is a crisis. But there are a few boundary conditions which apparently have to be satisfied. I will list them for you:
1. We may not change our thinking habits. 2. We may not change our programming tools. 3. We may not change our hardware. 4. We may not change our tasks. 5. We may not change the organisational set-up in which the work has to be done.
Now under these five immutable boundary conditions, we have to try to improve matters. This is utterly ridiculous. Thank you. (Applause.) -- E. Dijkstra, Conference on Software Engineering, 1968. (as seen in _The Anatomy of Lisp_'s introduction to Interactive Programming.) % Unfortunately, no one can be told what Lisp is. You have to see it for yourself. -- Bill Clementson (adapted from Morpheus's comment to Neo in The Matrix) % "Not as clumsy or random as a C++ or Java. An elegant weapon for a more civilized time." -- unknown % I would rather write programs to help me write programs than write programs. -- Written on the wall of a Stanford University graduate student office (from Robert W. Floyd's 1978 ACM Turing Award Lecture "Paradigms of Programming") % I have seen things you people wouldn't believe: a Racal Norsk on fire in the basement at the University of Oslo. a Symbolics 3600 dropped on the floor while moving the comp.sci. department. Lisp classes given without any course credits. All these moments will be lost in time, like Teco. Time to go for Java. -- Bjorn Remseth, who posted this in c.l.l. 2003-04-09
The "tears in the rain" line is my favorite in that movie, so I might have said:
like Teco in line noise. -- Kent Pitman % An ideal world is left as an excercise to the reader. -- Paul Graham, On Lisp 8.1 % Q: What is the difference between Java and .NET? A: Java was paved with good intentions. -- Steven Haflich on c.l.l. % The Art of the Metaobject Protocol is the best book written in computing in ten years. Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS. -- Alan Kay (at OOPSLA97 - http://www.cc.gatech.edu/fac/mark.guzdial/squeak/oopsla.html) % If God used a programming language, it would be Lisp. Programming in Lisp is like playing with the primordial forces of the universe. It feels like lightning between your fingertips. No other language even feels close. -- Glenn Ehrlich % Tell them that Lisp is what Obi-Wan-Kenobi has told Luke Skywalker about his Light-Saber: People despise it as some curiousity from a forgotten era that is still used only by old farts from an esoteric sect, but in fact is radically effective and elegant. And then use The Force. -- Reinhard Gantar % It would not be too unfair to any language to refer to Java as a stripped down Lisp or Smalltalk with a C syntax. -- Ken Anderson % Question: "Why are languages like C , C#, and Java so prevalent?" Dave Ungar: "Why do people smoke tobacco? -- http://www.smalltalkconsulting.com/html/OOPSLA2003d4.html % Java: the elegant simplicity of C++ and the blazing speed of Smalltalk. -- unknown % "If programming in C is like marching, programming in Lisp is like dancing". Too true. To which it might be added that C++ is like walking on hot coals... --http://homepage.mac.com/robmyers/weblog/C663792881/E1775578896/index.html % C - A language which combines the flexibility of assembly language with the power of assembly language." % I have stopped reading Stephen King novels. Now I just read C code instead. -- Richard A. O'Keefe % The last good thing written in C was Franz Schubert's Symphony number 9. -- Erwin Dieterich % Being really good at C++ is like being really good at using rocks to sharpen sticks. -- Thant Tessman % "So, when you typed in the date, it exploded into a sheet of blue flame and burned the entire admin wing to the ground? Yes, that's a known bug. We'll be fixing it in the next release. Until then, try not to use European date format, and keep an extinguisher handy." -- slam@pobox.com (Tequila Rapide) % Think of C++ as an object-oriented assembly language. -- Bruce Hoult (bruce@hoult.actrix.gen.nz) % When C++ is your hammer, everything looks like a thumb -- Latest seen from Steven M. Haflich, in c.l.l % /* I'd just like to take this moment to point out that C has all the expressive power of two dixie cups and a string. */ -- Jamie Zawinski in the XKeyCaps source % ... it's just that in C++ and the like, you don't trust _anybody_, and in CLOS you basically trust everybody. the practical result is that thieves and bums use C++ and nice people use CLOS. -- Erik Naggum % 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 LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis % A year spent in artificial intelligence is enough to make one believe in God. -- Alan Perlis % 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. % 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. % ***** 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. % One man's constant is another man's variable. -- Alan Perlis % Every program is a part of some other program and rarely fits. -- Alan Perlis % It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. -- Alan Perlis % Artificial intelligence, like fusion power, has been ten years away for the last 30 years. -- Conrad Stack % If you have a procedure with ten parameters, you probably missed some. -- Alan J. Perlis % It is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead. -- Edsger W. Dijkstra % Of course, unless one has a theory, one cannot expect much help from a computer unless _it_ has a theory)... -- Marvin Minsky % Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk! % The human race will decree from time to time: "There is something at which it is absolutely forbidden to laugh." -- Nietzche on Common Lisp % The question of whether a computer can think is no more interesting than the question of whether a submarine can swim. -- Edsger W. Dijkstra % The meta-Turing test counts a thing as intelligent if it seeks to apply Turing tests to objects of its own creation. % Smith's Test for Artificial Life: When animal-rights activists and right-to-life protesters are marching outside your laboratory, then you know you've definitely made progress in your artificial life research. -- Donald A. Smith % You shouldn't anthropomorphize computers; they don't like it. % recursion, n: See recursion. % To iterate is human; to recurse, divine. % "If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?" -- Seymour Cray % This program posts news to billions of machines throughout the galaxy. Your message will cost the net enough to bankrupt your entire planet. As a result your species will be sold into slavery. Be sure you know what you are doing. Are you absolutely sure you want to do this? [yn] y % Philosophy: unintelligible answers to insoluble problems. % 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. % Sex is the mathematics urge sublimated. -- M. C. Reed. % The Three Laws of Thermodynamics: 1) You can't win. 2) You can't break even. 3) You can't even get out of the game. % ((LAMBDA (X) (X X)) (LAMBDA (X) (X X))) % I'm sure that nobody here would dream of misusing the Arpanet. It's as unthinkable as fornication, or smoking pot. -- RMS % Any programmer who fails to comply with the standard naming, formatting, or commenting conventions should be shot. If it so happens that it is inconvenient to shoot him, then he is to be politely requested to recode his program in adherence to the above standard. -- Michael Spier, Digital Equipment Corporation % What to do if you find yourself stuck in a crack in the ground underneath a giant boulder you can't move with no hope of rescue: Consider how lucky you are that Life has been good to you so far. Alternatively, if Life hasn't been good to you so far, which, given your current circumstances seems more likely, consider how lucky you are that it won't be troubling you much longer. -- The Hitchhiker's Guide to the Galaxy % "Have you ever seen anything like that before?" "Not while I've been in a legal state of mind." % Time is an illusion, Lunchtime doubly so. % Don't panic. -- The Hitchhiker's Guide to the Galaxy % 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 bizarrely inexplicable. There is another theory which states that this has already happened.... % REALITY is an illusion that stays put. REALITY is a mescaline deficiency. REALITY is a policy phased out early in the Eisenhower administration. REALITY is a bug in your ontology. % ...as a robotics designer once told me, you don't really appreciate how smart a moron is until you try to design a robot... -- Jerry Pournelle % I'm not sure it is of as much general concern as, say, coke-machines. -- Marvin Minsky (out of context), on the subject of death. % No matter how much money you spend, you can't make a racehorse out of a pig. You can, however, make an awfully fast pig. -- An old saying about program efficiency % We have no need to punish Pascal programmers. Pascal programming, like chastity, is its own punishment. The only way I could imagine to make their wretched state any worse would be to make them use Ada. -- Scott Fahlman % The problem with the current Lisp Machine system is that nothing ever calls anything anymore. -- KMP % "A statement is either correct or incorrect. To be *very* incorrect is like being *very* dead ... " -- Herbert F. Spirer Professor of Information Management University of Conn. (DATAMATION Letters, Sept. 1, 1984) % "... psychologists sometimes refer to perception as controlled hallucination ..." -- B. K. P. Horn 6.866/6.801 Lecture % Bawden is misinformed. Common Lisp has no philosophy. We are held together only by a shared disgust for all the alternatives. -- Scott Fahlman, explaining why Common Lisp is the way it is.... % Well, it's assembly language, you know. You don't want to have too much taste... -- Dave Moon % Jeez, got me. Unix is sorta like Heroin, It feels good for about 5 minutes a day and horrible the rest of the time. -- Jim O'Dell % If all the economists in the world were laid end to end, it would probably be a good thing. % If you eat a live frog in the morning, nothing worse will happen to either of you for the rest of the day. % Implementing systems is 95% boredom and 5% sheer terror. % Let me control a planet's oxygen supply and I don't care who makes the laws. % There is no TRUTH. There is no REALITY. There is no CONSISTANCY. There are no absolute statements. I'm probably wrong. % Non-determinism means never having to say you're wrong. % It has every known bug fix to everything. -- KLH (out of context) % The Three Laws of Thermodynamics: 1) You can't win, only lose or break even. 2) You can only break even at absolute zero. 3) You can't get to absolute zero. % When I first started taking these drugs, it was the government and the CIA who gave them to us. You want to know why I believe in God? That's why. God has a sense of humor. God says "Americans are really seized up in their lower bowels, needing something to ooze them up." God thought, "let the CIA give it to them." When you get that feeling something's laughing, that's God. -- Ken Kesey % ;;; Nobody except a qualified mail wizard should ever modify ;;; ;;; this file. You are -not- a mail wizard just because you ;;; ;;; know how to read your mail. Fuck with this file, and I'll ;;; ;;; cut your balls off. -Alan ;;; % I really only meant to point out how nice InterOp was for someone who doesn't have the weight of the Pentagon behind him. I really don't imagine that the Air Force will ever be able to operate like a small, competitive enterprise like GM or IBM. -- Kent England % Let's start preparing for the future. Now's a good time, since it's already here. -- David L. Andre % I die. My replacement reads my uncommented code and deletes a fragment he doesn't understand. Eventually the subroutine is sold to the government, and the bug causes nuclear missles to be launched by accident. The other side retaliates, and all die. O the embarrassment. % Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process. -- Alan Perlis % Everything should be built top-down, except the first time. -- Alan Perlis % A language that doesn't affect the way you think about programming, is not worth knowing. -- Alan Perlis % Optimization hinders evolution. -- Alan Perlis % A good system can't have a weak command language. -- Alan Perlis % For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node. -- Alan Perlis % A LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis % When we write programs that "learn", it turns out that we do and they don't. -- Alan Perlis % You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program. -- Alan Perlis % Real Programmers are surprised when the odometers in their cars don't turn from 99999 to A0000. % It is considered artful to append many messages on a subject, leaving only the most inflammatory lines from each, and reply to all in one swift blow. The choice of lines to support your argument can make or break your case. -- from the Symbolics Guidelines for Sending Mail % Replying to one's own message is a rarely-exposed technique for switching positions once you have thought about something only after sending mail. -- from the Symbolics Guidelines for Sending Mail % If you have nothing to say on a subject, replying with a line such as, "I agree with this." puts you in the TO:'s for all future messages, and establishes you as "one who really cares", if not an actual expert, on the topic at hand. -- from the Symbolics Guidelines for Sending Mail % Never hit someone head on, always sideswipe. Never say, "Foo's last patch was brain-damaged", but rather, "While fixing the miscellaneous bugs in 243.xyz [foo's patch], I found...." -- from the Symbolics Guidelines for Sending Mail % Referring to undocumented private communications allows one to claim virtually anything: "we discussed this idea in our working group last year, and concluded that it was totally brain-damaged". -- from the Symbolics Guidelines for Sending Mail % Trivialize a user's bug report by pointing out that it was fixed independently long ago in a system that hasn't been released yet. -- from the Symbolics Guidelines for Sending Mail % Send messages calling for fonts not available to the recipient(s). This can (in the case of Zmail) totally disable the user's machine and mail system for up to a whole day in some circumstances. -- from the Symbolics Guidelines for Sending Mail % SIGTHTBABW: a signal sent from Unix to its programmers at random intervals to make them remember that There Has To Be A Better Way. -- Erik Naggum % Save the environment. Create a closure today. -- Cormac Flanagan % CLOS isn't the solution to everything. Common Lisp (which includes CLOS) is the solution to everthing ;) -- Kelley Edward Murray (kem@franz.com) % If you like, consider me to just be saying that when you add a tiny conceptual amount of theoretical complexity going from a Lisp1 to a Lisp2, you get a tiny theoretical speedup... -- Kent M. Pitman % People in the Algol/Fortran world complained for years that they didn't understand what possible use function closures would have in efficient programming of the future. Then the `object oriented programming' revolution happened, and now everyone programs using function closures, except that they still refuse to to call them that. -- Henry Baker % Just because we Lisp programmers are better than everyone else is no excuse for us to be arrogant. ;-) -- Erann Gat % General recursion is the `go to' of functional programming. -- Erik Meijer % 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 % If a `religion' is defined to be a system of ideas that contains unprovable statements, then Godel taught us that mathematics is not only a religion, it is the only religion that can prove itself to be one. -- John Barrow % Functions compute; macros translate. -- Dave Moon % Much of [Scheme's] power comes from its simplicity ... "The fox knows many things, but the hedgehog knows one great thing." Scheme is a hedgehog. -- PC Scheme Tutorial, viii (Texas Instruments) % The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better -- Edsger Dijkstra % I bet the human brain is a kluge. -- Marvin Minsky % There's no sense in being precise, when you don't even know what you're talking about. -- John von Neumann % As I've gained more experience with Perl it strikes me that it resembles Lisp in many ways, albeit Lisp as channeled by an awk script on acid. -- Tim Moore (on comp.lang.lisp) % "If it has syntax, it isn't user friendly." -- Sam Steingold% "If someone asks me who I am, and if I'm among ordinary people, I tell them I'm a computer hacker. If I'm among computer people I tell them I'm a Unix hacker. If I'm among Unix people I tell them I'm a Linux hacker. And if I'm among Linux people I tell them I'm a Lisp hacker. It's nice to be different." -- James A. Crippen % The problem with Lisp is that it makes you so damned smug. -- Jesse Bowman % Universe, n.: The problem. % 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 % lottery, n.: A tax on people who are bad at mathematics. % As in certain cults it is possible to kill a process if you know its true name. -- Ken Thompson and Dennis M. Ritchie % 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 % 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's down. It's hosed. It's a mutex and you're excluded." -- Jason Guild % How should I know if it works? That's what beta testers are for. I only coded it. -- Linus Torvalds % The memory management on the PowerPC can be used to frighten small children. -- Linus Torvalds % Moore's Constant: Everybody sets out to do something, and everybody does something, but no one does what he sets out to do. % 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. % GENERAL KNOWLEDGE Describe the Universe. Give three examples. % Applying computer technology is simply finding the right wrench to pound in the correct screw. % The graduate with a Science degree asks, "Why does it work?" The graduate with an Engineering degree asks, "How does it work?" The graduate with an Accounting degree asks, "How much will it cost?" The graduate with a Liberal Arts degree asks, "Do you want fries with that?" % We should be careful to get out of an experience only the wisdom that is in it-and stop 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 anymore. -- Mark Twain (Samuel Langhorne Clemens, 1835-1910) % The Lord's Prayer is 66 words, the Gettysburg Address is 286 words, there are 1,322 words in the Declaration of Independence, but government regulations on the sale of cabbage total 26,911 words. -- From an article on the growth of federal regulations in the Oct. 24th issue of National Review % There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone. -- Bjarne Stroustrup % The number you have dialed is imaginary. Please divide by 0 and try again. % When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl. % Some mornings, it's just not worth chewing through the leather straps. -- Emo Phillips % Writing about music is like dancing about architecture. % Experience is that marvelous thing that enables you recognize a mistake when you make it again. -- F. P. Jones % Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. -- Douglas Adams, _Last Chance to See_ % No man ever steps in the same river twice, for it's not the same river and he's not the same man. -- Heraclitas % In a survey taken several years ago, all incoming freshman at MIT were asked if they expected to graduate in the top half of their class. Ninety-seven percent responded that they did. % The mind is not a vessel to be filled but a fire to be kindled. -- Plutarch % It's hard to make a program foolproof because fools are so ingenious. % 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." % DECIMATE "Of course it originated with the Romans! Who else would need a word that means 'kill every tenth person'?" -- Loren Wiseman % "If that makes any sense to you, you have a big problem." -- C. Durance, Computer Science 234 % In any case, the TM [Turing Machine] and the lambda calculus were the first programming languages. And the lambda calculus is perhaps the simplest comprehensible language which is Turing complete. (Yeah, yeah, combinators are a simpler language. But I defy you to understand what's going on.) -- John Prevost in a discussion on comp.lang.functional % 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 % "The reluctance to put away childish things may be a requirement of genius." -- Rebecca Pepper Sinkler % "Wow, that's not just spaghetti code, that's linguini code." -- James A. Crippen (referring to GCC's Labels as Values and initializing a static array of pointers to labels which serve as a jump table for computed gotos via array indexing) % 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. % "Like DNA, such a language [Lisp] does not go out of style." -- Paul Graham, ANSI Common Lisp % [It is] best to confuse only one issue at a time. -- K&R % Documentation is the castor oil of programming. Managers know it must be good because the programmers hate it so much. % New systems generate new problems. % Every man takes the limits of his own field of vision for the limits of the world. -- Schopenhauer % "Memory is like an orgasm. It's a lot better if you don't have to fake it." -- Seymour Cray % For every complex problem there is an answer that is clear, simple, and wrong. -- H. L. Mencken % "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 distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable." -- Leslie Lamport (CACM, June 1992) % "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 % I really didn't foresee the Internet. But then, neither did the computer industry. Not that that tells us very much of course - the computer industry didn't even foresee that the century was going to end. -- Douglas Adams % 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. -- Hunter S. Thompson, "Fear and Loathing in Las Vegas" % Matter cannot be created or destroyed, nor can it be returned without a receipt. % 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" % 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 % It took the computing power of three Commodore 64 computers to fly to the moon. It takes a 486/66MHz computer to run Windows 95. Anything wrong? % I can't understand why people are frightened of new ideas. I'm frightened of the old ones. -- John Cage % If I want your opinion, I'll ask you to fill out the necessary form. % Analysis should always be secondary to a product. -- James A. Crippen % Mathematics deals exclusively with the relations of concepts to each other without consideration of their relation to experience. -- Albert Einstein % The world is filled with idiots, or, in the most charitable view, people whose thinking is impenetrable. -- John Morrison % Programs must be written for people to read, and only incidentally for machines to execute. -- Abelson & Sussman, SICP, preface to the first edition % Premature optimization is the root of all evil (or at least most of it) in programming. -- Donald Knuth % Lisp is a programmable programming language. -- John Foderaro, CACM, September 1991 % One can even conjecture that Lisp owes its survival specifically to the fact that its programs are lists, which everyone, including me, has regarded as a disadvantage. -- John McCarthy, "Early History of Lisp" % Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. -- Phil Greenspun "Including Common Lisp." -- Robert Morris % Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot. -- Eric Raymond, "How to Become a Hacker" % Lisp is a programmer amplifier. -- Martin Rodgers (first said by Chuck Moore about Forth) % Common Lisp, a happy amalgam of the features of previous Lisps -- Winston & Horn, Lisp % "The best writing is rewriting." -- E. B. White % Don't worry about what anybody else is going to do. The best way to predict the future is to invent it. -- Alan Kay % 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. -- Alan Perlis % The only way to learn a new programming language is by writing programs in it. -- Kernighan and Ritchie % Lisp was far more powerful and flexible than any other language of its day; in fact, it is still a better design than most languages of today, twenty-five years later. Lisp freed ITS's hackers to think in unusual and creative ways. It was a major factor in their successes, and remains one of hackerdom's favorite languages. -- Eric Raymond, in Open Sources on MIT's first OS, ITS % Common Lisp is politics, not art. -- Scott Fahlman % Lisp doesn't look any deader than usual to me. -- David Thornley, reply to a question older than most languages % Language designers are not intellectuals. They're not as interested in thinking as you might hope. They just want to get a language done and start using it. -- Dave Moon % Programming X-Windows is like trying to find the square root of pi using roman numerals. -- unknown % ...Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. -- Kent Pitman % Lisp is the red pill. -- John Fraser, comp.lang.lisp % Self-referencing Five, seven, five syllables This haiku contains % If we knew what it was we were doing, it would not be called research, would it? -- Albert Einstein % Thou Shalt Remember that If God had meant Man to program computers, He wouldn't have given him C. -- Philip Greenspun % Java is the SUV of programming tools. A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope. If a programmer is attacking a truly difficult problem he or she will generally have to use a language with systems programming and dynamic type extension capability, such as Lisp. -- Philip Greenspun % I had a second ephiphany for the week... Believing that Lisp circa 1982 plus some mid-1980s ML tricks thrown in is better than all of the new programming tools (C#, Java) that have been built since then is sort of like being a Holocaust denier. -- Philip Greenspun % "the greatest single programming language ever designed." -- Alan Kay (about Lisp) % Will write code that writes code that writes code that writes code for money. -- on comp.lang.lisp % Lisp is a language for doing what you've been told is impossible. -- Kent Pitman % Programmers who lock onto a design decision and cling to it in the face of contradictory new information - well, that's almost everyone in my experience, so I better not say what I think of them or people will start saying bad things about me on c.l.l. -- Ken Tilton % > Actually, I believe that Aikido, Jazz and Lisp are different appearances > of the same thing.
Yes, the Tao. /Everything/ is a different appearance of the tao. -- Ken Tilton % That absolutely terrifies the herd-following, lockstep-marching, mainstream-saluting cowards that obediently dash out or online to scoop up books on The Latest Thing. They learn and use atrocities like Java, C++, XML, and even Python for the security it gives them and then sit there slaving away miserably, tediously, joylously paying off mortgages and supporting ungrateful teenagers who despise them, only to look out the double-sealed thermo-pane windows of their central-heated, sound-proofed, dead-bolted, suffocating little nests into the howling gale thinking "what do they know that I do not know?" when they see us under a lean-to hunched over our laptops to shield them from the rain laughing our asses off as we write great code between bong hits.... what was the question? -- Ken Tilton % Nonsense. You'll be using it for the GUI, not protein-folding. -- Ken Tilton (responding to a comment that LTK was slow because it was based on TK) % Continuations certainly are clever, but if we learned anything from the rejection of the cover art for "Smell the Glove", it is that "there is a fine line between stupid... and clever". -- Ken Tilton % Ah, there's no place like academia for dispassionate, intellectually honest discussion of new ideas on their merits. Thank god for tenure giving your bold antagonist the protection they needed to shout down your iconoclastic..... hang on... -- Ken Tilton % Whoever objected must be in my killfile, ... -- Ken Tilton % From memory (but I think I have it right): "But Jesus said, Suffer captured variables, and forbid them not, to come unto thine macro bodies: for of such is are DSLs made." -- Ken Tilton Can I get an Amen? % Awareness of defect is the first step to recovery. -- Ken Tilton % You made a bad analogy (there are no good ones, but you found a new low) ... -- Ken Tilton % Yes, it is true that Kent Pitman was raised by a closet full of Lisp Machines, but the exception only proves the rule. -- Ken Tilton (in a postscript after positing that computer languages are not learned in infancy) % I suggest you try bartender's school to support yourself, start programming for fun again. -- Ken Tilton (responding to a comment that 98%of anything to do with computers was not interesting code) % You could add four lanes to my carpal tunnel and I still could not write all the code I am dying to write. -- Ken Tilton % Neutrality? I want to bury other languages, not have a gateway to them. -- Ken Tilton %

