Month 4: Wrapping Up
Ah yes, finals season. I blinked and suddenly everything was due, all at once. I wrapped up my 4A term in a flurry of assignments, projects, and a handful of finals. I thought the exam season went well, but we’ll have to wait and see when all grades come out 💀. Regardless, I’ve finalized my thoughts (and ratings) for each class.
MUSIC333: 10/10
Music and Landscape was a pretty fun class to take. I needed a third-year MUSIC course to finish my depth requirement (for anyone thinking of doing depth in MUSIC, don’t), and this one ticked the box. It is always a pleasure being a class taught by Prof. Gray. She makes the environment very welcoming, and makes workloads very manageable. She is very conscious of students lives, and accordingly is quite lenient with extensions (though, you likely would never need it). The final project for this course was an essay + presentation on some kind of music that you can tie into landscape, either physical or metaphysical. So naturally, I chose to do it on the music of Hollow Knight and had a blast working on it (I’ll take any excuse to tell more people to play it, if only for the soundtrack).
CS482: 8/10
Computation Techniques in Biological Sequence Analysis started rough. The original prof decided that they weren’t going to teach the course three days before the term started. Prof. Arias, teaching his first course ever, volunteered to take over. The early parts of the course were disorganized, and the midterm is something I will not be speaking about 🗿. But, to his credit, Prof. Arias took feedback seriously, adjusted as the term went on, and made sure the final was fair and well-constructed. I think he has the potential to become a really good prof if he continues teaching. The material itself was interesting. The class can largely be summarized as taking ideas you learn elsewhere in CS and applying them to real-world biological data. A nice reminder that CS doesn’t have to exist in a vacuum.
CS480: 7/10
Introduction to Machine Learning was an involved class. The lectures were dense, and the assignments were long and time-consuming. But, since 85% of the grade came from assignments and a very low-weight midterm, it felt fair. The course was very math-heavy and dove deeper into topics I had been looking forward to since CS486 (such as how exactly GANs work). Prof. Yu is a very competent and clear lecturer, but albeit high-level at times so can make an already challenging class feel harder. Since this class had a 15% final, had a lot of material, and I had both a 60% final for another class as well as an interview on the horizon, I decided not to study for the final. This is the first time I’ve done something like this, and in retrospect, was a good decision. I was happy with the mark I had going in, and would have been fine with getting a 0% on the final. Additionally, the content on the final had a large focus on content that I wouldn’t have anticipated, so I dodged a bullet. If you are considering taking this course, I would take it on a term with no final (which appears to have been every other term besides this one).
CS479: 8/10
Neural Networks was solid. Since I had already taken CS486 and was doing CS480 concurrently, the content felt like a review more than anything. Unfortunately, a snowstorm led to the midterm being cancelled and a course breakdown of 40% for assignments and 60% for the final. The exam turned out to be pretty reasonable, so I think it all worked out in the end. Prof. Orchard taught my section and did a good job overall. His lecture style is approachable to most, and makes it a point to include a five-minute break and a joke each class. He seems like a great prof to do a URA under.
CS456: 7.5/10
Computer Networks was a relatively easy class. Assignments were straightforwards, as were the quizzes and exams. Both the midterm and final were quite long, but only featured multiple choice, multi-select, and short answer questions. The material is very dry, but generally good to know regardless of what kind of software development one is thinking of doing. Prof. Limam is very knowledge, answers questions well, is kind, but can be rather slow in lectures. I think this is acceptable since I’d rather a slow prof than one that goes too fast.
In Praise of the Unplugged
I’ve recently been on a bit of an “analog” phase. While I’ve always had a thing for ephemera, it’s been hitting me harder recently. To that end, I’ve started a notebook that’s a mixture between a bullet journal, art journal, and commonplace book. No real rules; just a space to write, sketch, and stick things in.
There’s something comforting about it. The quiet kind of intentionality that comes from not being able to hit backspace. Every smudge, scribble, sketch, adds to it instead of taking away. I try my best to keep it clean, but at least I can say that it’s chaos and mess are completely my own.
I might add some pictures in future posts if some pages end up looking nice. Or not.
Tmux: Sessionized!
I had been using tmux for quite a while before switching to a tiling window manager. Over time, I found myself using the tiling over tmux sessions, and at one-point abandoned tmux entirely. Recently I was watching ThePrimeagen’s second developer environment course and rediscovered his setup for tmux. Specifically, having a bash script that ties sessions to directories, fuzzy finder to find/launch them, and configurable layouts per project. Taking inspiration from this, I wrote a small script to:
- Add directories as projects (with one flag).
- Launch a fuzzy finder for projects that:
- Opens a new session if one for that project doesn’t already exist.
- Attach to an existing session if one exists for that project.
- Launch a particular layout per project, or a default one if one doesn’t exist.
- Be able to apply the fuzzy finding to a CLI argument instead (for a workflow that makes more sense to me).
I think these features in particular were the missing piece for me to jump back into using tmux over my tiling window manager. Everything feels so effortless and smooth, and is particularly inviting since I won’t always have the luxury of choosing a tiling window manager at my future workplaces.
(You can find this script in my dotfiles)
Random Highlights
- Had lunch with more graduating friends. I had some time to pick apart their brains on their experiences here, and if they had any advice for what I should do in my last term. I’ve been heavily influenced to take a lighter last term to have some fun.
- Had an interview for a dream company. I’ll include in a future post where it is for if I manage to make it to their onsite 👀. Otherwise, you’ll see it in my Quantifying Co-op post.