Graduating: An Update
Updated: Feb 3
My previous blog post featured a list of things I hoped to achieve and so instead of a boring, chronological diary-type update, let’s go through that list again and see how things actually panned out.
Things (from the list) I got done
Though this seems like a lot, there are actually two more things I’ve done that I can’t talk about online yet.
Submit a paper based on my Master's thesis
Done! Though wow, it was an emotional rollercoaster. I learnt about step-indexed models and their proofs, and a lot about how fiddly the whole affair of soundness proofs can be; setting up just the right definitions, proving what you usually think are obvious lemmas and LaTeX-ing it all.
My supervisor (Neel Krishnaswami) and I initially aimed for ESOP 2019 but, due to the fact I was working on it full steam (in retrospect, it/I was crazy: I was working on the Tube in the mornings and evenings and also late into the night) and my supervisor was similarly busy with his many teaching/professional responsibilities, we missed an abstract deadline that preceeded the full-paper deadline by a week. This was, at the time, heart-breaking; being overworked and sleep-deprived was bad enough, but the fact I’d had everything (including the abstract!) ready at least a week prior was particularly frustrating.
However, thanks to enough challenging situations during my degree and a healthy dose of Stoic philosophy, I quickly realised that the only thing in my control after missing the deadline was to (a) take a break and recover (b) aim for another conference/deadline (ECOOP 2019). Though I was anxiously looking forward to the project ending, the extra time was pretty relaxed (I visited family in Mumbai, India) and useful (for improving the evaluation).
Supervise CompSci courses in Cambridge
Definitely hit this one out of the park :-) By the end of the year, I will have supervised courses across first (Foundations of Computer Science, Discrete Mathematics), second (Programming in C/C++, Further Java, Semantics of Programming Languages, Prolog, Computation Theory, Compiler Construction, Concepts in Programming Languages, Complexity Theory) and third (Optimising Compilers) year courses. A beautiful side-effect of this is has been spending quality time with my Cambridge PhD friends and growing closer to them as a result.
Despite this somewhat obscene amount and usually exhausting amount, I regret not being able to supervise a few courses I love a bit more dearly. For posterity, I’ll list them here. First year: Operating Systems and Algorithms. Second year: Computer Design, Logic and Proof, Interaction Design, maybe some Security or Artificial Intelligence? Third year: Denotational Semantics ♥️, Types ♥️, Hoare Logic and Model Checking ♥️ and Comparitive Architectures. There are courses that also do not offer supervision but I wish I had the chance to teach: Metaprogramming ♥️, Multicore Semantics and Programming ♥️, Topics in Concurrency ♥️ ♥️.
Keep up-to-date with PL Research
I attended DeepSpec! And my rate of reading (well, skimming) papers had, for a while, outpaced my ability to find more. I have started keeping a short reading list of the papers I have read and the ones I want to read next. At some point I may turn that into a blog post too.
Things (from the list) I did not get done
Publish posts about and videos to ATypical CompSci
Though I managed to launch ATypical CompSci, I haven’t published any new content since. I’d mostly put this down to how much time and effort supervising takes, though it definitely helped me to refine my explanations. I have started writing the scripts for the next phase (Lists) and boy it’s going to be a big (and hopefully good!) one.
Homotopy Type Theory reading group (weekly)
This started off rather well; Nathanael and I got halfway through Chapter 3, but then we both got a bit busy. He started his PhD and well, I started everything else I’ve listed here.
Extras I did instead
I’ve started reading books again; fiction and non-fiction. Since the start of the year I’ve read (and enjoyed) more books than I did during my whole undergraduate/master’s degre, so I count this as a great success.
I visited my family in India, after 3 long years of not doing so, for my cousin’s wedding (congratulations to the bride and groom). I missed my family much more than I realised and I try to stay in touch and go back more frequently now.
I also visited a close friend in Scotland to congratulate her on her engagement and meet her fiancé. I plan on going back to Scotland to meet the rest of my friends there soon (I usually go up for Hogmanay/New Year’s but this year I was in India) and intend to go camping somewhere in England.
Hobbies & Meeting Friends
I’ve joined a running club at work and gotten way more into board games (also because of work, funnily enough). It took a while, but I think I have even made some new friends (and yes, I’ve found it difficult enough to warrant including that). Inspired by my trip to India, I ticked a long overdue item off of my bucket-list: joining a proper Bollywood dance class (incredibly fun and intense). There I’ve met many new and wonderful people and had the chance to expand my social circle a lot more. I’ve even restarted drum lessons and my CamFM radio show Word Play, both of which have been a blast.
I’ve also been quite consistent in keeping in touch with my friends outside of work/hobbies and that’s been a rather simple but unreasonably effective way to keep my spirits up when things get a bit down. An especially notable moment was when two of my friends came down from Aberdeen to visit me :-) That was an eventful trip; one where we saw Book of Mormon as well as The Room on its 15th Anniversary at a live showing with Tommy Wiseau and Greg Sestero (I got to high-five Tommy and ask them both a question) :O
The only downside to all this is that I’ve unfortunately had to put a few things on hold. Chiefly, climbing, cooking, trombone/brass band and motorcycling (I renewed my CBT and retuned my motorcyle for a brief time before the weather turned to crap). This is because my only free days are Sunday, when I am far too exhausted, and a result, vegetative, to do anything remotely strenuous.
More things I plan to do
Camping, motorcycling, learning about Event Structures/Game Semantics and getting into recreational coding with mazes and ray tracers. Nathanael suggested I start contributing to Rust. The possibilities are endless :O