Posts

Recent

Remembering September 11 Linguistic mapping: overlapping polygons with points Food of the world: Three Sisters stew Gaussian Process for Areal controls in linguistic typology Food of the world: Uzbek Plov

All Posts

Topics

Programming (17) NLP (15) World languages (14) Teaching (12) Food (10) Fieldwork (10) Cultures (10) Guide (9) Typology (6) Linguistics (6)

Category: Programming

← 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)

02 Jun: Contributing to the taggedPBC

If you’ve followed my blog for any length of time, you probably know that I’m interested in languages of the world. The incredible diversity in linguistic structures found in the roughly 7,000 wor.. (more)

05 May: Data annotation for low-resource NLP

It’s that time of the semester where I’m in the throes of assessing student work for classes and trying to submit grades. One of my tasks has recently involved NLP projects related to the *taggedP.. (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)

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)

09 Feb: Use (AI) agents or get left behind? A response

A couple of weeks ago I read a post by Tim Dettmers outlining how he has tried to use AI to automate various tasks, with some examples of successes and failures. While his attempt to automate email wr.. (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)

2024

01 Feb: Some notes on LLMs in real-world contexts (Part 1)

Large language models (LLMs) seem to be all the rage these days, with the release of ChatGPT last year sparking a lot of conversation and interest. There have been quite a few efforts aimed at getting.. (more)

2023

18 Nov: Website redesign (markdown + pandoc)

As you might have observed, I recently updated my website. Although it’s been on my mind for awhile, I finally got around to it because I had a good template to follow and I’ve learned enough about bu.. (more)

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)

2020

14 May: Automating the coding of implicit motives (Paper announcement)

The past week has been quite exciting, as we’ve been in the final stages of preparing a final manuscript on machine learning. I’ve been rather quiet about this collaboration since the end of 2017, wha.. (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

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)

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

25 Jun: Life vs. Computers

As I’ve been working with code to try and do some programming to get the computer to format my text properly, I’ve run into some issues. It’s got me thinking… You know how computers think… wait, y.. (more)