Hi, I’m a historian and hacker who researches the possibilities and politics of digital cultural collections. Here you'll find contact details, biographical information, and a list of publications.
I want a scholarly practice that has room for the angry and the weird alongside the rigorous and detached. That sees in digital technologies not just the chance to crunch huge quantities of data, but the opportunity to tinker with our preconceptions, to be playful and political, to explore emotions as well as evidence, to create bots as well as books.— #Borderfarce, building, and a hacker's reward, 2015
Here you'll find a selection of the things I've built over the last few decades.
For things I've written or spoken, see the list of publications and presentations on timsherratt.au.
timsherratt.au
Hi, I’m a historian and hacker who researches the possibilities and politics of digital cultural collections. Here you'll find contact details, biographical information, and a list of publications.
Recent updates and work-in-progress
All the latest news from the GLAM Workbench and elsewhere in my current blog.
created: 2019
GLAM Workbench
A large and growing collection of tools, tutorials, examples, and hacks to help you work with data from galleries, libraries, archives, and museums.
created: 2017
Trove Data Guide
This Guide explores the different types of data available from Trove – what it is, how you can access it, and what you can do with it. It aims to give researchers a critical understanding of Trove data, both its limits and its possibilities.
created: 2024
Historic Hansard
Commonwealth of Australia parliamentary debates presented in an easy-to-read format for historians and other lovers of political speech.
created: 2016
The real face of White Australia
Living under the White Australia Policy
This project aims to make people more aware of government records documenting the history of the White Australia Policy.
created: 2010
The Primary Source
GLAM collection news
Here you'll find information and resources to help you use the collections of Australian GLAM organisations (galleries, libraries, archives, and museums).
created: 2024
discontents
A personal site that turned into my first blog. Includes copies of many presentations and publications from 1985 to 2017.
created: 1997 archived
THATCamp Canberra
The Humanities and Technology Camp
THATCamp Canberra was a user-generated ‘unconference’ on digital humanities. It ran in 2010, 2011, and 2014.
created: 2010 archived
Labs at National Museum of Australia
A space for sharing experimental projects using the collections of the NMA.
created: 2011 dead
Mapping Our Anzacs
Explore 375,000 WWI service records by place of birth and enlistment
Developed in-house at the National Archives of Australia.
created: 2008 dead
The Cabinet of Curiosities
This Cabinet holds many treasures. Two hundred years of Australian science are arrayed for exploration and reflection. The curiosities contained are those of Australia's men and women of science, and your own.
created: 1997 archived
Directory of Archives in Australia
The first WWW edition of the Australian Society of Archivists Directory of Archives in Australia, including links to websites and finding aids. Superceded by later efforts, with the current version published by the ASA.
created: 1996 archived
Bright Sparcs
Information on Australian scientists from the 18th century to the present
Superceded by the Encyclopedia of Australian Science and Innovation.
created: 1994 archived
WWW Virtual Library for the History of Science, Technology and Medicine
Part of a global, co-operative effort to index the early web, this site attempted to keep track of information facilities in the field of the history of science, technology and medicine.
created: 1994 archived
There are many more tools and apps in the GLAM Workbench.
PROV Data Dashboard
An overview of the Public Record Office Victoria collections
The dashboard tells you how many records are currently available through the PROV API, and breaks down this count by entity, and category. It then works through the main entities – functions, agencies, series, items, and images – displaying a series of charts and tables that give you an idea what they’re actually made up of.
created: 2025 ok
NAA Digitisation Dashboard
This dashboard aggregates data from weekly harvests to display digitisation progress in the last week, the current year, and since harvests began in 2021.
created: 2025 broken
PROVBot
A Fediverse bot sharing images from the collection of the Public Record Office Victoria, powered by the PROV's public API.
created: 2025 ok
Explore Trove's digitised maps
Trove contains thousands of digitised maps from the collections of the National Library of Australia, but they're not always easy to find because of the way they're arranged and described. This database provides an alternative way of exploring these maps.
created: 2024 ok
Locations of Trove's digitised maps
Locations have been extracted from coordinate strings in catalogue metadata, and may not be accurate. See the Trove maps section of the GLAM Workbench for more information.
created: 2023 ok
The American World Gazetteer
or too much text, too little time...
A demo built in a couple of weeks for the Library of Congress Data Jam. It explores a collection of 90,000 digitised books by finding and mapping places mentioned in the text.
created: 2022 ok
NSW Post Office Directories
Search across 54 volumes from 1886 to 1950
Searching for entries in the directories on Trove is difficult, because Trove's results are grouped by 'article', which is not very helpful for publications like these where information is organised by row. This interface searches for individual lines of text, rather than pages or articles. So it points you straight to entries of interest.
created: 2022 ok
Sydney Telephone Directories
Search across 44 volumes from 1926 to 1954
Searching for entries in the directories on Trove is difficult, because Trove's results are grouped by 'article', which is not very helpful for publications like these where information is organised by row. This interface searches for individual lines of text, rather than pages or articles. So it points you straight to entries of interest.
created: 2022 ok
Tasmanian Post Office Directories
Search across 54 volumes from 1890 to 1948
An experimental interface to Tasmanian Post Office Directories from 1890 to 1948 which have been digitised and made available as PDFs by Libraries Tasmania.
created: 2022 ok
Trove Newspapers Data Dashboard
This dashboard helps researchers understand the context of their queries by presenting a snapshot of Trove's digitised newspapers, based on weekly data harvests. It shows Trove's current make up from a number of angles, as well as highlighting recent changes.
created: 2022 broken
GLAM Name Indexes
A single search to find people across GLAM collections
An free, aggregated search tool with access to more than 12 million records. Just enter a name to look for people in 293 indexes from 10 Australian GLAM organisations.
created: 2021 ok
Trove newspaper issues per day, 1803 to 2021
A calendar style visualisation showing the number of issues per day in Trove's digitised newspapers.
created: 2021 ok
Papers Past newspapers in DigitalNZ
A subset of the digitised newspapers in Papers Past can be searched through DigitalNZ. Using data from the DigitalNZ API we can look at what's available.
created: 2021 ok
Step out in secret with this #redactionart scarf
Move invisibly through the thronging masses, safely hidden by 100% recycled redactions from ASIO surveillance files held by the National Archives of Australia. (NAA: A6119)
created: 2021 ok
Create persistent links in RecordSearch
Avoid those pesky session errors!
If you've ever tried to share a link to an item in the National Archives of Australia's online database RecordSearch, you've probably encountered the annoying 'Session time out' error. You need to be within an active session for the standard RecordSearch urls to work. But never fear, using this tool you can easily construct shareable links!
created: 2020 ok
Save Trove newspaper article as image
There’s no reliable way of downloading an image of a Trove newspaper article from the web interface. The image download option produces an HTML page with embedded images, and the article is often sliced into pieces to fit the page. This app provides an easy-to-use workaround. Just enter an article url or identifier and you get back an image (or images if the article is split across multiple pages).
created: 2019 ok
Editorial cartoons from The Bulletin, 1886 to 1952
This dataset includes a collection of 3,471 full-page editorial cartoons downloaded from issues of The Bulletin published between 1886 and 1952. The images can be downloaded as a single 62gb zip file, explored in an SQLite database using Datasette-Lite, or browsed in a series of PDFs (one per decade).
created: 2019 ok
Download a newspaper page image from Trove
The Trove web interface doesn’t provide a way of getting high-resolution page images from newspapers. This simple app lets you download page images as complete, high-resolution jpeg files.
created: 2018 ok
Real Words :: Imagined Tweets
Interjections from Hansard
How has social media changed political discourse? Let’s flip the question around and look at past political discussions as if they were being shared through Twitter. What changes?
created: 2017 ok
The Redaction Zoo
This collection of creatures was discovered amidst thousands of ASIO surveillance files held by the National Archives of Australia. They are reminders that the processes that limit our access to information are human in their operation and design. There is nothing magical about the ‘secrets’ preserved in government archives.
created: 2017 ok
Explore Trove’s digitised journals
There's lots of exciting new digitised content being added to Trove's journals zone, but it's not always easy to find and search. This page lists journals that have been digitised by the NLA and have searchable records for individual articles. This means you can search inside the journal, just like you do in the newspapers zone.
created: 2017 archived
LODBook
An experiment in developing online historical narratives that embed rich structured data about people, places, events and resources.
created: 2017 ok
redacted
acts of erasure, censorship, and control extracted from ASIO files held by the National Archives of Australia; here voids become windows on the practice of state surveillance
created: 2016 ok
DFAT Historical Documents
An prototype interface to the Documents on Australian Foreign Policy, developed for the Department of Foreign Affairs and Trade. Includes links to the National Archives of Australia.
created: 2016 ok
Closed access
seeing what we're not allowed to see
Explore files in the National Archives of Australia with the access status of 'closed'. Why can't we look at them? How old are they? What are we really being protected against?
created: 2016 ok
Operation Random Words
Protecting Australia from meaning
In need of a snappy name for your next secret military operation? This app can help!
created: 2015 ok
Face API
A simple API to a collection of faces extracted from Trove's digitised newspapers.
created: 2015 ok
The Vintage Face Depot
The Vintage Face Depot services all your face replacement needs. Our special bot-powered fitting service automatically matches you with a face drawn from our large stock of vintage visages.
created: 2015 dead
Have you got what it takes to defend Australia’s secrets?
In the war against terror, information is our most important asset. To play your part in this struggle for Australia’s very way of life, you need to learn to identify and protect information critical to our national security. This site will help train you for the challenges ahead.
created: 2015 ok
In a word...
Currents in Australian affairs, 2003–2013
What can you read in a single word? Drawing on details of ABC Radio current affairs programs stored in Trove, this page presents a word a month from AM, The World Today, and PM.
created: 2014 ok
Trove Places
Find Trove newspapers by place
An early experiment in providing some sort of place-based interface to Trove newspapers. Either search for a place name or select a place on the map to find nearby newspaper titles.
created: 2014 ok
Eyes on the past
Finding faces in Trove newspapers
Faces offer an instant connection to history, reminding us that the past is full of people. People like us, but different. People with their own lives and stories. People we might only know through a picture, a few documentary fragments, or a newspaper article.
created: 2014 ok
Trove Traces
searching for signs on the wild, wild web
Trove Traces presents a sample of the thousands of webpages that include links to articles in Trove’s newspapers zone. How is Trove used? In what contexts do links appear? This is an attempt to explore some of the stories behind the stats.
created: 2014 archived
Trove is...
A visualisation I created so that there was somewhere to point people who asked 'What is Trove?'.
created: 2014 dead
Trove Zone Explorer
A sunburst visualisation to explore the contents of Trove zones. Click on segments to zoom and load examples of each format.
created: 2014 dead
Tung Wah Newspaper Index
An online version of an English-language index of two Chinese-language newspapers, including links to digitised copies in Trove where possible.
created: 2014 ok
Trove API Console
See the Trove API in action
View and modify example queries to learn how the Trove API works and understand the data it delivers.
created: 2013 broken
Australian WWI Records Finder
Search for people across the NAA, AWM and CWGC databases
An attempt at an aggregated search interface to find records about Australian First World War service personnel across multiple collections.
created: 2013 dead
1913 Illustrated Review
Explore the world of 1913 through newspaper illustrations from Trove. Created for the National Museum of Australia's 'Glorious Days' exhibition.
created: 2013 archived
Linking history in place
A demonstration project created for Culture Victoria that explores the practical applications of linked open data as a means of sharing cultural heritage material.
created: 2013 archived
TroveNewsBot selects...
Random newspaper illustrations carefully curated by @TroveNewsBot and shared through Tumblr.
created: 2013 archived
TroveNewsBot
TroveNewsBot shares random-ish digitised newspaper articles from Trove, but that's not all! TroveNewsBot can help you explore the riches of Trove without leaving Mastodon. Just try tooting a few keywords at TroveNewsBot and see what happens!
created: 2013 broken
Magic Squares
A playful way of exploring collections from Digital NZ. Developed in collaboration with Sydney Shep.
created: 2012 ok
the future of the past
Use TF-IDF values to explore 10,000 newspaper articles from Trove that include the phrase 'the future' and create your own fridge magnet poetry!
created: 2012 ok
the future of the past
word frequencies
Use word frequency clouds to explore the future of the past dataset.
created: 2012 ok
The people inside
A userscript that inserts portrait photos into records from the National Archives of Australia's online database relating to the administration of the White Australia Policy.
created: 2012 ok
Archives Viewer
National Archives of Australia
An experimental viewer for digitised files in the National Archives of Australia’s RecordSearch database. It added a number of features that weren't available in RecordSearch itself at the time.
created: 2012 dead
QueryPic NZ
Visualise searches in the digitised newspapers of Papers Past using the DigitalNZ API. There have been many versions of QueryPic NZ of the years, the latest is part of the GLAM Workbench.
created: 2012 ok
Trove editorials browser
An attempt to identify editorials within Trove's digitised newspapers.
created: 2012 archived
The real face of White Australia
The White Australia Policy was about people – people whose lives were monitored and restricted because of the colour of their skin. This experimental browser enables you to explore the records of the White Australia Policy through the faces of those people.
created: 2011 ok
The History Wall
An experimental interface that brought together historical data from a range of sources and displayed it chronologically as an endless scrolling wall. The selections were randomised, so two views of the wall were ever the same.
created: 2011 dead
QueryPic
Visualise searches in Trove's digitised newspapers. There have been many versions of QueryPic of the years, the latest is part of the GLAM Workbench.
created: 2011 ok
Flickr Machine Tag Challenge
Building the semantic web one tag at a time…
This site has one, modest aim: to build a corner of the semantic web by mobilising an army of determined machine taggers. The first objective in this campaign is to see how many photos in Flickr we can tag with party identifiers from the National Library of Australia.
created: 2010 dead
Wragge's identity browser
Find and use identity data from Trove's People Australia service.
created: 2010 dead
Who am I?
A game using data from the Australian Dictionary of Biography.
created: 2010 dead
Headline Roulette
How well do you know your Australian history?
A simple game in which you're presented with the headline of a randomly selected newspaper article from Trove. Can you work out the year in which it was published? Be careful, you only have 10 guesses!
created: 2010 broken
Flickr context harvester for archives
A userscript that harvests metadata from images shared by GLAM organisations through Flickr, and embeds it back into the organisations' own online databases.
created: 2010 dead
Australian Dictionary of Biography – Word clouds
Exploring word frequencies across 10,000 biographies from the ADB.
created: 2009 archived
There's a lot more code on GitHub in my personal repositories, and in GLAM Workbench repositories.
trove-newspaper-harvester
Download large numbers of digitised newspaper articles from Trove
The Trove Newspaper (& Gazette) Harvester makes it easy to download large quantities of digitised articles from Trove’s newspapers and gazettes. Just give it a search from the Trove web interface, and the harvester will save the metadata of all the articles in a CSV (spreadsheet) file for further analysis.
created: 2011 ok
trove-query-parser
Convert a query from the Trove web interface into a set of parameters that can be used with the Trove API.
created: 2021 ok
trove-newspaper-images
Download digitised newspaper articles from Trove as images
This package includes tools to download newspaper articles as complete JPEG images. If an article is printed across multiple newspaper pages, multiple images will be downloaded – one for each page. It’s intended for integration into other tools and processing workflows, or for people who like working on the command line.
created: 2021 ok
RecordSearch Data Scraper
Tools for extracting data from the National Archives of Australia’s online database, RecordSearch.
The NAA’s online database, RecordSearch, contains lots of rich, historical data. Unfortunately there’s no API, so we have to resort to screen scrapers to get it out in reusable form. This is a library of scrapers to extract data about the main entities in RecordSearch – Items, Series, and Agencies – from both individual records, and search results.
created: 2011 broken
Omeka S Tools
Tools for working with data in an instance of Omeka S
The Omeka S API is powerful, but the documentation is patchy, and doing basic things like uploading images can seem quite confusing. This package is an attempt to simplify common tasks, like creating new items.
created: 2021 ok
mirador-ghpages
Deploy a basic installation of Mirador 3 on GitHub Pages.
This is a GitHub repository template that you can use to get your own Mirador version 3 installation running in minutes. You can also configure it to display local or remote IIIF manifests.
created: 2024 ok
Share your CSV as a database
This page generates a url that will publish a CSV file as a fully-searchable, online database using Datasette-Lite. All you need is the url of a CSV file saved in a public GitHub repository.
created: 2024 ok
RecordSearch show pages userscript
This is a userscript that changes the way the National Archives of Australia's online database RecordSearch works. In particular, it retrieves the number of pages in a digitised file and displays it in search results. This means you know without clicking through whether the file contains 1 or 300 pages.
created: 2009 ok
Keyboard navigation for Trove newspapers
This is a very simple userscript that does something very useful. It allows you to use the arrows on your keyboard to move between pages in Trove's digitised newspapers.
created: 2021 ok
Zotero translators
I've created Zotero translators to save metadata and images from Libraries Tasmania, National Archives of Australia, Trove, PROV, and Queensland State Archives.
created: 2008 ok
Trove DIY Exhibitions
Create your own online exhibition with nothing but a Trove list and a GitHub account.
created: 2016 broken
Trove Build-a-Bot Workshop
If you're an organisation that contributes collection records to Trove you can use this code to build your own Twitter bot that responds to user queries and tweets random collection items.
created: 2013 broken
Trove proxy
A basic proxy service to simplify integration of Trove data into other services. In particular, it can provide links to download PDFs of newspaper articles, and randomly-selected newspaper articles.
created: 2016 ok
Trove newspapers unofficial API
This is an unnofficial, experimental and probably temporary API to the wonderful Trove Australian Newspapers database. Behind the scenes a Python script retrieves and scrapes the Trove pages to extract the newspaper data.
created: 2011 dead
}