Fog Creek Software
Discussion Board

Time for comic relief

The topic is very short quips about software.  Long jokes are out of scope.  Subtlety is encouraged, even if it means that only geeks get it.

Here are two of my favorites to get us started:

-- Remember, only two industries refer to their customers as users.

-- There are only 10 kinds of people, those who understand binary, and those who don't.

Anybody got any others like these?

Eric W. Sink
Thursday, June 26, 2003

I've just started reading "Waltzing with Bears" by Tom de Marco & Timothy Lister:

"There is probably no job on earth for which an ability to believe six impossible things before breakfast is more of a requirement than software project management."

Thursday, June 26, 2003

Here is one I found in someone's USENET sig.  It's probably been posted on JOS before, but it's the best one that comes to mind right now:

"1,3,7 trimethylxanthine  -- an essential ingredient of quality software"

Thursday, June 26, 2003

One more from an usernet.

look; find; talk; grep; touch; finger; find; flex; unzip; mount; workbone; fsck; yes; gasp; fsck; yes; eject; umount; makeclean; zip; split; done; exit

Thursday, June 26, 2003

The Funniest Usenet post ever :

Subject: Re: Computing sizeof() during compilation
From: Dennis Ritchie <>
Newsgroups: comp.std.c

[Submitter's Note: look at the author...]

From: Dennis Ritchie <>
Newsgroups: comp.std.c
Subject: Re: Computing sizeof() during compilation
Organization: Bell Labs, Lucent Technologies

> You are right.  It was nice back in the days when things like
> #if (sizeof(int) == 8)
> actually worked (on some compilers).

Must have been before my time.


Thursday, June 26, 2003

"The familiar dot (.) symbol from Internet addresses shall be used on this website to denote the end of a sentence." - I'm not sure where I saw this one.

William Gibson: "The future is already here, it just isn't evenly distributed."

"When the customer demands the impossible, they will end up buying from the guy who offers them the impossible. And the results, though tragic, are sadly predictable." (Robert A. Heinlien)

Darren Collins
Thursday, June 26, 2003

Here are some I collected around town, including this forum the last time someone requested blurbs like this. All are copied as they were found:

"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)

All models are wrong; Some are useful.

For every complex problem, there exists a simple solution, which is wrong.
Corollary:  It isn't rocket science.  Well, unless of course you're NASA.

"The last 10% of any software project will take 90% of the budgeted time. The first 90% will take the other 90%"

Why did the programmer confuse Christmas and Halloween?
Because DEC 25 = OCT 31

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

"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job."
-- The PDP-8/e Small Computer Handbook (DEC, 1972) - Chapter 9, Page 9-64

"A specification that cannot be fit on one 8.5 x 11 inch piece of paper cannot be understood." -- Mark Andis

Computers are high-speed idiots, programmed by low-speed idiots

The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents. -- Nathaniel Borenstein

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

"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 way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." -- C. A. R. Hoare

A complex system that works is invariably found to have evolved from a simple system that worked. (John Gall)

Working software is the primary measure of progress. (The Agile Manifesto)

In theory there is no difference between theory and practice, but in practice there is. (don't know where this is from)

"An unplanned project takes twice as long to complete, a well planned project takes three times as long."

Computers let you make more mistakes than any other invention in history....with the possible exception of handguns and tequila.

Torture your data long enough and it will confess to anything. -- a statistician acquaintance of mine

"Two things have come out of Berkley, Unix and Acid, we do not belive this to be a coincidence"

My favorite is "Programming is the process of converting caffeine into error messages" (not sure of the source, seen on Ward's Wiki)

Vim:  it's like software that's 95% easter eggs

Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live.

If Java had true garbage collection, most programs would delete themselves upon execution.

Linux sucks twice as fast and 10 times more reliably, and since you have the source, it's your fault. -Ca1v1n

Troy King
Thursday, June 26, 2003

"I am Pentium of Borg.  Division is futile - you will be approximated".

Mitch & Murray (from downtown)
Thursday, June 26, 2003

Those who decry spam are cnuts.

Thursday, June 26, 2003

"it's working as coded" - my managers sincere attempt to explain a bug in my code to his manager a few years ago.

Friday, June 27, 2003

Q: How many people work around here?  "About half".

Friday, June 27, 2003

"The key to understanding recursion is to begin by understanding recursion. The rest is easy."
-- Koenig/Moo, Accelerated C++

"Impossible error occurred"
-- Excel 95 error message. (A co-worker had a screen print of this error message box, and every time I saw it I'd crack up thinking the programmer was the "Inconceivable!" guy from The Princess Bride.)

Friday, June 27, 2003

All from various sources:

Norvigs Law:
Any technology that surpasses 50% penetration will never double again (in any number of months).
    Peter Norvig

(in respect to all the projections of massive, infinite, growth in awesome new technology XYZ)

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.

In most Microsoft EULAs, it states you can't give the software to nations or individuals involved in making atomic, bacteriological, or chemical weapons.
Do they mean *besides* the US?

My boss, for instance, really believes that he is "solving the problems when others don't understand the question." In reality, he is often the problem that must be solved by his subordinates. He would never believe that he is not part of the "engine of change." He's really more like the "wheel chocks of ignorance."

Intelligence: Finding an error in a Knuth text.
Stupidity: Cashing that $2.56 check you got.

Quick, Cheap or Good. Choose Two.

It's possible to do that. If you've got a basket with 3 oranges in it and you take 5 out, then you have to put 2 oranges in again in order for it to be empty.
    Peter Gutmann

You think because you understand _one_ you must understand _two_. Because one and one make two. But you must also understand _and_.
    Sufi Sage

Information wants to be beer, or something like that.

Put to scale, the head of a disk drive is like a 747 jumbo jet flying at mach 4 at an altitude of 1/4" over the rocky mountains.

Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.
    Greenspuns 10th Rule

mainframe n. An obsolete device still used by thousands of obsolete companies serving billions of obsolete customers and making huge obsolete profits for their obsolete shareholders. And this year's run twice as fast as last year's.

"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."
- Edsgar Dijkstra

OK, I'll stop now :-)

Christo Fogelberg
Friday, June 27, 2003

'There are no shortcuts in life unless you right-click.'

Above pointed by one school girl!


Friday, June 27, 2003

Q. Why weren't the Romans good C programmers?
A. Because they had no way to return zero.

John Topley (
Friday, June 27, 2003

First, something relevant:

Dan: But you're not allowed to compile the classloader without the proper chant, lest your bytecodes be cursed!
Ted: And what praytell is the proper chant?
Dan: Damned if I know. I just deal with cursed bytecodes.

Second, I feel the need to nitpick Troy's post and note that it was Mark Ardis (with an "r") who stated the one-page principal (which apparently appeared in the UNIX fortune file). Mark is also noted for the quote "Okay, I give up.  What is the significance of 1729?" and for posting a recipe for French Toast to the net.cooks newsgroup in 1982.

Michael Chansky
Friday, June 27, 2003

While we're nitpicking, I find it ... inconceivable
that anyone could post a version of the "Unix
sex" thing that doesn't make use of the "strip"
command. :-)

Gareth McCaughan
Friday, June 27, 2003

Software salesmen and used-car salesmen differ in that the latter know when they are lying.

The C language combines all the power of assembly language with all the ease-of-use of assembly language.

The determined programmer can write a Assembly program in any language.

Computers let you make more mistakes than any other invention in history. With the possible exception of handguns and tequila.

Diagnostic message from Apple's MPW C compiler: "Too many errors on one line (make fewer)".

Mark Pearce
Friday, June 27, 2003

I wrote an 6809 assembler. One instruction is called "SEX" which takes no argument(operand).  There should be a warning for the redundant argument. I was tempted to  use the following error message:
"Sex? No argument!"

(Later I decided not to and I got an A+ for the project. )

Friday, June 27, 2003

Some more:

You should use iterative development only on projects that you want to succeed - Martin Fowler

Any sufficiently advanced bug is indistinguishable from a feature - Rick Kulawiec

Beware of bugs in the above code; I have only proved it correct, not tried it. - Donald Knuth

Experience is that marvelous thing that enables you recognize a mistake when you make it again. - F. P. Jones

Management dictated that no bugs should ever make it to production. We no longer put code in production.

If the quantum view of the world is correct, does it mean that testers create bugs by observing them?

If no one had reinvented the wheel, we would still be stuck with those impractical wooden wheels... - Willem van den Ende on the refactoring list

There can't be a crisis today, my schedule is already full.

You know you're on the right track with code changes when you spend the majority of your time deleting code.

It's not about size. It's about smells. - Ron Jeffries

If it stinks, change it. - Grandma Beck, discussing child-rearing philosophy

If it's less than six pages, I'll read it. If it's more than six inches thick, I can use it as a doorstop. Anything in between is useless.

Remember that there is no code faster than no code. - Taligent's Guide to Designing Programs

Honey, I just need to debug this program and be home in 5 minutes.

How does a project get to be a year late? - One day at a time. -Fred Brooks, The Mythical Man-Month

A computer programmer is a device for turning coffee into bugs. - Bram Moolenaar

A computer programmer is a device for turning requirements into undocumented features. It runs on cola, pizza and Dilbert cartoons. - Bram Moolenaar

Life is like a box of checkins. You never know what you're gonna get.

Quality means that the customer keeps coming back, not the product.

Shipping is a feature but shipping quality is an even better feature.

Bernard Vander Beken
Friday, June 27, 2003

I feel obliged to add some Larry Wall quotes here:

There's often more than one correct thing.
There's often more than one right thing.
There's often more than one obvious thing.

Unix is like a toll road on which you have to stop every 50 feet to pay another nickel.  But hey!  You only feel 5 cents poorer each time.

We all agree on the necessity of compromise.  We just can't agree on  when it's necessary to compromise.

Optimizations always bust things, because all optimizations are, in the long haul, a form of cheating, and cheaters eventually get caught.

I think you'll find that, while we all know what it should have been, we all know it should have been something different from what everybody else thinks it should have been.

I do quarrel with logic that says, "Stupid people are associated with X, therefore X is stupid." Stupid people are associated with everything.

Chris Winters
Friday, June 27, 2003

Windows messagebox:

"Abort child? YES NO CANCEL"

Ken E
Friday, June 27, 2003

Read somewhere on the net:

"Unix makes easy things hard and hard things possible. Windows makes easy things easy and hard things $19.95"

Devil's Advocate
Friday, June 27, 2003

"THIS IS MAD" -- The MAD compiler.

As I recall that message only occurred in some error situations where it couldn't figure out what else to say.  Other errors could cause it to dump a full page text picture of Alfred E. Newman to the line printer.

Friday, June 27, 2003

"Java's a drug you rub on venture capitalists to make them crazy." -- John Doerr, (JavaOne 1996)

"Where choice begins, Paradise ends" -- Arthur Miller (playwright & usability expert?)

C programmers know the cost of everything and the value of nothing. / Lisp programmers know the value of everything and the cost of nothing.

Symbols are for the symbol-minded.

"It's a good idea, but it's a new idea; therefore, I fear it and must reject it." -- Homer Simpson

Lots o' chestnuts here --

Friday, June 27, 2003

Consistency is required in some cases but not in others.

Friday, June 27, 2003

Christo - thankyou, absolutely fantastic!  Several of those are going onto my wall ASAP!

I have a few of my own collection over at (.sigs, quotes, etc from various newsgroups and websites over the years)

Friday, June 27, 2003

"Anybody got a problem looking for a solution?"

Friday, June 27, 2003

Vanity plate on a programmer's new Volkswagen Beetle reads "FEATURE".

Jim Rankin
Friday, June 27, 2003

My computer's so stupid, it thinks that 1 + 1 = 10.

(Source unkown)

Michael Hanscom
Friday, June 27, 2003

A French teacher was explaining to her class that in French, unlike English, nouns are designated as either masculine or feminine.

"House" is feminine - "la maison."
"Pencil" is masculine - "le crayon."

A student asked, "What gender is 'computer'?"

Instead of giving the answer, the teacher split the class into two groups, male and female - and asked them to decide for themselves whether "computer"
should be a masculine or a feminine noun.

Each group was asked to give four reasons for their recommendation.

The men's group decided that "computer" should definitely be of the feminine gender ("la computer"), because:

1. No one but their creator understands their intern al logic

2. The native language they use to communicate with other computers, is incomprehensible to everyone else

3. Even the smallest mistakes are stored in long term memory for possible later review

4. As soon as you make a commitment to one, you find yourself spending half your salary on accessories for it.


The women's group, however, concluded that computers should be masculine ("le computer") because:

1. In order to do anything with them, you first have to turn them on

2. They have a lot of data but still can't think for themselves

3. They are supposed to help you solve problems, but half the time they ARE the problem
4. As soon as you commit to one, you realize that if you had waited a little longer, you could have gotten a better model.

The women won.

Albert D. Kallal
Friday, June 27, 2003

Python: executable pseudocode. Perl: executable line noise.

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 source code for xkeycaps

C++ : an octopus made by nailing extra legs onto a dog.

Programming in C++ is premature optimization.

Your superior intellect is no match for our puny weapons.

Will write code that writes code that writes code for food.    -- Martin Rodgers

sammy (is seeing these quips everywhere now)
Friday, June 27, 2003

Computer Science is the only discipline in which we view adding a new wing to a building as being maintenance - Jim Horning

Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin. - John Von Neumann

Computers are useless. They can only give you answers. - Picasso

In case you haven't realized it, building computer systems is hard. - Martin Fowler

Mike Swieton
Friday, June 27, 2003

“If at first you don't succeed, call it version 1.0“ - Forget where I saw this.

“I have two programming speeds. The other one is slower” - A post in one of the Linux dev forums.

"Extreme Programming is a only hit with the MTV generation because most have attention span of a humming bird on methamphetamines."

Friday, June 27, 2003

The significance of 1729?

It's the smallest positive integer that can be expressed as two different sums of cubes:

1^3 + 12^3 = 9^3 + 10^3 = 1729

Pat Rice
Friday, June 27, 2003

Somewhat offtopic, but the 1729 bit comes from an anecdote about the Indian mathematician Srinivasa Ramanujan. Some acquaintance (Hardy?) of his came to see him, and happened to be in a cab numbered 1729. His acquintance made some offhand joke about how uninteresting the number was, and Ramanujan pointed out the above fact on the spot.

As for the bit about "programmers turning caffeine into code" - this is a reworking of a joke Paul Erdos first made about mathematicians "being machines for turning caffeine into theorems". This coming from Erdos, a lifelong meth addict and general nutball.

Friday, June 27, 2003

Problem exists between keyboard and chair!

Saturday, June 28, 2003

The odds on a compression claim turning out to be true are always identical to the compression ratio claimed.
- Bruce Schneier, 2002

Saturday, June 28, 2003

God is real - unless declared integer.

More than 10 years ago I read this somewhere, thought it was kinda funny but didn't really understand it. Years later, at university, I took a Fortran introductory course, which was absolutely useless, except for one thing: understanding this line.

Roland Weigelt
Sunday, June 29, 2003

'why are programmers bad lovers?'
- because they always optimize for performance.

Michael Moser
Monday, June 30, 2003

typo:  "Robert A. Heinlien"


hank roberts
Monday, June 30, 2003

You're just jealous because the voices only talk to me - unknown

Jack of all
Tuesday, July 1, 2003

Winners never quit and quitters never win, but those who never win and never quit are idiots. - unknown

Jack of all
Tuesday, July 1, 2003

It is an I.D.10.T error.

Will Schwab
Tuesday, April 6, 2004

In a room full of top software designers, if two agree on the same thing, that's a majority. - Robert Glass

Old hardware becomes obsolete; old software goes into production every night. - Robert Glass

Both taken from the book "Facts and Fallacies of Software Engineering"

Candan Akyol
Sunday, June 27, 2004

From my page (and many more yet to make it to my page. still hidden on my hdd:) -

Quick, Cheap or Good. Choose Two.

Intelligence: Finding an error in a Knuth text.
Stupidity: Cashing that $2.56 check you got.

I'm not against reinventing the wheel, but it's best if you have some experience before you do that, otherwise you'll end up with a triangular shaped rock.

256 Terabytes should be enough for anyone.
    - W. Gates IV, 2032, from The 776 Stupidest Things Ever Said, Vol. 32, 2099.

This movie has us believe that raptors aren’t just intelligent, they’re super intelligent - smarter than primates - even smarter than Sam Neill! (Definitely smarter than the screenwriters.) Weren’t they just "clever" in the first movie? Now they all gather and confer before killing someone. At this rate, by JP4 they’ll all be using Debian Linux, wearing monocles and twirling mustaches: "Well, Dr. Grant, we meet again. You shan’t escape me a third time!"
    - JBowz15, on Jurassic Park III.

computer science n. [Origin: possibly Prof. P. B. Fellgett's rhetorical question, "Is computer science?"] A study akin to numerology and astrology, but lacking the precision of the former and the success of the latter.

People say Pandora's Box was evil, but they're wrong. The stuff inside it was evil. The box ain't nothin' but a box.
    - Fundamental Premise of OOD.

Friends don't let friends drink and su(1).
    - Kevin Harris.

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.
    - The Tao of Programming.

Christo Fogelberg
Tuesday, August 10, 2004

Bah, my mistake - posted some of the same ones again - I forgot I'd posted to this thread.

Christo Fogelberg
Tuesday, August 10, 2004

*  Recent Topics

*  Fog Creek Home