Every personal website isn’t complete without having a blog, so welcome to mine! I plan on using this space for summaries of my projects and for collecting thoughts not formalized enough for a paper, yet too long for a Twitter thread. While updates will likely be infrequent, I figured I would start off this blog with an introduction to the website.
Behind The Scenes
This website is based on the Wowchemy Academic Resumé template, which is a
Git-integrated solution. Although
Hugo is written using
Go the template allows you to modify the website without touching the underlying code. The repository for the website is stored on GitLab and is deployed via Netlify.
In this repository lies all of the
Markdown scripts related to the blog, along with links to my publications and talks. When available, DOI and arXiv links (among others) will be made available.
I’m a huge fan of this template, especially as it comes with built-in support for mobile views of the webpage and allows the user to browse using either a light or dark theme. This website currently uses two cookies, one to keep track if the website has previously informed you that cookies are used, and one to keep track of which theme you use.
Web Key Directory
In a separate GitLab repository, I use GitLab Continuous Integration and GitLab Pages to build and deploy my own GNU Privacy Guard (GPG) Web Key Directory. GPG is used to encrypt sensitive data and verify personal identities and is often used by whistleblowers and journalists (alongside
Signal). It is also integrated within GitHub & GitLab and is a core component of many privacy-oriented services like ProtonMail and Keybase1.
To send GPG encrypted messages, the sender must first know the recipient’s public key. A randomly generated key is used to encrypt the message. This random key is then encrypted using the recipient’s public key, and both the encrypted random key and the encrypted message are sent. Upon the arrival of the message, the recipient uses their private key to decrypt the encrypted random key, which is then used to decrypt the message.
Public keys have historically been shared via key servers, although key servers have been compromised before. Web key directories allow individuals to upload a copy of their public PGP key to their own website (kinda, but close enough for this blog), which can then be automatically fetched by e-mail clients. A copy of my public PGP key is available at openpgpkey.theneedforsneed.me, via the Open PGP key server, or by running
I’m a huge proponent of GPG, both as a privacy-concerned citizen and as an astrobiology researcher. I’d love to see this used more within academia!
In a third GitLab repository lies
LuaTeX code belonging to my public CV. Whenever I commit to the repository, the CV is built using a
MiKTeX Docker image using
luahblatex. The build artifacts are then deployed via GitLab Pages. This ensures that I always have the most up-to-date CV automatically available on my website, instead of constantly uploading it whenever I change it.
If you see black boxes instead of text in some areas of my CV, don’t worry! In the public version of my CV, I use the
censor package to redact information regarding projects that are currently in progress or are under embargo.
While these three repositories are currently set to private, feel free to reach out to me if you would like copies of my Continuous Integration scripts!