I’ve been otherwise occupied with miscellaneous concerns (such as the transition to 2010) since my previous post, but managed to scrounge together enough time to build a couple of scripts to actively cut down on my Twitter follower count (from 750 or so down to 90 in a jiffy).

This because making your tweets private does not give you the option to mass-block folk (and, truth be told, Twitter’s UI is very limited when it comes to mass management of your followers).

If you ever want to do the same (you ungrateful, unsocial creature, you…), you basically need:

  1. A modified version of the Python bindings (since the stable one doesn’t do all that I needed and the development one is weirdly unstable)
  2. A text editor
  3. Some patience

You can find most of the required code in this zip file, with the caveat that you also need to go and fetch a reasonably recent version of simplejson.

Read that again. Got it? Good.

Now, my approach to the problem was far from elegant and as brutal as possible (and mostly the same as my tweet archival solution, which I also threw in1) – dump the current state of affairs, copy it to two files, then go and edit one until it only lists the folk I want to remain, and run a diff-and-remove script.

Trouble is, it took me a while to get a few things right, because:

  1. Twitter has no “remove follower” call (you have to block and unblock folk, so that’s 2 API calls) and
  2. I hit the API limits fairly early, so I either re-coded the whole thing to check the limits (and made the scripts more complex) or waited and kept them simple.

So if they fail on you, wait.

As to the criteria used to remove most of my followers, well… It wasn’t hard to search for buzzwords like “SEO”, “consultant”, “2.0”, “blogger”, “journalist” or “sale” in the profile descriptions, so those (and 99.9% of my colleagues) were removed almost instantly (gotta love "vim":vim).

And yeah, I “threw away” 650 followers at the drop of a hat, not because I don’t care about their wanting to know what I’m up to, but because it doesn’t really matter in real life.

My personal account will henceforth (and in much the same way as I did on Facebook) only allow followers whom I’ve actually met or know (directly or indirectly) for a long while now, or that I can put a name, a face and something else of substance to. No more complete strangers, no more colleagues (within reason), the less overlap with Facebook (or mailing-lists2) the better, etc.

And yes, I’ll be trying to keep my own inner circle to around 42 people and cut down even further on the number of followers (roughly 90 now), although I expect the numbers to approximate each other with time.

I’ve moved most of the people I usually follow (but not really interact with) into a number of lists, and anyone who really wants to keep track of what I do via Twitter may just as well follow “@taoofmac”:Twitter:taoofmac instead, and get the chance to read longer commentary on links and the like.

140 characters is great for asynchronous “chat”, having a feel for what is happening, and swapping jokes, but relying on it to make judgement calls or keeping track of news is the neural equivalent of death by a thousand cuts with lemon rubbed in.

Please keep in mind that this is nothing personal – it’s just that actually having a dialogue with people requires more semantic sugar and I am both cutting down on static and trying to make room for other things in my life.

1 Actually, I only threw in the public message archive bits. Archiving and removing direct messages seems to be currently broken, so I’m trying to sort out those APIs separately.

2 Yeah, I’m one of those old geezers who actually uses e-mail! And get this, I don’t do it on a browser, which probably means that some people will consider me hopelessly outdated by their standards – practically a Luddite.

This page is referenced in: