{"key":"5","truth":"You must read the code. ","explanation":"
I took a class long ago called Advanced Operating Systems taught by one of my\nvery favorite professors, Dr. Mizuno. I think it was numbered at 720. In that\ncourse, we had a textbook which mostly contained several thousand lines of C and\nassembly language source that made up the operating system known as Minix by\nAndrew Tanenbaum (also author of the book). (For those who don’t know your OS\nhistory, Linux was sort of a fork/reaction to Minix and the heated\ncorrespondance between Andrew Tanenbaum and Linus Torvalds are the stuff of\nComputer Science legend.)
\n\nAnyway, in that book Tanenbaum had several comments about what the code was\ndoing. Several of those comments were misleading or flat out wrong. In fact, one\nof the most critical pieces of code only contains misleading/wrong comments.\nThis wasn’t intentional, but sometimes when software changes or when the author\nof the software has a different mental map for what’s going on, one that might\nbe useful but is ultimately flawed. In any case, Dr. Mizuno often repeated the\nmantra “You must read the code” in his thick accent and it has stuck with me\never since.
\n\nI do not trust any code I cannot read. I generally read the documentation of a\npiece of software and then immediately start reading the source code from there\nbecause so much documentation is out of date, misleading, or simply wrong. The\nonly accurate specification describing what a piece of software does is the code\nitself.
\n","ht":"Dr. Masaaki Mizuno","tags":["software"]}