At 2023-03-13T22:49:23-0400, Theodore Ts'o wrote: > As an OS engineer, I deeply despise these optimization tricks, since I > personally I care about correctness and not corrupting user data far > more than I care about execution speed ---- especially when the parts > of the kernel I work on tend not to be CPU bound in the first place. Alex has heard me say this before. In the U.S., civilian air traffic controllers have a maxim. Safe, orderly, efficient.[1] You meet these criteria in order from left to right, and you satisfy one completely, or to some accepted, documented, and well-known standard measure, before you move on to the next. The obvious reason for this is that when aircraft meet each other at cruise altitudes, many people die. I haven't yet settled on a counterpart for software engineering that I like, but the best stab at it I've come up with is this. Comprehensible, correct, efficient. Incomprehensible code is useless.[2][3] Even code that is proven correct by formal methods is fragile if human maintainers are defeated by its esoteric expression.[4] (And formal verification can't save you from incorrect specification in the first place.) Richard Feynman once said something along the lines of, if there is any phenomenon in physics that he can't successfully explain to an audience of freshmen, then we don't really understand it yet. We use subtle, complex tools to solve problems only when we haven't worked out ways to overcome them with simple, straightforward ones. Before we surrender to the excuse of irreducible complexity we must have valid, verifiable, peer-reproducible evidence that we've reduced the complexity as far as known methods will allow. But I'm junior to most of the grognards are on this list, so I'm half-expecting the Joe Pesci opening statement from _My Cousin Vinny_... Regards, Branden [1] https://www.avweb.com/features/say-again-8air-traffic-chaos/ [2] Literally useless, especially once that something that "just works" is ported to a new context. "The real problem is that we didn't understand what was going on either." https://www.bell-labs.com/usr/dmr/www/odd.html [3] Except for constructing streams of self-lauding horse puckey before promotion committees comprised of people who themselves attained, and will further advance, their status predicated on the audacity of their horse puckey. [4] And once something's _that_ solid, it may be time to consider etching it in silicon rather than primary or secondary storage.