Now, you see, I’m not talking about a philosophy, I’m not talking about a rationalization, some sort of theory that somebody cooked up in order to explain the world and make it seem a tolerable place to live in. I’m talking about a rather whimsical, unpredictable experience that suddenly hits people, and it includes this element of feeling the total harmoniousness of everything.
Reading about the Big Ball of Mud design pattern. Favourite quote:
There are good reasons that good programmers build BIG BALLS OF MUD. It may well be that the economics of the software world are such that the market moves so fast that long term architectural ambitions are foolhardy, and that expedient, slash-and-burn, disposable programming is, in fact, a state-of-the-art strategy. The success of these approaches, in any case, is undeniable, and seals their pattern-hood. People build BIG BALLS OF MUD because they work. In many domains, they are the only things that have been shown to work. Indeed, they work where loftier approaches have yet to demonstrate that they can compete.
I happened upon this one today:
He who knows only his own side of the case knows little of that. His reasons may be good, and no one may have been able to refute them. But if he is equally unable to refute the reasons on the opposite side, if he does not so much as know what they are, he has no ground for preferring either opinion… Nor is it enough that he should hear the opinions of adversaries from his own teachers, presented as they state them, and accompanied by what they offer as refutations. He must be able to hear them from persons who actually believe them…he must know them in their most plausible and persuasive form.
This was good: Reflections on 10,000 Hours of Programming.
So over on The Configuration Complexity Clock the author says “at a certain level of complexity, hard-coding a solution may be the least evil option.” Programmers disparagingly call it “hard-coding” but I call it “specific”. Write specific applications! Generalisations aren’t useful until you have specific uses of them.
Today I happened upon: 20 Things I’ve Learned in my 20 Years as a Software Engineer. Of the 20 points my favourites were: “6. Sometimes you have to stop sharpening the saw, and just start cutting shit” and “8. Every system eventually sucks, get over it”.
I feel the same way: My love-hate affair with technology. And my Raspberry Pis (both of them) auto-update too.
An essay about Taking a Stand in the War on General-Purpose Computing.