Get the latest tech news
It's not enough for a program to work – it has to work for the right reasons
Successful software is buggy software.
Mainstream verification methods are good at explaining why things fail — expected vs actual test output, type mismatches, specification error traces. One paper found that 35% of catastrophic distributed system failures were caused by "trivial mistakes in error handlers" (pg 9). While primarily about computer game programming, the meat of the content is beautiful, interactive guides to general CS algorithms.
Or read this on Hacker News