Michael Cook — Software Engineer. LinkedIn. Twitter. GitHub.

int main() { [](){}(); }

Every configuration parameter represents a failure of engineering.

Pleasure flees, trouble always returns.

Everything can be filed under miscellaneous. — Dilbert's Laws.

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. — Brian W. Kernighan.

To avoid criticism do nothing, say nothing, be nothing. — Elbert Hubbard

Much of life has the feature that quick elimination is not only possible, but sensible and reliable. You can be pretty confident of a decision to throw out a scientific paper purporting to prove that the earth is flat. You can be reasonably certain you don't want to buy a book on a topic you usually find deadly dull or in a language you don't read. On a romantic plane, most people can eliminate all but a tiny number of potential mates on the basis of a small set of quick but telling tests, based on such quickly perceptible aspects as gender, age, appearance, style of dress, mannerisms, and so forth. Were life not this way, we would feel far less in control of our own destinies. At every moment, we would have the sense that a million rich potentialities lay all about us, yet completely undetectable to us. There would be no superficial cues that would tip us off. It would be a most tantalizing feeling. Evolution, however, saw to it that we were constructed in such a manner that quick filters /do/ work. Of all that is out there to potentially explore, only a small percentage attracts us, allowing us to discount most claims to our attention. We pay little attention to most ads, most books, most people, most music, most radio and television shows, most countries—in short, to most things in the world. We cannot possibly explore everything in depth, and luckily, we do not need to in order to do well in life. — Douglas Hofstadter, Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought.

The competent programmer is fully aware of the strictly limited size of his own skull; therefore, he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague. In the case of a well-known conversational programming language I have been told from various sides that as soon as a programming community is equipped with a terminal for it, a specific phenomenon occurs that even has a well- established name: it is called "the one-liners." It takes one of two different forms: one programmer places a one-line program on the desk of another and either he proudly tells what it does and adds the question, "Can you code this in less symbols?" — as if this were of any conceptual relevance! — or he just says, "Guess what it does!" From this observation we must conclude that this language as a tool is an open invitation for clever tricks; and while exactly this may be the explanation for some of its appeal, viz. to those who like to show how clever they are. I am sorry, but I must regard this as one of the most damning things that can be said about a programming language. From "The Humble Programmer" by Edsger Dijkstra (CACM, October, 1972)

$ date +"%A, %B %-d, %Y"
Thursday, April 26, 2018