Testing Godwin's Law
Last week I came across Godwin's Law. Many of you may already be familiar with it. For those of you who aren't, Godwin's Law, according to wikipedia, states:
As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.
To test this law I wrote a little program to look at comments in the drupal database that contains the Linux Journal web content. The script first gets all the distinct article ids (nids in drupal speak) from the comments table where the comment includes one of the key words. Then it gets a count of the number of comments for each article, sorts the list, and outputs the count along with the article title.
Here's the script:
#!/bin/bash
source mysqlpwd.sh
echo "<table border=\"1\">"
echo "<thead>"
echo "<tr><th># Comments</th><th>Article Title</th></tr>"
echo "</thead>"
echo "<tbody>"
mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "SELECT DISTINCT nid FROM comments WHERE comment LIKE '%hitler%' OR comment LIKE '%nazi%'" |
while read nid
do
if [[ $nid != 'nid' ]]; then
count=$(mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "SELECT COUNT(*) AS cnt FROM comments WHERE nid = $nid")
count=$(echo ${count/cnt/})
printf "%d\t%d\n" $count $nid
fi
done | sort --numeric --reverse |
while read count nid
do
t=$(mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "select title from node where nid = $nid")
t=$(echo ${t/title/})
printf "<tr><td>%d</td><td><a href=\"/node/%d\">%s</a></td></tr>\n" $count $nid "$t"
done
echo "</tbody>"
echo "</table>"
Here's the output:
For comparison we need to get a list of articles that contain a large number of comments but that do not contain the keywords. Now we look at each article, then we check to see if it has any comments that contain the keywords. If it does not then we count the number of comments and output the article if the associated discussion was long. I arbitrarily chose 100 as the minimum number of comments needed for a discussion to be classified as long.
Here's the script:
#!/bin/bash
source mysqlpwd.sh
echo "<table border=\"1\">"
echo "<thead>"
echo "<tr><th># Comments</th><th>Article Title</th></tr>"
echo "</thead>"
echo "<tbody>"
mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "SELECT nid FROM node" |
while read nid
do
if [[ $nid != 'nid' ]]; then
count=$(mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "SELECT COUNT(*) as cnt FROM comments WHERE nid = $nid AND
(comment LIKE '%hitler%' OR comment LIKE '%nazi%')")
count=$(echo ${count/cnt/})
if [[ $count -eq 0 ]]; then
count=$(mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "SELECT COUNT(*) AS cnt FROM comments WHERE nid = $nid")
count=$(echo ${count/cnt/})
if [[ $count -gt 100 ]]; then
printf "%d\t%d\n" $count $nid
fi
fi
fi
done | sort --numeric --reverse |
while read count nid
do
t=$(mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD drupal_lj \
-e "select title from node where nid = $nid")
t=$(echo ${t/title/})
printf "<tr><td>%d</td><td><a href=\"/node/%d\">%s</a></td></tr>\n" $count $nid "$t"
done
echo "</tbody>"
echo "</table>"
Here's the output:
Can we conclude anything about the validity of Godwin's Law from this? Ahhh, I dunno.
p.s. File this under blather #2.
Mitch Frazier is an Associate Editor for Linux Journal.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Home, My Backup Data Center
- Android is Linux -- why no better inter-operation
2 hours 20 sec ago - Connecting Android device to desktop Linux via USB
2 hours 28 min ago - Find new cell phone and tablet pc
3 hours 26 min ago - Epistle
4 hours 55 min ago - Automatically updating Guest Additions
6 hours 4 min ago - I like your topic on android
6 hours 50 min ago - Reply to comment | Linux Journal
7 hours 11 min ago - This is the easiest tutorial
13 hours 26 min ago - Ahh, the Koolaid.
19 hours 5 min ago - git-annex assistant
1 day 1 hour ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



Comments
It's a counter-meme. The purpose is to invalidate itself.
The point of Godwin's law is to be a counter-meme:
http://www.wired.com/wired/archive/2.10/godwin.if.html
"In time, discussions in the seeded newsgroups and discussions seemed to show a lower incidence of the Nazi-comparison meme."
godwin's law
Perhaps an additional refinement would be to look for some kind of time related association - like if the h & n stuff is increasing or lessening with time, or something... you can probably find several more similar ways of studying this... ;)
here in Europe one might try for a EU grant for studying this in depth... ;)
Best
Seppo
Wow, this Godwin is one
Wow, this Godwin is one messed up dude.
Some professor at Standford came out with a more pertinent observation about 10 years ago, saying as time goes on it's inevitable there will be a nuclear war. I'm sure there are an infinite number of pithy observations that can be made when you take something and apply infinity to it. They all seem profound. They all need a bit of common sense to override the insanity behind them.
Maybe they should require all high school students to take enough logic and math to understand "laws" before being allowed to graduate. If nothing else if we inundate them with a few hundred of these mental puzzles they won't be so susceptible to them when they encounter them in real life. Ahh, who am I kidding. We'd have to teach them how to read, locate the USA, and teach them a little history first and you know that's never going to happen.
That's not Godwin's Law
That's not Godwin's Law, as I understand it. Godwin's Law states that in any given discussion, whoever is the first to make a comparison to Hitler or the Nazis loses the argument, by definition.
Not quite.
"As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one." That's Godwin's Law, and it was formulated as a tongue in cheek way of *reducing* Nazi comparisons in usenet board threads -- by making light of an increasingly common rhetorical hot-button.
It's definitely an amusing experiment. Maybe we can find someone who runs an active political site to conduct the same test on their data. RedState? DailyKos?
Post length Distribution
Could you provide us the full length distribution ?
Then we can normalize the "Godwin" comments distribution and figure out if the normalized frequency increases with the length.
Yay! Insanity is COMMON in sysadmins! I'm normal!
See, I love the effort you put into this. Really, I do. The part that ticks me off, however, is that it's taking all the effort I can muster not to comment about hitler and nazis on every article on the website. Or any website for that matter.
Now my Saturday is shot.
Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter
Resist the temptation
I almost titled the second table "These Articles Need Help", but I resisted the urge. I find that push-ups help.
Mitch Frazier is an Associate Editor for Linux Journal.
Hah!
And here I thought Hitler was going out of style. Fun post, Mitch. :-)