All of which are American dreams

Posted 3 years and 1 month ago

Title lifted from “Know Your Enemy”.

The results of the US presidential election last Tuesday shocked me. I checked Twitter to find that my entire feed felt the same. Again. Oops, I created a comfortable echo-chamber for myself.

Social news algorithms have been under intense scrutiny over the past week. I wanted to see what other people’s social media bubbles looked like, so I wrote a little shell script1.

I’m not interested in building empathy for racists. I am interested in improving my own awareness. This tool displaces me from the narrative I chose and delivers me from opinions I agree with. It’s helped me realize just how powerful a curated social feed can be as a tool of persuasion. Also, wow. People who follow Glenn Beck seem to follow a lot of porn. Who knew?

If you want to peer into someone else’s Twitter feed, the following might help2:


# Create a private Twitter list out of someone else's feed so you can read it.
# The name "ditter" is like "ditto" plus "Twitter" ha ha get it?
# Requires Python, GNU coreutils, and
# Installation:
#     $ chmod 777 && mv /usr/local/bin/ditter
# Usage:
#     $ ditter <username> [<list_name>]

MY_USERNAME="$(t whoami | grep '^Screen name' | grep -o '[^@]*$')"

t list create --private "$LIST_NAME"

# I aliased GNU split to "gsplit" on my Mac. You may need to change this.
t followings "$THEIR_USERNAME" \
  | gsplit -l 100 --filter="xargs t list add \"$LIST_NAME\""

python -mwebbrowser "$MY_USERNAME/lists/$LIST_NAME"

It’s not pretty, but it works for me3. Here are some usage examples:

# View the feed of a random person who follows the "FOX Files".
# Warning: You're about to view a complete stranger's feed. NSFW.
t followers foxfilesfnc | gshuf | head -1 | xargs ditter

# View the feed of the last person to use the Make America Great Again hashtag.
t search all "#maga" -cn 1 | tail -1 | cut -d, -f3 | xargs ditter

I’m in the habit of quietly throwing projects like this onto my lab page, but enough people have expressed frustration in the past week to make this share-worthy. Hope it helps!


  1. Twitter used to actually offer this as part of their official client. They removed the functionality in 2013. 

  2. MacOS comes loaded with BSD utils, so I grabbed the GNU equivalents with brew install coreutils. That’s what gsplit and gshuf are. 

  3. Restrictions apply:

    • Twitter has a longstanding issue where bulk lists created through the API might be missing members. It’s nothing a little while loop can’t fix, and even an incomplete list can be enough.
    • t has its own longstanding issue: it runs up against rate limits if you use it to fetch a large list of followers. This one probably requires a patch / PR.

comments powered by Disqus