Hacker News new | past | comments | ask | show | jobs | submit login
Cunningham's Law (wikimedia.org)
285 points by Garbage on March 8, 2014 | hide | past | favorite | 107 comments

I use this on my kids.

"What happened at school?"


"Did you race motorcycles in the hallways?"

"No, we had music!"

Man I had that conversation so many times (like, five days a week). I wish I'd had that in my toolbox.

This is also a great way to solve a problem. If everyone in the room is stumped, throw out a stupid solution. If nobody can improve on it, then the last solution wins. Works surprisingly well as most people can critique while finding it hard to create from scratch.

When you think you're done, gradually decrease the temperature of the room. People will become uncomfortable and leave, even if it means accepting a sub-optimal solution.

simulated annealing. ;)

I am really wondering whether that was deliberate or not...

It was. Glimcat's comment got me thinking in that direction, and I couldn't resist.

I often take a more transparent style to the same approach: "We can't think of any good solutions, so here's a possible, but obviously flawed solution to talk about. Maybe it'll inspire something better."

People generally don't like to propose imperfect solutions because of the fear of looking dumb and wasting time. But, when everyone is stumped, sitting in silence is wasting time. Re-igniting the conversation by saying "I don't want to actually do this, but here's another angle" can kick the problem-space search out of a local minima.

I call this "proposing a strawman solution". I don't know why it works, but it frequently does. I think that doing a long search for The Perfect Solution is akin to premature optimization. Changing focus for a while seems to help.

This is actually similar to a common approach in probabilistic modeling.

Pick an initial model & set of probabilistic priors. Evaluate it with a "goodness of fit" heuristic function, then iterate & keep measuring while keeping the best solution discovered.

As long as the initial parameters are sort of reasonable, it will give you pretty good results for many problems.

It obviously doesn't get rid of the need for a better understanding of the problem. Improvements to how well your features describe important attributes of the problem tend to be strictly superior to your choice of learning algorithm (i.e. your exact process of iteration).

But as long as the initial solution is more or less on target? You can solve many problems by picking a solution that you know is inadequate, then iterating.

I'm fairly knowledgeable about Bayesian statistics, but I can't tell which technique you're referring to. It vaguely sounds like maximum likelihood, but ML doesn't iterate the model or priors. Could you explain further and give a reference?

Iterative algorithms which attempt to solve maximum likelihood usually fall under the category of expectation maximization (a good example is K-means clustering).


Ah, I'd always thought of EM as iterating over the parameters given a model, but I suppose it makes sense to see it as a search for a model, including parameters, that fits the data. Cool.

Perhaps he/she is referring to conjugate priors [1], where the prior and the posterior are of the same family of distributions. Once you compute the posterior using a likelihood and prior, you obtain a posterior that is of the same family of distribution as the prior. This posterior can then be used as a prior for more samples.

[1] http://en.wikipedia.org/wiki/Conjugate_prior

I think this is definitely the best solution if your crowd is French, as in France people are not encouraged to submit new ideas but their criticizing skills are state-of-the-art :-)

Gone there, did there, and it's dangerous. Somebody might like your first solution, and be vocal enough to make everybody on the room shut-up.

Never attempt to intentionally invoke Cunningham's Law with a solution you wouldn't be happy with. Which is a more specific form of "never propose something you wouldn't be happy with", or "be careful what you wish for, because you just might get it".

Corollary: be careful what other people wish for.

That seems more like a hiring problem.

The problem was they hired the first candidate, figuring they could get a replacement when a better one came along , but the first one got entrenched.

It started as a hiring problem. Now there's still a hiring problem, but there's also this one, which is unrelated. Both should be fixed and, unfortunately, neither has an easy or comfortable solution.

That's called a Straw Man. Start with a naive solution and refine rather than trying to get it right all at once.

a straw man is telling person A that argument B is wrong, therefore person A is wrong, when in fact person A was making argument C.

it is a trick to confuse your opponent and any spectators. it is most often employed by people too stupid to discern between argument B and argument C in the first place, which is to say it is most often employed inadvertently.

amusingly, most times when people accuse someone else of making a straw man argument, they then proceed to immediately make a straw man argument themselves in explaining the claim.

edit: mistyped.

A straw man proposal is different than a straw man argument.

Well they are both designed to be knocked down/beaten up. The straw man proposal is your offering to the forum to beat and the argument is your twisting/manipulating an opponents position or argument to enable you to knock down the straw man and claim a win in the argument.

also, the point of a straw man proposal isn't exactly to be refined... it's to get jump off ideas from the straw man's trivial refutation.

If you have a sufficiently rapid turnaround time, this works for products, too.

For example, don't have a good idea for a landing page? Throw up a bad one. It'll get you data and you can improve from there.

Obviously, a less good idea for things where iteration time is measured in months...

In similar vein, the best way to get help in Linux is by trolling: http://bash.org/?152037

Yeah, I've found ESR's old "how to ask smart questions" is very wrong. The more details you provide, the less likely you are to find an answer. (It's more accurately titled "how I wish people would have asked the question because I would have less work to do but it doesn't actually get their question answered, which is of course less work.)

It seems that every detail gives people another reason not to answer. If I say I'm trying to search for a word somewhere in a directory of files on OpenBSD, people who only know Linux will think that "well, grep must not work the same way on OpenBSD" and not respond.

Partially this is because of prior experience with assholes. If someone says "well, on Linux you use grep -lr" then an asshole will shout back at them "HE WAS ASKING ABOUT OPENBSD NOT LINUX YOU MORON LEARN TO READ."

(Spoiler: the answer is the same on both Linux and OpenBSD.)

People get the Internet they deserve.

doesn't actually get their question answered, which is of course less work.


Just realized ESR's advice is rubber ducking. Aha, seems Atwood agrees.


This is the problem with most of my questions on Stack Overflow and similar sites, I provide pretty much all relevant information on a rather obscure problem(since I already did the Google dance beforehand)

As a result, I seldom get any usable answers.

If I had asked a more general question, I might have been served better.

It works on focused technical forums. The less focused and the less technical, the less well it works... though I'd consider that a criticism of the forum rather than the technique. I've been on plenty of focused technical forums, and it is dead accurate for those.

If it doesn't work for you, I'd consider that evidence the forum in question is less technical than it may initially appear; there's a surprising number of forums that have the appearance of being technical, but aren't populated by very technically-skilled people. I've seen that on Ubuntu forums, for instance; someone asks a perfectly sensible question, and 5 people chime in with very convincing-sounding but ultimately completely wrong suggestions. OSes seem to attract that.

If someone posts a brief description to a simple problem without sufficient detail, they're more likely to get engagement because the initial question will be easier to process and read, and people will follow-up asking for additional detail. When the original poster replies with the additional detail, the participants in the thread will feel a stronger sense of social obligation to answer. This iterative approach that requires mutual investment and the establishment of a social expectation before the whole question is posted may be beneficial even in highly focused, highly technical forums.

is <dm> talking to him(?)self?

[edit: i know what bash.org is. but that appears to be a conversation between multiple people all with the same nick.]

He seems to be quoting another text, with running commentary by himself. Language use is too different for him to be the likely author of both parts of the dialog.

Nah, this is just a partial copy-pasta from an IRC log.

Good ol' bash.org. :)

I've accidentally found answers to some problems in Linux I had by ranting about them.

So yeah, makes sense.

Funny. This works on StackOverflow as well to a certain degree, but the phrasing must be more careful.

The best part is that now that it's been posted it has now become impossible to disagree, because attempting to disprove it would actually validate the law.

Although funny, your logic is flawed. If you disproved this law globally, it wouldn't be necessary that this particular instance doesn't hold.

How would you disprove the law, though?

Find at least one example where it doesn't hold.

Yes, I believe that is the answer.

Sounds legit. Can you think of any such example?

I agree. Can you point us to one such example?

You're doing it wrong, asking a question won't work.

By Cunningham's Law, you need to post a false example and wait for someone to correct it. If no one does so, the example stands, and you've successfully disproven Cunningham's Law using Cunningham's Law.

ah, damnit!

It's not impossible to disagree.

Since they post it as absolutism it means this should work on all cases not just this one. There are a gazillion wrong answers on internet and no one bothers to fix them and give the right answer.

Another way to disprove it is not the best way. Now that they told you this "secret" next time you have a question will you post a wrong answer or find the right place and try to formulate the question as best as you can?

As long as we're being pedantic...

It says the best (presumably "most effective") way to get the right answer is to post the wrong one. That doesn't mean that posting the wrong one will always work; it might be that if posting the wrong answer fails, there was no way to get the right answer, or that the successful ways would have been more effort than they were worth. (Obviously, this isn't true.)

> Another way to disprove it is not the best way. Now that they told you this "secret" next time you have a question will you post a wrong answer or find the right place and try to formulate the question as best as you can?

This doesn't disprove Cunningham's law, any more than people failing to wash their hands disproves germ theory. And even if Cunningham's law is true, posting the wrong answer in order to get the right one is rude.

This is how I used to get help on Ubuntu forums. If your sound card isn't working and you say "Ubuntu can't play MP3s but XP can!" you'll get help in a minute.

This is trolling, and not posting the wrong answer. But for what I saw, trolling in Linux forums with mention of Windows can sometimes extract the best knowledges from people...

It's very bad trolling if all you get is an informational answer. The distance between Cunningham's Law and Trolling is measured in tears per fact.

As the fact drops to zero the ratio asymptotically approaches infinity, at which point you have entered trolling nirvana.

As the tears approach zero you have entered zen, the world where all facts are made plain and understandable, and problems no longer exist.

Relevant here: "I use a trick with co-workers when we’re trying to decide where to eat for lunch and no one has any ideas. I recommend McDonald’s." By throwing out a "wrong answer," better suggestions are made.


When patients are having MRI scans I ask them what they would like to listen to. Everyone says they don't mind. I usually reply "Excellent, Meat Loaf it is!" And surprisingly often get a positive response. That or a specific request.

That happened to me all the time at my last workplace. If no one cared I'd throw out Subway as a suggestion, because I'm actually low-falutin' enough to be just fine with Subway. Although a good third of the time no one had a problem with that either so Subway it was.

I've made a conscious effort recently to make more mistakes (my apologies to the people on julia-users). I feel it's improved the rate at which I learn things. And I feel validated by "Antifragile" which I've just started reading.

(By chance I am also currently being tested for brain damage. It's bitterly amusing that I end up being unsure if I am actually making more mistakes on purpose or not...)

It's absolutely the best way to learn. I remember my mistakes better than by successes.

But then you encounter an employer who says that they want to see your StackOverflow account which is full of wrong answers and silly questions.

So, uh, what exactly is 'wikimedia'? How is it different from the straight-up 'Wikipedia'? This article seems like it should have been on Wikipedia, but it's on Wikimedia. I've never seen an article of this nature being hosted on wikimedia. What's going on here?

Wikimedia is the parent project of Wikipedia, Wiktionary, Wikiquote, Wikinews, and so on.

The wikimedia wiki is used for documentation and discussion on the topic of running a wiki, and on specifically running MediaWiki (the underlying software that powers these sites).

Since this is an article about a topic relevant to running wikis, it's on the meta wiki. It is unlikely to be notable enough to meet the criteria for being included in Wikipedia; in order to avoid everyone creating their own personal Wikipedia page or a Wikipedia page for their high school band or the like, which can be very hard to ensure is high quality and accurate, Wikipedia has notability and verifiability requirements. Something must be notable enough to have been published by several existing reputable sources in order to meet this guideline.

It's fairly likely that Cunningham's Law does not meet those criteria. But the Wikimedia meta-wiki has less formal requirements, and its topic is explicitly discussion about running wikis, so this winds up there.

If you click on the logo, you can see this described straight from the source: https://meta.wikimedia.org/wiki/Main_Page

"Welcome to Meta-Wiki, the global community site for the Wikimedia projects and the Wikimedia movement in general. Meta-Wiki's discussions range from coordination and documentation to planning and analysis of future Wikimedia activities."

> It is unlikely to be notable enough to meet the criteria for being included in Wikipedia

Why? Wikipedia is an encyclopedia [1], there is no need to keep the amount of pages low, storage is cheap and no one prints out Wikipedia on real paper.

The "not notable enough" is a real threat to Wikipedia and the future of the project. The German Wikipedia already lost a lot of former authors (volunteers) because of admins gone crazy. They don't want anyone to edit "their" pages, and revert and ban almost every new edit/user. You can read about this serious situation on Heise.de [2]. Read also the 650+ comments of the related discussion [3]. The English version is still better in shape, but it moves in the same direction, unfortunately.

[1] http://en.wikipedia.org/wiki/Encyclopedia

[2] http://www.heise.de/newsticker/meldung/Blutet-Wikipedia-aus-... ; Translation: http://translate.google.com/translate?sl=auto&tl=en&js=n&pre...

[3] http://www.heise.de/newsticker/foren/S-Blutet-Wikipedia-aus/...

Edit: I am not against "notability requirement", with a better balance it's fine. Wikimedia Foundation should have a closer look at the German branch... maybe resetting all "admin" privileges would help?

The idea is to prevent Wikipedia being turned into a tool for self-promotion. An example would be if I created a page for my name describing myself as a spelling consultant, then went to every article that mentioned a high-profile spelling blooper and added a line like 'without the services of a spelling consultant, such as [[hmsimha]]'.

It's not about storage or page count. It's about quality and relevant material. When I search for "band" (disambiguation) I wouldn't want to end up seeing a list of every high school band in the western hemisphere. It's just not important enough (to enough people) to include as part of an encyclopedia.

Yeah, it's a tough balance to keep. I think that notability requirements are important to avoid Wikipedia from becoming an unmaintainable, unverifiable pile of junk; but that there are some people who are way to quick to delete or revert, some people who are way too protective of "their" pages, and some admins who are a bit out of control.

It's a tough balance to keep; I don't pretend to have a good answer for how to steer it in a better direction. I have been an off and on contributor to Wikipedia for years, but never enough to get involved in the politics or become an admin.

Deletionism[0] is what's killing Wikipedia.

Gwern's page, In Defense of Inclusionism[1] has a good summary of both sides, and argues all of the points I would make.

[0]: http://meta.wikimedia.org/wiki/Deletionism [1]: http://www.gwern.net/In%20Defense%20Of%20Inclusionism

Various people have been claiming for years that the "notability" requirement is a threat to Wikipedia. Yet the project is still around and is still the go-to source for encyclopedic information.

I go to Google for information. Sometimes it puts a Wikipedia page high in the results, and many times it doesn't.

Where is a right place to put Russian translation of this article?

The final version would belong at https://meta.wikimedia.org/wiki/Cunningham%27s_Law?setlang=r...

The first step is to read the article at https://www.mediawiki.org/wiki/Help:Extension:Translate/Page...

The complete list of steps is at https://commons.wikimedia.org/wiki/Commons:Preparing_a_page_...

Sorry, I didn't realize it was so complicated to do this.

In the spirit of this law I just added Russian translation to the end of English article in hope that somebody competent would move it.


2 hours later, it appears to have worked!

Actually about 13 minutes later:


Wikimedia is a Microsoft project and targets small businesses.

You almost got me.

There is actually a page that explains the differences between Wikipedia, Wikimedia and MediaWiki: https://www.mediawiki.org/wiki/Wikipmediawiki . Naming is hard.

Wikimedia is a parent organization of wikipedia and several other reference projects.

wikimedia is the parent organization of wikipedia. Since this is meta.wikimedia.org I am assuming it is a site for meta discussions.

Related: In IRC channels, ask a question and state that a competing product seems to work better. You will get multiple answers within minutes. Works especially well if it is Linux vs Windows.

This, and not simply invective, used to be what "trolling" was about. At least in my romanticized memory of it.

When a comment is simply invective, we call it "flaming". Trolling is about triggering a disproportionate response -- particularly, causing the other person to invest either much more time or much more emotion than the troll did. Common forms include:

- using subtle digs make people angry enough that they lash out (thereby making them appear to be the instigator)

- introducing a tangential or irrelevant point, often in a short and snark-laded comment, to get people to waste a lot of time trying to respond

- copying and pasting large blocks of text, especially lists of problems with a particular viewpoint, and criticizing responses for being incomplete (thereby provoking people into writing very long and thorough responses)

- as a followup to the above, making vague criticisms like "you're missing the point" or "you keep dodging my question", so that people will spend time trying to figure out what you're talking about and maybe reworking their entire argument

- implying details, facts, or answers that don't actually exist (or that you don't know if they exist), trying to get people to spend time investigating something you haven't bothered figuring out. The "law" referenced in the article is an example of this type of trolling.

This is also an interrogation technique: "We know you did X." "No, I was doing Y or was at Z."

Where Y and Z are what the interrogator was after. More reasons not to talk to the cops.

I think people are often more motivated to point out that someone is wrong than by answering a question.


More discussion from when this was posted on reddit.


I've heard this attributed to Alan Kay instead of Ward Cunningham...

...which probably makes this comment a good example of the law.

This actually used to be a joke about the Linux community.

That's basically how I go with links posted on Hacker News or Reddit. Often I can save the burden of reading a terse article by reading the comments. There is always someone who has only read the title, who says something dumb; he is then quickly corrected by someone who did read the article and explain it thoroughly.

On the one hand, getting first to the comments is also good when the source is dubious. On the other hand, some article are definitely worth reading (which is usually easy to guess from the title or first comments), and it feels good to give back when you know what the article is about and can contribute to the discussion.

Sometimes you can get a solution to a problem by saying saying that after spending a bunch of time attempting to solve it, you've decided that a solution is impossible. The desire to prove you wrong is too much for some to withstand, and they go out of their way to provide you with a solution. (A consequence of http://xkcd.com/386/ "someone is wrong on the internet".)

So the newsweek story should cause the real inventor of bitcoin to be revealed presently?

Exactly what I was guessed after reading the law.

Bitcoin was created by the NSA.

Best is subjective. Who is it best for, the lazy individual posing the question(incorrect statement) or for people who will reply? In addition how many more questions can the person ask like this before everyone ignores them?

This is how many get help in #rubyonrails on Freenode. Join the channel and state that x is impossible with ActiveRecord/ActionView/ActionController - solution posted in seconds.

the best way to get an answer on the internet, as everywhere else, is to ask a very clear question to the right interlocutor.

in other words, you need to do enough work on your own to figure out what you need to know, after which you'll find that (as long as you have a decent command of the language you're expressing yourself in and the general terms in the field of inquiry) it's not difficult to get good answers.

This is general human tendency, that is "to correct".


(with no legit wiki sources)

(sorry if I just spoilt the joke)

There are no interesting examples of this law.


Why do mods constantly micromanage submission titles? The original title was the actual law, not the name of the law.

This is very true of Hacker News. Everyone here has to be the smartest fucker on the planet, longing for the great PG approval.

It's true. Not just PG, but everybody else in the room, too. It's the classic courtier situation. See: 48 Laws of Power

Lazy troll is lazy.

I don't agree...

Finally, someone has unmasked Newsweek's intentions.

I'm confused. Is the right answer or the wrong answer?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact