New Middle English Dictionary interface — now with readable sourcecode!

The medieval social media communities, at least those that do work in Middle English, are abuzz about the new Middle English Dictionary search interface that Henry Litwhiler put together. And it much much slicker than the now over decade-old interface that comes with the dictionary proper. I have a little bit of trepidation about the use of Levenshtein distances based on my experiences with the Medieval Electronic Scholarly Alliance’s fuzzy search, but he’s using both the headwords and variants so that should help solve the problem. It’s the method I planned to use for word lookups for the Minor Works of Lydgate project (using what I suspect is much the same method — web-scraped entries reduced to json files containing headwords and variants), and I have joined the no-doubt growing list of people inquiring if he has an API or something to include his work — with proper attribution — on other people’s projects.
 
What I really want to talk about in this post, though, is his source code. Often source code is obfuscated, which is supposed to make the code faster to run on the web when you have millions of hits. But it also makes the code hard for people to read. What I really like about Litwhiler’s work here is that his code is human-readable. If a variable has a meaning beyond being a simple variable for computational purposes the meaning is understandable by people looking at that source. And how the source fits with what you see when you look at the tool is readily apparent.
 
It’s a simple approach, but it’s not one that is often pursued in academic digital projects because they’re often using off-the-shelf products that obfuscate their code or have programming staff that do that work themselves as a matter of course. Obfuscation hurts the pedagogical value of a digital project, it’s something I would like to see less off in academic work, and so I felt like I should foreground it here.
Posted in Blog Tagged with:

Leave a Reply

Your email address will not be published. Required fields are marked *

*