UNIX won

I've mentioned that I am enthusiastic about "DevOps" not because it is "the new thing," but because it is the triumph of "the old thing" my friends and I were advocating 20 years ago, and the geniuses who occupied Bell Labs in the 70s were advocating well before that. (I really can hardly believe what a collection of brilliant people wound up together at Bell Labs at that time.) To illustrate that point, let me quote a Bell System Technical Journal paper from 1978, explaining the "UNIX philosophy"*:
  1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
  2. Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
  3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
  4. Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.
Point 1 is now given the trendy buzzword of "microservices."

Point 2, in the DevOps world, is suggested in the notions that every IT procedure should be "scriptable," and that these procedures can easily be fitted together.

Point 3 is today called "continuous delivery" or "continuous integration."

Point 4 is today called "infrastructure as code."

* Yes, yes, calling every single set of precepts a "philosophy" is an abuse of the term "philosophy," but we can't fight every righteous battle all at the same time, can we?

A second complaint about Python Unit Test Automation...

and some recent, similar books I have encountered:

This book includes a very large number of screen shots and copies of the output of running some command or other. Now certainly, a bit of this can be useful. But truly great programming books, such as Software Tools, Programming on Purpose, or Programming Pearls, include (almost?) nothing of this sort. It is as though the authors had plenty to convey without dumping the screen output of every command or program discussed into their works.

Again, I don't claim that any inclusion of such output should be forbidden. But I suggest that, say, for a series of very similar tests, it is enough to put in, "Here is an example of the output of test A," and not also show the nearly identical output for tests B, C, D and E. And, once again, I have the sneaking suspicion the publisher who asks for the output of B, C, D and E is trying to pad out a volume they fear may otherwise be too slim to sell.

Time to begin writing my review...

of Python Unit Test Automation.

So, of course, to motivate myself to get this done, I will blog whatever bits seem likely to appeal to more than 2 or 3 people.

The first thing that struck me about this book is that Chapter One seems very strange inclusion. It is a very brief, high-level introduction to the Python programming language, aimed at someone who knows almost nothing about it. But...

Is that reader likely to buy a book called Python Unit Test Automation as their first introduction to the language?! Won't they pick up something with a name like Beginning Python or Learn Python in 30 Days? It is hard to avoid the suspicion that Pajankar's book had come up just a little shy of its minimum page count, and so the publisher said, "Why not throw in an intro to Python to start things off?"

We detect thinking the same way we do raindrops on roses and whiskers on kittens



It is easy, if one comes to Gilbert Ryle with materialist assumptions, to mistake what he is up to. He predicted this himself, when he said his book was likely to be read as advocating behaviorism, but was more accurately seen as a work of phenomenology.

In criticizing the idea of a "ghost in the machine," Ryle is not claiming that mind doesn't exist, but quite the opposite: mind is right out in the world, in front of us. In his discussion of mimicry, for instance, he writes, "[One person] mimicking [another] is thinking how he behaves" (The Concept of Mind, p. 248). Ryle is very clear here: there is not first the thought of how Joe or Jill behaves, and then a separate action of mimicry: no, the act of mimicry is itself an exhibition of intelligence, of thinking through the behavior of the one mimicked, even though it may not be accompanied by any verbal thoughts at all.

We don't "hypothesize" others have minds through some sort of torturous weighing of empirical evidence: we see their mental acts right in front of us, in their puzzling over a chess position, or working through a math problem, or figuring out how to break down a defender off the dribble. Someone stuck inside Cartesian dualism* is likely to protest: "Ah, but we may be wrong! The person might be just pretending to work a math problem, or unconscious and just going through the motions of making a chess move!"

Ryle's response to this is spot-on (I paraphrase): "So what? There is some other sort of judgment we make which is mistake free? We never think it is raining, but it was just someone using the sprinkler? Astronomers never think they detect a star, only to discover it was an optic artifact? We never have taken an image of a tree for a real tree, or a mirage for a lake?"

I once turned the corner of a staircase at the National Gallery in Washington, and came face-to-face with Rodin's "The Thinker." I had a startling, intense impression of thought going on before my eyes. (Believe me, I had seen it in photos many times before that day, and those photos did nothing to prepare me for the actual statue.) I assume I was mistaken, and the statue was not really contemplating anything: but this illustrates Ryle's point nicely: the fact that Rodin could so brilliantly create a visual symbol of thought demonstrates that we can indeed see thought in the real world. (The sculpted dog in the piazza at Metrotech Center sometimes tricks people into thinking they are looking at a real dog: that can only work because we often do see real dogs. No one could make a statue tricking us into thinking we are seeing the scent of roses, or a G-flat major chord!)

To close, I leave you with this brilliant bit of thinking:



* Which materialists are: they accept the ghost in the machine view of mind, and then argue the ghost doesn't exist.

The tl;dr version of my life


See a fad? Don't follow it!



Longer version: try to resist silly trends that spread simply because they are catching on. Today that herd mentality is usually worth fighting. It has evolutionary roots, in that it helps maintain group cohesion. But those roots are exploited by mass media marketing, and made more extreme by the current obsession with being "modern" and "up-to-date" (so that if you want to condemn some institution, just call it "medieval). What was once beneficial is now mostly harmful.

Random examples popping into my head:

  1. We used to have a "method" for doing X or Y or Z. Now, simply everyone and his brother has a "methodology" for doing those things. The three extra syllables only serve the purpose of broadcasting, "I'm fighting above my intellectual weight class, but trying to hide that fact."
  2. We used to say, "That would be great." Then, some comedian or other started saying, "How great would that be?" Soon, everyone was saying it because... everyone was saying it. The thing is, this is an interesting locution if used as a way of occasionally varying the usual phrasing,  perhaps in order to emphasize the speculative nature of the greatness in question. Kind of like fish sauce in cooking: a drop now and then can add a nice twist to a dish, but if you just drench everything you cook in it, it is pretty gross.
  3. And please, don't use "tl;dr" when you mean, "summary." Since it is an acronym for "Too long, didn't read," it doesn't even make any sense used as a substitute for "summary." Furthermore, some significant percentage of your audience won't know what you are talking about, and will have to look your acronym up. "But," you may protest, "after a time that won't be true." Yes, but since the whole point of using "tl;dr" is to show how friggin' hip the user of it is, as soon as it becomes widely understood, the people using it now will stop using it, and switch to another shibboleth that demonstrates that they are "in the know." In other words, here language is being used not to communicate to as wide an audience as possible, but to signal to a narrow audience that the user is "one of the cool kids."

Bonus quiz: Why is that particular photo accompanying this particular post?

It's Impossible for Elvis to Hurt Our Kids


Bob is having troubles grasping the point people like me and Landsburg have been making about his OLG model of government debt, as shown by his bad analogy for our argument. 

So let's look at another analogy, one with both a factor that plays the role that Bob is saying government debt has in his model, and another factor that plays the role Landsburg and I are claiming government debt has in his model:
It was a dark and stormy night when a driver, in a speeding, 1957, black Chevy, with fuzzy dice hanging from the rearview mirror and a "Elvis Is King" bumpersticker on the rear bumper, ran a red light, killing both an old lady, the Boy Scout helping her across the street, and a chicken.
Bob is claiming that (with running the red light = transfer payments, and speeding = government debt), because Landsburg and I think running the red light was the major factor causing these tragic deaths, we are totally (and incorrectly) rejecting any causal role for the speeding. But what we are saying (we, at least in that I have understood Landsburg correctly) is that the government debt is analogous to the "Elvis Is King" bumper sticker: it played no part in the crash at all, and just happened to be along for the ride.

Now, it is one thing to argue that we are incorrect in our analogy: Bob could counter-argue that the debt actually played a causal role we missed, and then demonstrate what that role is. (And now the fuzzy dice and black Chevy reveal their hands: maybe the dice are relevant, because they distracted the driver? Perhaps the dark color is important: the pedestrians could not see the car in the dark? The point being, one has to show that these factors played a role, and not simply point to the fact they existed.)

But to keep arguing that, just because the debt happens to be along for the ride, therefore it is like the speeding, and simply must have a causal role in the story, is to just miss what we are saying.

Netflix attempts to execute a successful plot summary

The writing for the Netflix plot summaries is usually pretty bad. I liked this example I saw the other night:

"Michael attempts to execute a successful escape from prison."

The badness of that sentence becomes crystal clear when you realize how we would summarize the same plot, if asked conversationally:

"Michael attempts to escape from prison."

To attempt to escape from prison is to attempt to execute an escape from prison, which is to attempt to execute a successful escape from prison. (If he were "trying" an unsuccessful escape, he would not be attempting a prison break: he would be pretending to attempt a prison break.)

This Month's Book Reviews

in the next few weeks, I'll be writing my reviews of Python Unit Test Automation and Why Liberalism Failed.

I am going to start a meetup group, so I can connect with the countless others reviewing both of these books this month.

Tradition 1, Gene 0

I was a participant in the "sexual revolution." I don't want to bore you with the gross details, but suffice it to say that I took advantage of many of the new "liberties" declared by sexual revolutionaries, starting... well, there have been waves of such revolutionaries, dating back at least to some Medieval heresies (e.g, the Taborites and the Picards), and continuing to arise in 19th-century anarchist and feminist thought, in utopian socialism, in the early 20th-century free love movements, and reaching a recent crest in the 1960s hippie movement.

In every single case I can recall, exercizing my new "liberty" had bad, and sometimes very bad, effects, and in every case it turned out that following traditional sexual morality would have been better.

Well, well, what do you know? One hundred thousand years of accumulated human wisdom are smarter than me? Shocking!


Crappiest divorce rationale ever?

In researching the previous post, I found:

"Tennille filed for divorce from Dragon (The Captain) in the State of Arizona on January 16, 2014, after 39 years of marriage. Dragon was unaware of the termination of his marriage until he was served with the divorce papers. The divorce documents referenced health insurance or health issues, and Tennille had written on her blog in 2010 that Dragon's neurological condition, similar to Parkinson’s, known as Essential tremor, was characterized by such extreme tremors he could no longer play keyboards."

So, she divorced him because... he couldn't play keyboards anymore?! So, she married him just because he could play?