S11E25: The Computer Misuse Act does not define a computer

When you define a thing, you lock it into being. Sometimes that’s useful, but oftentimes it’s not.

First and most excitingly, I’ve got a preliminary result of 83% for my most recent exam. It’s been my least favourite topic so far, and so I’m slightly disappointed that this is the exam in which I scored my equal highest score – tied with cryptography.

Nonetheless, it brings my grade point average (GPA) up to 0.74. This puts me in line for a Distinction, the highest grade possible for an MSc in the UK. All (!!) I have to do is continue to hit high marks and score 70+ on my thesis. I need to have a literature review finished by end of December, and my list of interesting topics just keeps getting longer. At some point I’m going to need to cut them down.

The next exam is hoving into view: I sit it on the 26th; hand it in on the 27th at 10am, and that afternoon I leave for a long-awaited, much-desired holiday. I’ll tell you where I’ve been when I’m back. Send me a message if you’d like to receive a postcard (and thereby find out before everyone else).


Next week I am solo in the team as colleagues take their own well-earned breaks. This will give me a chance to catch up on various bits of learning and development that have been sliding, as well as get fully up to speed with my MSc course. This particular module is fascinating but there is a lot of reading. Turns out crime is something that people have been thinking about for a while.

A really long time, given one paper traces profiling back as far as the Malleus Maleficarum – the famous ‘witch-hunting’ treatise published in the 1400s. Sometimes I forget that once upon a time people believed in magic, and believed that it was a crime and deserved punishment.

I’m also going to be working on my corporate objective. I’ve hit a real wall with it, not least because the data model has changed significantly in just the last year. There’s a whole heap of work I need to do before I can massage everything into working together, and this week might be the opportunity I need.

On the other hand, maybe I’ll get stuck into international cyber-war doctrine.


I’ve been fuddling about with last year’s Advent of Code, and I’ve been trying (Test && Commit) || Revert. This is an approach that goes something like this:

  1. write a test. The smallest test you can write
  2. write some code to make the test pass. Write as little code as possible
  3. Run the entire test suite.
  4. If any of tests fail, all of the code you wrote in steps one and two is instantly deleted
  5. If all of tests pass, all of the code you wrote in steps one and two is saved
  6. Go back to 1, or refactor the code

It is a weirdly masochistic joy, because I suddenly become incredibly risk-averse. I make tiny little steps in the vague direction that I think is right but, to my joy and surprise, I actually take steps. I don’t get stuck in a loop where I think real hard about things and never write any code because I can’t make the code do what it does in my head.

And this is because I – and I think everyone, really – is incredibly bad at imagining the practicalities of their idea. It’s easier for me to think endlessly about how clever I am than it is to actually start writing code and find that it falls apart at the first hurdle.

Consequently this approach is great because it gets rid of the sunk cost. If I write bad code, it’ll just disappear. Furthermore, the test suite – the whole test suite – becomes my best friend.

My test suite. It’s so beautiful ๐Ÿ˜

This is probably an approach that’s unique to software engineering, but just imagine: how would your work change if, every time you tried something and it failed, all of your work was reset to just before you tried it? You haven’t lost anything that works, and you’ve learned something.

How would it change how you approached things?

Leave a comment