For about two months I have been watching and coding along with the series (currently on day 086), intent on catching up with the entire series over a long period of time. Occasionally I search for certain keywords to obtain insights on how the project and Casey's methods have changed and evolved over the years.
One interesting comment comes up at Day 565, 01.51:10 where Casey is asked if there are things he would have done differently, and he responds by saying the multithreaded code and the out-of-order CPU optimization segments were done poorly (at least relative to how he would tackle those kinds of problems today).
So my question is, as I make progress with the series and arrive at the episodes which feature multithreaded code and CPU optimization, what are those things I should keep in mind and which Casey now characterizes as "poor"? This is not intended to come into the episodes with preconceptions, but rather to have a sense of the problem space associated with these areas of programming, which is something I as a learner cannot readily have.