Kevin Stadler

Originally trained as a software engineer, I went on to do a PhD in Linguistics & English Language at the University of Edinburgh. Apart from my academic research on modelling language change I have also worked with (and on) open source software on a wide range of other topics, in particular cartography and sound.

You can find a lot of the code I write over on my GitHub profile. I have an irregularly updated blog, and have previously also written for Replicated Typo.

linguistics & cultural evolution research

I hold a PhD in Linguistics & English Language from the University of Edinburgh, where I wrote my thesis on language variation and change from a cultural evolutionary perspective, supervised by Simon Kirby, Kenny Smith and Richard Blythe at the Centre for Language Evolution.

You might be interested in:

thesis & publications

For my PhD I looked at how the psychological mechanisms of trend detection and amplification in the individual can lead to the widespread adoption of new conventions across a community, a research question at the intersection of sociolinguistics, historical linguistics and evolutionary modelling. My thesis combined dialectology research with computational and mathematical modelling and can be downloaded from the Edinburgh Research Archive.

The source code for the models, graphs and statistical analyses can be found in the dedicated GitHub repository.

Here is a full list of my publications.

cultevo Package download count badge

If you're a linguist or cultural evolution researcher you might be interested in my cultevo R package, which provides measures and statistical tests often used in the study of cultural evolution.

Screenshot of the cultevo package's function reference


I have previously taught lectures and tutored courses on a wide range of topics, including:

  • Statistics & methods of scientific research
  • Introduction to linguistics
  • Phonetic analysis and empirical methods (for sociolinguistics)
  • History of the Indo-European languages
  • Introduction to algorithms & data structures
  • Introduction to programming

In recognition of my participation in training activities for teaching in higher education I was accepted as an Associate Fellow of the Higher Education Academy.


I like maps, and I both use and make open software tools for creating them. Use the arrows to the left and right to learn more about some of my mapping projects.

I occasionally write about cartography things on my blog. Outside the realm of the digital, I used to walk with the Sunday Adventure Club. I've also exhibited some experimental maps with The Residents Association.


On most political maps produced in modern times, nation states and other geo-political bodies are represented as homogeneous slabs that have no internal structure: the inner city of the capital is as much part of the country as its most deserted hinterland.

borders explores a more meaningful way of conceiving of a nation in social terms, as the imagined community of all individuals who consider themselves to belong to the same nation. Instead of representing a country as a uniform territory, the map only considers areas that are actually inhabited by humans, shaded according to their population density.

Example screenshot of the borders map


I wrote the dem2stl R package in order to convert digital elevation map (dem) files to .stl (and other) 3d-printable model files. It supports the generation of arbitrary (i.e. non-rectangular) shapes, such as countries or continents, and the generated models exhibit the correct curvature of the respective landmass on the Earth spheroid.

Here's a 3D print of the contiguous United States (printed on a very low-resolution 3D printer, so the non-exaggerated height contour is unfortunately completely drained out by the layering artefacts of the overall curvature).

Photo of a 3D print of the contiguous United States

OpenData Hackathon

Together with my good friend Ana Jeličiċ I participated in the Open Data hackathon held by the Austrian Center for Digital Humanities. Our project consisted of automatic data enrichment of a historical map of war damage to buildings in Vienna, as well as the creation of an interactive online map to explore those damages relative to contemporary maps.

Example screenshot of our interactive online map for exploring World War II damage to buildings in Vienna

all the flights I've flown

Some of my friends say I'm obsessed with self-documentation. I say: know thyself!

As a first step in my attempt to catalogue (and map) everything I've ever done, I created this interactive map of all the flights I've ever flown. It's also possible to upload, map and statistically analyse your own flight data in CSV format.

Example screenshot of the flights I've flown map


While the qualitative comparison of the “character” of different places is common practice, the arguably more appropriate quantitative juxtaposition of their geographies isn't. In order to bring these two levels of comparison closer together I've been playing with representations which overlay different places onto each other while maintaining comparable projections and scales.

My favourite outcome of this tinkering is a little Python script called overlay which can be used to create maps such as this, showing Oxford in the United Kingdom as well the 18 Oxfords found across the United States, all superimposed on one another.

A schematic map showing the outline of Oxford in the United Kingdom as well the 18 Oxfords found across the United States


alpinia is a Python script wrapped around GDAL's hillshading algorithm whose sole purpose it is to allow easy creation of comically exaggerated relief maps. The example shows the mighty mountain range that is home to Greenwich Observatory.

Extract from a comically exaggerated relief map of Greenwich, South-East London


Apart from sound recording and engineering for student radio and playing in a band or two, I have built auditory things of various kinds, including but not limited to:

Together with my friend Megan Brevig I used to run the student radio show songs to fall asleep to. Apart from singing and playing guitar in a band called sick kids of edinburgh I was previously also a member of the ever-(r)evolving Nice Church as well as the ever-elusive SHEEP BONG.


As part of Google Summer of Code I undertook a complete re-write of the official Sound library for Processing, a software framework for visual media arts. I still act as the principal maintainer of the processing-sound Java library.

Screenshot of the Processing Sound library in action

sonic gray goo

My apocalyptic interactive art installation sonic gray goo was exhibited at Hidden Door Festival in Edinburgh in 2015.

Photo of the installation at Hidden Door Festival (c) 2015 Aciel Eshky

arduino tap midi clock

I've designed and built a little Arduino Nano-based MIDI beat clock driver for use in live performances. It allows you to flexibly control drum machines or other MIDI-driven arpeggiators from a tap button or pedal (such as a digital keyboard sustain pedal).

Photo of a working tap midi clock (Arduino Nano plus hardware)

contact me

Github Blog