Reading the "Doom Engine Black Book" has changed my perspectives on software portability. I used to always think "Oh, C is super portable, look at DOOM it runs on everything". In reality, there were a bunch of caveats and technical hurdles that were needed to overcome each and every port. It didn't "just work". The thing that was truly portable? The WADs. The data. It's making me rethink my approach in my own creative software ecosystems. Up to this point, my work has been represented as code and executable programs. These are more brittle than I expected. It turns out, I can't even rely on C compilers to add 2 floating point numbers with consistent behavior. So, I'm trying to think about designs that are more data-oriented and implementation-agnostic.