Help, everything is on fire
Last week was my first foray into grad school and I have to say, it's kinda weird. I thought I'd be used to everything being online (since the last quarter of my final year of university was online), but it still felt weird nonetheless.
I thought about why this might be the case, since online school is the new norm now, and I even talked to a few of my friends about it. One of my friends told me that it was pretty hard to branch out and meet new people like you'd usually do in lectures, and I have to agree. I think one of the things I miss the most about physical lectures are the glances of "what the hell is the professor talking about" that my friends and I would exchange all too often, as well as the amusement I'd enjoy when I saw a student seated in the front row playing a game of League as the prof went on about stochastic gradient descent or whatever.
The closest thing I have to that now is the errant "lol" I'd send to my lab member who happens to be in the same Zoom lecture as I am. Hopefully I'll be able to experience an in-person class before I finish, but if I'm being honest, I'm not that optimistic.
I started off taking 5 classes:
- CPSC 503: Computational Lingustics I
- CPSC 509: Programming Language Principles
- CPSC 513: Introduction to Formal Verification
- CPSC 534L: Topics in Data Management
- CPSC 547: Introduction to Information Visualization
I'm definitely not going to end up taking all these courses, but I'm taking the advice of my old linear algebra professor and "shopping around." Out of all the courses I've had lectures for so far (which is all but 513), I think I enjoyed CPSC 509 the most. Programming languages are something that I've enjoyed for most of my undergrad (ask my friends, they'll be happy to tell you about the times I wouldn't shut up about a new language feature I learned in the past week), and it looks like the course is a good mix of being rigorous but also fun.
The first "assignment" that William gave in the course was to implement a language spec. This language only accepted the numbers 1 and 2 as valid input, and all other things were undefined behaviour. The catch was that we could make our implementation do absolutely anything for undefined behaviour, so naturally, I had some fun. Here's my implementation below
def eval(prg: Any): Int = {
def fn(): Int = {
val url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
val desktop = Desktop.getDesktop
desktop.browse(new URI(url))
-1
}
prg match {
case n if n == 1 => 2
case n if n == 2 => 1
case _ => fn()
}
}
If you recognize that URL, you know what's up. This implementation will immediately open a new browser window, navigate to YouTube and play "Never Gonna Give You Up" by Rick Astley for any inputs other than 1 or 2.
All levity aside, there are some more serious things that I want to discuss in this week's post. For a while now, wildfires in California, Oregon, and even Washington state have ravaged acres of land and forced many people to leave their homes. We're just now experiencing some of the effects in Vancouver. I literally cannot see the North Shore mountains from my window, or the Pacific ocean, and UBC reminds me of the nightmarish vision of the future presented in Blade Runner 2049.
Some part of me wonders whether I should be happy. Some people say that this summer is the warmest it's ever been for many, many years, and other people say it's the coldest one we're going to know in our collective lifetimes going forward. I'm really not sure what to think.
Last week has also been a time where I really asked myself if I was cut out for the path I've chosen. Undergrad wasn't exactly a cakewalk, and I can't shake off this feeling that I just got lucky with getting into grad school. Of course this really isn't something that I can change right now, or should even bother thinking about. That being said, we're not really the most rational species on the planet, and maybe this is just part of being human. Maybe this self-doubt gets better over time, or maybe people just get better at working with it, combating it. I'll be sure to come back to this topic many more times in the future.