Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the book "Hard Code" by Eric Brechner, he states,

Lying is one of a handful of valuable process canaries that can warn you of trouble.

I've heard a dev or two toss around the old "canary". What is it?

[Google didn't answer it for me. Perhaps my keywords were a poor choice.]

share|improve this question
up vote 33 down vote accepted

Canaries were once used in coal mines to find out if any poisonous gasses were around (the canary would die - the miners would get out). It was much safer than an open flame.

One assumes in this context that if there is much lying, the process is poisonous.

share|improve this answer
Foo Canaries is a term you'll see often if you hang around secure code types. See also, Stack Canaries – devnul3 Oct 5 '11 at 2:53

It just means a red flag, referring to the use of a canary in coal mine.

...caged canaries (birds) that mining workers would carry down into the mine tunnels with them. If dangerous gases such as methane or carbon monoxide leaked into the mine, the gases would kill the canary before killing the miners, thus providing a warning to exit the tunnels immediately...

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.