Site Design
Update: This site was redesigned in late 2022. It is currently a static site, hosted on GitHub. Static files are generated from a local version of the original Django site.
Update: This site was migrated to a virtual private server in late 2019, mainly to reduce security risk to my home network.
Update: This site has been running on a Rock64 since late 2017. It was hosted on a Raspberry Pi from late 2014.
jamessmithies.org was designed according to 'full-stack DH' principles, which seek to embed values of quality, control, transparency, teachability, and verifiability at every level of the architecture. The purpose is less about rejecting the many excellent online services available to humanities researchers, and more about embracing the possibilities inherent in our contemporary global computing ecosystem: a system that remains heterogenous and empowering even as it trends towards commercialism, and governmental command and control. In that sense full-stack DH is an attempt to remind us that technical knowledge can be empowering as well as exclusionary, and that architectural choices can create products that align well to our older traditions.
Aside from initally using a Raspberry Pi minimal computer, the open source technology used is all commercial-grade and capable of scaling up to support extraordinary levels of demand. While such technologies do not completely circumvent issues associated with the technology industry, they align well to scholarly values inherited from the humanities and social science traditions. They are also well suited to research contexts that require verifiability, falsification, and reproducibility.
The Django web framework - developed to support large newspaper sites - has been used for web development. Django is an open source project written in Python, a language frequently used to teach programming, and widely used in academic research in the social sciences, hard sciences, engineering, and the humanities.
The site has been built by an amateur programmer. There are plenty of things to tidy up and improve under the hood, including some embarassments. The code is available on the author's GitHub account. The original architecture was as follows: