Knocking Off the Rust


Now that my Capstone project is underway, I’m going to pivot the focus of this blog to the various learnings and struggles I find myself swimming in. This post will be focused on the group I’m a part of, as well as the project selection process we went through.

I’m in a group with a couple of folks I met through the school unofficial Slack, and I’m beyond stoked to be working with them! The thought of anonymous or randomized group members is quite the stressor for me, so having folks I already know and enjoy is a huge boost to morale going into the project itself. It doesn’t hurt that both my teammates are already professional SWE’s, either. Communication is always a sticking point for group work, and I’ve found that the success of said projects almost always hinges on how well everyone communicates throughout the ups and downs of project design/implementation. Luckily, our group is very communicative and has fostered a very welcoming environment to bounce ideas off one another. We meet via conferencing software weekly, but communicate numerous times a day via Slack. This is a huge boost both to know how my teammates are doing, as well as driving accountability and focus.

For our project, we’ve chosen to create a Space Invaders emulator in Rust, a language none of us really know well. This was a bit ambitious, but the documentation for Rust is terrific, and the language itself is very exciting to work in. To have such extensive packages readily available, along with the memory management, garbage collection, and the ownership model alongside such exceptional speed is indeed something to be valued. All these factors also mean we needed to spend a good amount of time just getting up to speed on how Rust looks, so we could start understanding how it works.

To achieve this goal, I’ve been following along with the Let’s Get Rusty YouTube channel, which itself follows along with the chapters in the Rust Book. Thus far, I’ve really enjoyed learning the syntax and features of Rust, but I can certainly see some difficulties on the horizon with the “borrow checker” and ownership in general.

Once I feel relatively comfortable in Rust, I’ll start writing the Disassembler for the Emulation project. That will be a topic for another blog post, however…

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *