Over the years, I’ve written a lot of software for social scientists. Usually, my goal is to make really complex analytic methods accessible to non-technical experts. Some of the more interesting and/or widely-used examples include:

LIWC LIWC is the gold standard in psychological text analysis software. Codes languages samples for ~100 psychological dimensions. I have been involved in the development and expansion of LIWC since around 2014 or so.
BUTTERAfter developing dozens (and dozens!) of text analysis tools, I decided that it was time to start integrating them all into a single, unified text analysis framework. BUTTER is the result of these efforts. Something of a “Swiss Army Knife” of text analysis tools for non-developers, the idea behind BUTTER is to make natural language analysis methods available to everyone, regardless of background or expertise.
MEHAn system for conducting bottom-up, data-driven text analyses. MEH takes your input texts and provides frequency lists for all of your words/phrases, extracts n-grams, and builds a document-by-word matrix dataset for topic modeling and other types of analyses.
ArchetyperSomething of a “souped-up dictionary method” that deals primarily with semantics rather than literal matches. Right now, this is a package for Python users, but it’s incredibly easy to use if you’re already a Python person. We are already using it for several research projects and, I have to say, it’s pretty neat.

Data Analytics / Processing

Most of my other software is available on GitHub or scattered around various websites going back to around 1998. If there is an older program of mine that you’re looking for and cannot find anywhere else, drop me a line and I can point you in the right direction! Otherwise, here are some less general (but still useful) programs that you might be interested in.

Note that, over the past several years, some these have been integrated in some form or another into LIWC and probably aren’t especially interesting as standalone applications anymore.


I used to create games every now and again, largely for fun, but sometimes as an exercise/excuse to learn some new techniques. Few have been released publicly but, of those that have, they are mostly z80 ASM games.