15 Fundamental Laws of the Internet

(AKA How To Sound Smart In Your Next Online Rant)

Wiio's Law

What is the internet? The internet is, at heart, a communication tool, a way for disparate people across the globe to spread ideas, opinions, and generally communicate with each other more easily than has ever been possible. Unfortunately, communication is hard.

Finnish academic Osmo Antero Wiio formulated a serious of humorous laws that succinctly explain how communication works between humans; specifically, that it doesn't. The set of laws Wiio created are often summarized as Wiio's Law:

"Communication usually fails, except by accident."

So maybe, instead of being angry that people didn't get what we said, perhaps we should merely be pleased when, against all odds, they actually understand what we are saying.

Kranzburg's First Law of Technology

Melvin Kranzberg was a professor of history, specifically the history of technology (and, apparently, a WWII-era interrogator. Office hours must have been stressful for his students). Kransberg formulated a series of laws about technology and its place in history, most famous of which is his First Law of Technology:

"Technology is neither good nor bad; nor is it neutral."

In other words, technology is not inherently anything; it's value is imposed upon it by whomever uses it. Technology itself has no intrinsic value. Perhaps this is why Apple removed the headphone jack from the iPhone.

Sturgeon's Law

Ever wonder why the vast majority of things on the internet are terrible? So did Theodore Sturgeon, except for everything. Sturgeon was a science fiction and horror writer, and he was appalled that most science fiction of his day was utter trash. Hence he coined Sturgeon's Revelation, which is now more widely known as Sturgeon's Law.

"90% of everything is crap."

Yes, everything. Makes me wonder if he included his own work in that statement.

But it's not all tongue-in-cheek: Sturgeon's law has been cited by noted philosopher Daniel Dennett as one of his critical tools for thinking. So not only is 90% of everything crap, the awareness of this fact is important to be properly aware of critical thinking. Yay for not liking anything ever!

The 1% Rule

The 1% Rule is an adage which states:

"Only 1% of the users of a website actively create new content, while the other 99% of the participants only lurk."

In other words, most people just sit in the metaphorical shadows and read what the 1% write. This is particularly interesting to think about in the context of designing communities like reddit or Stack Overflow, since if only 1% of the people will create content, how do the site owners get the 99% to stick around and read things? Unless you get incredibly lucky, figuring out how to make both the 1% and the 99% happy is very tricky, and only a few sites get it right.

Dickwad Theory

If you don't like swearing, you'd best skip this section. The Dickwad theory was put forth in the online comic strip Penny Arcade, and states:

"Normal Person + Anonymity + Audience = Total Dickwad"

Ever wonder why trolls exist on the internet in exponentially greater numbers than in real life? Dickwad theory proposes the reason: when a normal person received total anonymity and an audience, s/he loses all their inhibitions and promptly starts to act like a total raging asshole. Anyone who has been on the internet long enough has encountered someone who proves this theory, and if they say they haven't, it's because they themselves are proving it.

Dickwad theory is apparently also known as online disinhibition effect, but that's not nearly as interesting a name for this phenomenon.

Godwin's Law

The next few laws relate to how people communicate on the Internet, specifically how they use text. This particular adage is the one law on this list that, most likely, everyone has heard of. Godwin's Law was written by attorney Mike Godwin on a Usenet group in 1990, and it states the following:

"As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one."

What's particularly interesting about this law is that Godwin himself deliberately and repeatedly posted this law anywhere he could, according to a 1994 article written by him and published in Wired. He specifically calls it "meme engineering" (as he invented the idea of an "internet meme"), and it remains possibly the most successful case of this yet seen.

Poe's Law

There's an inherent problem in trying to communicate via text: the inflection and intonation that is so readily apparent in verbal speech is missing. Consequently, what would be obvious when spoken might be missed when written down.

Poe's Law (named after Nathan Poe, who wrote the original formulation of it in 2005) states the following:

"Without a clear indicator of the author's intent, parodies of extreme views will be mistaken by some readers or viewers as sincere expressions of the parodied views."

No matter how obvious it is that you are making fun of something, unless you explicitly state that you are doing so, someone somewhere will think you are being serious.

The original text of this law cited Creationism, but it has been repeatedly proven to be true for any sufficiently contentious topic (by which I mean: all of them).

Skitt's Law

One of the more obscure laws on this list is Skitt's Law, which states:

"Any post correcting an error in another post will contain at least one error itself."

I'm tempted to think of this as the Law of Glass Houses, after the famous proverb, "Those who live in glass houses should not throw stones." At any rate, Skitt's Law demonstrates an incontrovertible fact about the internet: if you feel the need to correct someone else, you'd best be prepared for someone to correct you.

Law of Exclamation

Punctuation can actually be a tip-off as to whether or not what you are reading is total crap. The Law of Exclamation says:

"The more exclamation points used in an email (or other posting), the more likely it is a complete lie."

An example of this law is found in the novel Reaper Man by Terry Pratchett, one of his Discworld series. In it, a character states that "five exclamation marks [are] the sure sign of an insane mind." Remember this next time you think you need more than one exclamation point (and are not a teenager).

Cunningham's Law

The modern internet owes a lot to Ward Cunningham, a programmer who among other things invented the wiki. He's also known for having his name attached to a particularly keen insight into how questions and answers work on the internet (though he didn't originate this law; his coworker Steven McGeady did). Cunningham's Law is usually written as follows:

"The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer."

McGeady even cited a site that relies on Cunningham's invention as the best proof of the truth of this law: Wikipedia.

The Wiki Rule

Speaking of wikis, there's another theory that states that there is a wiki for anything. It's called The Wiki Rule:

"There's a wiki for that."

Yes, that. And that. And even that. If you can think of it, if it has at least one fan out there, there's probably a wiki for it, and some of these wikis can get astoundingly large.

Danth's Law

Ever get into an argument on the internet? Stop lying; of course you have. Have you ever been able to figure out who actually won said argument? Danth's Law gives you this handy tip:

"If you have to insist that you've won an Internet argument, you've probably lost badly."

Because if you'd actually won the argument, you wouldn't need to argue that you did.

Law of the Echo Chamber

Let's be real for a second: in a lot of ways, the Internet has made modern life easier and more accessible, but in some ways the promises of this great web of information simply haven't materialized.

The idealistic goal of the internet was to be democratic, to show us all sides of any possible argument in a non-biased way. Problem is, people are inherently biased, and the internet is run by people, so that bias leaks in. In fact, it leaks so much that more often than not your circle of internet friends is populated by people who subscribe to the same opinions you do.

I therefore propose something I've been calling the Law of the Echo Chamber:

"If you feel comfortable enough to post an opinion of any importance on any given Internet site, you are most likely delivering that opinion to people who already agree with you."

Munroe's Law

There is a corollary to the Law of the Echo Chamber, which I've taken to calling Munroe's Law after the cartoonist who draws and publishes the comic xkcd. A while back Randall Munroe posted the following cartoon, and it has since become something of a meme.

We've all been there. That comic is merely a funny way of stating the following:

"You will never change anyone's opinion on anything by making a post on the Internet. This will not stop you from trying."

Golden Rule of the Internet (AKA Wheaton's Law)

The traditional phrasing of the Golden Rule is "do unto others as you would have them do unto you." Actor and writer Wil Wheaton coined a slightly shorter version which has occasionally been referred to as Wheaton's Law:

"Don't be a dick"

Because sometimes it really is just that simple.


Many of the laws enumerated above don't apply to just the internet; they apply to life and behavior of humans in general. This is, of course, intentional. After all, the users of the internet are people, regardless of what they want you to think they are.

Did I miss any fundamental laws of the internet that you've found useful? Feel free to sound off in the comments!

Happy Coding!

Analysis Paralysis and the Peril of Infinite Knowledge

Stop the world, I want to write it all down!

-attributed to Donald Knuth

Permanent Students

In my opinion, a programmer can do his job in the most productive way by believing that he is always a student. There are always multiple paths by which to solve a problem with code, and it takes experience to learn which is the best. We must constantly be learning, for the technology and methods improve so rapidly that without learning, we quickly fall behind our peers. I've been lucky in that most of the developers I've worked with so far have taken this "permanent student" philosophy to heart.

Due to this mindset, a lot of programmers and developers that I meet have a deep-seated need to understand all possible solutions to their problem. They must be able to take each one apart and put it back together blindfolded before they can feel comfortable that they comprehend what the solution is supposed to do. For the most part, this is a good thing. It enables us to learn, to gather more information, and use that data to create new and better applications.

As a programmer living in the age of technology, I cannot imagine how (or even if) programmers held this mindset before we had the Internet. It has put the sum of human knowledge at our fingertips; any problem we have is only a quick search away. Hard copy books, the learning paths our coding forefathers used, are quickly becoming irrelevent, and the Internet is opening doors faster than we can look into the rooms. We, the permanent students, have the ability to study anything we wish. And because we are smart enough to recognize that we are almost always not the first person to have a particular problem, it's really easy to assume that the Internet must be able to provide an answer.

Analysis Paralysis

But the sum of human knowledge is effectively limitless. We programmers crave knowledge; it is embedded within us, the foundation for our skills and experience. So what happens when people who have such a basic need to understand everything meet a limitless amount of information? In my experience, many programmers will enter a state known as analysis paralysis, an inability to make a decision because it is not obvious which solution is better.

If you've ever had two equally-good solutions to a task, and just couldn't decide between them, you've been in this state. I've lost hours, even days, crawling down rabbit hole after rabbit hole in search of the obvious piece that I must be missing so I can just prove one of these solutions correct and move on. I've thought, on multiple occasions, that I must understand each of these solutions fully before I can use any of them. The answer is here, somewhere on the internet, I just need to find it. And so I trudge along, wearily searching for but never locating that elusive Rosetta Stone which will distinguish the potential solutions from one another. Eventually I just give up the search and mentally flip a coin to decide which path is the better choice.

Almost always, I should have flipped that coin much sooner than I did.

Sometimes our underlying need to understand hampers our ability to just make a decision. Programmers are analytical people by nature, and analytical people can have difficulty seeing the forest for the trees, seeing the overall machine without looking at the components. We must break the puzzle into pieces and study them in the hopes that we can put it back together in a more "correct" way. And since we can learn about each of the pieces, why shouldn't we? Shouldn't we try to make the most informed decision possible, since that's probably going to lead us to the best solution?

Just Pick One

Yes, of course, to a point. However, we should remember that focusing on the pieces can make us lose sight of the puzzle. We must keep eyes on the problem we are actually trying to solve, not just the individual parts we are trying to fit together. If we have multiple ways to solve the puzzle and can't prove which is better, we need to be prepared to simply make a decision and go with it until and unless it is proven inadequate.

Sometimes there is not a perfectly correct way, there is only your way. The trick is to notice when analysis paralysis is happening, before you've spent days trying to sort out which solution to use. If this happens, and you and your team can't come to a consensus, just pick one. At the very least, you won't have wasted time searching for the perfect answer. You may even find that your first choice, your gut instinct, was the right one.

The peril of infinite knowledge is that it conditions us programmers to think that, because we are probably not the first person to encounter a particular problem, there must be a single, correct, final answer for said problem. Most of the time this is simply not the case. Sometimes we have to go with our gut, or maybe even flip a coin, and hope for the best. Don't be afraid to flip that coin!