Joshua Ellis

My name is Joshua Ellis and I am a physics masters candidate at The University of Melbourne. I am currently completing my second year of masters and doing research in the theoretical particle physics groups.

In addition to physics, I also enjoy coding. I have done a fair bit of coding in C, C++, Rust, Python and TeX/LaTeX. You can see some of the coding projects I have worked in over in the projects section of this website.

This website will also contain a few blog posts which I intend to write when I have some spare time. At the present stage, I intend to write posts on whatever I find interesting, whether it be in physics or some other interest of mine.

Feel free to share what you like and I'd love to hear from you.

Git Hooks

Git is a powerful version control system which has become the de facto standard in recent years (judging by the popularity of Github). Perhaps one of Git's underused features is its hooks: small scripts that are run whenever a specific action is run. For example, one could set up a pre-push hook that runs the test suite so that breaking changes aren't inadvertently introduced. Another common use for hooks is to deploy changes. For example, one could have a server hosting a basic Jekyll or Pelican blog and using the post-update hook one could get the server to automatically regenerate the website whenever changes are pushed onto the server. Since Git hooks allow any script to be executed, hooks can be used to automate nearly any task.