about me

i’m esmé cowles and my day job is being an it manager at princeton university library.

orcid: https://orcid.org/0000-0001-7074-1152 | vcard

current projects

princeton university library it

supervising three development teams at princeton, who develop and maintain our digital library, discovery, and digital scholarship applications. some of our key applications:


former chair of the samvera board, focusing on the long-term sustainability of the samvera software and community.

older projects


participating in samvera governannce and development, focusing on valkyrie.

application development team / digital repository and discovery services

managing the application development team at princeton university library, working on our samvera/blacklight/spotlight/geoblacklight applications.

digital cicognara

the digital cicognara library, a digital reconstruction of a foundational art history library using blacklight and iiif, in partnership with preeminent libraries across the us and europe.

fedora api specification

editor of the fedora api specification, an effort to codify the fedora rest api, align more closely with existing web standards, and allow for multiple implementations to serve different needs.

pcdm implementation

implementing pcdm in the hydra::pcdm/hydra::works/hyrax stack, and pul’s implementation, plum.

pcdm and metadata working group

presenting on pcdm and metadata working group progress. promoting interoperability in rights and technical metadata, and with iiif.

fedora 4

participating in fedora 4 sprints, focusing on triplestore support, clustering, large file support, and performance testing. presenting on the current status of fedora 4 at code4lib 2014.

archivesspace technical advisory group

serving on the archivesspace technical advisory group.

vra core oversight committee

serving on the vra core oversight committee, promoting development of the vra rdf vocabulary.

dams development

maintaining the current version of the ucsd library’s dams repository, which combines rdf metadata implementing our custom ontology and massive file storage with flexible retrieval based on blacklight/ solr. current focus is on developing a hydra front-end (dams pas, source code) and implementing the fedora 3 rest api FOR hydra compatability.

rci data curation

member of the rci data curation team, focusing on adapting the dams platform to meet the needs of diverse research data.

triplestore research

installing, implenting xdre support for, and testing various triplestores, including allegrograph, sesame, mulgara, jena, 4store. implemented custom triplestore in a relational database to address lack of solid production transaction support.

development environment

maintaining the it department’s development environment, porting legacy applications to the new environment, and standardizing features for management (subversion, access control, versioning, monitoring, logging, etc.) across all of the applications currently being developed or maintained. helping developers, troubleshooting problems, researching new tech, etc.

really old projects

most of this stuff isn’t available any more or has been completely replaced by a different solution.


grant-funded project to convert six sets of metadata into a common format and machine-identify duplicates and hierarchical relationships. discontinued 2006, archived website.


the centerpiece of the libraries’ website, a searchable and browseable database of electronic resources. now labelled “selected e-resources”. uses java servlets to interface to an oracle database (with oracletext searching), and xsl for display. retired 2011, replaced by sfx and libguides.


synchronization between library system (via xml interface) and relational database. retired 2011.

library hours

application to allow different library locations to maintain a calendar to let users know what’s open when. retired 2010, replaced by cms-based hours site.

xml databases

for the storage element of ucai, using an xml database for a sizeable (roughly 1.2 million documents, totalling around 5 gb) database. looked at tamino, teratext, xindice, and db xml. eventually went with a directory structure of xml files and used lucene for querying.


docutek e-res electronic reserves system.


heavily-customized netscape compass search engine to search both local content (sage) and related pages spidered from external websites.


server-side javascript and perl cgi pages for main ucsd website. now replaced by vignette cms.

campus map

perl cgi campus map application, using image tiles and flat files. now replaced by a new version, archived website.


perl cgi to filter/subset webserver logs, integrated with web-based and command-line report-generation tools to create custom reports. replaced by monthly pre-generated awstats reports for each site.


tech support, documentation, and sysadmin for research project. due to the sensitive nature of the content (medical records), involved working with some exotic tech: b2 dg/ux and trusted oracle 7.