From Agent Models to Archaeogaming: A Digital Archaeology

I’ve been working away on a new book.  I’m sharing with you now the current state of the introduction. It doesn’t quite hang together yet, and I need to stop with the whole zombie schtick (‘golems’ are a better metaphor), but anyway. Would you read this book? I need a better title, too.

~o0o~

This book is about, in a narrow sense, the ways in which I’ve reanimated Roman society using agent based modelling and archaeogaming. But in a larger sense, it’s about digital enchantment in the ways that scholars like Sara Perry (2018),  Russel Staiff (2014), and Yannis Hamilkais (2014) have written. It’s about responding to archaeology not as a crisis to be solved, but as source for wonder. It’s about whether digital archaeology is fast or slow, whether it is engaging or alienating, whether or not it is sensory and sensual.

What are computers for, in archaeology?

The question might seem absurd. What is a pencil for? A shovel? A database? Our tools are only ever appropriate to particular situations. Not every moment on an excavation requires a mattock or a pail; a dental pick and a dustpan might be called for. By the same token, maybe we don’t always require a computer to achieve a digital archaeology. Maybe a smartphone is all we need. Maybe an iPad. Maybe we just need what Jentery Sayers (2018, elaborating on Kershenbaum 2009) calls ‘paper computers’.

The point is, if we stop simply accepting that a computer is always necessary, we can see again some of the enchantment these amazing devices possess, and we can begin to imagine again the kinds of questions they might be best suited to. There is any amount of criticism of computing, of digital archaeology that focuses on the alienating aspects of the work. Caraher has argued that to use a computer as part of your process, whether in the field or in the lab is to somehow be pushed away from the tacit and sensuous ways-of-knowing that characterize the doing of archaeology (2015).

Perhaps we are asking the wrong questions of these devices. For me, the use of computation in archaeology is a kind of magic, a way of heightening my archaeological imagination to see in ways I couldn’t. It lets me raise the dead (digital zombies?) with all the terror wonder, and ethical problems that that implies. Shouldn’t we raise the dead?  Why shouldn’t we put words in their mouths, give them voices, and talk with them to find out more about their (after) lives?

In this book, I’m making an argument that a slow, reflexive, sensual, enchanted engagement with the past is possible (even desirable) when we use digital computational approaches. That is not to say that it is not a rigorous approach. The first step in this approach is a clear formalism, a clear re-statement in code about what I believe to be true about the past. It has to be that way, because the fundamental action of the computer is to copy. Decisions we take in a computational medium are multiplied and accelerated, so those initial decisions can have unintended or unforeseen consequences when they are rendered computational.

Such formalisms also have to be rendered as relationships as well. Research on artificial neural networks demonstrates that meaning can emerge through cascades of coordinated firings of neurones through weighted channels, backwards and forwards. These weights do not need to be known beforehand, but can be learned as the network is exposed to stimuli. To my mind, this points to a way of computing the past that does not rely on higher-level equations that describe a social phenomenon, but rather a way of letting interaction precede the equation. We set up the conditions for interactions,  relationships, and networks to emerge. Understand that I am not arguing for a naive use of computing and letting answers percolate out. That is nonsense. Rather, I am arguing for the correct level of complexity to model, to put into a simulation. The first part of this book is a consideration of networks as a substrate; the second revivifies these networks, raising the dead through simulation.

These are games that play themselves, these simulations. Wouldn’t it be interesting to enter the game ourselves? This is part of the enchantment. In the third part of this book I discuss what it takes to make this happen, and what archaeogaming, chatbots, and other playful digital toys can offer to our research and more importantly for the audience for whom archaeology holds wonder. I weave throughout this book my engagement with what makes digital work sensuous and enchanting in the ways that Perry and Staiff describe. It is unapologetically a personal engagement.

~o0o~

Insofar as the actual archaeological data in this book and my computational engagements with them are concerned, I have collected together and edited some of my previously published papers that employ a variety of small thought experiments and agent-based models and toys. The computational parts are tools-to-think-with, rather than things that will prove an hypothesis. They are arranged in a logic that reflects the way that I have come to think about Roman society, especially cities and the social life within them. It seems to me that Roman cities and societies can be thought of as nodes of entangled systems, as biological processes that smear across boundaries and scales, and whose actions can be modeled upon those entanglements. With video game technologies, we can insert the researcher/student/public into the model for deeper learning, engagement: a first person perspective. Not I should hasten to add, a Roman perspective. Rather, a deformation of our own just-so stories we tell about the past with the authority provided by a disembodied narration. If there is truth in the stories we tell, then there is truth in the embodied perspective provided by a computational rendering of that story.

I have done my best to excise that part of me that writes in impenetrable archaeo-jargon. Forgive me my failures. I write this book not so much for an academic audience invested heavily in modelling and simulation, but rather for my history students afraid to engage with digital work. It is when things break and in the cleavages that we see most clearly the problems and potentials of technology, and so failure is a necessary part of the process.

The book shifts scales quite often.  It begins with a focus on the flows of energy and materials necessary to sustain the exoskeleton of the City, its built fabric. We then expand outwards to consider the fossilized traces of the social networks that enabled that flow. Once we have a network, we consider ways in which the equifinality of networks can be used to iterate our deformations, our perspectives, and so the kinds of questions we might ask. Now that we are at a regional level, the next chapter considers a model of regional space, its interactions, and the ways local interactions give rise to global structures.The remainder of the book deals with ways we can use these simulations, and these archaeological networks, for generating insight into the social contexts of Roman power. The book returns to where we started, with the city, and concludes with new work exploring the ways that the city-builder genre conditions our understanding of ancient cities, and how we might subvert, divert, and repurpose such games to our own ends.

These particular case studies are wrapped in a larger argument about the proper role of computation in archaeology. In the end, I do not subscribe to a techno-chauvinism that sees digital responses as the obvious end-goal for archaeology, nor a techno-utopianism that describes what ought to be (cf Broussard 2018). Rather, I see space for a creative engagement with digital tools that opens up a landscape, a tasks cape, for returning some enchantment to what we do.

~o0o~

My first encounter with ‘real’ archaeology was as an 18 year old college student on his first real adventure out of the country (out of the back woods, in truth). We were working (paying to work) on an excavation in the Peloponnesus, in the hinterland of Corinth. In the bottom of the high mountain valley of Zaraka you will find lake Stymphalos, where Hercules defeated the Stymphalian Birds. Not much of note happened in this valley; the Romans marched through on their way to annihilating Corinth in 142 BCE; the Crusaders of the Fourth Crusade built a monastery. During the second world war and subsequent Greek Civil War, bitter battles were fought for control of the area. Sometime in the 15th century a person was buried and their head lopped off, for future archaeologists to find, and to feed stories of Balkan vampires; but that’s about it.

My trench? My trench was full of bricks. The trench next to mine? That was the trench with the vampire in it.

Fast forward a few years, and I’m now in Rome, hot on the trail of aqueduct remains across the Roman countryside on a vespa scooter. Thomas Ashby and Esther van Deman had done this during the interwar years (without the vespa), but Rome and its countryside were a very different place, then. Armed with copious photocopies,  a dog-eared copy of  Trevor Hodge’s Roman Aqueducts and Water Supply, and a military topographic map (thirty years out of date) I zoomed down the lanes and byways and industrial estates on the modern periphery of Rome. When I found some ruins, I tried to correlate what I found with the descriptions in Ashby and van Deman. I measured, I photographed, and I drew. The point of these exertions was a massive Excel database that used my basic understanding of the geometry of solids (is it pie-r-squared or half the width times the height or…) to build a beautiful mathematical model of the finished aqueduct. I spent three months pulling this model apart to figure out the quantities of human labour and materials to make this structure. Back on the road, to double check, to find the missing pieces… a glorious summer of roadside picnics, coffees in truck stops, shepherd dogs chasing me from the fields, climbing down into ravines or up onto brick lined vaults.

A few years later, and it’s just me staring at a storage shed full of bricks. Roman bricks are heavy. They are large, and they are thick. They litter the fields of Italy. When they are collected, it is sometimes to take a geochemical peek at their composition. Where might they clays come from? More often, it is because they contain very complex makers’ marks, these bricks from near Rome. They tell you a year, an estate, a brick maker, a landlord. They remind me a lot of how marks on timber floated down the Ottawa River were used by the timber barons to keep records straight, for paying for the use of timber slides, for working out who owned what. I find them interesting, but in self defence against the teasing I receive – hey brickstamp boy! – I play up the boring bit. Hell, we’re archaeologists, we can’t always excavate vampires, right?

Vampires.

Raising the dead.

Hmmmm….

It’s about this point where I first encounter the idea of ‘social networks’ – a full decade before Facebook – and I start to wonder what I might see if I tie these estate owners, estate names, brick makers, makers’ marks and so on together.

In the blue glow of the cathode-ray monitor, the tangled hairball of connections starts to emerge and I begin to see changing patterns over time, patterns that begin to give life to these long dead workers….

~o0o~

This is a book about the practical magic – the practical necromancy? – that digital archaeology brings to the larger field. To use computers in the course of doing archaeological research does not a digital archaeology make. Digital archaeology requires enchantment. When we are using computers, the computer is not a passive tool. It is an active agent in its own right. The way it is built, the way the code is designed, contain so many elements of unconscious bias from all of its myriad creators (and blood: do not forget how much actual human blood is shed to obtain the rare earths and minerals upon which computing rests [reference to that alexa AI map]) means that the computer is our co-creator. In a video game, the experience of the player is not the result of a passive reception of representation by the game author. The player’s active engagement with the emergent representation of the rules put in motion by the author but interpreted in the context of the local game environment means that meaning of the game is the product of three authors. We can see this in video games, but it’s not always clear that this is also true of say GIS or 3d photogrammetry.

In that emergent dynamic, in that co-creation with a non-human but active agent, we might find the enchantment, the magic of archaeology that is currently lacking in archaeology. Sara Perry identifies the lack of magic, the lack of enchantment, in the ‘crisis’ model of archaeology that animates our teaching, our research, and our public outreach. If archaeology is always in danger, then every act of archaeology is an act of rescue, and every act of rescue implies a morality play, a this-is-good-for-you aesthetic to which the public should respond appropriately.

Is it any wonder that the History Channel is filled with ancient aliens nonsense rather than ‘proper’ documentaries?  [Brenna Haslett on ghost hunters?]

Archaeology – academic archaeology – has lost its grip on wonder and enchantment and romance. This is not a plea to sanitize the past, or to pander to tired tropes (but remember: most of those tropes were created by archaeologists who went out of their way to communicate their research to the public. It is not their fault that subsequent archaeologists turned their backs on the public and let those tropes fester). It is a plea to find the magic and wonder in what they do. [St george and the vampire?]

And so I offer this book, a guide to practical necromancy, in that spirit. By pulling together the connective threads on nearly twenty years of work in simulation, agent modelling, video games, and Roman economic history, I want to map out a way for digital archaeology to connect with what Andrew Reinhard has identified as ‘archaeogaming’: if I take the fossils of a Roman social network, and reanimate them with autonomous software agents, just what kind of digital archaeology have I created? What other kinds are out there?

The Making of FORVM: Trade Empires of Rome

Almost three years ago, Tom Brughmans sent me an email to see if I’d be interested in some kind of academic exchange. At the time, he was at the University of Konstanz and there is a state-province level exchange program that we could apply to. ‘C’mon over!’ said I, and soon Tom, Iza Romanowska, and their two wee babies arrived in Ottawa.

This began one of the most productive partnerships I’ve ever enjoyed. The plan was initially to do something digital – Tom and Iza are amongst the most accomplished simulationists and digital archaeologists out there – but plans soon changed. ‘How about a board game?’ said Tom, and I was sold. (update: Tom says it was me who suggested the game! Funny thing, memory)

We began by looking at the collection of board games in MacOdrum Library. What games did we like? Why did we like them? What problem space (as Jeremiah McCall terms it) do they address, and how? What is the key issue in our own research that a board game could address? I have a giant whiteboard in my office, and we started sketching these ideas out. Tom and I have both written and created simulations of Roman economics, and we have both explored Roman archaeology from a network perspective, so it made sense to us to use these experiences as points of departure.

Earlier in the year, I had also participated in the Interactive Pasts conferences, giving a paper on agent simulation as ‘games that play themselves‘. This got me to thinking about the differences between agent models, video games, and board games, and we started thinking about board games as being ‘analog simulations’ that encouraged modding, tinkering, and ‘house rules’. That is, unlike a video game that makes you perform its creators’ ideas about how the world-space works (and are thus very hard to see or contest – but not impossible) an analog game/simulation invites reflection on the rules and system. Thus we set out to make a game that reflects our perspective on the importance of network dynamics and information asymmetry in the Roman world, but that also invites its players to reflect on and perhaps alter/mod those rules for their own purposes.

A board game!

We started sketching out a flow-chart of how the game would progress as if it were a Netlogo simulation. Somewhere in my office I know I still have the giant sheets of paper on which we scrawled pseudo-code, replete with crossing outs, multiple hands and colours, as we worked out how the game should be played. We used a networked representation of connectivity in the Roman world that Tom whipped up in Visone, against a map of the Mediterranean, to start building our board. Eventually, we ended up with this:

Original Board for FORVM

And we started playing. And replaying. And modifying. And playing. And fixing. I dragooned one of the MA students (Hi Elise!) to be our fourth player. And we played. And fixed. And played some more. Eventually, Tom, Iza, and the boys had to go back home. Over the next two years, we kept fiddling with the game, and Tom’s extended network of friends and family playtested and continued to refine the game. At this point, we commissioned the brilliant artist Ian Kirkpatrick to produce the artwork for the game, and to turn our board above into this:

Once we had the game manufactured, we tried to have a copy sent to Tom and Iza so that we could reveal it and play it at a workshop Tom put on in Oxford in early October… but alas, that copy is somewhere in Spain, ping-ponging between different postal sorting offices, or slid down behind a radiator somewhere. A copy did make its way to me in Ottawa, and I asked my colleague Marc Saurette (who does an amazing semester-long seminar where the students role-play medieval politics) to play-test it one last time with his students.

A slightly-blurry shot of the game in action

With a few tweaks in place, we are delighted to announce that the game is now available for purchase! It’s manufactured in the United States. If you’re ordering from a non-US location, make sure to select the international tracking option lest your copy go missing in the postal system too. The game has its own website at http://www.forvm.ca/  but you can purchase direct from the manufacturer at TheGameCrafter.com. We’re not making money on this; it’s all at cost, an exercise in getting our research knowledge out into the public sphere.

Would you like to play a game?

 

Award for Outstanding Work in Digital Archaeology – ODATE

I was pleased to find the following note in my email Thursday last from the AIA….

Previous winners of the award may be found here. Speaking for everyone on the ODATE team, we are honoured to join their company! Earlier projects that have been honoured are becoming part of the entire ecosystem of digital archaeology infrastructure, and I’m pleased that our part aimed at the teaching side of that balance has been recognized. Part of our digital pedagogy uses reproducible computational notebooks that integrate data, code, and analysis. My ambition is that through ODATE we normalize and regularize this kind of reproducible research in archaeology more generally.

I’d also like to thank my collaborators and co-writers on this project who have put up with me these past two years – Neha Gupta, Michael Carter, and Beth Compton. When the going got rough, other folks jumped in to help us complete the work – Jolene Smith, Andreas Angourakis, Andrew Reinhard, Lorna Richardson, Kate Ellenberger, Zack Batist, Joel Rivard, Ben Marwick, and Rob Blades. These folks come from all walks of archaeological life, from the library to the lecture hall, from grad school to professional archaeology. They are all wonderful scholars!

So this award is shared across a community of practice: thank you all.

I should note that this project was funded by eCampusOntario, ‘the online hub for learners and educators across Ontario’, and I’m grateful to them, and the EDC at Carleton, for supporting this somewhat different approach to what an online textbook could be.

…oh, and ODATE itself? Well, the url for it is out there, in the aether; we’re still trying to sand off some of the rougher corners, fill in some of the bits and pieces. You can find it easily enough (ah well, here it is), but know that the official ‘ta da!’ is coming.  But here are all of the computational notebooks that you can run in your browser, right now.

Thank you everyone at ODATE for coming along on this adventure, and thank you AIA!

aialogo

#Archink

Katherine Cook organized an archaeology themed edition of the wider #inktober challenge (draw something, every day, for the entire month). Her prompts:

archink prompts

#Inktober #archink prompts

I cannot draw. But I can trace. My hands shake a lot when I try to concentrate on doing fine work. (And yet, when I play piano, they don’t. Go figure). Below are my efforts at #archink. I didn’t hit every day, but I did get a lot of them.

Fragments

It’s been a long month.

Then I was on a plane, so I tried tracing a photo I took in the Museum of London:

 

Interprets

 

Builds

 

Sites

And then I gave Google Storyboard a try, on a video about the University of Reading excavations at Roman Silchester:

…when you’re using the app, you can reload it for different layouts, effects, video stills transformed into sketches of different styles etc.

 

Conserves

 

Conceals

 

Holds

 

Moves

 

Writes

 

Theorizes

Treasures

 

Colonizes

 

Decolonizes

 

Narrates

 

Collects

 

It’s been an interesting challenge. I think if I kept it up, I might eventually learn how to actually draw something ex novo. But until then, there is some satisfaction in remediating, tracing, things I find.

A Quick Note on HackMD for Collaborative Notetaking in Class

I’ve long been interested in collaborative notetaking in class as a way of making presence in class more meaningful. In my imagination, collaboratively written notes from class discussions and exercises intersect with other kinds of notes (Hypothes.is for instance for reading, Zotero on bibliography) to make a sort of super zettlekasten.

In class this term (‘Bad Archaeology‘) I’m framing discussion as a series of unconferences. As part of that, I’m also making any notes that I scribble together available to the students via HackMD.io. HackMD also has a nice feature that integrates with Reveal.js so that I can quickly spin out a slide deck from a bit of markdown in a new note, like so:

---
title: Slidedeck Sept 4 Getting Started
slideOptions:
  transition: fade
  theme: night
---

## Sept 4 Getting Started

---

![an image](url to the image)

Note:
Speaking notes hide here; not visible in slide mode but visible in edit

---

and so on

This really fits well with my existing flow. You can create a ‘book’ by making a note with a list of links, then hitting ‘book mode’. The page that loads up will use your note as a table of contents on the left of the page, and the contents from the first linked page as the default first page:

Screenshot from my HackMD notebook

I’m imagining my students making many cards, then filing them altogether in a book-like format. Permissions can be set on individual cards to restrict who can edit them (so just the students, students plus me, outside world, etc). Materials can be exported to dropbox, github, odf format, etc. YAML can be added to each note to ask Google not to index and so on.

HackMD has pricing for more features, more space and so on;  if the business model is good presumably it’s going to hang around for a while. But… there’s always the fear, right? Turns out, you can deploy the whole thing to your own space too – the repository is at https://github.com/hackmdio/codimd. (There’s a desktop interface I see, which is neat, it’s in the organization’s repository list). It doesn’t look easy to deploy, mind you. I have a free account with Heroku, so when I saw the ‘deploy to heroku’ button….

Reader, I pressed it.

It failed the first time, but deployed the second time, so now I have a collaborative markdown notepad of my very own.

(ha, as I look at my Heroku dashboard, I see that I set this up once before a year or two ago! Completely forgot about it…)

featured image by Aaron Burden via Unsplash

DCGAN for Archaeologists

The following is cross-posted from our project website at bonetrade.github.io

Learning about GANs 

Melvin Wevers has been using neural networks to understand visual patterns in the evolution of newspaper advertisements in Holland. He and his team developed a tool for visually searching the newspaper corpus. Melvin presented some of his research at #dh2018; he shared his poster and slides so I was able to have a look. Afterwards, I reached out to Melvin and we had a long conversation about using computer vision in historical research.

His poster is called ‘ImageTexts: Studying Images and Texts in Conjunction’ which clearly is relevant to our work in the BoneTrade. In his research, he looks at the text for ‘bursty’ changes in the composition of the text. That is, points where the content changes ‘state’ in terms of the frequency of the word distribution. The other approach is to use Generative Adversarial Networks on the images.

So what are GAN? This post is a nice introduction and uses this image to capture the idea:

Image from Dev Nag on Medium

In essence, you have two networks. One learning how to identify your source images, and the second learning how to fool the first by creating new images from scratch.

Why should we care about this sort of thing? For our purposes here, it is one way of learning just what features of our source images our identifiers are looking for (there are others of course). Remember that one of the points of our research is to understand the visual rhetoric of these images. If we can successfully trick the network, then we know what aspects of the network we should be paying attention to. Another intriguing aspect of this approach is that it allows a kind of ‘semantic arithmetic’ of the kind we’re familiar with from word vectors:

The easiest way to think about words and how they can be added and subtracted like vectors is with an example. The most famous is the following: king – man + woman = queen. In other words, adding the vectors associated with the words king and woman while subtracting man is equal to the vector associated with queen. This describes a gender relationship.

Another example is: paris – france + poland = warsaw. In this case, the vector difference between paris and france captures the concept of capital city.

I will admit that I haven’t figured out quite how to do this yet, but I’ve found various code snippets that should permit this.

Finally, as Wevers puts it, ‘The verisimilitude of the generated images is an indication of the meaningfulness of the learned subspace’. That is, if our generated images are not much good, then that’s an indication that there’s just far too much noise going on in our source data in the first place. Garbage in, garbage out. In Melvin’s poster, the GAN “was able to learn the variances in car models, styling, color, position and photographic composition seen in the adverts themselves.”

In which case, it seems that GANS are a worthwhile avenue to explore for our research.

Dominic Monn published an article and accompanying Jupyter Notebook on building a GAN trained on one of the standard databases, ‘CelebFaces Attributes data set’ which has more than 200,000 photographs of ‘celebrities’ (training dataset composition is a topic for another post). It’s probably a function of my computer but I couldn’t get this up and running correctly (setting up and using AWS computing power will be a post and tutorial in due course). It is interesting in that it does walk you through the code, which is not as forbidding as I’d initially assumed.

I had more success with Taehoon Kim’s ‘tensorflow implementation of “Deep Convolutional Generative Adversarial Networks”’, which is available on Github at https://github.com/carpedm20/DCGAN-tensorflow. I don’t have a GPU on this particular machine, so everything was running via CPU; I had to leave my machine for a day or two, and also use the caffeinate command on my Mac to keep it from going to sleep while the process ran (quick info on this here).

I had a number of false starts. Chief amongst these was the composition of my training set.

  1. You need lots of images. Reading around, 10 000 seems to be a bottom minimum for meaningful results
  2. The images need to be thematically unified somehow. You can’t just dump everything you’ve got. I went through a recent scrape of instagram via the tag skullforsale and pulled out about 2300 skull images. That was enough to get the code to run, but as you’ll see, not the best results. Of course, I was only trying to learn how to use the code and work out what the hidden gotchas were.

Gotchas 

Ah yes, the gotchas.

  • images have to be small. Resize them to 256 x 256 or 64 x 64 pixels. Use Imagemagick’s ‘mogrify’ command.
  • images have to be rgb
  • weird errors about casting into array eg https://github.com/carpedm20/DCGAN-tensorflow/issues/162: ValueError: could not broadcast input array from shape (128,128,3) into shape (128,128) means that we have to use Imagemagick’s ‘convert’ command there too.
  • greyscale images screw things up. Convert those to RGB as well
  • running the code: use the dockerized version, and put the data inside the DATA folder.
  • running the main.py script: --crop always has to be appended.

Command snippets:

convert image1.jpg -colorspace sRGB -type truecolor image1.jpg

make sure there are no grayscale images

identify -format "%i %[colorspace]\n" *.jpg | grep -v sRGB

convert images to 64×64

mogrify -resize 64x64 *.jpg

convert to sRGB

mogrify -colorspace sRGB  *.jpg

run main.py

python main.py --dataset=skulls --data_dir data --train --crop`

Results? 

I let the code run until it reached the end of its default iteration time (which is a function of the size of your images). Results were… unimpressive. With too small a dataset, the code would simply not run.

Some outputs:

after two epochs

After nearly an hour the first visualization of the results after a mere two epochs of iterations… a dreamy mist-scape as the machine creates.

first actual working results

In this mosaic, which represents the results from my first actual working run (20 epochs), you can, if you squint, see a nightmarish vision of monstrous skulls. Too few images, I thought (about a thousand, at this point). So I spent several hours collecting more images, and tried again…

results of a run

Maybe I’m only seeing what I want to see, but I see hints of the orbital bones around the eyes, the bridge of the nose, in the top left side of each test image in the mosaic.

So. I think this approach could prove productive, but I need a) more computing power b) more images c) run for much much longer.

I wonder if I can remove my decision making process in the creation of the corpus from this process. Could I construct a pipeline that feeds the mass of images we’ve created into a CNN, use the penultimate layer and some clustering to create various folders of similar images, and then pass the folders to the GAN to figure out what it’s looking at, and visualize the individual neurons?

Jupyter Notebooks for Digital Archaeology (and History too!)

As the fall academic term approaches, and we get closer to version 1.0 of the Open Digital Archaeology Text (ODATE), I thought I would share the plethora of Jupyter Notebooks we’ve put together to support the work.  (A video showing the whole ODATE project is over here on youtube). The text of ODATE still has some rough edges and there are parts still coming together. Indeed, it will never be finished as it is my hope that it grows and is forked and becomes the kernel for many many coursepacks and workshops and syllabi; more on that later when we’re closer to pulling back the official curtain.

As far as these notebooks go, more will come with time. Feel free to use these in your teaching – please let me know if you do and how it goes –  and please do suggest edits (either by leaving an issue on the github repo or by making edits and a pull request on github). I would be delighted to include more that other people have built, so let me know if this interests you!

These notebooks can be downloaded and run locally if you have Jupyter installed (you’ll need to pay attention to the requirements and postBuild files if you do that, in order to get all the bits and pieces installed. Use a virtual environment too!) If you click the ‘launch binder’ button, the notebooks will launch in an interactive environment hosted by Binder. (Once they’re up and running, you can also change the url where it says ‘tree’ to ‘lab’ to have these notebooks in a Jupyter Lab interface).

Note: Run each cell in the notebook in sequence from top to bottom; use shift+enter to run the cell or hit the ‘run’ button in the notebook toolbar. Have students work through the notebooks, then make changes, modify, or expand the notebook for themselves. When the notebook is running, there is an ‘export’ option under the ‘file’ tab. Export as jupyter notebook. The resulting text file (with .ipynb extension) could be submitted for course work (and run within the relevant binder, of course).

(featured image: Brandon Green, unsplash.com)

These links will launch the notebooks using Binder. It can sometimes take a few moments for the environment to launch; be patient. Click on the ‘status’ link when launching to see the environment build.


Introduction to Jupyter Notebooks

Binder Repository

Contains:

  • Welcome.ipynb
  • demo-R.ipynb

This notebook contains everything necessary to set up a Github repo that can become the basis of a Binder. Consult the repository’s Readme file to see how it can be customized for your own particular usage. Fork (make a copy) of this repo as often as is necessary! Many of the exercises in the first part of ODATE require nothing more than this.


Working with APIs

Binder Repository

Contains:

  • chronicling america api.ipynb
  • open context api.ipynb
  • Open Context Measurements.ipynb
  • mapping-with-ipyleaflet.ipynb

These notebooks demonstrate progressively more complicated ways of retrieving data via an API.


Archaeological Data into R

Binder Repository

Contains:

  • Retrieving Data from the Portable Antiquities Scheme Database.ipynb
  • archdata.ipynb

The first notebook shows how to use R to pull archaeological data from an online database. The second notebook shows how to interact with the archdata package, a collection of archaeological datasets already pulled together for usage in R.


Databases

Binder Repository

Contains:

  • intro to sql.ipynb
  • SQLite Database and R.ipynb
  • visualizing results of sql query in python.ipynb

This notebook demonstrates how to ingest a variety of csv (or other format) files into a single SQL database. It shows how to query the database, and to push the results of the query into a dataframe for further analysis or visualization.


Linked Open Data

Binder Repository

Contains:

  • sparql-intro.ipynb
  • Using R to Retrieve and Visualize Data from SPARQL.ipynb

The first notebook shows how to craft sparql queries for the British Museum, Wikidata, and Nomisma endpoints. The first notebook uses a SPARQL kernel that also allows for graphing visually the data relationships; it also has a ‘magic’ command for writing the data to json or csv. The second notebook demonstrates how to use the sparql package for R to query an endpoint and then manipulate the results to do some simple statistics and visualization.


Spatial Archaeology

Binder Repository

  • linlithgow_spatial.ipynb
  • canmore_survey_shetland.ipynb
  • 1_spatialarchaeology.ipynb
  • working with remote sensing data.ipynb

These notebooks are courtesy Dr. Rachel Opitz, of the University of Glasgow who is Lecturer in Spatial Archaeology. There are two binders which can be launched, ours and Dr. Opitz’s; consider launching Dr. Opitz’s as she updates the work for her own teaching, or use the ODATE version that is updated only periodically. Dr. Opitz’s version can be launched here: Binder

The Linlithgow notebook explores burial data, while the Canmore notebook explores the map of registered monuments in the Shetlands, recorded in Scotland’s Canmore database. The 1_spatialarchaeology.ipynb notebook explore’s data from Dr. Opitz’s team’s excavations at the ancient city of Gabii in Italy. The final notebook works with remote sensing data and explores cropmarks in hyperspectral images.


Scraping

Binder Repository

  • Extracting Data from PDFs using Tabulizer.R
  • metadigitise.R
  • Building a Scrapy Scraper.ipynb

To launch the two .R scripts, use the built-in RStudio server in this binder. This binder will take a bit of time to load up.

From the Home page for this binder, select new -> RStudio. Then open the Extracting Data from PDFs using Tabulizer.R (or the metadigitise.R) file.

Put your cursor at the first line in the script (top left window); run one line at a time.


LiDAR

Binder Repository

  • Demo using Montreal LiDAR data.ipynb
  • Avebury LiDAR.ipynb

These two notebooks show how to unzip .laz files into .las, and to visualize the data therein.

The final codeblock in both notebooks creates an animated gif from the data. That final codeblock is computationally intensive; it will take some time to run. The results will be written to a new folder called ‘export’; you can open that folder by clicking on the jupyter logo at top and then clicking on the ‘export’ folder.

You will know the code is finished when the [*] at the left of the code block changes to a number.

Start with the Montreal demo notebook. It contains some code that the Avebury notebook depends on.


Agent Based Modeling

Binder Repository

Contains:

  • Schelling Segregation Model – schelling/analysis.ipynb
  • Epstein Civil Violence Model – epstein/epstein civil violence.ipynb
  • Forest Fire Model – forest_fire/forest fire model.ipynb
  • Virus on a network – virus_on_a_network/virus.ipynb

Start with the Forest Fire model – it is one of the best known introductory models in the field. As you experiment with these models, ask yourself, ‘what would it take for this to be a model of an archaeological concept?’ The ‘Virus’ model notebook is still under development.


Agent Based Modeling with Netlogo

Binder

A notebook for running Netlogo models ‘headless’ (eg no GUI) by specifying parameters for an experiment. These parameters are passed to a bash script and run from within the notebook. Results are written to file for further analysis in the python. A variety of likely python data packages are also provided for import. (Others can be added by running !pip install <package> from within a notebook.


Computer Vision

Binder Repository

Contains:

  • Building an archaeological image classifier with tensorflow.ipynb

This notebook demonstrates how Transfer Learning can be applied to create a neural network model trained on archaeological imagery. A mobile version that uses the results of this notebook to create an image identification app may be followed here


Clustering Images with Tensorflow

Binder Repository

Contains:

  • find-similar-images.ipynb
  • Affinity Propogation.pynb

These notebooks take the second-last layer of the neural network and demonstrate how to study it for clustering visually similar images.


Sonification

Binder Repository

  • Intro to Sonification.ipynb

This notebook walks through the process of mapping time-series data to musical notation, to create mid files that can then be turned into sound.


Creativity

Binder [https://github.com/o-date/creativity/]

  • Glitching an image with prism sorting.ipynb
  • semantic_similarity_chatbot.ipynb

This binder can take quite a bit of time to pull together. Please be patient. There are steps in the chatbot notebook that can also take a bit of time; watch for the [*] beside a running code block to disappear before moving to the next one.


Creativity 2

Binder Repository

  • World Building – model demo.ipynb
  • History Generator – ahistorygenerator.ipynb

The first notebook generates a world by simulating topography and erosion, and then using an agent based model to play out its history. The second is a far more simple model of state formation, fision, and fusion but uses Tracery to generate its historical chronicle, and graphviz to visualize it.


Make a Research Compendium

Binder Repository

This repository is an experimental demonstration of how you might combine a research compendium created by rrtools with Binder, a service that creates an executable environment with RStudio in your browser.

Please read the rrtools documentation and this repository’s readme before launching this binder.

Sticking it to DCGAN

These are notes to self; a proper blog post eventually

Working with DCGAN – https://github.com/carpedm20/DCGAN-tensorflow

This is cool too, but just doesn’t work for me (final codeblock runs, no results)

->  much depends on the input data

-> more is better

-> images need to be resized; smaller than 256 x 256

conda activate env
  • convert images to 64×64
    mogrify -resize 64x64 *.jpg
  • make sure there are no grayscale images
    identify -format "%i %[colorspace]\n" *.jpg | grep -v sRGB
    
  • fix those that are:
    convert input.jpg -colorspace sRGB -type truecolor output.jpg
    

    or, to run over the whole lot, in bash (and you might be able to pipe the identify results right into this):

    for f in *.jpg; do
      convert ./"$f" -colorspace sRGB -type truecolor ./"$f"
    done
    
  • and fire that thing off:
    python main.py --dataset images --data_dir data --train --crop

 

Buy a damned GPU

Exploring Tensorflow for Poets, or, Building a Pottery Classifier

reblogged from our project website at bonetrade.github.io

In our recent paper, ‘Fleshing Out the Bones’ we used the trained ‘Inception 3’ model as a way of determining clusters of images that we then studied for clues and hints: why did the machine cluster them this way? What are the common features?

Unsupervised learning: It’s not unlike reading entrails.

Diagram of the sheep's liver found near Piacenza with Etruscan inscriptions on the bronze sheep's Liver of Piacenza, Wikipedia

An alternate approach is to take an existing model, and add new training data to it. Pete Warden put together a tutorial a few years ago called Tensorflow for Poets that has since been formalized as a Google CodeLabs tutorial. Last night I tried the tutorial out using a corpus of Roman fabrics and wares. The nuts-and-bolts of doing this are over in the tutorials.

The hardest part was getting the training data organized. It needs to be in a folder where each image is in a subfolder where the name of the subfolder is the category, eg:


|
|-training-images
     |
     |-terrasig
     |-african_red_slip
     |-veranice_nera

…etc. Once that was done, it went quite smoothly. What will take some time is figuring out what the different architecture and other flags do. For instance, in the default command suggested by the tutorial, I had to determine that I needed to add the flag on validation size and set it to use the entire training set (as my training set is probably way too small).

python -m scripts.retrain \
  --bottleneck_dir=tf_files/bottlenecks \
  --how_many_training_steps=500 \
  --model_dir=tf_files/models/ \
  --summaries_dir=tf_files/training_summaries/mobilenet_0.50_224 \
  --output_graph=tf_files/retrained_graph.pb \
  --output_labels=tf_files/retrained_labels.txt \
  --architecture mobilenet_0.50_224 \
  --validation_batch_size=-1 \
  --image_dir=tf_files/gallery

“The architecture flag is where we tell the retraining script which version of MobileNet we want to use. The 1.0 corresponds to the width multiplier, and can be 1.0, 0.75, 0.50 or 0.25. The 224 corresponds to image resolution, and can be 224, 192, 160 or 128. For example, to train the smallest version, you’d use –architecture mobilenet_0.25_128.” Harvey, 2017

I’m not sure I understand exactly what this all means yet, practically speaking. Anyway, I now know what I’ll need our MA research assistants to do this fall.

  1. study our first corpus’ clustering results to come up with some training categories
  2. divide that corpus into a training dataset
  3. train a new image classifier
  4. run that classifier on our new corpus (which I’m still collecting)
  5. compare that with the clustering approach without our new classifier.
  6. compare the results of both with the posts’ text

The ambition? To be able to sort at scale the images we find automatically into sensible structure.

 

Featured Image by Adrien Ledoux on Unsplash

MA in History, Public History, Digital Humanities: 2 Positions

Damien Huffer and I are working on a project that elaborates from our ‘Insta-Dead‘ work, which data mined Instagram to explore the trade in human remains. We have an opportunity for two potential MA students to start September 2018 to work with us, at Carleton University.  At the same time, the students would pursue their own research within the ambit of this project, which revolves around the use of various AI technologies – especially, but not limited to, various kinds of neural networks. Ideally, the students’ own research projects would push the research into other domains, for instance, historical photographs; tourist photos; advertising using historical imagery, digital historical consciousness.

Interested candidates are invited to contact Dr. Shawn Graham at shawn dot graham at carleton dot ca to discuss their potential research project, to gauge their potential fit with the funding envelope and other potential supplementary funding sources. Candidates are also invited to review the MA History, MA Public History, with Collaborative Digital Humanities Program requirements –

https://carleton.ca/history/graduate/ma-program/program-requirements/m-a-with-specialization-in-digital-humanities/

https://carleton.ca/history/m-a-in-public-history/

Criteria:
– a good first degree in a relevant subject (history, archaeology, etc)
– existing ability in digital humanities methods or issues is desirable, but not critical. Much more important is an ability to think creatively about the problems or potentials of computational viewpoints.

Activities that the students might be involved in:

+ Writing code to generate datasets
+ Developing various NN
+ Analyzing results
+ Ground-truthing training datasets (making sure that training images are properly classified)
+ Curating and preparing materials for data publication in appropriate venues
+ Research and writing of tutorials
+ Research and writing connected with their own research interests as they intersect with this project
+ Communicating the results of research with relevant publics at conferences and other venues

 

featured image by Green Chamelon on Unsplash

Guest Post: Alexis Mawko, Lessons from Warhol

HIST3814 Critical Making in Digital History has come to an end. Over the duration of the term, the students first digitized something in the physical world, and then progressively manipulated, translated, and transduced the thing into different forms and mashups. The idea was that we would study the way things break, or fail to work how we think they should, to see if we could understand what the fact of the digital does to our work as historians. The final module involved pushing the digital thing back into the real world. I asked student Alexis Mawko if she would share some of her work. What I like about Alexis’ work is the way she uses the entire process as an opportunity to think about her practice as a historian in its ethical context. Below, we crafted a post out of her various process notes and paradata. The final part is her process notes on how to make a hologram projector

The reason I’m painting this way is that I want to be a machine, and I feel that whatever I do and do machine-like is what I want to do.

‘What is Pop Art? Answers from 8 Painters’, Part 1, G. R. Swenson, in Art News 62, November 1963

I deliberately chose Andy Warhol’s “Brillo Soap Pad Boxes” in the National Art Gallery of Canada for the thing for my assignment for multiple reasons. Warhol’s work forced the viewer to contemplate the relationship between art and everyday commercial objects. By replicating commercial packaging and presenting it as an artwork, the viewers and the curators are also forced to contemplate their own definition of what constitutes art.

Maxwell notes in  Power is in the Process: The ACCORD project that “…in the end we value human creativity above machines” (Maxwell, 2107). To me, this is why Andy Warhol’s work is regarded so highly. While he uses machines, helping hands, and pre-existing designs and images, it is the way that he re-purposes these images and objects that is what makes his work creative, and thus, art. The technology at his disposal allows Warhol to “seek to introduce the value of human creativity” (Maxwell, 2107) into otherwise, banal household objects. In addition, as Maxell notes, “despite his attempts to hide behind the machine, we are always aware of the personality who created the work” (Maxwell, 2107), and it is that creative personality that gives life and meaning to the artwork.

I think the framework of ideas can also be applied to work we have been doing with 3D modeling. We are more removed from the subject and we use technology to create a copy of the artifact at hand. Simply copying an object and processing it through a program to create a 3D model seems uncreative, and the final result would not be classified as art by many. But in essence, we are doing exactly as Warhol did; we are reproducing and repurposing and object for own use, and giving it a new meaning. While Warhol wished for his audience to contemplate his work and their own culture, our 3D models function as an informative tool that allows others to discover the artifact virtually. Furthermore, there is much more involvement in the creation process on our part. I had to edit photos and fiddle with the program to get the best result, and it required a substantial amount of trial and error. If the process was completely devoid of human creativity, the program would do a perfect job generating a 3D model the first time.

While making a 3D model of Warhol’s “Brillo Soap Pad Boxes”, I also had to remove the background of the images and subsequently, the context of the sculpture, that is, the gallery and the setting. In doing so I changed the meaning and the intent that the artist originally had for his work. While a viewer can look at my model and see a 3D image of the sculpture, it may not cause them to understand the meaning behind the sculpture, or contemplate why a consumer product would be displayed in the gallery.

While trying to copy the packaging of the Brillo soap pads, Warhol also re-appropriated the meaning of the Brillo boxes themselves and changed its “aura”- that is, its essential meaning (Bruno Latour and Adam Lowe, 2010). While the boxes started out as packaging designed to promote their product as well as the company’s long history in America, they were seen as something completely different, and more sinister, when viewed in the context of the art gallery. Warhol effectively erased decades of the company’s all American history, and the Brillo Soap Boxes became known throughout the public under a different light.

Finally, the final step that the Brillo Soap Pad Boxes have undergone was its recreation as 3D image, making a facsimile out of a facsimile. When made and viewed as a 3D model, part of the history is lost once again, as the viewer cannot appreciate the context in which his sculpture was meant to be seen in (in a gallery, as mentioned previously). Its meaning becomes an appropriation once again, and the 3D model can only be fully used as a visual supplement, and certainly does not compare to the real thing. Part of the fascination that comes with any artwork or artefact is that that art is has witnessed history, or is representation of the artist himself. Without having that authentic connection and without being able to see the original artefact, part of its meaning, quality, and value is lost.

Module 4 

I had the most difficulty deciding what to do for this final module. I was not quite sure what to create nor did I really know which direction I wanted to take my topic in. The reason for my indecisions really boil down to two main causes of concern.

#1 – I was struggling with how to advance my work in a meaningful way. The point of this module was to bring our digital creations into the physical world. Yet, throughout this course and throughout my own journey with my topic, I have become increasingly conscious of the roles we play as historians and of the potential unexpected consequences we face when manipulating things from the past, whether it be a narrative or a physical object. In Module 2, I focused on the multiple narratives that the Brillo boxes convey, and throughout the Brillo box’s many transformations (from consumer item, to fine art, to a digital 3D model) these narratives have shifted or have been lost all together. Questions of ethics arose as I was aware that each transformation utilized a pre-existing work, which was manipulated for the use and intentions of the creator (myself included). Therefore, I was somewhat hesitant to create a physical copy of a digital copy of a physical copy of an already existing object. (Confused? Me too.) I feared that dragging on this process of copying and reproducing would be redundant, unethical, and meaningless.

#2 – I was also concerned about my practical skills when it came to producing a physical rendering of my object. I feel as though the modules have been getting harder and harder in this regard, and I can admit that technological troubleshooting is not my forte, with my pre-existing technological skills being limited to Microsoft Office and Adobe applications. Thus far, I have been impressed with what I have been able to accomplish, and the discussions we have been having in class about “productive failures” have really helped affirm my less than perfect work and have encouraged me to experiment and move forward. However, with this module I was very unsure of what I wanted to accomplish.

In addressing my first concern regarding the redundancy of repetition, I decided that it was best to just fully acknowledge my role as a historian, as a digital creator, and as an “artefact appropriator” and purposefully bring my digital work from Module 1 back into physical space in the most literal way possible. I therefore decided to create a moving hologram of my 3D model of the “Brillo Soap Pad Boxes” from Module 1. While I was still concerned about how I would actually be able to go about doing this (see Process Notes for this journey, below,) I figured that this option at least allowed me to do some hands on work by creating the actual hologram projector out of plastic. While I am not entirely confident with technology, I am confident in my crafting abilities. Worst case scenario, I would make a hologram out of image rather than a video (thankfully it did not come to this.)

The Brillo boxes have gone through so many changes already, I felt as though making my 3D model into a hologram would intensify the removal of its original context as a consumer product, and its later context as an art piece, making it so steeped with hidden and distorted narratives that its presence as a hologram is a statement itself. The hologram is completely removed from its original surrounding context of a kitchen or an art gallery, and so its purpose and history is completely lost to a typical viewer who may not be informed on this specific topic. Furthermore, as a 3D model, the Brillo Soap Pad Boxes are removed from their setting in a gallery, and as a hologram, the Brillo Soap Pad Boxes are removed from their interactive digital space and physically brought into the world of the viewer. The viewer is then faced with this tiny, broken looking model right in front of them, and they are forced to try to understand what they are looking at and how it can possibly be important.

This got me thinking about a lecture from a few weeks back in which it was said that producing copies and displacing context has the potential to have social and ethical implications. In my case, the ethical implications are very apparent to me. Most of this issue I have already addressed in Module 2, and so at this point, taking this historical object and displacing it further only adds to the already existing ethical implications, yet the extremity may help a confused viewer acknowledge this reality. This idea of ethical implications in regards to holograms has been rather relevant in popular culture as of recent, as there has been a fad of bringing deceased musicians “back to life” through the use of holograms on stage. Discourse surrounds this issue as some people think it is tasteless and improper to seemingly “revive” a deceased musician who cannot consent to the performance. This was discussed fairly recently when a projection of Prince was used at the latest Super Bowl half time performance because he was presented alongside Justin Timberlake, someone that Prince was known to have dislike. Therefore, certain types of holograms do have the potential to cause harm and cross ethical and societal boundries.

As with most forms of reproduction, holograms may present some issues to historians in the future. Failure to represent an object in its proper visual form, or in the proper location or context can have detrimental effects. This has been seen with the reproduction of the Triumphal Arch from Palmyra. As Kamash explains in the article ‘Postcard to Palmyra’: bringing the public into debates over post-conflict reconstruction in the Middle East, “the unfaithful reproduction of an ancient landmark that was not displayed in its home country nor with a proper, informative context proved to be emotionally detrimental to the people of the Middle East AND other viewers who realized the problematic reality of the 3D reconstruction.”

Authenticity in historical artefacts are highly valued because they are tied to the historical narratives it represents. Part of Palmyra’s history is that the ruins were destroyed, and some felt as though that reality was taken away by the attempt at a reproduction. A similar comparison can be drawn to the many reproductions of Brillo boxes. However the scope of those who may have been negatively affected is smaller and perhaps even non-existent today as the Brillo boxes remain as an icon of Andy Warhol’s work, and the Brillo Company itself still remains active and successful today. One could even argue that Warhol’s appropriation had a positive impact on Brillo as his work promoted the company and made them visible in the art and culture world. Either way, it is certain that such a simple object has made a large impact in every form that it has taken.

Process Notes – Building a Hologram Projector

Once I decided on what I actually wanted to produce for this module, I starting making the plastic hologram projector that I would need in order to create a hologram. I figured that making this first was the best course of action because it would allow me to test it out with pre-existing hologram videos on YouTube, and allow me to ensure that it works before I start making my own hologram video. I put my crafting and DIY skills to test and scavenged an old CD case to cut up and use for this project. I followed the instructions set out on this website -> https://makerbus.blog/2018/01/19/building-a-diy-smartphone-hologram-projector-is-it-as-cool-as-the-internet-makes-it-look/ . The tutorial was easy follow and the overall task is quite simple. I opted to use CD case for the plastic instead of the thick, industrial grade plastic that was used in the tutorial because the CD case was easily available to me, and I had the time to spend cutting it.

I first created a paper template of a trapezoid that measured 1cm on the top, 4.5 cm on the sides, and 6 cm along the bottom. I then taped the template onto the CD case plastic and traced around it in pen so that I had an outline to follow when cutting. I laid out the templates so that each sides were touching in order to maximize the efficiency of my cutting.

The plastic was, in no doubt, difficult to cut. I sliced along the lines multiple times with an X-acto knife, applying as much force as I could so that each slice would slowly dig further into the plastic. Once I decided that I had cut into the plastic deep enough, I lined the cutting edge along the side of the table and used pliers to carefully break plastic along the straight edge. I have never cut thick plastic or glass before, but I knew that theoretically, this was the best way to do it. Most cuts and breaks came out fairly well, although I did have some corner piece casualties. Luckily these were the top corners, and it would not affect the overall projection. I then sanded down the edges so that they were not so jagged and sharp, and I carefully tapped the pieces together to form an inverted pyramid. I was especially careful with the tape as I did not want dirty tape obscuring the view of the hologram.

I tested out the hologram projector with some videos on YouTube and it worked perfectly! It was definitely mesmerising to watch. I discovered that the best way to view the hologram is by being in a dark room and turning the phone brightness all the way up.

Creating a Hologram Video

This was the part of the project I was dreading, as I had no idea of how to go about it at first. All I knew was that I somehow needed to get a synchronized, moving video of my 3D model. I had no idea how to render my model into a video at first, and no amount of googling really helped. All of the articles that came up provided instructions on how to make a video into a 3D model…so it was not quite what I wanted. I looked to Sketchfab to see if there were any applications available through there, and there were none that I could find. I figured that my next plan would be to screen record myself manually manipulating my Sketchfab model, and using that video file.

In order to do this, I had to figure out how to screen record (something so simple and yet I had no idea how to do it.) After some googling I found out that a screen recording application comes already installed on Windows 10 devices, and works through Xbox Live. All I had to do to bring it up was hit the windows button + the “G” key at the same time. After hitting one button, I was then set to record. After stopping the recording, the video would save automatically, and was accessed through This PC > Videos > Captures. To get my 3D model video, I went onto SketchFab and made the viewer full screen, and recorded myself manually spinning my model to reveal all sides and angles. While crude and somewhat simplistic, I think it worked quite well and the cursor is only slightly visible but not overly distracting.

The second portion of this endeavour required me to reflect the video four ways and have them all play consecutively. While researching how to do this I discovered this amazing tutorial that teaches you how to do this in POWERPOINT.

Link to Tutorial —> https://nutsandboltsspeedtraining.com/powerpoint-tutorials/hologram-video-powerpoint/

This was fantastic as it allowed me to do everything I needed, in an application that I am already very familiar with, therefore I would not have to download new software and learn a new editing interface.

The tutorial is quite straightforward and easy to follow, and I only had difficulties with the step that teaches you how to sync the videos. After some fiddling around I got that hang of it. I also used a triangle shape as a guide in order to ensure that the videos are positioned the same distance away from the center point. I would align the triangle with the X cross section guide and align the bottom of the videos with the straight edge of the triangle (this can be seen in the images linked in the Object Files).

In order to save the video, I needed to export the file as an MP4 video file. I saved the video in a low quality as it was intended to be viewed on a phone and because the synced the videos did not play smoothly while on a high resolution.

Once finalized, I sent to video to myself so that I could open it on my phone and VOILA! It worked! It was rather tiny (as the boxes could not fit any more into the frame) but it worked. I did notice, however, that it was not as easy to view as the YouTube examples were. This was because the background was grey, and not completely black, because of the default Sketchfab background. I hoped that a grey background would not be a problem but a black background turned out to be necessary for optimal viewing.

I figured out how to change the background in Sketchfab by going into “3D Settings” and changing the background colour to black. After I did this, I recorded a new video and repeated the entire video making process. My final video turned out WAY better and my tiny Brillo Soap Pad Boxes can now be viewed spinning around in virtual space.

~o0o~

Kamash, Zena 2017. ‘Postcard to Palmyra’: bringing the public into debates over post-conflict reconstruction in the Middle East. World Archaeology https://doi.org/10.1080/00438243.2017.1406399

Latour, Bruno, and A. Lowe. “The Migration of the Aura – or How to Explore the Original Through Its Facsimiles”, In. T. Bartscherer and R. Coover (editors) Switching Codes. Thinking Through Digital Technology in the Humanities and the Arts, University of Chicago Press pp. 275-297, 2011.

Maxwell, M. 2017 Power is in the Process: The ACCORD project, Internet Archaeology 44. https://doi.org/10.11141/ia.44.10