{"id":137,"date":"2017-11-25T17:22:20","date_gmt":"2017-11-25T17:22:20","guid":{"rendered":"http:\/\/jeffreymbinder.net\/?page_id=137"},"modified":"2024-04-13T15:52:05","modified_gmt":"2024-04-13T15:52:05","slug":"projects","status":"publish","type":"page","link":"https:\/\/jeffreymbinder.net\/?page_id=137","title":{"rendered":"Projects"},"content":{"rendered":"<figure id=\"attachment_147\" aria-describedby=\"caption-attachment-147\" style=\"width: 290px\" class=\"wp-caption alignright\"><a href=\"http:\/\/jeffreymbinder.net\/wp-content\/uploads\/2024\/04\/BinderFIG4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-147 size-medium\" src=\"http:\/\/jeffreymbinder.net\/wp-content\/uploads\/2024\/04\/BinderFIG4.jpg\" alt=\"The Distance Machine shows how the word underlie emerges from obscurity in the mid-nineteenth century.\" width=\"300\" height=\"187\" \/><\/a><figcaption id=\"caption-attachment-147\" class=\"wp-caption-text\"><a href=\"http:\/\/distancemachine.org\">The Distance Machine<\/a> shows how the word <i>underlie<\/i> emerged from obscurity in the mid-nineteenth century.<\/figcaption><\/figure>\n<p>My two most important digital humanities projects are <a title=\"The Distance Machine\" href=\"http:\/\/distancemachine.org\" target=\"_blank\" rel=\"noopener\">the Distance Machine<\/a>, a web application that\u00a0identifies instances where a historical text is using a word that has not yet come into common use, and <a title=\"The Networked Corpus\" href=\"https:\/\/github.com\/jeffbinder\/networkedcorpus\" target=\"_blank\" rel=\"noopener\">the Networked Corpus<\/a>, which visualizes statistical topic models of texts. \u00a0My articles\u00a0on these projects can be found on my <a title=\"Publications\" href=\"https:\/\/jeffreymbinder.net\/?page_id=107\" target=\"_blank\" rel=\"noopener\">publications page<\/a>.<\/p>\n<p>I am currently working on\u00a0<a href=\"https:\/\/github.com\/jeffbinder\/promptarray\">PromptArray<\/a>, a system for designing input text for large language models. PromptArray allows you to combine multiple prompts using operators such as\u00a0<i>and<\/i>,\u00a0<i>or<\/i>, and\u00a0<i>not <\/i>through a syntax that unites\u00a0aspects of both computer code and natural language.<\/p>\n<p>I am the developer and maintainer of the <a href=\"https:\/\/cran.r-project.org\/package=bursts\" target=\"_blank\" rel=\"noopener\">&#8220;bursts&#8221; package<\/a> for the R statistical computing environment. This package implements <a title=\"Web page about the burst detection method\" href=\"http:\/\/www.cs.cornell.edu\/home\/kleinber\/kdd02.html\" target=\"_blank\" rel=\"noopener\">Jon Kleinberg&#8217;s burst detection algorithm<\/a>, which can be used to detect bursts of activity in streams of temporal data.<\/p>\n<p>I have done a number of experiments with algorithmically generated text. The <a title=\"Coleridge Bot\" href=\"https:\/\/jeffreymbinder.net\/?p=33\" target=\"_blank\" rel=\"noopener\">Coleridge Bot<\/a> is an algorithmic poetry generator that creates nonsense verse in rhymed meter. The <a title=\"The Depoeticizer\" href=\"https:\/\/jeffreymbinder.net\/?p=89\" target=\"_blank\" rel=\"noopener\">Depoeticizer<\/a>\u00a0alters a text to make it less poetic\u2014that is, more in line with the expectations created by a statistical language model. My most recent project in this vein is <a href=\"http:\/\/github.com\/jeffbinder\/visions-and-revisions\">A Hundred Visions and Revisions<\/a>, which that uses a neural language model to rewrite poems to be about different topics while maintaining rhyme and meter.<\/p>\n<p>I have also researched the history of algorithmic poetry, which goes back further than one might think. For a presentation I gave at Columbia University, I created a JavaScript-based simulation of a poetry generator from all the way back in 1677 titled <a href=\"https:\/\/jeffreymbinder.net\/?p=304\">Artificial Versifying.<\/a><\/p>\n<p>I have also participated three times in Darius Kazemi&#8217;s National Novel Generating Month, which challenges people to write a computer program that produces a 50,000-word novel. My 2014 entry,\u00a0<a href=\"https:\/\/github.com\/jeffbinder\/storyofjohn\" target=\"_blank\" rel=\"noopener\">The Story of John<\/a>, compiles all the sentences mentioning the name &#8220;John&#8221; in a corpus of American fiction to create a single novel about a character called John. For the 2015 competition, I wrote a program called <a title=\"The Synonymizer\" href=\"https:\/\/github.com\/jeffbinder\/synonymizer\" target=\"_blank\" rel=\"noopener\">the Synonymizer<\/a> that replaces every word in a text with a random synonym. I used this program to turn Henry James&#8217;s novel\u00a0<em>The Portrait of a Lady\u00a0<\/em>into\u00a0<a title=\"Ruined version of Henry James's The Portrait of a Lady\" href=\"https:\/\/raw.githubusercontent.com\/jeffbinder\/synonymizer\/master\/PortrayalOfAMaam.txt\" target=\"_blank\" rel=\"noopener\"><em>The Portrayal of a Ma&#8217;am<\/em><\/a>. In 2018, I created <a href=\"https:\/\/github.com\/jeffbinder\/sentence-level-markov\">a neural network-based AI that attempts to determine what order sentences should appear in<\/a>; I used it to reconstruct each chapter from Herman Melville&#8217;s novel <i>Moby-Dick<\/i> from its component sentences, producing <a href=\"https:\/\/raw.githubusercontent.com\/jeffbinder\/sentence-level-markov\/master\/mboydcki.txt\"><i>Mboy-Dcki<\/i><\/a>.<\/p>\n<p>In a moment of lockdown-induced boredom in mid-2020, I created an <a href=\"https:\/\/jeffreymbinder.net\/apps\/clock\/\">inverted clock<\/a> where the hours move faster than the minutes.<\/p>\n<p>Back in 2003, I created <a href=\"https:\/\/jeffreymbinder.net\/?p=208\">Homespring<\/a>, an absurdist programming language based on the metaphor of data as fish swimming in rivers. Since then, a few other enthusiasts of <a href=\"https:\/\/esolangs.org\/wiki\/Main_Page\">esoteric programming languages<\/a> have created their own versions. I have gathered links related to Homespring <a href=\"https:\/\/jeffreymbinder.net\/?p=208\">here<\/a>.<\/p>\n<p>The source code for most of these projects is available on my <a href=\"https:\/\/github.com\/jeffbinder\" target=\"_blank\" rel=\"noopener\">GitHub page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My two most important digital humanities projects are the Distance Machine, a web application that\u00a0identifies instances where a historical text is using a word that has not yet come into common use, and the Networked Corpus, which visualizes statistical topic models of texts. \u00a0My articles\u00a0on these projects can be found on my publications page. I &#8230; <a title=\"Projects\" class=\"read-more\" href=\"https:\/\/jeffreymbinder.net\/?page_id=137\" aria-label=\"Read more about Projects\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-137","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/pages\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=137"}],"version-history":[{"count":5,"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/pages\/137\/revisions"}],"predecessor-version":[{"id":437,"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=\/wp\/v2\/pages\/137\/revisions\/437"}],"wp:attachment":[{"href":"https:\/\/jeffreymbinder.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}