Posts

Recent

Food of the world: Three Sisters stew Gaussian Process for Areal controls in linguistic typology Food of the world: Uzbek Plov Determining language areas in linguistic typology Food of the world: Chakalaka

All Posts

Topics

Programming (17) NLP (15) World languages (13) Teaching (12) Food (10) Fieldwork (10) Cultures (10) Guide (9) Typology (6) Low-resource languages (5)

Category: Python

← Return to Blog Index

2026

11 Aug: Gaussian Process for Areal controls in linguistic typology

This is a blog post that I’ve had in mind for awhile, and as I was working on it I realized that there is a bit of groundwork needed. Part of that groundwork was laid in a previous post where I showed.. (more)

28 Jul: Determining language areas in linguistic typology

In a previous post I showed a simple way to control for language family and area with categorical variables in a linear mixed model using Python. In a more recent post I showed how we can plot languag.. (more)

14 Jul: Maps from the taggedPBC: a Python tutorial

When working with languages, it is important to keep in mind the context in which they exist. While “context” has many different facets, a primary aspect is geography. Geographical (and topographi.. (more)

20 Apr: Romanization of scripts and NLP resources

When I began developing the taggedPBC I needed to represent all of the roughly 2,000 languages in a similar way, in order to facilitate comparison. As noted in a previous post, while the majority of.. (more)

08 Apr: Comparing automated Implicit Motive models (tutorial)

Part of my research involves using machine learning and natural language processing to automate content coding. In social science there has long been recognition that humans make inferences about the .. (more)

24 Mar: Git sparse checkout

I sometimes find myself wanting to work on a project involving data or code from Github. Many such repositories are quite small and easy to work with, containing mostly text files. Occasionally, howev.. (more)

17 Mar: Controlling for Descent and Area in linguistic typology

When conducting comparative studies on linguistic features, we are essentially observing patterns. In a previous post I mentioned one problem we need to deal with, related to how we represent the feat.. (more)

10 Mar: Comparative data and localization

When working with actual language data, one major concern is how to represent that data. Many times as researchers the things we want to compare are not equivalent, so we must use the best approximati.. (more)

16 Feb: A custom handler for faster-whisper on Huggingface

Recently we wanted to set up an audio transcription endpoint for our workflow with Bookscribe.ai. I’ve been using Huggingface in production for their accessible and low cost inference servers, but t.. (more)

26 Jan: Low-resource language processing (lessons from HG2051)

Since 2023 I’ve been teaching a course on natural language processing at NTU Singapore. The goal is for students to learn basic Python programming skills that allow them to work with language data. Ty.. (more)

19 Jan: Blog Post Generator (tutorial)

I recently read a post by Tim Dettmers on how he uses AI to support his workflow. In case you don’t know of Tim, his work on quantization has been foundational to how AI has developed over the past fe.. (more)

2023

08 Jun: Teaching ‘Language and the Computer’

Last semester I taught an introductory Natural Language Processing (NLP) course at Nanyang Technological University, Singapore. I wrote a thread about it on Twitter (now X) but here is a slightly expa.. (more)

2018

21 Feb: Moving to Zurich

The last post was a bit of a brain dump to make sure I didn’t forget a few lessons I learned, in part because I knew I was quitting the job that involved doing ML type things. While I was working ther.. (more)

2017

03 Dec: Neural Networks: Some lessons from text classification

I have been quite lax with posting here mainly because I have been working very hard on a difficult problem. My current job involves (among other things) trying to automate a psychological coding syst.. (more)

24 Apr: Using Git for Linguistics

Recently, I started to explore using Git to maintain and organize my data. This includes both the primary data I work from as a linguist and the various kinds of data I produce in the form of written .. (more)

12 Apr: Grammatical Analysis: the Transcriber-Toolbox workflow

This is the fourth installment in a series of blog posts where I discuss some of the tools I use for linguistic analysis. In a previous post I described the tools I use for processing and converting v.. (more)

26 Mar: Praat and scripts: an introduction

In this third post about linguistic tools, I’ll be discussing software that I use for acoustic analysis. Praat is one of the premier acoustic analysis tools available for computers. While there are pr.. (more)

05 Mar: Linguistic Tools (Mac/PC)

When I started my PhD program in Linguistics (language documentation and description), I had some experience with linguistic analysis, but not to the degree that I had to learn in order to complete my.. (more)

16 Feb: February 2017 Update

This is my first update in a long while, as I notice that this blog hasn’t been updated since 2015. I blame life and the ease of posting short updates on Instagram, Twitter, and Facebook. Since my l.. (more)

2014

20 Jun: Linguistic Tools

This past week I’ve been attending a workshop on the linguistic notion of Affectedness that my co-supervisor Frantisek Kratochvil organized. It has really helped me think about possible ways this feat.. (more)