Andrew Tannenbaum, Lessons Learned from 30 Years of MINIX, Comm. ACM, March, 2016:
I mentioned [...] MINIX running on the simulator but not on the hardware to my student, [...] who said [...] the 8088 generated interrupt 15 when it got hot. [...] there was nothing in the 8088 documentation about that [...] I inserted code to catch interrupt 15. Within an hour I saw this message on the screen: "Hi. I am interrupt 15. [...]."
What lesson did Andrew learn? What lessons should he have learned?
The lesson Andrew learned was
Do not trust documentation blindly; it could be wrong.
which is ok. Another, more important lesson to learn is
Program defensively, make sure every case is handled. (The Elements of Programming Style, Kernighan and Plauger, McGraw-Hill, 1978).
A third, more obscure lesson available for learning is
Sometimes talking to the duck isn't enough, and you should talk to something that will talk back.
"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko