Electric Archaeology: Digital Media for Learning and Research

Syndicate content Electric Archaeology
it's not just digital, it's electric!
Updated: 14 hours 9 min ago

Winter 2018 Teaching Preview

Mon, 06/11/2017 - 21:45



Procedural History

Sun, 05/11/2017 - 23:09

Procjam 2017 – ‘make something that makes something!’ is on right now.  My interest in procedural generation at the moment concerns the way we think about something when we’re making something else that makes that something. (Still with me?)

I’ve dabbled in sound, and in text, and in bots; now I’m thinking about procedural history. Now, in a way, that was what I was doing when I got into this whole DH scene way back when – agent based modeling. But there’s something about the way something like Dwarf Fortress writes history – and people in turn flesh those histories out (this was the subject of an undergraduate honours thesis done for me by a student, who, to my frustration, has never posted the work online).

So I’m coming back to it. This is also partly because I’m interested in how ideas about how cities work are codified in city sim games that then get draped in the trappings of Antiquity (am writing a piece on this at the moment). Today I came across a very cool project from the procjam community, by David Masad (who I note is using ABM for his dissertation work), called ‘WorldBuilding‘. It takes the algorithm for fantasy maps that you may have seen at play in that twitter account, ‘uncharted atlas’, generates a world by simulating landscape and erosion, introduces an ABM of nomads who settle down into cities, who interacted via trade routes, and who pay tribute or go to war with one another.

All within one python notebook.

Here is the dusty plateau, fringed by a verdent coast, where one or two valleys give access to the interior. Nomads arrive, and in the course of time, settlements and routes emerge:

And we can begin to model their interactions.  Masad is using Axelrod’s Tribute Model. He then dips into the logs and is able to generate the annals of this world:

“From 0 to 49, Ceotpe saw slow growth. In this period it received tributes from Oqlou.
From 49 to 50, Ceotpe saw slow decline. In 50 it, and joined its allies in one battle.
From 50 to 87, Ceotpe saw slow growth. In this period it received tributes from Oqlou.
From 87 to 88, Ceotpe saw slow decline. In 88 it, and joined its allies in one battle.
From 88 to 90, Ceotpe saw slow decline. In this period it, and joined its allies in one battle.
From 90 to 92, Ceotpe saw rapid decline. In this period it fought a war against Oqlou.
From 92 to 99, Ceotpe saw slow growth.”

The code also produces a line chart of a city’s fortunes – for instance, the city of Tigei had a much different history:

The logs spell out what was happening:

” 43, ‘Receive tribute’, ‘Oqlou’
50, ‘Joined war against’, ‘Itykca’
62, ‘Receive tribute’, ‘Oqlou’
73, ‘Receive tribute’, ‘Oqlou’
88, ‘Joined war against’, ‘Itzyos’
90, ‘Joined war against’, ‘Itzyos’
92, ‘Led war against’, ‘Oqlou'”

I could imagine, say in a senior undergrad seminar where I had the time and commitment from students, to use this code as the kernal for a deep exploration of how history intersects with games and simulation. How do you get from an annal to a history? The students would work at the creative tension between what a game shows and what a game merely suggests and what the player brings to that gap.

Something like that. It’s dark, it’s november, the time changed, I’m tired, not exactly coherent. But there’s something extremely cool here (not least the usage of jupyter notebook to illuminate the code). My gut, which I consult on such things, thinks this stuff is important.

featured image Peter Lewicki, unspash

Old Bones Daily – HeritageJam 2017 Entry

Tue, 24/10/2017 - 15:08

Update: We won!

I’m pleased to take part in the 2017 HeritageJam; Kate and I present Old Bones Daily:

  • Visit online at http://shawngraham.github.io/hj2017
  • Make your browser full-screen for best effect
  • Fully responsive so can be read equally well on mobile
  • Reload the page for the latest headlines and stories and photos


The paradata for the project is printed as the fifth column on the newspaper’s front page.

This ‘newspaper’ that you are looking at pays hommage to that older newspaper culture of reprinting, while at the same time commenting, on modern ‘news media’ by procedurally generating texts from the ‘bones’ of generative grammar. Each time this page is reloaded, the news is generated anew from a Tracery grammar. This grammar is derived from the study of 19th century newspapers in Western Quebec (The Equity) and northern New York State. It selects passages from these papers where the word ‘bone’ is present or implied, and recombines them in sometimes surprising or revealing ways. There are stories of injury, and columns with helpful advice. Sometimes a humorous anecdote is recounted; sometimes popular accounts of the latest academic research.

And sometimes, out and out fraud.

Some of the passages are presented verbatim, using the language and reflecting the mores of the age (with no generative grammar intervention) thus demonstrating another perspective on ‘bones’ and whose are accorded human dignity. The passages were collected in the first place by ingesting OCR’d papers into AntConc, and generating a concordance and keywords-in-context file.

Tracery was designed and built by Kate Compton @galaxykate. This newspaper layout was designed and shared by user silkine on codepen.io. Images are drawn from the British Library’s Flickr stream, where they have been tagged with the word ‘bone’ – thus, another algorithmic expression of the bones underlying the web.

Source Files

Please see the source repository at http://github.com/shawngraham/hj2017

To replicate this newspaper for your own amusement, consult the file, newsgrammar.js and insert new values in the keys. To alter the layout and placement of these elements on the newspaper, create new var and associated div in the js\app.js file. Place the div in the appropriate location in the main index.html file. Extra css or html for a particular chunk of text should be wrapped inside the values in the newsgrammar.js file. For a tutorial on how Tracery functions, see Shawn Graham’s tutorial at The Programming Historian. Tracery can power webpages, games, and twitterbots. What would be the effect of ‘Old Bones Daily’ if it were translated into the new news medium of Twitter?

Sources for Newspaper articles:

The Shawville Equity (consult this digital finding aid project by Carleton undergraduate student Jeff Blackadar)

Syracuse NY Daily Journal via ‘Old Fulton NY Post Cards’ collection of digitized newspapers at http://www.fultonhistory.com/


The original CSS for the newspaper layout is MIT Licensed by user Silkine on codepen.io

The Tracery generative grammar is released by Kate Compton under Apache License Version 2.0, January 2004

Images obtained via the British Library’s Flickr stream are all public domain works

We assert that our use of the original source newspapers is fair use

We release the code in the source repository into the wild, such parts of it that are uniquely ours, under CC BY.

A Twitter Hiatus

Fri, 20/10/2017 - 16:02

I'm taking a break from this place. It sucks. If you want me, email.

— Shawn Graham (@electricarchaeo) October 13, 2017

For some time now, Twitter just hasn’t been fun. Don’t get me wrong: if you want to know what’s going on in digital archaeology (or whatever field) and you want to know what your peers are up to, it’s hard to beat.

But it’s been making me sick. It’s been making me anxious. It’s been eating far too much of my time. The world’s shitty enough as it is, without giving the shittiness a direct pipeline into my brain.

There’s no need to iterate all the bad ways Twitter serves to make the world a worse place, including its use of addictive design principles. It’s baked in, as they say: the trolls, the nazis, and Trump will never be booted off, because they generate clicks, they generate attention. Women and people of colour on the other hand…

So I’m taking a break. I’m trying. I’ve installed a site blocker on all my devices. In recognition that I’ve been such a heavy twitter user for so long, and that’s the principle vector for how some people collaborate with me, I have things set up so that I can check my DMs periodically. I did retweet some things related to singer-poet Gord Downie’s death, which as a Canadian of a certain age, well, you just have to do.

Other than that, I’ve been off Twitter for a week now. And dammit if I don’t feel more productive already…

If you need me, email me.

Feature image Vicko Mozara, Unsplash 


Call for Collaborators: The Open Digital Archaeology Textbook Environment (ODATE)

Tue, 17/10/2017 - 15:06

The Open Digital Archaeology Textbook Environment is a collaborative writing project led by myself, Neha Gupta, Michael Carter, and Beth Compton. (See earlier posts on this project here).  We recognize that this is a pretty big topic to tackle. We would like to invite friends and allies to become co-authors with us. Contact us by Jan 31st; see below.

Here is the current live draft of the textbook. It is, like all live-written openly accessible texts, a thing in the process of becoming, replete with warts, errors, clunky phrasing, and odd memos-to-self. I’m always quietly terrified to share work in progress, but I firmly believe in both the pedagogical and collegial value of such endeavours. While our progress has been a bit slower than one might’ve liked, here is where we currently stand:

  1. We’ve got the framework set up to allow open review and collaboration via the Hypothes.is web annotation framework and the use of Github and gh-pages to serve up the book
  2. The book is written in the bookdown framework with R Markdown and so can have actionable code within it, should the need arise
  3. This also has the happy effect of making collaboration open and transparent (although not necessarily easy)
  4. The DHBox computational environment has been set up and is running on Carleton’s servers. It’s currently behind a firewall, but that’ll be changing at some point during this term (you can road-test things on DHBox)
  5. We are customizing it to add QGIS and VSFM and some other bits and bobs that’d be useful for archaeologists. Suggestions welcome
  6. We ran a test of the DHBox this past summer with 60 students. My gut feeling is that not only did this make teaching easier and keep all the students on the same page, but the students also came away with a better ability to roll with whatever their own computers threw at them.
  7. Of six projected chapters, chapter one is in pretty good – though rough – shape

So, while the majority of this book is being written by Graham, Gupta, Carter and Compton, we know that we are leaving a great deal of material un-discussed. We would be delighted to consider additions to ODATE, if you have particular expertise that you would like to share. As you can see, many sections in this work have yet to be written, and so we would be happy to consider contributions aimed there as well. Keep in mind that we are writing for an introductory audience (who may or may not have foundational digital literacy skills) and that we are writing for a linux-based environment. Whether you are an academic, a professional archaeologist, a graduate student, or a friend of archaeology more generally, we’d be delighted to hear from you.

Please write to Shawn at shawn dot graham at carleton dot ca to discuss your idea and how it might fit into the overall arc of ODATE by January 31st 2018. The primary authors will discuss whether or not to invite a full draft. A full draft will need to be submitted by March 15th 2018. We will then offer feedback. The piece will go up on this draft site by the end of the month, whereupon it will enjoy the same open review as the other parts. Accepted contributors will be listed as full authors, eg ‘Graham, Gupta, Carter, Compton, YOUR NAME, 2018 The Open Digital Archaeology Textbook Environment, eCampusOntario…..

For help on how to fork, edit, make pull requests and so on, please see this repo


Featured Image: “My Life Through a Lens”, bamagal, Unsplash

Letter to a young scholar

Fri, 08/09/2017 - 13:45

I sometimes receive notes from undergrads or other folks wondering what advice I can give about studying to become X… I thought I’d share the response I wrote this morning.

Hi ____

Thank you for your note, and your query about how I got here and various options for your own path. I’ll tell you first about my own journey. Don’t let that part put you off, but I want you to have your eyes open as you consider your options.

My own personal journey is perhaps not a template to follow: I went to the UK for grad school in Roman archaeology. At the end of that process, I was teaching random courses at universities across the south east of england, piecing together enough money to keep me going, living out of a rucksack. I eventually got tired of that and came back to Canada where I was, for all intents and purposes, unemployable in Canadian archaeology. I started my own businesses, and also supply taught at a local high school, to make ends meet (see this: https://medium.com/@electricarchaeo/on-teaching-high-school-109cb75caedc ). Eventually I got a position working online for a for-profit “university” in the US, which gave me a bit of stability. Eventually, I saw the job advert for a position in ‘digital humanities’ at Carleton, and here I am.

So my journey involved transforming myself from frankly a second rate Roman epigraphist into a digital humanities scholar and digital archaeologist. I benefited from being in the right place at the right time, having made a bit of a name for myself by blogging my continuing research throughout that period. There was a lot of luck involved.

Between December 2002, when I received my PhD, and July 2010, when I started at Carleton, I had precisely 2 interviews for full-time academic postings.

Now, the keys to getting the job at Carleton were that when I returned to Canada, I had to work extremely hard to make connections with people in the community I wanted to be a part of. Conferences, open research online. Contract archaeology wanted nothing to do with me because I had not gained enough experience of field archaeology in the UK to be employable in Canada – AND Canadian archaeology uses different approaches than european stuff.

*my advice, for what it’s worth*

  • I’d have still gone to the UK for grad school, but I would not necessarily jump into doing a PhD. Few places in this world are better for archaeology, ancient civ, etc. An MA opens opportunities; a PhD can be perceived as narrowing your range of options – you have to work hard to convince people of the truth of the phd, that it makes you better in the long run for a wide variety of things.
  • I knew I didn’t want to go to a Canadian school, because I wanted to jump right into my interests. A UK school allows that; Canadian schools demand a whole bunch of coursework first.
  • Follow the money: go where they really want you. If a school offers some sort of scholarship, I’d take it. My 1 year of MA in the UK doubled my entire debt to that point.
  • Do an MA that fills you with joy – it’s one of the few times in this life where you can. An MA of any stripe is all to the good, so don’t fall into the instrumentalist trap of picking something that you think someone ‘else’ (however construed) would approve.
  • A classical MA, of whatever stripe, can be a very good foundation for a wide variety of paths in this life. Don’t worry necessarily about the job at the end of it. Classical folks in my experience tend to be some of the most creative and lateral thinking people I’ve ever met.
  • Be aware that such things can take a toll on your mental health. Make plans to keep your support networks, your friendships, intact
  • I’d have focussed on getting more fieldwork. That said, archaeology suffers from gendered labour issues such that it is largely men in positions of power. So if you plan on trying for an archaeological career in fieldwork, know that this is an issue.
  • Classics departments are greying, but they are not necessarily hiring to replace retirement.
  • Work constantly on your digital literacy: skills, trends, research methods, questions, theories
  • Develop a scholarly online presence
  • Lurk on twitter, follow scholars whose work fills you with wonder, or whom you admire. Follow a couple you loathe, for a contrary view.

You might also wish to frame your interests a bit more broadly, and consider in what other contexts you can engage with Greek and Roman civ – museums, digital work, community, public, game studies, and so on.

Best wishes,


(cover image, Daria Nepriakhinia, Unsplash)

Data as a Kandinksy Painting

Wed, 26/07/2017 - 16:56

I just found this package for R, ‘Kandinsky‘. You can read the logic of what it does here.

I’m totally into representing data as art, so I thought I would feed all 900+ annotations my ‘Crafting Digital History’ class is making across the web through it

  • Grab all the annotations using Lincoln’s ‘Hypothesisr‘ package.
  • Turn that into tidy data:
word_counts <- documents %>% group_by(user) %>% unnest_tokens(word, text) %>% count(user, word, sort = TRUE) %>% ungroup()
  • feed word_counts into kandinsky

et volia:


Now, let’s visualize the stopwords. I also add some custom stopwords to that list (things like ‘digital’, ‘historian’ etc, given nature of the course). Ecco:

There is something extraordinarily satisfying about those two images. The first captures the entire universe of possible responses that my students are making. In the second, that purple circle seems to my mind to correspond with the normal stopwords and the squiggles my additions. Let us now subtract the second from the first:

Interesting, this visualization of what remains after the stopwords are applied…

I can also do some other fun things with my annotations, such as term frequency – inverse distribution frequency to find out what words tend to characterize which students’ annotations. As a Kandinsky painting:

Let’s paint our feelings – here’s the sentiment of the annotations (‘affin’):

And here’s the same data again, but sorted from most positive to most negative:

Finally, let’s finish off with a topic model and then the top terms from the topic model:

Data is beautiful.

What does it mean? Well, that might take another post or two. Maybe the meaning would emerge if I also sonified, or 3d printed, this data. If we use the full sensorium…

Uh oh

Tue, 25/07/2017 - 18:37

I’ve taught ‘Crafting Digital History’ twice before. Once as a face to face course complete with lectures and in-class exercises, and once as a fully online course. The workbook now approaches 200 pages when it is printed out. One takeway from the 2016 edition was that I didn’t want to be writing tutorials and supporting students across multiple operating systems.

Especially Windows. Windows drives me up the freakin’ wall.

Because I also like to learn, and I’m trying to push for reproducibility as a goal in digital history (of methods at least, and re-visiting of conclusions) and in digital archaeology, I had it in mind for some time that some sort of virtual machine would be great. Everybody would be on the same platform. I would only have to write one set of materials. But experiments with virtual machines kept throwing up the same issues of getting the damned machine installed and configured correctly across multiple operating systems. I especially loathe those back-to-school specials with 2 gb that so many of my students seem to have (if you only do a bit of wordprocessing and facebook, good enough I suppose).

Enter DHBox.

I love DHBox. I love the concept. I love the philosophy of openness baked in. I decided ‘go big or stay home’ and so I rewrote the 2017 version of the course to use DHBox nearly exclusively. And up until about, oh, 11.30 last night, things were going great.

A troubling error message, but not the end of the world. We had already increased the amount of memory allocated to our DHBox twice already (we have it installed on top of an openstack.org stack). Earlier, in the run up to the course, we tried to estimate how much memory the students would need. I wanted the students to work with real digitized materials that hitherto had not attracted any attention – the Shawville Equity’s print run from 1883-2010. I figured I could teach them how to use wget to download this stuff, and then in the next module I’d teach them various ways of looking at it, exploring it, extracting interesting stuff from it. Earlier, I’d also taught them how to use Twarc to download materials from Twitter, suggesting they use the ‘canada150′ hashtag (Non-Canadians: it’s 150 years from Confederation, whence sprungeth modern-ish Canada).


Being only a few weeks from the official day of celebrations (July 1) meant that there were, oh I don’t know, hundreds of thousands of tweets with that tag available via Twarc. Multiply by # of students.

Number of editions of the Equity available for download: 1595. Each one between 8 and 20 high-rez pages. Even though I asked the students to only download a few years’ worth, multiply by malformed Wget and/or processes left running…. (I had shown them and walked them through how to identify and kill running processes when necessary, but alas…)

And so I sent a call out to Andrew who has been supporting this class above and beyond the call of duty. He’s on vacation. But he tried to help me out regardless, and set things in motion to increase our memory allocation. Unfortunately, we’d clogged the pipes so badly that this process has itself gone sideways in ways that I am unable to explain (server-side stuff ain’t my bag, as Austin Powers might say).

And so we are currently DHBox-free. While this has caused me a mild heart-attack, it’s not really as bad as it might first seem. I still have all of my materials written from last year where I was supporting individual operating systems, so I just dusted that off (thank you, O Github repository) and gave it to the students who needed it.

The only thing that is seriously hurt at this point is my pride, and the loss of some downloaded data. The final projects – where I imagined them all collaborating on different aspects of that particular dataset – will need to be rejigged a bit, but it’s all going to be ok.

It’ll be ok.




Featured Image by Simson Petrol on Unsplash