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 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.