Videogrep: Mac desktop app for creating video supercuts

Last year I starting working on something called Videogrep – a command line tool written in python that generates video supercuts.

Recently I’ve been experimenting with turning it into a desktop application for macs. It’s still a bit rough around the edges, but you can download the alpha version here:

Screen Shot 2015-07-16 at 3.00.16 PM

The application lets you:

  • Search through video subtitle tracks
  • Preview and export supercuts
  • Transcribe videos
  • View basic text
  • Download videos and subtitle tracks from youtube

Please get in touch with comments and suggestions!



C-SPAN 5 is a Twitter bot that posts auto-generated condensed versions of C-SPAN videos, using audiogrep and moviepy. The script downloads a top-viewed C-SPAN video, transcribes the audio using audiogrep, and then makes a new cut of the video containing top keywords which gets posted to YouTube and then to Twitter.

[twitter-timeline id=577198870763061248 username=cspanfive height=600 width=640]

3 Degrees of Separation from the Military-Industrial-Prison-Data-Surveillance State

Some time ago, I started searching LinkedIn for keywords like “interrogation” and “surveillance”. My initial thought was that I would find private organizations with ties to law enforcement and the military. I was surprised to discover that, in addition to showing matching organizations, LinkedIn was finding people. Here, for example, the search engine is offering to narrow my search to “People with Interrogation skills”.


As I started to click around on different profile pages I realized that, as long as they were within two or three degrees of separation from me, I had access to the profiles of professionals working in fields like law enforcement, private security, and military contracting. Like every other LinkedIn profile, these pages catalogued education, background experience, and, of most interest to me, relevant skill sets.

Here’s what one of these skill sections looks like:


There’s a lot going on here that I find pretty remarkable. First, LinkedIn’s skill system is a social feature: you receive skill endorsements from other LinkedIn members (as you probably know if you have an account on the site). I love to imagine who is endorsing who for something like “interrogation” or “surveillance”. Is it the interrogated? The surveilled? (It seems like the subject of an interrogation would be in the best position to make an authoritative endorsement about the interrogator’s skill level.)

But more remarkable than the act of endorsing someone for a skill like “asymmetrical warfare” or “weapons of mass destruction” is the feeling that on LinkedIn, all careers are basically on the same plane. There’s a total dissociation between the application of a skill like interrogation (which we know in some circumstances amounts to torture) and the way that skill slots into a professional profile page on LinkedIn and helps build up a personal brand, the same way “photoshop” or “public speaking” might. It’s quite interesting to see these different types of skills sitting so close to each other:



The point here is not the cognitive dissonance between “counterterrorism” and “voice over”, but the feeling that all these skills are abstracted away from their real-world application to a point where they become equivalent, interchangeable.

The other aspect of all of this that struck me, is, of course, just how close I personally am to people who are professional enforcers, interrogators, black ops experts and so on.

I wanted to see more people and more skills, and how I related to them all, so I wrote a script to scrape LinkedIn profile pages based on keyword searches, looking for terms like “homeland security” and “counterterrorism”. Scraping LinkedIn is tricky – their API is rate limited and doesn’t give you complete access to profiles. To get around the access limitations I wrote a script in CasperJS which basically just logs into LinkedIn as me, makes a search, and then clicks on every possible profile page. This method violates LinkedIn’s terms of service, and resulted in a few temporary bans.

Screen Shot 2015-02-24 at 12.44.12 PM

Despite the problems, I was able to slowly accumulate data from a few thousand profile pages. Here’s my final product: a map of profiles on LinkedIn within two or three degrees of separation from me who have received endorsements for the following skills: “surveillance”, “homeland security”, “counterterrorism”, “interrogation”, and “enforcement”.

Screen Shot 2015-03-06 at 12.47.40 PM

Click for the full visualization. The inner circle shows profiles with two degrees of separation from me (friends of friends), and the the outer circle three degrees of separation. You can mouse over each image to learn more about that person, their skills, current job, and click for their LinkedIn page (which in some cases may be blocked).

A final note: I generally find it more useful to think about injustices like mass surveillance or mass incarceration as systemic problems demanding systemic solutions, rather than as composites of the individual actions and choices made by their institutional functionaries.

But both are true – the prison industrial complex, for example, operates through the coordination of laws, capital and labor that goes well beyond any individual prison guard, and at the same time there can be no prison industrial complex without prison guards, administrators and the various service providers whose on-the-ground involvement make the whole thing real.

My goal here is not to single out any individual for participating in the military industrial complex, or the surveillance state etc., but simply to show how these systems are supported by the banality of their professionalization. And, just as a “downhill skiing” skill endorsement can sit comfortably next to a “biosurveillance” skill endorsement, a career in “dignitary protection” has been rendered as equivalently unremarkable as a career in web development.