We use the Elasticsearch database, and older versions of this came with a naming policy for nodes that, entirely unintentionally, was not wonderfully inclusive. The name for each node would be chosen at random from a list of 3000 Marvel comic-book characters. For some of us on the team it wasn’t obvious what the names represented, perpetuating the perception that in the field of computing, the knowledge of boy’s club arcana distinguishes who’s ‘in’. The gender bias in the predominantly male list of characters (where gender representation is also strongly skewed) also undermined inclusivity on our team while we were working with these systems – we can have whatever names we want, why wouldn’t we chose names that spoke better to the team as whole?
We took the opportunity to redress the balance in gender representation by replacing the naming of our nodes with a much better list - a list of feminists.
We need lots of feminists
Due to the birthday paradox you need a surprisingly long list of names to avoid clashes when names are chosen at random - with 18 nodes picking at random from a list of 100 names, there’s an 80% chance two nodes will get the same name - which you do not want! - so we were looking for a list of thousands of feminists.
Finding a list online that large was tricky. Googling found several articles with relatively short lists of feminists (fewer than 30 or so), and even Wikipedia’s main List of feminists only has a few hundred entries - nowhere near enough. Looking closer at Wikipedia, it does manage to list more feminists - but inconveniently, they’re listed as sub-categories of Wikipedia’s category of Feminists by nationality. To get the full list of all feminists Wikipedia knows about, we needed to visit - and scrape - over a hundred different Wikipedia category pages; Hungarian feminists, Rwandan feminists, Peruvian feminists, etc.
Scraping information off a variety of Wikipedia pages is a bit of a slog, but thankfully, someone has already done the work of turning Wikipedia into a database - it’s DBpedia! DBPedia can be queried using SPARQL, and there’s a simple web-UI to do that here: https://dbpedia.org/sparql.
After a bit of mucking around, we managed to craft our first SPARQL query that could join together the Feminists_by_nationality category with its many sub-categories to get the resulting list of people:
SELECT ?personName where {
?person a foaf:Person .
?person foaf:name ?personName .
FILTER (
EXISTS {
?person dct:subject ?femNatCat .
?femNatCat skos:broader dbc:Feminists_by_nationality
}
)
}
The first part is saying ‘getting me a list of people’, with the second part in the filter requiring that each person is the ‘subject’ of a category that declares it can be ‘broadened’ to the Feminists_by_nationality category - it took a while to work that all out by trial and error, but when we did, we got a list of 1700 names!
That wasn’t quite enough though, so we broadened the query to include Women’s rights activists (which Wikipedia again categorises by nationality) and Women scientists (categorised by century, for some reason):
SELECT ?personName where {
?person a foaf:Person .
?person foaf:name ?personName .
FILTER (
EXISTS {
?person dct:subject ?femNatCat .
?femNatCat skos:broader dbc:Feminists_by_nationality
} || EXISTS {
?person a yago:WikicatFeminists
} || EXISTS {
?person dct:subject ?actCat .
?actCat skos:broader "dbc:Women's_rights_activists_by_nationality"
} || EXISTS {
?person dct:subject ?sciCat .
?sciCat skos:broader dbc:Women_scientists_by_century
}
)
}
That yielded 3192 names! Good enough to get started with - but we would always appreciate more feminists, so if you spot someone in Wikipedia who meets the definition of a feminist, but hasn’t been correctly categorised as such, please take the chance to correct that!
Once we have the list of names, as each Elasticsearch server starts up it runs a script that downloads them from S3, normalises the text with iconv and sed (to ensure the names are valid hostnames) and selects a $FRIENDLY_HOSTNAME at random to be the name of the box. There are a few steps to actually setting the name of the box:
-
echo $FRIENDLY_HOSTNAME > /etc/hostname to make this the permanent hostname of the box, in case a restart occurs - note that doesn’t affect the current hostname, so…
-
hostname $FRIENDLY_HOSTNAME to make this the current hostname of the box (that’s only a temporary setting, so would be lost after restart).
-
echo “127.0.1.1 $FRIENDLY_HOSTNAME” >> /etc/hosts to prevent sudo warnings
-
Push $FRIENDLY_HOSTNAME to be the Name tag of the box - so that it displays in AWS’s UI for managing EC2.
We also updated our status-app so that we could click through to the Wikipedia entry for each name, so we could learn more about the names we encountered.

Since the change we’ve now welcomed Angela Davis, Hannah Arendt and Guardian contributor Lesley Abdela to the cluster among others. We’ve clicked through to learn that the most beautiful theorem in physics was proven by female mathematician Emmy Noether. And we no longer have to ask our colleagues to “connect to Demolition Man”. The change is subtle, but important for making us feel we all belong here. It’s worth spending time to change things about your workplace that exclude others, even if they might seem inconsequential to you.
It’s worth noting that Elasticsearch changed their node-naming in 2016, doing away with the Marvel naming and relying on auto-generated-identifiers instead, so versions after Elasticsearch 2.4 don’t have this problem. We’ve since upgraded, but we’ve kept our naming strategy.