Conflict
Two weeks ago, during my weekly 1:1 with my supervisor, I asked “Do you have any advice if shit ends up hitting the fan?” I was referring to my JetBrains Research collaborators, who are based in St. Petersburg, Russia. At that time, rumours of a large-scale conflict in Ukraine were just that, rumours, and even I thought I was being a bit paranoid.
Of course, what happened after that is plastered all over the news. When I signed up for grad school, I didn’t know I’d be signing up for 2 years of research set over a continuous backdrop of unprecedented world events with global repercussions, but here we are. I am counting myself unbelievably lucky that I have the fortune to live in a society where I am able to protest without getting arrested, where I can buy bread and groceries at a whim, and go to sleep without fear of being killed by a missile strike. There’s no debating that we have our problems here in Canada, but we do have it pretty good here.
The past week, I worked a bit more on developing my reachability plugin in Kotlin. Right now, I basically have the same functionality I had before when I was hacking on the actual IDE, with a bit more features. Kotlin is proving to be a little frustrating to work with, but I think I’m getting the hang of it (or rather, I’m forcing myself to understand the design choices that the language designers made when developing it). Some features that I’m wholeheartedly enjoying are extension functions (I honestly think Kotlin did a far better job here than Scala, speaking in terms of developer ergonomics), and features like .takeIf { ... }
, .takeUnless { ... }
, .apply { ... }
, etc…
Earlier today, I fixed a bug that made my hover UI pop up on irrelevant elements, so that was a bit of fun. Next week, I hope to wire up the static slicer (already built into IntelliJ) with my hover UI and start experimenting with different interfaces.
I don’t think I can write more today given that I’m already so distracted. If anyone is reading this, I hope you are well.