Alignment is another key the author forgot to mention. Cache aligning data is seriously important, even if it means padding stuff like crazy. Caches are pretty big, but having to load two different cache lines and do some bit trickery is a real killer.
Also, if you really want performance, go parallel. Cilk is amazing and there are forks of both gcc and clang with cilk. Cilk is seriously awesome.
I highly suggest doing the labs of MIT's 6.858 (Computer System Security). I'm taking it right now, and it's one of the most rewarding classes. The labs can be found here: http://css.csail.mit.edu/6.858/2013/schedule.html. In fact, the first lab is all about buffer overflows and return to libc attacks. All labs come with autocheckers or sufficient instructions to check your answers. The first lab can be found here: http://css.csail.mit.edu/6.858/2013/labs/lab1.html. Highly highly recommended to anyone. I wish more people knew about this class because it's class A, absolutely awesome. Very practical and informative.
Dotfiles are meant to be personalized. I've built mine up over the years, I think everyone does. I don't think dotfiles lend themselves to being managed by a third party package manager. On the other hand, maybe a place just for hosting people's dotfiles would be useful? Github does a pretty good job, but it's not optimized for browsing dotfiles (ie you have to search for dotfiles, which isn't all that bad anyways).
18.06 is the very basic, more applied version of linear algebra at MIT. About half of the students that take it aren't in the math department. The more theoretical option is 18.700. And then there's 18.701, Algebra 1, taught by Artin using his book. The latter two are almost completely theoretical/proof based.
Also, if you really want performance, go parallel. Cilk is amazing and there are forks of both gcc and clang with cilk. Cilk is seriously awesome.