We often treat compilers as a bit of a black-box, without really
understanding what it is they are doing. Today, I will take a brief
tour through the different parts of a compiler to hopefully demystify
It happens to the best of us – you come across some incomprehensible code and wonder “who on earth wrote this?” only to discover it was you, a mere six months ago. Writing documentation is one of those tasks that often feels like a bit of a chore, but is...
Along with version control, tests are essential to good practice for
developing software. Having tests makes it easier to reason about
changes, and ensure trust in the outputs of your code. And if you
can’t trust your code, you can’t trust the papers written using the