:::: MENU ::::
Posts tagged with: twittergoggles

#GamerGate vs #StopGamerGate2014 By the Numbers – 10/20 edition

Edited on 10/20: Added info about specific users, more numbers.

Carly Kocurek, one of my smart and savvy IIT colleagues, pointed out that the #GamerGate and #StopGamerGate2014 discussions on Twitter are worth examining. So, I fired up a TwitterGoggles instance to track those hastags and these others she recommended:


I saw @Gaming_Sparrow‘s tweet comparing the popularity of the two main hashtags. @ybika asked for some response, so I ran a couple quick queries on the data I’d collected and found totally different numbers.

From 10/17/2014 – 10/20/2014, I see


33,039 users

278,548 tweets



6,303 users

16,099 tweets

A few things could be happening:

  • Keyhole may be using a case-sensitive search, and mine is case-insensitive
  • Keyhole and I are getting different data from Twitter
  • #GamerGate has gained popularity and is now used by every side of the argument

No more time to process this today, but I’ll come back to it. What do you think is going on?

More info added later on 10/20:

I’ve seen a couple other tweets or posts about the number of users and the distribution of #gamergate tweets (e.g., Waxpancake: 100 people posts 24% of the tweets). It’s difficult to compare my data to his/theirs because I don’t know how Keyhole and Waxpancake are collecting their data. I contribute to TwitterGoggles on GitHub and know it much better. Of course, it still relies on the Twitter Search API, so there’s lots I don’t know about what’s not in my data. Anyway, here are some things I noticed while looking at my data.

#gamergate dominates other tags

Here’s a quick graph I made using Tableau. In this chart, the x-axis represents time where each bar is an hour, and the y-axis represents the number of tweets posted. The colors of the stacked bars map to the hashtags that appear in the tweet: blue for #gamergate only, orange for #stopgamergate2014 only, and green for tweets with both tags. This graph isn’t designed to make detailed comparisons easy – it’s just to show how incredibly popular #gamergate is compared to other tags. I also found it interesting that tweets contain both tags since they’re mostly at odds. Of course, one of the tweets with both is my own because I wanted it to show up in both conversations. Though, I may regret posting at all. Isn’t that the problem?

@mfreema55 asked me to post a higher-res image and explain the time info. So, here you go. The hours are GMT – so the graph says when people in the U.S. get off work, they start tweeting about this stuff.

Some of the most active voices change their names

Twitter assigns accounts unique user id’s, but users can change their full names if they’d like. A few accounts in the #gamergate conversation (I use the term broadly to refer to all the data associated with the hashtags above) have changed their names while tweeting. For instance, @nahalennia changed zir* name from “You Didn’t Listen” (160 tweets) to “The Future You Choose” (590 tweets) at some point in the last 3 days. So did @PsychokineticEX. Zir changed names from ADMIRALOF#GAMERGATE (528 tweets) to THE ADMIRAL (174 tweets). Both accounts are among the top 25 most active.

Users can also change their handles (the part after the @), but that seems far less common in this group. User #2815636153 is an interesting exception. Zir used names “and_next_name,” “my_next_name,” “need_next_name,” “the_next_name,” “their_next_name,” and “your_next_name” this weekend.

Skewed distribution of tweets/user

Like much of online activity, a few people are responsible for most of the content. This isn’t the most skewed distribution I’ve ever seen, but it’s definitely skewed. Or, it has a long tail. Depends on how you look at it. I haven’t normalized this (for anything, including how many tweets this account usually post), but that would be interesting too. I.e., maybe @SomeKindaBoogin just tweets constantly, so it’s not suprising that zir tweeted in this conversation a lot. Again, this graph isn’t about details. It’s unreadable at that level because I wanted to show you how incredibly long this tail is. Even if just a few people are incredibly active, there are still thousands of people engaging at some level. That’s exciting.

Tweets per user


* I’m using gender-neutral pronouns since I don’t know who these accounts belong to, whether they are owned by a person or a group, and since it makes sense to use gender-neutral pronouns when talking about harassment and safety.


Setting up an EC2 instance for TwitterGoggles

TwitterGoggles requires Python 3.3. I’m new to Python, and 3.3 is (relatively) new to everyone. So, getting help is both necessary and challenging. I want to run TwitterGoggles on Amazon EC2 instances, so I’m setting up an AMI that has all of the requirements:

  • gcc 4.6.3
  • git
  • mlocate 0.22.2
  • MySQL 5.5
  • Python 3.3

I started with an Amazon Linux AMI and installed the stuff I needed. You can save yourself some trouble by launching an instance with my AMI: ami-e73b558e.

Install Dependencies

  1. Update the system
    sudo yum update
  2. Install C compiler so we can install Python
    sudo yum install gcc
  3. Install software yum can take care of for us
    sudo yum groupinstall "Development tools"
    sudo yum install -y mysql git mlocate
  4. Update the DB locate uses to find your stuff
    sudo updatedb

Install Python 3.3.1

Here’s the best guide: http://www.unixmen.com/howto-install-python-3-x-in-ubuntu-debian-fedora-centos/

Basically you have to

  1. Download the release you want. In my case
    wget http://www.python.org/ftp/python/3.3.1/Python-3.3.1.tgz
  2. Extract the compressed files and switch the directory
    gunzip Python-3.3.1.tgz
    tar xf Python-3.3.1.tar
    cd Python-3.3.1
  3. Configure, compile, and install
    sudo ./configure --prefix=/opt/python3
    sudo make
    sudo make install
  4. Add python3 to your path
    export PATH=$PATH:/opt/python3/bin

Install easy_install-3.3

I ran into some problems related to a missing “zlib” errors. I reinstalled zlib from source, then reconfigured and reinstalled Python 3.3.1. Once that worked, I was able to install and use easy_install-3.3 for module management.

wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.39.tar.gz
tar xf distribute-0.6.39.tar.gz
cd distribute-0.6.39
sudo python3 setup.py install