I am a programmer, historian, and writer based in New York City. I am the author of the book Language and the Rise of the Algorithm (U. of Chicago Press, November 2022), a wide-ranging study of the history of algorithmic thinking from the sixteenth century to the present. I have developed software for natural language processing and published peer-reviewed research on such topics as eighteenth-century mathematics, computational research methods, machine-generated poetry, and expressions of emotion on social media. I have a PhD in English from the Graduate Center, City University of New York and have taught at Hunter College and Pennsylvania State University; I currently work as a security researcher at Open Raven.
If you want to get a sense of what my programming work is like, a good place to start is the Distance Machine. The Distance Machine is a web-based program (which you can try in your browser right now) that identifies words in historical texts that were uncommon at particular points in time. The idea is to find the opposite of archaisms—words that seem ordinary to us now, but that had not yet become common at the time when a text was written. I published an article about the project in American Literature; the source code is on GitHub.
A more recent project is PromptArray, a system for designing input text for large language models. Using a special syntax that combines Boolean logic with natural language, PromptArray allows you to combine multiple prompts using operators such as and, or, and not, a practice that can greatly improve the performance of language models on certain tasks and enable the development of new ways of controlling computers using something midway between computer code and plain English.
Bringing together the histories of mathematics, computer science, and linguistic thought, my book Language and the Rise of the Algorithm offers a wide-ranging tour of the intellectual developments that produced the modern idea of the algorithm, from Renaissance algebra to recent advances in machine learning. It focuses on four visions of universal computation: G. W. Leibniz’s calculus ratiocinator, first conceived in the 1660s; a universal algebra scheme Nicolas de Condorcet designed during the French Revolution; George Boole’s nineteenth-century logic system; and the early programming language ALGOL. These episodes show that the concept of algorithm is implicated in a long history of attempts to separate technical knowledge from the languages people speak day to day. Machine learning, in its increasing dependence on words, erodes this boundary, giving a renewed urgency to centuries-old questions about how computation relates to language.