Archaeogaming Unconference 2

POSTPONED! Due to a bug in our unconference platform (which prevents some people from accessing the breakout rooms) we’ll be postponing the unconference until February. Our apologies!

We’ll do this on January 25th, 2017, between 9 am and 3 pm Eastern time. Watch this space for the proposed session topics. We will begin with some opening remarks.

First session will then run from 9.10 – 9.50;

second session 10.00 – 10.50;

third session 11.00 – 11.50.

In the afternoon we’ll reconvene at 1pm-1.50;

final session will run – 2.50.

The hashtag on twitter will be #archaeogaming2. As always with an unconference, you’re free to take the conversation elsewhere! There will be a code of conduct however if you join us in the actual ‘unhangout’ space.

Until Tuesday Jan 24th, click on ‘all our ideas’ to suggest or vote on potential session topics.

See this post to see what happened in #archaeogaming1; also, I think there are some other blog pieces out there which I’ll link to once I find them.


Eldritch Archaeology

After the excavation by the @tinyarchae team wound down, Clarence returned home to his parent’s basement, and began working on the site report. Each time he saved, the screen would reload. In frustration, he shut the computer down… but in the night, he woke up: the ghastly glow of the screen lit the room in blue-grey shadows. He stared at the screen. A single webpage, constantly refreshing…


Draft Report on the Archaeological Research at the Whu Site, South St. Vincent & The Grenadines. NOT FOR CIRCULATION

by Maurizio Martinez


Archaeology Awesome Inc was commissioned to survey at Whu, working under the auspices of Watrall University. The Archaeology Awesome Inc team was lead by Dr. Stephen Lee. Funding was generously provided by the Taylor Foundation. The work became necessary because a new highway scheme will shortly be built in the region. (Actually, since no one will ever read this, Anton thinks it is because Stephen Lee had a compulsion to have sex, so this excuse concerning a new highway scheme was cooked up to cover it..) Thus, Whu was in immediate danger of being lost.

The team was composed of 3 student volunteers. (But the truth is a horrible thing. How many lives were ruined? What ever happened to Maurizio? Please, if you read this, talk to Davis! The police only ever ignored Miller.) A lot of archaeology was conducted by Taylor in 1914, but it was godawful, eh?. The site archive is held in Gius-Na, Bhutan.

Three trenches were opened. Only the location of the last trench is shown on the plan, because somehow the phrase ‘ ionic column the canopic jar o great Cthulhu of chert ‘ (said in jest by Evan, the bastard), called Cthugha into this temporal sphere, who opened a rip in the fabric of space time and the normal 3 dimensions no longer obtained. Try finding that with a total station. Maurizio was driven into gibbering madness by Great Old One, we think.


Moore, Kelly. (1911). Nomads Collate. La-Stox, Denmark. pp419.

Hernandez, Kelly. (1917). Back dirt Moisture. Bia-Kix, Croatia. pp3210.

Johnson, Susan. (1901). Stinky Colonial archaeology. Journal of Flacklamian aerial photography 1(2), 978.


Clarence watched in mounting horror, as every secret and lie and whisper and drop of blood played out across the screen…


So I’m not a horror writer. But what I think I am, what I think I’m achieving with both the bot and the website, is a kind of musical composition. I write the music – the framework for the bot’s cryptic updates, the framework for the never-ending, never finishing site report – and the story is played by the machine, and made intelligible by the reader’s prior expectations of archaeology. The story emerges at the intersection between the framework I erect, the machine’s ability to fill that framework, and the reader’s active understanding. It’s rather like video games in that regard.

Why all my bots descend into gibbering Lovecraftian horror, or cite articles from the 20s and 30s, is a question best left unanswered.

Open Context & Carleton Prize for Archaeological Visualization

Increasingly, archaeology data are being made available openly on the web. But what do these data show? How can we interrogate them? How can we visualize them? How can we re-use data visualizations?

We’d like to know. This is why we have created the Open Context and Carleton University Prize for Archaeological Visualization and we invite you to build, make, hack, the Open Context data and API for fun and prizes.

Who Can Enter?

Anyone! Wherever you are in the world, we invite you to participate. All entries will be publicly accessible and promoted via a context gallery on the Open Context website.


The prize competition is sponsored by the following:

  • The Alexandria Archive Institute (the nonprofit that runs Open Context)
  • The Digital Archaeology at Carleton University Project, led by Shawn Graham


We have prizes for the following categories of entries:

  • Individual entry: project developed by a single individual
  • Team entry: project developed by a collaborative group (2-3 people)
  • Individual student entry: project developed by a single student
  • Student team entry: project developed by a team of (2-3) students


All prizes are awarded in the form of cash awards or gift vouchers of equivalent value. Depending on the award type, please note currency:

  • Best individual entry: $US200
  • Best team entry (teams of 2 or 3): $US300 (split accordingly)
  • Best student entry: $C200
  • Best student team entry (teams of 2 or 3): $C300 (split accordingly)

We will also note “Honorable Mentions” for each award category.

Entry Requirements

We want this prize competition to raise awareness of open data and reproducible research methods by highlighting some great examples of digital data in practice. To meet these goals, specific project entry requirements include the following:

  • The visualization should be publicly accessible/viewable, live on the open Web
  • The source code should be made available via Github or similar public software repository
  • The project needs to incorporate and/or create open source code, under licensing approved by the Free Software Foundation.
  • The source code must be well-commented and documented
  • The visualization must make use of the Open Context API; other data sources may also be utilized in addition to Open Context
  • A readme file should be provided (as .txt or .md or .rtf), which will include:
    • Instructions for reproducing the visualization from scratch must be included
    • Interesting observations about the data that the visualization makes possible
    • Documentation of your process and methods (that is to say, ‘paradata’ as per theLondon Charter, section 4)

All entries have to meet the minimum requirements described in ‘Entry Requirements’ to be considered.

Entries are submitted by filling a Web form ( that will ask you for your particulars and the URL to your ‘live’ entry and the URL to your code repository. You will also be required to attest that the entry is your own creation.

Important Dates

  • Closing date for entry submissions: December 16, 2016
  • Winners announced: January 16, 2017

Criteria for Judging

  • Potential archaeological insight provided by the visualization
  • Reproducibility
  • Aesthetic impact
  • Rhetorical impact
  • Appropriate recognition for/of data stakeholders (creators and other publics)

Attention will be paid in particular to entries that explore novel ways of visualizing archaeological data, or innovative re-uses of data, or work that takes advantage of the linked nature of Open Context data, or work that enables features robust/reproducible code for visualizations that could be easily/widely applied to other datasets.


The judges for this competition are drawn from across the North America:


A quick note on using reveal.js

I’ve been using Reveal.js for my course slide decks and for most presentations I’ve been giving of late. I like writing my presentation in markdown – quickly banging out ideas – and then feeding that markdown into Reveal. This has the added benefit that I can use Pandoc to create handouts or whatever super duper quickly.

If you write your slidedeck for Reveal.js in html from the word go, you can of course do a whole lot more and take full advantage of what Reveal offers. Perhaps you can do this in a markdown source file too, but for my needs, basic slides with either full screen images or centred images is all I need.

Here’s how I do it.

Begin by forking my presentations repository, (make sure your fork is a gh-pages branch). Then, rename one of my html files to your presentation name. 

Take for instance

Rename it ‘my-cool-presentation.html’ or whatever. Check to make sure this loads up by going to <yourusername>

Then, at line 45, change the name of the markdown file between the quotes to your own file: 

Screen Shot 2016-05-31 at 9.46.17 AM

so, data-markdown="" is telling Reveal to use as the source file. The next two lines (46 & 47) separate your content in your source markdown file; slides you want to go off to the right you mark off with --- and slides that go down the page are marked off with --. You can put your speaking notes in the slide by making sure Note: starts a new line; everything that follows will not be displayed (but can be seen if you use the speaker’s view whilst presenting).

To see  all this in action, go to:

And hit esc – you’ll see that the slides extend out to the right, and down to the bottom. (Hit s and you’ll see any notes I’ve left in there). If you look at the source md RAW,

you’ll see how those separators work out in practice. You’ll also note that you can mix a bit of html into the markdown as well to do things like full-screen backgrounds, movies, etc. Now, if you’re making a whole bunch of changes and working directly in github, it sometimes takes a while for your changes to show up and/or your browser cache might not show your latest changes. What I do is make all my changes locally, and spin up a server to display my changes to me as I make them with

`$ python -m SimpleHTTPServer 8000`

Then I commit and push my changes. Knock yourself out.

2015-16 Digital Projects Roundup

This past year, I’ve taught three digital history/humanities classes at Carleton. HIST3907o, Crafting Digital History, HIST5702w Digital History Methods as Public History Performance, and DIGH5000 Introduction to Digital Humanities. A fourth course was the open-access version of HIST3907o, but that is not counted in my tally, unfortunately. Finally, my MA student, Rob Blades, completed his combined Public History and Digital Humanities MA project.

This post collects together all the public-facing work that my students have done. I’m delighted and impressed with what folks have accomplished. Part of the pedagogical challenge for me is teaching the issues, the appropriate digital literacies, and informed criticism that my students need, when they are all coming from such vastly different starting points. Many have in point of fact never done much more with their computers than Word for essays; for many students, their critical consumption of the digital was let us say, embryonic.

In which case, my grading in these classes is not so much on the product itself as it were, as it is on the evidence for the students’ journey from whatever starting point they were at. I look to see if they have pushed themselves, if they have grown, transformed: is Anya a different student now than when she started, and in what ways? Is she herself aware of the transformation?

Without further ado, let’s take a look:

Rob Blades’ Pembroke Soundscapes exploring memory, sound, and place via webmapping.

Ryan Pickering’s Historical Consciousness of Dwarf Fortress (online process blog; final version pending)


This course is the core course in our collaborative MA in digital humanities; it’s ‘collaborative’ in the academic sense that there are 12 different participating departments. If students themselves should collaborate across those disciplinary boundaries, then good! Not every student wanted to make their projects public, and that’s perfectly OK.


This course involved a heavy exploration of The Programming Historian as a way of learning the skills of digital history and the ways of critically engaging with digital history. A few more are not yet online, but will be soon.


This course was mediated fully online, using Slack as our core space. I also purchased domains for every registered student so that they could build their own digital history lab space, installing and exploring and playing at will. I also asked the students to make some sort of exhibit exposing and exploring the process of their learning (some excellent examples of these: Craig’sBen’s and Melissa’s. Expect a blog post in due course doing a post-mortem on how that all worked out. In the meantime, enjoy:

Although term is now over, I’m still expecting one or two more projects to come in. I really hope they come in.

(ps, the featured image comes from Mel’s project on Twitter & Open Access)

Recurrent Neural Networked Trump

I fed a number of interviews with Donald Trump into a recurrent neural network. An RNN can learn to predict what letter ought to come next, depending on how well it has learned. The more data you can feed it, the more working memory your machine has, the better the eventual results. Once you’ve trained the model, you sample from the model and see what kind of text gets generated. If you turn the ‘temperature’ way down low – ie, you don’t let it get creative in its guesses – you end up with a kind of platonic ideal of what the training texts were about. The computer doesn’t really ‘know’ what the text is about; just, given whatever letter it starts with, the next likely letter. You can ‘prime’ the results by giving it a short bit of text to start the sampling from. So let’s see what my wee machine learned. In the dialogue below, my questions are the primetexts I used. The temperature is set to .5, meaning the machine is evenly balanced between fidelity & creativity in its responses. Since I copied interview texts verbatim, there are also other interlocutors in the text below, digital-doppleganger-reporters. Nothing of what follows involved any other humans except me; the texts are copied verbatim from the output of the machine, which learned by ingesting the first couple of pages of results of a search for ‘trump interview transcript’. Please don’t make me search for anything Trump related ever again.



SG: How will you govern?

COOPER:  They have to do it.

TRUMP:  Maybe they say this.

COOPER:  You see the end of the worst and then I never have to be president of the world in the something with the first — we are going to have to have to be on the history of the people where you see the world but the experience that you’re not going to be able to have the polls that was a real problem with the polls and they are not going to do it.

TRUMP:  I know.

MATTHEWS:  Well, you don’t see that.

TRUMP:  I mean, I think it’s totally cared what I was a lot of audience.  I mean, you know, when you want to talk about the party, and they don’t want to say that.  Because we have to do it.  I have to do it.  I have to be able to be a majority and they have to be able to do it anymore.  He was a debtor nation, and we’re pro-life.  I pay them in a politician, when I was a pretty much different than the banks.  And you know, I did believe in the country is a lot of excellent against a great state to Japan.  It’s not a strong with the states and they don’t like that.

MATTHEWS:  Well, the party of the problems that you have to still the formibility of people that was the some that I say it was a problem with the world or the same people that you’re going to be able to be a very much about when you say that?

TRUMP:  I think they’re going to have a strong question.

MATTHEWS:  Well, you have to look at the establishment that are the problem.

TRUMP:  Yeah.

MATTHEWS:  I know.

TRUMP:  Yes, I don’t want to say this.  They should protect them on which people with the money to meeting with the Middle East.  They want to like to get it to the world.  What do you actually have to get a lot of people in the problems we have a strong and we’re going to have a strong convention and we’re going to be a problem with the terror.  I have to be able to do it.  And I would go to the federal government in the media, when they don’t say that.  I can do that.  And I know you have to stop the Japanese.

SG: Why do you have to stop the Japanese?

TRUMP:  I was a lot of people are looking at the polls who was a deal.  We’re going to see the law in the hard of the states, they’re excellent.  And I don’t think they’re a good president.  I think I think that they put the banks, because I have all over the country.  I don’t know.  And I think it’s a great place to be a book about it.  And they can’t believe it because we have to say that they’re going to be crazy because they have to do it.  I have a fact for the guy that they can’t do that.


TRUMP:  They’re not doing something we have to stop what he’s wonderful, I think it’s a problem with the party of the states.  That’s not going to have a lot of people are running for the problem with the polls that I don’t know what at the things about them in the United States and then they don’t want to take it pretty world.  I have the place that they’re a very good deals.  We can be the only one that are going to say that.

MATTHEWS:  I think you do think.

TRUMP:  You know, they’re going to be a president of the things.  And I don’t want to support me.  I think they’re going to have a second interview that we have a strong people, and he was a strong argument that they say, “I don’t know.  I was a very rich country.  We have to be able to be probably from the way they say, just the problem is a strong question.  I am everybody else, and I was against the Republican Party and we’re going to look at the world, and they were in the same pollsters and they have to stop the worst institution.  You know, we want to be a strong again.

MATTHEWS:  I know the country, the morning is going to be able to win.  But it’s not a first thing to the party of the United States, and the presidential party and the ground.

TRUMP:  I think it’s not going to be the case.  I was a strong problem that they don’t know what happened.


SG: What about the Canadian Border?

TRUMP: I think I think that they really want to have to be able to really started up and we’re better off that country the new one of the reason that we have to do is the banks and saying, “Why do you take a look at her way.  I think they don’t want to have a tremendous party of the United States.  I don’t know what they have to start to him and really say you have no days and they don’t know what I would be in the same time when you have a lot of people saw the problems where they get away with the end of the worst and I don’t want to do it.

COOPER:  But they have a country has on that person.  I have groups of people in the health care of the most angressive to the federal government in the Republicans would be a big thing that the last debate.

TRUMP:  I have a poll that they’re going to have to do it.

COOPER:  I would say, you say, “That’s what I think that you’re going to have to make a tape that it’s a strong question in the case of the world.  They were the state and the view of the polls that you have to be able to say this?

TRUMP:  Yes.


TRUMP:  Yes.

MATTHEWS:  I would have said you said, “You said — who was a great global warming, there’s a lot of people, but I would take a look at the problem.

TRUMP:  You can go to the polls that I am something that doesn’t have to do it.  John, what is this point.

MATTHEWS:  OK.  And I was about the way the problems that you’re going to have to be able to not be very well.

TRUMP:  Well, I would be very strong for the problems what I don’t want to say that it’s in an antwere because they don’t want to be the case.  I was a strong problem that they don’t know what happened.


SG: Most of this makes no sense, eh?

TRUMP: I have a lot of money.


I dialled the temperature down to .20, to see what the platonic ideal Trump might say, with no primetext this time…

COOPER:  I want to say this is a strong argument that you would say that they want to do it.

TRUMP:  I have to be able to be a lot of people are supposed to be a lot of people are saying that they’re going to be able to do it.  I don’t want to say that.  I was a great problem.  I don’t know what he was a very strong and they get away with the problems that I was a strong angle to do it.

COOPER:  But you said you don’t want to have to be able to do it.

TRUMP:  I think I’m not going to be able to walk.  I think I would say this is a great person.  I mean, I would be able to say that they’re going to be able to be a lot of people are going to be able to do it.  I was a president who was a president that they don’t know what he was a very strong with the people in the states and they don’t want to say this because they want to say that, when you say that they’re going to be able to be a debtor nation.  I don’t want to be a lot of people are going to be able to be a lot of people who want to do it.

MATTHEWS:  Why do you think that they say that they don’t want to say that.

TRUMP:  I think they’re going to be able to be a lot of people are going to be a very strong and they’re going to be able to be a lot of people that have to stop the problems in the world is the way they have to be able to do it.

MATTHEWS:  I know.

TRUMP:  I don’t know.

MATTHEWS:  What do you think it’s a lot of people in the problem with the problems that the polls who was a very strong and they don’t want to have to do it anymore.

TRUMP:  You know, what do you say to the country.  And I think they don’t want to do it.

TRUMP:  I don’t know what they do that.

MATTHEWS:  Well, you have to be able to say this is a debtor nation.

TRUMP:  I don’t want to have to be able to do it because they don’t want to say that.  I have to be able to do it.  I mean I don’t want to say that.


Finally, I dialled it all the way up to .8, to let the Recurrent Neural Networked Trump loose…

And if he grabbed me, I have the numbers are going to look at the position for decides…


TRUMP:  I can do that.  I think because I don’t want to do that contract with a great will come out on my add.

MATTHEWS:  Well, we’re pro-life and some of the views are doing that.  And I may be here it.  She’s a great sense to me what this is a real estate political problem.

TRUMP:  Well, a couple of things here ago, you saw the question.  You can grabbed you something you’re not pretty well.

MATTHEWS:  No, but you have to do it.  They talk about the numbers and the other party people will be losing a lot of family in the Republican nomination,

TRUMP:  What did they’re going to be generals.  And I was against our military — what does he said it’s just an example, he was occusions in the wall.  I think this is Your fantastic.  We’re horrible thing to stop abortion in shirt of the world.  We have to do is all these states are running.  But we shouldn’t have show a couple of months of issues that to do it.  I mean, a lot of people don’t know what we’re seeing it, I made the problems in this country


It’s worth re-iterating that the quality of the output depends on the input and on the size and complexity of the calculated neural network. Your mileage may vary. Regardless: What’s the point of doing all of this? There’s an element of the Dada to it, an element of the performative nature of Oulipo type texts and ‘deformed digital humanities’. It makes something new, and in the juxtapositions and ludicrous ravings of the machine, I think we get deeper glimpses. After all, a recurrent neural network is close kin to so many of the other machine learning algorithms out there that (with the power and resources of major corporations or governments behind them) are starting to imprison our lives. Do you want this sort of thing deciding who gets the loan, who doesn’t? Who gets targeted for observation, and who doesn’t? Here, the results are risible: but scale upwards…

Mancis the Poet; or, what you get when you feed Cape Breton fiddle tunes into a recurrent neural network

My experiments with Karpathy’s recurrent neural network (rnn) continue (see this, and this). Other folks have experimented with feeding music in ‘abc’ notation into the rnn, so I thought I’d give it a try too. I found a collection of Cape Breton fiddle tunes. I can fiddle, a bit; can my mac? Turns out, yes, yes it can. Here’s what it generated:

Screen Shot 2016-02-18 at 8.25.36 PM

and you can listen to it here

The output from the rnn looked like this:


T:Mancis the Poeth
O:18th century Scottish
B:Bremner's Collections, 1757
N:melodic code 1331 3555
E2 EF DEFA|Bdef gfed|dBAF EB,E|D2:|
|:c|defd edef|gedB GABA|G2 dB dbaf|g2 ef g2 bg|agfa g2 ef|
gbga gdBd|bag

I changed that ‘333’ to ‘120’ because 333 beats per minute is just silly. This site converts ABC notation to MIDI file and makes the pdf of the score you see above (!); this site converts to mp3, which I then uploaded to soundcloud. All this after 2000 iterations; several thousand more to go. But already… pretty neat, eh?

The Robotic Edward Gibbon

Continuing on from yesterday’s post and the suggestion of Steve Leahy:

I have fed The Decline and Fall of the Roman Empire into my neural network. What truths about Gibbon’s writing will be revealed? A first pass: footnotes!


[Footnote 42: Herodian and Marcus, videra de Mestaem.]
[Footnote 221: See the latter of Carthage, and they not in discipline his power in this present country, the attending states of the historians, and the whole senator, which aport the Imperial son and the states of the most army as the command, and their beautiful and singular instances probable to the accustomed and public enemy. The flower of his soldiers was a magnificent spirit of one hundred and even, whose revenge in which his death, for under the emperor was the frontiers of the Hustilians. (See Palegyria, l. xiii. c. 2) in the collection of their taughters. In the emperor Maximian had renewed the mind of the mention of the conduct of the Greeks, and the great human accompanient of the whole hears of the Bratish ineffection. See the ministers of his erections and long tribes who had atthibuted a carable of military grandacts, the fixed of the death, the empire, and who gable to possess the superior successors of the throne, but even the tribunes, were filled as having thrown a proper entire, which they assembled a fliend the two triumphal princes, the accused of the nations of Augustus, in the conduct of the Gallienus.]

[Footnote 35: Adopis, is of these generils of his monarchys of the End and military enjoyments. The consuls of Valerian followed the applausing of the army. [32] Had obtained on the tenting of the little distinction of the conquest of their manners. They were been disciplined by their government which were the guards of particulars and accused of the first names of a luxury of their insolence, and the expedition of the emperor Maximian from the collected sentence of the son who shared the son of the Arminian greatness, supposed to the former the three were cluins, which had only distributed the senate had the honor and expression of the empire. The ancient world, and the first defence of the army alled the military property.]


I waited for quite some time, then ran it again with the temperature dialed close to 0. When you have things arranged that way, you get a sense of the core issues apparent in the writer. In Mr. Gibbon’s case:


The senate was the senate and the senate and the senate and the constitution…The provinces of the Romans were supported by the soldiers who had been subsisted by the emperor the senate, and the provinces of the emperor was confined to the provinces of the senate, and the constitution of the emperor was supported by the soldiers of the Roman empire


No surprises there: Roman history is political history. But if we dial the temperature all the other way, we get a bit more creativity, a bit more … humanity… in the writing:


The Roman Empire was related by the immediate and refulary influence of its expiess in faction: which became the multitude of poperal prophet, which can the most sepurity from every prince, who admitted, in a country of importance and successful sense, or attended on this prince to divide a magnificence, particularly formed from his life and name. When Diocletian was a common tolerant murder of polished the latter, which must have could be found in the remainder, which is safe by Trajan, as the Agrispan and a hundred emperors, the theatres of emperor inferiors in fortifications of ancient pity, which cut the confession of the former disciplined Aurelian into a single and powerful design of attributes, and more sounded and became a sense of stones, they against his superiority of conquest and inconsiderable successors.

[Footnote 23: The Porticular might recover on the acclamations of the Several assent of various numbers and his own historian, to expect with the object of the history of the Paastis, considerated them to the separate respect of the world from the easy on the choice of Herodian. The contemporary church of Decia, and Shohians in the successors of Therspation; [14] the title of Goths and garding of the Romans deperded by their virtues under the conference of his possession.

[Footnote 83: See the city of Maximian into which it any life is impossible against the family of his own provinces. It is by preserved, that Sirman is supplied by the Gibbon sesters, and provided like the throne and his declining antiquity, and described the funishmentang and foundation of climate, by religious and the emperor of their government, formed contest to destroy the wails, expired them, and dreaded the villages of the most noble respectable taxes, both supported their consulship. A serious party the creation of government were alleged to the barbarians of his accounts the prudence of the three country, and in the enterprises of the larger Galicies.


For the Terry Pratchett fans amongst you, all of this is probably an abomination unto Nuggan.


update: at around 8000 and 8500 iterations, we’ve got this: and Now I shall feed it every blog post from this blog…

A Newly Discovered Greek Play

What if you discovered a ‘new’ ancient greek play?

Yeah, not likely to happen, at least for me: ancient greek was probably my worst subject. But… given the time, the place, and the context of writing… maybe we could generate a ‘new’ play from the writings of the ancients. Maybe we could identify patterns of thought, of verse, and make something that simulates the process of writing a play? Andrej Karpathy has an intriguing post on ‘the unreasonable effectiveness of recurrent neural networks‘ – I’ll wait while you go read it. It’s *awesome*.

His code is on github; it works very well. I had to install Torch; the instructions there worked a bit better than the instructions on Andrej’s page (I was getting some weird git error when I did his instructions; switched to the Torch page, all went tickety boo). I had to create a .profile file as well – we’re on the Mac here, Windows folks, I have no idea – and then I ran it on his test dataset.


So I fed it the english versions of some Sophocles, Aesychlus, and Aristophanes  because I needed around 1mb of text. Remembering to

source ~/.profile

first, I then trained the model:

$ th train.lua -data_dir data/greekplays -rnn_size 512 -num_layers 2 -dropout 0.5 -gpuid -1

and we were off to the races. These values are those suggested in Andrej’s readme for the code. After a while, we reached a checkpoint and the code wrote a snapshot of what was going on; it’s still merrily ticking away as I write this. It gets better with time. If this machine had any horsepower, I’d probably be done by now. Anyway, let us see what our newly discovered greek play looks like:

$ th sample.lua cv/lm_lstm_epoch2.65_1.6008.t7 -gpuid -1 -primetext &quot;Gods of the ancient cradle of my race&quot; -temperature 0.85

In this line, I’m feeding it the most recent checkpoint I have, and I’m priming the generation with the phrase, ‘Gods of the ancient cradle of my race’. You don’t have to do this, but it seems to generate more sensible output (even with this *first pass* of the training) this way. The other important element is ‘temperature’. Closer to 0, the more conservative the neural net’s guesses; closer to 1, and we’re swinging for the bleachers. So what do we get? Something that feels as if it’s slowly coming into focus, as if it’s still blury, or perhaps being transcribed & translated by Shawn Graham ca 1996 in his first year Ancient Greek class…

Gods of the ancient cradle of my race--
  Of the wise blood-claft of all the phomer,
         with man not great with rade,
  The lumber, my pittible sprong the perise is eanth and survanign--
  Reelly eremy shall have yarded and fire his rid.
  And hear my sire the night Cryophenes,
  Where the stalls it bar exisile ground,
  No long course with sound of Hellacles, fire--
  A steppounce but is man's good,
            Poward and muntage
  rished from Zeus for the self-to me
for us.                         II 1
    Ay! Ah! not him! I know they sounds and pull,
  Yet shall have hath not for the wards to with hour,
  Arcey-lodned of the name to her perish fine away
  Deep his shade the warraors of the thought at the ruin for suppliant thought
  For all the lagkend of their father comes,
    Who she died and begint the grace,
  When when a round save indorred the ungreat. Yet hither speak all the naboe's slight.
                                                      [_Exit_ THE KING OF ARGOS

  How then I'll de to three the hate to my sire.
  And who thou whom are gundled of just fatterland hall!
  Lake this hour!
    Nover sent this race!

      With who may to more immortal over the whole
  Who stands on mine yea-strose enemy-speeth so now to sire,
    Not shall be let a parrest thine cleared
    Hevelled to from our stay,
  But even the angien of the blood hither life,
  The tomber of what resolve with heed
  Lest far the on to sweet persafte! boy his desore were that and thratt and bear.
      When his miders, of it, and her hound!

CH. O hapless heart will tell, nor saith down to me,
  Word saids of the blooding of the wisean poor brought.

CH.                  So stool.

CH. I might do you who drould her country to die.

CR. Strick so, I must get here in thy fate here was to swift,
  Of their binds mey hear and jay.


I’ll just let this tick over night, and we’ll see what our newly discovered greek play looks like in the morning…

update, 30 minutes or so later: it’s updating every 1000 iterations, taking roughly half an hour to do so.

Gods of the ancient cradle of my race,
          O more of the breath of the shore,
    And here and rended the stranger gods,
    When the speed and the fight to the child,
        Threatened disclear and to me
                                                                                          II 2
                                                                                                                                        II 1
      The clamour and the sea--come, when the sacred father haste,
      When he will be endowed in the way,
    When of his father taught his father's wards
      And who shall your seas a prade
            The eagle as terror of the face,
  And we must still me not as the steed of the storm,
                                                                                                                                                  I 1
                                                                                            II 2
                                                                                           II 2
      But of the bride and the earth, who revealed
                                                                                                                                         I 2
        And the act in our hand.
  For a with the storm of holy sure.
                                                                                 I 1
    The shame and wise to see,
  But the day to the shore, when the every word,
    And the shame with land and is here.
  And where it from the haughter of the doom,
      And Zeus is a distracles here,
      Suffer out and here with shame.
    And then the the terror of the shores and the son!

  DIO. Then shall I most least our deserve the stranger strung the sight, and fell
  The the lightless of the fleet, and the abloged tongue and the deather of

…the stranger gods… I like that phrase…

update feb 17 I meant to run it over night, but forgot that the computer goes to sleep. So this morning I let it continue to 5000 iterations. I think you’ll enjoy the result.

Can we fix it? Yes we can! #DHAnnotates Feb 8-12

With apologies to Bob the Builder, and perhaps also Obama.


In my graduate seminar on digital/public history, I framed the course as ‘Digital History Methods as Public History Performance’. I did this deliberately to riff on my colleague David Dean’s amazing seminar and research on perfoming history; students in that class were making videos, writing music, putting on vignettes. It’s been amazing to watch. But digital history methods as performance? I wanted to suggest to my students that working with digitized materials necessarily involves a performative element, even if that element is hidden away in the final published works (where eg we pretend we actually consulted the 1856, June 15th edition of the Globe and Mail). My goal then for the course was to expose these, and by doubling down on the ‘how to’, the ‘why should I’ and the ‘what’s in it for me’ naturally would emerge.

Thus, the seminar presentations are not on various readings, but rather, on the various tutorials of the Programming Historian. The task of the discussion leader is to tie the method into their thesis research, into the readings from other classes, into the wider world of historical meaning-making. (I do give them some suggestions to read, of course). The final project involves making some sort of public-facing object “using the tools of gaming, a work of digital history that simultaneously explores, comments, critiques, or teaches, digital history.”

Meanwhile, Amanda Visconti and I had been talking about some sort of collaborative project to annotate a crucial text in the digital humanities world using the tool. That is, a public work of digital humanities that simultaneously explores, comments, critiques, or teaches, digital humanities. Worlds have collided! So here’s the plan:

Collaborative Annotation Fest #DHannotates

  1. Create an account on Hypothesis.
  2. During the week of February 8-12 visit the Programming Historian’s lessons and see what other annotations people have left.
  3. Try out some of the lessons, and leave annotations on the page that discuss where things went well, went off the rails, remind you of some other useful resource, reply to others’ annotations (Hypothesis allows for threaded conversations in the annotations) or whatever kind of note strikes you.
  4. Tweet the link to your annotation with the tag #dhannotates .
  5. Amanda and I will monitor the tweets and the feed of annotations. If you get stuck, or you need help, feel free to tweet or email Amanda or myself (@Literature_Geek or @electricarchaeo)

Won’t you join us? Friends don’t let friends do #dh alone!

For more on the nuts-and-bolts of annotation and how Amanda and I plan to support you all, please see her post

The Minimal Viable Digital History Virtual Machine

I have three classes on the go, all of which are heavily digitally inflected. In the past, I’ve always figured it was better to teach students how to use the machines they have to hand, rather than trying to get them all on a single virtual machine; after all, most of the students come to my classes with only the vaguest idea of what their machines can actually do. Being able to click around madly in Word or Powerpoint is not digital literacy. In which case, figure out what this (real) thing is capable of before we complicated matters with another (virtual) thing.

That means a lot of tech support.  I’ve always undertaken to help the windows people put things into their path variables, and mac people to guide them around the terminal (terminal?! path!?) and so on and so on. Normally, not a big deal. But this term, the three courses combined are taxing me pretty heavily.

Have you tried turning it off and on?

I’m thinking that the next time I run these courses, it’d be better to just bow to the inevitable, get everyone working on the same image, and spend time sorting out a virtual machine and then getting on with life. My question then is, what is the minimum viable digital history virtual machine? What are its components? What flavour of linux? Should it have a GUI? etc.

There are some places to start. Turkel, Start, and Milligan have the ‘HistoryCrawler‘ available for use. But the instructions are, well, complex . (EDIT- As Ian points out in the comments, those instructions are for replicating/building from scratch; to use, just download, load into virtualbox, and Go. It’s still 8gb though). One of my undergrads* built a VM last year for me – which was awesome, A+, that man – but it was still too heavy and a touch unstable. Ben Marwick has a VM set up script for archaeological computing (and me futzing with same).

It would have to be extremely straightforward to install. I’m thinking, no more than a handful of commands (that includes setting up all the virtualization framework too). It would have to automatically be configured to communicate with the students ‘my documents’ folder or similar, for getting stuff in and out (that’s a mission critical point, by the way. Configuring that would cause brain melts). It would have to be extremely light. No one has turned up with a chromebook (yet), but people are buying some godawful cheap laptops with next to no RAM.

Anyway, those are just some initial thoughts. What should the minimum viable machine have in it? What are the crucial things? Answers on a postcard.

*He also rewrote one of the exercises in the workbook to use a vanilla linux VM – see

(edited Jan 31, rewritten a bit)