Big changes this year! After eight years in San Francisco we moved back to Melbourne in March. This was always the long term plan, and we finally made it happen. We also bought our first home, in Fitzroy, and are loving both it and the neighbourhood.
Work
After a year of part-time consulting, I was ready to dive back into full-time work. I spoke to a number of companies in Melbourne for many types of roles but ultimately decided to take a non-management job at Ferocia building Up, a new digital bank. Ferocia was the combination of two previous teams I loved working with (Clear Grain, The Conversation) and I was excited to build something cool with them again.
I really enjoyed writing code full time again, in particular learning first hand how much JavaScript has changed in the last decade. I had the opportunity to learn more about emoji than was probably good for me, and get down into the guts of Rails for the first time in a long while.
Perhaps inevitably I ended up drifting away from code though. Over the last few months I have been running point on our TransferWise integration, helping out with support, and working with the leadership team on more general management as our team continues to grow. So I think that tells us where my heart lies!
Habits
I kept the same three daily habits from last year:
- Read a book (see my reading list for the year).
- 60-70s plank.
- 25-30 push-ups.
Since November I’ve re-introduced meditation. I was doing this un-guided, but for the last week have been working through the Waking Up course and finding it valuable: I feel like the change is leading to better sessions and more lasting impact through out the day.
Travel
I deliberately avoided much travel this year. After everything I got up to last year, I wanted to re-engage with Melbourne and work. That said, I’ve enjoyed seeing a bit more of Victoria and in particular have spent a bit of time down the coast (helps that family is down there also).
Running
It was a good but different year for running. Total volume was solid (~2500K) but only two races: an equal 5K time trial PB in March (18:16) and my second fastest half in April (1:26:47). (I never wrote a race report for that: went out too fast, died spectacularly. If I was chasing 1:26 instead of 1:25 likely would have PBed.) Leading up to the half I worked with a coach, TJ from RunDoyen. I really valued that experience. He helped find sensible ways to increase my workload, adapted my plan as needed (for either life or fatigue), and in general was a great partner in my training. One downside was that, though he lined up similar workouts I was “doing my own thing” from my running group. This was OK in San Francisco since I was already well entwined in my club, but moving back to Australia I felt it would hinder me finding my scene here which is why I decided to move off a plan after April.
I was under the weather heading into June so had a few down weeks (including my only full zero for the year). Was also struggling with motivation in general over winter. Always have a plan going into winter, because you’ll never start one! Through July to September I took advantage of our gym and coach at work and experimented with incorporating lifting into my training. I figure this is probably better for my long term health than simply running all the time. In practice this meant easy run Saturday, long run Sunday, then bench, deads, and accessories during the week.
But I like running too much! In October I started running consistently Tuesday and Thursday mornings with Hunter Athletics. Strength training faded away, and after a two month build (30-50K weeks) by December I was up to 5.5 days and 70K a week.
One goal for this year was to incorporate data from an Oura ring into my training. It was a fun experiment. I was impressed that it could tell me when I didn’t have enough sleep or when I was sick … but I already knew that. I didn’t learn anything that I could feed back into my training. Either I’m consistent enough in my sleeping and recovery routines, not training hard enough to warrant it, or insufficiently sensistive to the data. I’m still wearing the ring: am used to it now, and perhaps the longitudal data will be interesting.
Projects
Music
I don’t have many life goals, but having a real piano was one of them. With the space in the new house, I went overboard and acquired a beautiful Yamaha grand. That kicked off a foray back into music:
- Recorded three solo piano pieces. As much as anything this was an excuse to figure out how to record them, both video and audio.
- Learned about software modular synthesis using VCV Rack. Made some screencast tutorials, a creepy ambient patch, and a stupid randomized version of Deantown.
- Played around with some hardware synthesizers and sequencers. Did a couple of jam sessions with Pete. Covered You Can Call Me Al while learning how to use the Digitakt, which was fun.
Programming
I did intend to stream more this year, but by the time I’d moved back and got my office set up again I wasn’t feeling it.
- Last year I made a proof assistant for Magic: The Gathering. This year, I used it to verify a new paper showing that MTG is turing complete (finding a bug in the paper!), and then spent an unreasonable amount of time to actually run a computation on it. This involved reading a lot of papers, some more Ruby code, and culminated in the most fun talk I’ve given: Tiny Turing Toys: Tapes, States and Breaks. This project rekindled my sense of awe. I was shocked and inspired at how many layers of abstraction and discoveries needed to be made over decades to make all of this possible.
- Learned TLA+ and used it to specify a simplistic multi-datacenter payments processing model. Didn’t manage to use in anger at work though. Had one problem that felt like I should have been able to but couldn’t quite “see” it. Wrote some simplified models in Ruby instead, so was able to apply some lessons learned even outside of the TLA+ environment. Hillel Wayne has been on a tear this year talking about, training in, and popularizing TLA+. I found his book Practical TLA+ most helpful!
- Started a Haskell implementation of Hanabi, which gave me an opportunity to try using freer effects in practice instead of the MTL stack I usually reach for. Freer Monads, More Better Programs was what inspired me to finally give them a go.
-
In the same Hanabi project, also experimented with using D3 as a full game rendering engine and was impressed with the results. Also led to some neat experiments with 3D CSS:
- Made a simple aural interval trainer for Android to better learn React Native.
- Finally put together an index of the sheet music I’ve made over the last decade.
- Designed and programmed two VCV Rack modules: polyphonic panning and an effect bypass. Unfortunately one of them still has a crash bug I haven’t been able to track down 🙁
- Experimented with some home automation using OpenHAB and HomeAssistant, but ultimately caved and am using proprietary apps instead.
Games
There were a few standout gaming experiences this year. Retroactively, it appears my theme was “learn why other people like things I don’t” … and then end up liking them myself!
First the computer ones:
- Starcraft 2. Full campaign was fun, but the main event was getting to platinum with Zerg in 1v1 online. Gave me a lot more appreciation for pro level play.
- DOTA 2. I didn’t play that much, but I learned how the game worked where previously I simply didn’t understand how anyone could be into it. It’s extremely deep strategically. Really enjoyed playing with friends, not so much with randoms.
- Endless Space 2. Thought I was done with 4X games but fell into this one for about 70 hours — three Endless difficulty play throughs with Lumeris/Conquest, Unfallen/Science, and Riftborn/Wonder. Really well polished, each race felt very different to play in the early game. Still a lot more content to explore if I go back to it.
- SteamWorld Quest. A late entrant I picked up in Christmas sales. Enjoyable combination of deck building and Final Fantasy style combat. Started right back in with a second run after finishing.
More physically:
- Pinball. I’ve never played before, nor been inclined to, but we have Demolition Man at work so I thought it a good opportunity to figure out what’s going on. Currently hold the #3 and #4 scores. Also had the chance to sample a heap of tables at PAX, where we had a stall for Up.
- Logic Puzzles. Again not a thing I’ve historically been interested in, but a recommendation for Cracking the Cryptic YouTube channel got me curious. Their very British enthusiasm is infectious. In particular I’ve enjoyed non-standard Sudokus, and Grandmaster Puzzles’ The Art of Puzzles series, which I had printed and bound at a local shop.
2020
Who knows? Still feel like I’ve just moved back. There are many exciting things coming up at work that will keep me engaged.
With running I probably should pick a target race, but I’ve been enjoying training without a goal over summer. Important that I pick something for spring to get me through winter. Maybe this is the year of the marathon!?