Weeknotes #4April 22, 2019
This week has been short but sweet! I managed to write my first Rust microservice, got deep into interviewing, and took time to see some of my favourite people.
It’s been a short week at work but it’s been a lot of fun. I’ve managed to produce the first prototype of our caching service, which aims to protect our customer portal from downstream service outages. It’s been a long time since I’ve written anything meaningful in Python, and the service itself isn’t particularly advanced but it works and I managed to incorporate some JSON logging which took a lot of experimentation. The next step there is to integrate it with Airflow with will be another tool in my belt when this part of the process is over.
Whilst producing the prototype I realised our gateway lacks API key support so I produced a microservice on Friday to produce short lived tokens the gateway would accept. It isn’t a particularly complicated service but I knocked it up to a reasonable quality in one day and the kicker is it’s written in Rust! Building that was definitely my highlight of the week and it was a good opportunity to get to grips with actix-web's middleware.
The other thing I enjoyed this week was doing more technical interview calls. Taking on more responsibility in our interview process has prompted me to think about how we ascertain whether a candidate is a good fit for us, and what each step of our interview process is really trying to evaluate. That thinking unexpectedly came to fruition on Friday when our recruiter started and I got to sit down with him and help him understand what we’re looking for.
I worked a little on my Rust library for decoding and encoding Hearthstone deck codes this week, purely to tidy things up a little. It now uses
Result<T, E> for error handling throughout, has much better comments, and some examples in the README file. I’ve also tenuously signed up for Rust’s CLI working group to start improving the Rust ecosystem - a nice addition to the CV!
I’ve also prodded a few different projects in different directions without much result. I’ve been learning a little bit about the original Gameboy’s architecture with a view for building an emulator - but I got distracted by thinking about settling on building an emulator for CHIP-8 instead. I also started reading Amethyst’s docs with a view for writing a Pong clone but I didn’t make it particularly far in that direction either. Finally, I’ve also started playing with parsers with the view of building a DSL1. I think this week is pretty indicative of my desire to learn in all directions at once, sometimes that manifests as a lot of progress and other times it looks more like very little progress.
Fun and Personal Bits and Pieces
Last Saturday I met up with the Hawksleys, my adopted family, in Milton Keynes. It's always good to see them but this trip was complicated by the fact I’d managed to infect Catherine with my stomach bug I had on the Thursday, forcing the day to be balanced between doing fun active things and Catherine’s energy levels.
We had a meal (during which, Catherine didn't feel super sick), a walk around the lake (during which Catherine felt semi-sick), a quick trip to the town centre (during which, Catherine was physically sick), and then a visit to the SI:5 spy centre. SI:5 is an activity centre that provides a set of structured missions to children and adults aspiring to be children. Their missions mix agility tests, like dodging laser beams, with puzzles and weaves them together in a loose narrative. In 2007 when it was built it would've been rather impressive but the lights, sounds, and computers have all aged a bit and it doesn't quite pack the same punch in 2019. That said the concept left an impression on me and I'm thinking when I retire I'd like to have a go at mixing technology and puzzle rooms.
I also managed to fit in a trip back to Corby on Friday, which I spent with my Dad and the Rottlers. I’d forgotten how much I missed hanging out with the Rottlers and as my Dad’s generally trending towards the end of his life2 I’ve been wondering about going back to Corby a bit more regularly to spend time with him and see my friends. On the Friday night I introduced the Rottlers to Queer Eye - I'm not sure if that's a positive influence or not! Regardless after re-watching a couple of episodes, I've been inspired to overhaul my wardrobe and invest in moisturiser.
The last big event of this week is that I booked tickets to see Avengers: Endgame’s midnight showing with Catherine and Joel. I’m incredibly excited about the release, a culmination of 12 years worth of movie releases. I’m predicting deaths - I’m not sure who, yet though!
Film Thoughts: Aquaman
The Sunday night movie this week was Aquaman. I've been pretty unimpressed with DC's supehero outings so far, I'm pretty sure the high point for me was either Batman vs. Superman, the director's cut version, or Suicide Squad - so I wasn't particularly looking forward to this movie at all.
Having seen it, I'm deeply conflicted. The plot is nonsensical and quite frankly AWOL in places but every other part of the movie manages to rise above that. The acting is good enough, the visuals are stunning, the world they've created is full of depth3, and the villains are complicated enough to not feel one dimensional. When the product of those things come together, the result is a surprisingly fun movie.
Aquaman himself is a hell of a character and I can actually see him playing a key role in DC going forward - whilst Snyder and friends have managed to make Batman and Superman feel forgettable, Aquaman resonates with me.