Compilers

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 them somewhat. [Read More]

What is a CPU?

This week, Phil Hasnip gave us a guided tour of a modern CPU, explaining how the different pieces, from ALU to pipelines work together to crunch numbers and show us pictures of cats, instantly.

Documentation

Helping future you

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... [Read More]

Tests and testing

Testing scientific codes - the basics

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 results… [Read More]
Tags: testing basics

Version control

A crash course in git basics

Version control is one of the essential tools for anyone developing software of any kind, and will save you from a lot of sweat, blood, and tears when your hard drive fails or you spill tea all over your laptop. This presentation will give you an overview of why you... [Read More]