Blog Post #2 CS462 WIN2025

The technology I am using for this project is C++ alongside Docker and running unit tests inside CLion. I am always grateful when I have the opportunity to work in C++ more. It seems to be the fastest and most versatile/lightweight object oriented programming language out there. Manual memory allocation, memory tables, dealing with header files and class structure is all beneficial to me as a programmer. CPU programming is something entirely new to me and it’s been great to see how to programme: addressing modes, bitwise manipulation, storing and passing very small amounts of data that need to be quickly and reliably manipulated, and many more tasks I’m still discovering.

I’m having a hard time generating images on Docker and seeing the necessity in doing so, especially since we’re working with such old technology. Despite that, our testing environment is constantly being updated so it’s crucial to have the container in which we’re testing and running the programme to stay consistent over the updates and new iterations of the product. I’ve found it easier for me personally to run Docker and CLion on my Mac laptop in order to have everything run seamlessly on the same machine.

As for additions and adjustments to our tech stack, I cannot say that I would make any adjustments. JetBrains IDEs seem to be on the very cutting edge of IDEs so I don’t think I could be working with anything better than this. It might be difficult for me when my student license expires and I go back to VSC, but I’m enjoying this IDE while I have it.

One of my groupmates has a file they extracted from their own NES cartridges but I wish I had an adapter myself just so I could see if I could manipulate the data on said cartridge myself and see the change in real time. Regardless, I’m satisfied with the overall experience and how the progress is progressing.

Image source: https://austinmorlan.com/posts/nes_rendering_overview/

Until next time, my esteemed colleagues

㋼ Cody Hill

Leave a Reply

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