Software Engineering

  • C/C++ Notes: I write them down do I don't have to remember them. C/C++ is an evolving language and I am learning new things from co-workers and Internet all the time.

  • Build System: Before I can write anything for fun, I always have to develop the plumbing for building software. Over the years I have settled on CMake and GitLab CI, to be able to write more complex and buggy software cross-platform for maximum impact, and to catch those bugs via unit tests to keep this vicious cycle going.

  • GitLab: I use GitLab at home and its continuous integration features to kick off automatic unit testing and it's been great! Track which commit broke your unit tests to narrow scope of your investigation. Visually manage merge requests and see statistics on how much work you are putting in for your pet project.

  • Media Format: There had been too many file formats and bitstream syntax that I came across, and here are my notes working with them.