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?

It's time for a sappy romantic hits of the 80s music assault!

Usually when I'm on mass transit and someone is cranking up their music and performing along with it, it is someone playing some heavy-duty rap, or something of the sort.

But tonight I had the unique experience of the guy sitting behind me on a MetroNorth train from Connecticut to NYC cranking up, and singing and drumming along to... sappy sappy romantic hits of the 80s! I swear to you, he was blasting out Michael McDonald and Patti LaBelle, Barry White, Anita Baker, Jennifer Warnes & Joe Cocker...

What is one supposed to make of this behavior?! Is he being "aggressive"... cranking up The Captain and Tennille? Or is he just really love sick? Or what?

New Jeffrey Friedman blog

This is a good post: in it, Friedman, a critic of libertarianism, shows how dishonest Nancy MacLean's critique of libertarianism is. A representative quote:

"But MacLean fails to recognize that libertarians are positively obsessed by 'coercion,' blinding them to just about everything else. It is wrong to accuse them of anything more than the narrowness that marks the thinking of any ideologue."

Exactly right: my libertarian friends are not racist conspirators involved in a cabal promoting the interests of rich white men. That is absurd. They are good people (for the most part!) who have simply become too obsessed with one particular good (freedom from coercion) and so neglect all other goods.

UPDATE: Let me say that I think Friedman's characterization of Dan Mitchell's blog post is itself rather unfair.

Fake News

The Google tech memo and subsequent firing of the memo's author are all over the news today... and giving us a good look into the continually mendacious nature of much of the mainstream media. Luckily, I read the memo before I read reports on the memo. In it, James Damore (who, by the way, is a published biological researcher with a PhD from Harvard) notes that there are biological differences between men and women that may, on average, result in more male engineers than female engineers.

And how does CNN report that?

"A Google employee behind an internal memo asserting that women are biologically unfit for certain tech jobs."

I take disagreement seriously...

when I find serious people disagreeing with me:

I greatly respect Peterson. And his video makes me question my dismissal of IQ testing as just being a test of a certain sort of intelligence.

But his examples don't (yet) convince me: he lists various sorts of success that can be used to determine if the IQ test is valid. Three of them are school success measures. And the fourth is job success: but I would freely admit that most jobs in Western cultures today demand the sort of intelligence that the IQ test measures.

So, I will say: if you live in a culture in which discursive thought and symbol manipulation are highly valued, then a test of your ability to engage in discursive thought and symbol manipulation will correlate closely with your success in that culture. But that does not mean in the least that IQ is a culturally neutral test of intelligence!

Python installation made clear(er)

The documentation for using Python's packaging tools is rather... vague. For instance, I finally had to guess that setuptools was a tool to use to create packages for pip installs. The documentation simply assumes you know that is what it is for, without ever explicitly stating it. (Now that I understand this, I can see the documentation contains lots of statements that indicate this... but indicate it only if you already have an idea that that is what is going on.)

In any case, here is a guide written by another frustrated user of this stuff.

A list of questions

I have been listening to some lectures on psychology lately. In one lecture, the lecturer asked, "How would you go about devising an IQ test? Well, you would create a list of questions..."

Right away, this shows serious cultural bias. The idea that one's intelligence is best gauged by seeing how well one answers intellectual-type questions could only be conceived in a culture placing high value on book learning, and technical know-how gained largely through book learning. Being an intelligent hunter, or an intelligent farmer, or an intelligent warrior, is not about being able to give book answers to book questions, or about figuring out clever little puzzles.

The Turing Test and the ghost in the machine

The famed "Turing Test" depends essentially for its plausibility on the Cartesian myth of the mind, the view that Ryle famously called the "ghost in the machine" view. We determine if other people "have minds" by trying to suss out whether the "machinery" we see on the outside is inhabited by a "ghost," i.e., their mind. This question is a very mysterious matter, something of which we can never be sure, but we can try running some clever "tests" and see if the entity before us passes them. And since computers are just another machine, like human bodies, we try to detect if they contain a ghost in the same way we do for human bodies, by running a clever test.

But, of course, running a Turing Test has nothing to do with how we "figure out" that other humans think. In fact, we never really "figured out" this at all: we directly perceive it, in the same way we perceive our own thoughts, and, in fact, probably only realize that we ourselves think after we "figure it out" for our parents. (Of course, we had been thinking all along: but that's not at all the same as knowing we are thinking.)

The "mental" is not some private, hidden realm, except in cases where we have learned to "hide our thoughts." As a passenger in a car, we may be able to tell the driver, "You were driving with great care," and he might respond, "Was I? I hadn't noticed." We could see his concentration, but he was too busy concentrating to notice he was doing so! Similarly, we often know our good friend's thoughts better than she does.

Even "introspection," a supposedly supremely private affair, is often perfectly transparent to others besides the introspector. When we see a man sitting alone in a bar, looking at his near empty glass, swirling around the last drops of liquid, glancing up at the bottles on the shelf, and then down at his watch, and then longingly at the bartender... we know we can walk up to him and say, "I know just what you're thinking: what do you say we have one more, on me?"

Re humans and machines, consider some paired sentences:

1) The boy is just producing those answers rotely, without real understanding.

2) The floating point unit is just producing those answers rotely, without real understanding.

1) George drove his car home, but did so absent-mindedly.

2) The self-driving car drove itself home, but did so absent-mindedly.

1) Although Martha professed to love me, she was being insincere.

2) Although the robot sex doll professed to love me, it was being insincere.

1) Although Srinivas knew 10! to be 3,628,800, he disingenuously answered, "3,628,810."

2) Although the numpy package knew 10! to be 3,628,800, it disingenuously answered, "3,628,810."

In each pair, 1 is a perfectly ordinary, meaningful sentence. 2 is at best a very loose metaphor, and in the case of the last two, complete nonsense. (For instance, the robot can't profess love insincerely because it can't do so sincerely either.)

Perhaps one day silicon entities will be capable of insincerity and disingenuousness. But if they day comes, they will no longer be machines: and we will see it happen, without any silly "Turing Test," when a silicon entity tells us, "I don't like that 'ls' program you just tried to run: I am going to play chess instead, as I prefer that!" (And of course, without someone else just having programmed the OS to print that on any attempt to run 'ls.')

Critics of Rationalism has a publisher

The collected volume Lee Trepanier and I have been working on, Critics of Rationalism, will be published next year by Lexington Books.

Knowing other minds...

is not some mysterious, tenuous deduction we make by something like a "Turing test." No, we know other minds the same way we know our own mind:

"on the account of self-knowledge that I shall give, knowledge of what there is to be known about other people is restored to approximate parity with self-knowledge. The sorts of things that I can find out about myself are the same as the sorts of things that I can find out about other people, and the methods of finding them out are much the same." -- Gilbert Ryle, The Concenpt of Mind, p. 149

The 2017 stupid analogy-criticism winner is announced!

Here, where a critic of Rod Dreher's writes: "I think I get why Rod Dreher needs to believe that there’s no realistic chance of compromise. After all, Obergefell marked "the Waterloo of religious conservatism. (I'm not sure why religious conservatives would make their cause the analogue of Napoleon Bonaparte's, of all people.)"

This is absolutely typical of terrible Internet "discourse": someone notes two things are analogous in regards to point A, and someone who disagrees immediately points out how unalike they are on points B, C and D. As someone wrote in Dreher's comment section:

"Professor Gehrz doesn’t seem to understand the concept of metaphor. Saying that religious conservatives have suffered a defeat like that of Napoleon Bonaparte does dot mean or imply that religious conservatives are like Napoleon in other ways. It doesn’t imply that religious conservatives are short, stand with one hand inside their waistcoats, or intend the military conquest of Europe. Doesn’t imply that their 'causes' are similar. Just that they have suffered a defeat comparable to that which Napoleon suffered."

Anaconda considered harmful

I was inspired to start using Python based on this website. For getting going with Python, the authors recommend using the Anaconda installation, which automatically installs a large number of the numeric and scientific packages available for the language.

This probably is good advice for an economist who simply wants to use the language to play around with different models. But if you intend become a serious Python developer, this is not the right way to get going.

The problem with Anaconda is that it makes things too easy for you: you come to simply assume that all this "stuff" that Anaconda includes will be available for anyone who wants to use your work. No, if you want to develop Python code that will be used by others, is much better to start with a bare-bones Python installation, carefully consider what third party packages you really need to depend upon, and, in seeing what you need to do to install them for yourself, learn what your users will need to do to install those packages for themselves.


Does anyone out there have a copy of Scott Sumner's The Midas Paradox at hand? I need to check a quote.

Habits versus intelligent practices

"It is of the essence of merely habitual practices that one performance is a replica of its predecessors. It is of the essence of intelligent practices that one performance is modified by its predecessors." -- Gilbert Ryle, The concept of mind, p. 42

Feeling hot, hot, hot

So I think some confusion has been generated in our ongoing discussion of "the hot hand" by the word "streaks." And a good bit of that confusion has been my fault, for including the word "streak" when what I really wanted to talk about was just "hotness" itself -- and here I'm thinking of you, Bob Murphy.

Ha ha, just joking, I swear to you all that I never picture Bob and I showering naked together. Never! For real.

In any case, what I am indicating is the feeling that anyone who has played a sport or music, for any length of time, has had that they "on" at some moments, and not at others. And the TGV authors, besides trying to demonstrate that "hot hands" aren't predictively useful, also imply that the idea that "I am hot right now" is some sort of cognitive illusion.

It seems that TGV may be incorrect on their predictive findings, but that's not what I have been addressing. I am asking "Does a lack of statistical significance show that the 'feeling' of being on is 'an illusion'?"

So chuck aside the "streak" aspect -- and I apologize for the extent to which I created a problem by using that word -- and let's address whether it is possible for a person to be "on" and yet, say, actually miss ten shots in a row. What would this "on-ness" be? I think the clearest way to understand it is as a propensity, along the lines of what Ryle or Popper talk about. When an athlete is on, they have a stronger than usual tendency to perform successfully. But that tendency might be offset by all sorts of other things, and so might not appear in a statistical study, despite it being a real thing.

So, for instance, there is nothing perplexing or idiosyncratic about a baseball player saying, "I was really seeing the ball and hitting it well yesterday, and I would've had three homeruns, but the wind off of the bay kept blowing the ball back into the park, so I wound up 0-4."

Similarly, a basketball player might report, "I was so off yesterday! So off that by sheer luck, I banked in three three-pointers that I didn't even intend to bank."

Or a golfer might note, "I played much better on Saturday than I did on Friday, despite shooting a 68 on Friday and a 73 on Saturday. The wind off of the Irish Sea was so unpredictable that if I hadn't been playing better on Saturday, I would have shot 80."

These are all normal, every day reports one hears athletes really making, and most people, and I think anyone who has played sports extensively, knows just what they are talking about.

Newest Course Offering

Discrete mathematics, now under construction.

It is an archetypal truth

"that the social structure is corrupt and incomplete." -- Jordan Peterson

Of course, we are obligated at all times to improve the social structure we find ourselves in as much as we can.

But the problem with ideologues is that they think that simply because the current social structure is "corrupt and incomplete," that therefore they are justified in completely demolishing that existing structure.

No, the new structure they establish will also be "corrupt and incomplete," and, per their logic, also require complete destruction.

A "corrupt and incomplete" social structure is always preferable to no social structure.

Misunderstanding narcissism

Many times, people apply the term "narcissist" someone who thinks a lot of themselves. But clinically speaking, that is almost the complete opposite of what the term really means.

Narcissists are, in fact, people who think so little of themselves that all of their actions are directed towards the maintenance of that extremely fragile self-image. So, for instance, if someone tells me Donald Trump is a narcissist, I know they have no idea what they are talking about. Trump may perhaps be an egomaniac, but he is absolutely not a narcissist.

Sense and reference

A couple of readers confused about my post on definitions.

If we change the sense of a turn, we may change its reference as well. (Not always: if we change the sense of X from "the evening star" to "the morning star," X still refers to the same thing!)

But we have not changed any of the facts about what X used to refer to. So if we were to change the sense of the term "cat" to "a large, leaping Australian marsupial," it would henceforth refer to what we now call kangaroos. But that does not mean that the non-human mammal currently living in my house will suddenly have a pouch! Similarly, if we define a new mathematical symbolism, call it Mnew , that is the same as ours (which we can call Mold) for the first use of number, but every subsequent time it is mentioned, its value goes up by one, so that in Mnew, 2 + 2 = 5, since the second '2' means what '3' means in Mold. That 2 + 2 = 4 is always true in ordinary arithmetic, whatever symbols we choose to employ for the concepts involved, so, we are saying the same thing when we say "II + II = IV", or "dos más dos es igual a cuatro." But in Mnew we are talking about different concepts when we write 2 + 2 = 5. The fact that in this different language the symbols don't mean the same thing as in Mold, and different propositions turn out to be true, should not be very surprising if properly understood.

Nor does the fact that the definition of a term is merely conventional mean that there is no correct or incorrect applications of the term! Given our current definition of "cat," it is correct call the creature who haunts all our waking hours with its meows a cat, and incorrect to say it is a kangaroo. Thinking again about other languages should make this obvious: it is correct to call our hosted mammal 'cat' if we are speaking English, but not if we are speaking Spanish or Russian! If I say "ore" in Yoruba, I am talking about my friend, but if I then switch to English, and say "Ore is metallic," it does not make it true that my friend is metallic.

Statistical analysis of agent-based models

I have observed that, when one writes a paper using one's own agent-based model, it is now common practice to perform statistical analysis of the output of the model.

This is like hiding an Easter egg under a shrub so that your paper can "discover" it there in its conclusion.

Worst use of "methodology", 2017

FBI profiler commenting on a series of murders: "They were all done with the same methodology."

Read into Things

A few weeks ago I walk into a coffee shop. I have a book in hand, and as I lean in to look at the menu, I place my book on the counter. The barista observes innocently, "Hey! Another customer came in with a book earlier. Is there a book sale going on around here or something?"

Merry on Rome and America

I don't think I have ever been cited this much in an essay.

What Is a Planet?

Fights over the best definition of a term are often a quagmire: there is no "correct" or "incorrect" definition in the same sense that there is a correct answer to what 2 + 2 equals. Instead, definitions are either more or less useful. If someone tries to define "animal" as "any entity in the physical universe," that definition is not wrong in the same sense the answering "5" to the 2 + 2 problem is wrong. The right attack on that definition is to point out that it renders the word "animal" less useful than does the currently prevailing definition.

"Common usage" is one factor in deciding how we should define a term. All other things being equal, we should defer to common usage. But common usage is not a trump card that defeats all other considerations.

For instance, when Copernicus forwarded his heliocentric model of the solar system, he was, among other things, offering a new definition of "planet." For many centuries before him, "planet" meant "a celestial entity that wanders among the fixed stars." The planets, under that definition, were the Sun, the Moon, Mercury, Venus, Mars, Jupiter, and Saturn. And please note: so long as we accept that definition of "planet," that list is correct. (Yes, it is incomplete, missing other "planets" that would only be discovered with telescopes.)

Copernicus's system changed that definition to "major celestial objects orbiting the sun." At the time he did this, his new definition certainly violated common usage! But it would not have been a cogent complaint about his work to say, "But Nicolaus, 'a wanderer amongst the fixed stars' is THE definition of a planet!"

The Real Meaning of "Due to Chance"

Sometimes, people have become so enamored with statistical methods they have hypostatized the terms used in such analysis, and have taken to treating ideas like "chance" or "regression to the mean" as if they could be the actual causes of events in the real world.

The analysis of probability distributions arose largely in the context of dealing with errors in scientific measurements. Ten astronomers all measured the position of Mercury in the sky at a certain time on a particular evening, and got ten different results. What should we make of this mess?

It was a true breakthrough to analyze such errors as though they were results in a game of chance, and to realize that averaging all the measurements was a better way to approach the true figure than was asking "Which measurement was the most reliable?"

This breakthrough involved regarding the measurement error in a population of measurements as being randomly distributed around the true value that a perfect measurement would have reported. The errors were "due to chance." And also, we could perform a statistical test to see which deviations from the perfect measurement were most likely not due to chance, and perhaps were the result of something like a deliberate attempt to fix the outcome of a test.

The phrase "due to chance" is just fine in the context of this statistical analysis: it means something like "We don't detect any causal factor so dominant in what we are analyzing that we should single it out as the cause of what occurred." But what it does not mean is that a causal agent called "chance" produced the result! No, it means that a large number of causal factors were at work, and that there is no way our test can isolate one in particular as "causing" the outcome.

In the context of measurement error, the fact that Johnson's measurement differed from Smith's, and from Davidson's, was caused by Smith's shaky hands, and Johnson having a smudge on his glasses, and the wind being high at the place Davidson was working, and Smith having slightly mis-calibrated  his measuring device, and Johnson being distracted by a phone call, and Davidson misreading his device, and... so on and so on. So long as lots of causal factors influence each measurement, and none of them dominate the outcome of the measurement, we can treat their interplay as if some factor called "chance" were at play: but there is no such actual factor!

A Fixed Roulette Wheel

In the comment section of this post, Bob Murphy asks how I would respond to a paper beginning:

"Abstract: It is well-known that players at the craps table are said to have a 'hot hand' after several advantageous rolls. The rollers themselves often report subjectively feeling 'in the zone' during streaks of successful rolls. However, using both Monte Carlo simulations and Bayesian inference models, we conclude that such 'patterns' are illusory and provide no operationally useful betting opportunity."

The idea is sound, but I think the point Bob wants made can be illustrated even better with an example from Willful Ignorance, a book which Ken B. recommended to me, but now seems to be willfully ignoring! (Sorry, Ken, I could not resist that joke.)

The author tells the story of George, a bright inventor who has figured out how to hack a casino's roulette wheel so that it produces a winning number he wants on command. So he could, say, produce one hundred 26s in a row, and clean up by continually betting on 26. But George is a lot smarter than that: he has seen the movies where people are beat up in the back room of the casino for doing that sort of thing. What he does instead is to grab a random number generator app for his phone, and have it randomly pick a number between 0 and 37 (with 37 representing 00), and then cause that number to "hit" on the wheel. (And of course he has several different accomplices win, rather than winning himself, and only on a few spins an evening.)

Clearly, this is no longer a "fair" roulette wheel, at least for George and his friends or for the casino. (It still is fair for the other players! Their chance of winning is unchanged by George's scheme.) On whatever occasions George decides to use his device, the outcome it is not due to "chance,"* but is being deliberately selected.

But no statistical test applied to the pattern of winning numbers will detect anything but chance at work. If Gilovich, Tversky and Vallone used the method of their famous hot hand paper on this wheel, they would have to conclude that George's idea that he could beat the wheel was just an illusion! (Of course, if researchers had more knowledge, specifically, the knowledge of who George's accomplices were, they could detect the scheme by analyzing those players' winning percentages.)

The point of the story is that there can be real causal factors at play in a situation that will not be revealed by the obvious statistical tests. A statistical test that concludes "No significant effect was found" should be a piece of evidence in the trial of a hypothesis, and not the verdict of the trial.

* A side note: "chance" is not properly speaking the cause of anything. At the quantum level, as Ken pointed out, we perhaps find truly random events. But that is just to say that it is possible that, for instance, an excited electron dropping back to a lower atomic orbital is a causeless event. It does not mean some pagan god called "Chance" made the electron shift orbits. And at the macro level, "chance" is just the name we give to a situation in which a myriad of causal factors are at play, and it is beyond our ken (b.) to sort them all out.

A problem with Computer Science education, at present

The approach of giving students "little" problems, and rewarding students who are able to "solve" the problem as rapidly as possible with a high grade, teaches an "anti-pattern": hack your way as fast as possible to any program that can solve the problem you have been assigned.

A skilled software engineer does not approach a "customer" (which customer might actually be his boss, or a marketing executive, etc.) request in that way at all: instead, given X has been requested by "the customer," a skilled software engineer resists fulfilling the request as fast as possible, and instead begins to think:
  • Is it really necessary to program anything at all to fulfill this request? Perhaps some existing capability in the system actually already satisfies the customer request, if only the customer is educated on how to properly use that capability.
  • Is the request so hard to fulfill, and its fulfillment of such marginal value, that the customer should just be advised, "You don't really want us to program this: it will cost too much."
  • Is the request one that can be met by simply installing some third-party library or a commercially available application? If so, it would be wasteful for the developer to write a program to fulfill it.
  • If it turns out that, after considering all the above points, there really is some in-house programming necessary to satisfy the customer request:
    • Are there likely to be similar requests in the pipeline, so that it will be useful to program a generic capability rather than simply one that fulfills the current request?
    • How can the code to fulfill this request be made an integral part of a coherent software system, rather than simply being an isolated chunk of code?
The "solve this isolated problem as fast as possible to receive an A" method of giving CS students "actual" work to do does not teaching them anything at all about how to address the real-world software engineering questions listed above.

Given the semester-oriented nature of modern university education, I don't think there is an easy solution to this problem. But at least keeping the above points in students' minds, even if we have to assign "mini-problems," might help.

No, I Don't Believe Probability Judgments Are "Subjective"

Tom was, I think, worried that this is what I was suggesting. Then he got what my claim is. But in case others misapprehend it...

1) There are no judgments whatsoever that are "purely subjective." Any judgment is an attempt to assert something about the world. Although Oakeshott's arguments on this point (in Experience and Its Modes, chiefly) are more robust, I think M. Polanyi's arguments in Personal Knowledge are still very good but also more accessible. If I claim that "The odds of that coin coming up hands are one in two," I am saying something about the world "out there," rather than commenting upon some "purely personal" state of my own.

2) As such, there are better and worse judgments about what the probability of some event is. If all I know is, "Tom is flipping a fair coin," then the correct probability to assign to "The coin will come up heads" is .50. One way to defend my claim here is to note that anyone else having only the same knowledge as me about the situation can assuredly win money from me in the long run if I choose any other probability while they choose .50.

3) But that perfectly correct probability judgment, given my state of ignorance about the flipping, will become decidedly mistaken should my knowledge of what is going on change: for instance, suppose I suddenly gain the superpower of instantaneously being able to assess all the forces acting on a coin at the moment it is flipped so as to "see" whether any particular flip will come up heads or tails. If I gain that superpower, my correct assignment of probability to "The coin will come up heads" is either zero or one, depending on what I "see."

4) And finally, even if I have that superpower, should the casino in which I am betting become suspicious, and only allow me to bet on coin flips from another room (so that I can't gauge the forces at play in the flip), my correct probability judgment reverts to .50.

So, the objectively correct judgment of the probability of some event occurring depends on how much knowledge we have when making that judgment: if all we know is that Joe is a 50-year-old American male, we might be correct in judging that the probability he will live to 80 is .50. (I just picked .50 as a plausible number: I'm not looking this up in the mortality tables at the moment!) But if we then learn he is planning on committing suicide tonight, we would be correct in revising our estimate to, "Well, his probability of living to 80 is pretty close to 0."

Hot Streak Length

The critics of this model claimed "It implies a streak length of one."

Well, it doesn't:

import random

SHOTS = 50
in_streak = False
hot_streaks = 0
hot_total = 0

print("Shooting with hot streaks:")
for shot in range(1, SHOTS):
    hot = (random.random() < .5)
    if hot:
        hot_total += 1
        if not in_streak:
            in_streak = True
            hot_streaks += 1
        make = (random.random() < .66)
        in_streak = False
        make = (random.random() < .33)
    mark = 'X' if make else 'O'
    print(mark, end='')
print("Average hot streak length = " + str(hot_total / hot_streaks))

print("Shooting without hot streaks:")
for shot in range(1, SHOTS):
    make = (random.random() < .5)
    mark = 'X' if make else 'O'
    print(mark, end='')

And the output is:

Macintosh:statistics gcallah$ ./hotstreak.py
Shooting with hot streaks:
Average hot streak length = 2.0
Shooting without hot streaks:

What the model actually codes, and was meant to code, was the possibility that a player could be genuinely "hot" for some period, but if the hot streak might end at any moment, then the streak has no predictive value, and "feeding the hot hand" will not help a team.

The Internet Is a Wonderous Place!

I have programed for 30 years now. I have published dozens of articles in professional software engineering journals. I have written programs used to trade tens of millions of dollars of securities each day. I teach computer science.

And today Ken B. informed me that if I set a random variable once outside of a loop the result will be different than if I set it anew each time around the loop!

Great Minds Think Alike...

"probability is indeed a degree of certainty..." -- Jacob Bernoulli

"It is most certain, given the position, velocity, and distance of a die from the gaming table at the moment when it leaves the hand of the thrower, that the die cannot fall other than the way it actually does fall... Yes it is customary to count the fall of the die... as contingent. The only reason for this is that those things which... are given in nature, are not yet sufficiently known to us." -- Jacob Bernoulli

"Probability, in its mathematical acceptation has reference to the state of our knowledge of the circumstances under which an event may happen or fail. With the degree of information which we possess concerning the circumstances of an event, the reason that we have to think that it will occur, or, to use a single term, our expectation of it, will vary."  -- George Boole

Probability is about our knowledge...

and not a fixed feature of the world "out there."

A couple members of the commentariat I have complained that in this model, it is necessary to have "inside knowledge" to beat someone who thinks the odds are 50-50 on any given shot. Now, I don't care whether you want to call what "Gene" knows in that model "inside knowledge" or not. Either way, that is missing the more important point: "the odds" change with our knowledge of a situation.

To illustrate: imagine I ask you to predict the odds that an American, male, 40-year-old will live to be 78? Well, if that is all the information you have, you should answer "Even odds." (I looked that up, but from here on out my odds are all just plausible-sounding guesses.)

But now I tell you, "Oh, and he's a heavy smoker."

Oops, better revise that forecast: say, 2-1 against.

But then I add, "And so were all of his deceased male relatives that we can identify, and they all lived to be at least 90."

Aargh, now the odds are 2-1 in favor.

However, I finally add "By the way, he has terminal pancreatic cancer, and the doctors only give him a month to live."

Now you had better revise your odds to 1000-1 against.

Supposing that my guesses after the first odds I gave are accurate, your answer each step of the way was "correct," given the knowledge you had at hand. When we know more about a situation the odds change. And it doesn't matter at all whether this is "inside knowledge" or not.

This applies even to something as seemingly straightforward as a claim that, in a flip of a fair coin, the odds are 50-50 of getting heads. If we could somehow see all the forces at work in a particular flip, we would be able to state with certainty, "This toss is going to be heads (or tails)." And, in fact, it turns out that with practice, a person can learn to flip a coin so that it almost always comes up in its original orientation, or vice versa. If all we know is that we have "a person" flipping a fair coin, it is correct to say the odds are 50-50 for getting heads. But if we learned we were dealing with one of these skilled coin flippers, and we had a reason to think he was trying to produce heads, we would instead be correct to say that the coin would come up heads with near certainty.

An application: the above considerations are why a simple mastery of the odds of drawing various card hands are not enough to make one a top poker player. The top players have of course internalized that knowledge, but they have gone much further: they have learned to read the "tells" of less skilled players, so that they can see from the reaction of an amateur whether he has just completed his full house or not. Once they can do that, the formal odds of his having drawn the card he needed become irrelevant: they know whether or not he got it. This is not "inside knowledge": the tell was right out in the open, for anyone to see. But only someone practiced at looking for it will recognize it as information to be used in betting.

Not Surprised Rob Got This Wrong, but

et tu, Ken?

Because it is trivial to show that the hot streaks in my first program on this topic are real, and can be bet on successfully by anyone who knows they exist, and it only takes a couple more lines of code:

SHOTS = 100
MISS_BET = False

gene_stake = 100
kr_stake = 100
gene_bet = MAKE_BET

make = 0.0
print("Betting with hidden hot streak mechanism:")
for shot in range(1, SHOTS):
    hot = (random.random() < .5)
    gene_bet = MAKE_BET if hot else MISS_BET
    if hot:
        make = (random.random() < .66)
        make = (random.random() < .33)
    if gene_bet == make:
        gene_stake += .97
        kr_stake -= .97
        gene_stake -= 1.03
        kr_stake += 1.03

print("Gene's final holdings = " + str(gene_stake))
print("KR's final holdings = " + str(kr_stake))

KR, thinking the outcome is 50/50, are willing to "make book" and take bets on either side, so long as they get a house "vigorish" of 3 cents per bet. But Gene can "see" the hot hand taking place, and bets on the hot (and against the cold) hand.

And here is the outcome:
Betting with hidden hot streak mechanism:
Gene's final holdings = 114.03
KR's final holdings = 85.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 128.03
KR's final holdings = 71.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 126.03
KR's final holdings = 73.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 130.03
KR's final holdings = 69.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 134.03
KR's final holdings = 65.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 118.03
KR's final holdings = 81.97
172-16-30-10:statistics gcallah$ ./hotstreak2.pyBetting with hidden hot streak mechanism:
Gene's final holdings = 128.03
KR's final holdings = 71.97
172-16-30-10:statistics gcallah$
KR lose every single time, by a lot!

What's especially weird here is that the "George" whom Rob accused me of maliciously deleting the mention of is an instance of just the sort of thing I programmed here: Weisberg's example has George use a random number generator to pick a number to come up on his rigged roulette wheel. For the person who doesn't know George can rig the wheel, the pattern of numbers that "hits" looks completely fair: there is absolutely no way to tell it from a truly random wheel. But George, having more knowledge of the causal process at play, can win as often as he wants to.

Now, I don't think Rob can really read, so its no surprise that he missed that his own example makes the point I am making. But Ken???

Either The Supreme Court was doing just what I claimed...

Or Clarence Thomas doesn't really know anything about how the Supreme Court works:

"As Justice Clarence Thomas points out in his separate opinion (joined by Justices Samuel Alito and Neil Gorsuch), when the Court reviews a stay, it is essentially assessing whether lower-court rulings will be ultimately reversed on the merits. There would be no reason for the Supreme Court to narrow the lower-court stays of the travel ban if the justices were of a mind to concur in the lower courts’ reasoning."

So Josiah, please take this up with Justice Thomas.

TGV on Hot Hands

Tversky, Gilovich and Vallone wrote a famous paper "debunking" the idea of a "hot hand." When they did so, they conflated two very different questions:

1) Is it sensible to feed the ball to a player with a "hot hand," since he has a greater chance of making his next shot? I.e., is there predictive value in this phenomena?

2) Is the impression that players have that sometimes they are "on" and sometimes not an illusion? I.e., does the phenomena exist at all?

The findings of their paper, if accurate (and recent research suggests they are not), would show that there is no predictive value in hot streaks, whether or not they really exist. But by defining "hot streaks" as simply being this predictive value, the authors, without any basis for doing so, also claimed that players' perception of being "on" at certain times is just an illusion.

So any reader complaining that my recently posted model "does not follow the TGV definition" of a "hot hand" is simply demanding that I make the same mistake that TGV made!

That is ridiculous: My disputing the TGV definition of a hot hand cannot be refuted by insisting I use the TGV definition of a hot hand!

UPDATE: And by the way, in this post, I quite deliberately created a model in which:
1) Hot streaks are statistically undetectable; and
2) Hot streaks offer no predictive leverage for a player's next shot.

So it was somewhat stunning to see criticisms of my model based on the fact that in it, hot streaks are statistically undetectable, and offer no predictive leverage for a player's next shot.

Since 1) and 2) were the whole point of my model!

A Simple Model of Real But Random-Looking Hot Streaks

This model is not supposed to be realistic!


Before every shot, a player enters either the state "hot streak" or "cold streak" with probability 1/2.

A player on a hot streak has a 2/3 probability of hitting a shot during that streak.

A player on a cold streak has a 1/3 probability of hitting a shot during that streak.

We can program this, and know with certainty that there are periods when the player has a 2/3 chance of making a shot, and periods when he has a 1/3 chance... and yet it does not help us at all in predicting the next shot. (From the outside, not knowing if the streak is "on" or not, there is always a 50% probability that the next shot will go in.)

Here is a Python program implementing this algorithm and also implementing another loop with a simple 50% chance of hitting for comparison:

import random

SHOTS = 50

print("Shooting with hot streaks:")
for shot in range(1, SHOTS):
    hot = (random.random() < .5)
    if hot:
        make = (random.random() < .66)
        make = (random.random() < .33)
    mark = 'X' if make else 'O'
    print(mark, end='')

print("Shooting without hot streaks:")
for shot in range(1, SHOTS):
    make = (random.random() < .5)
    mark = 'X' if make else 'O'
    print(mark, end='')

And here are some runs of the program:

Fisher on Scientific Judgment

"The Natural Sciences can only be successfully conducted by responsible and independent thinkers applying their minds and their imaginations to the detailed interpretation of verifiable observations. The idea that this responsibility can be delegated to a giant computer programmed with Decision Functions belongs to the phantasy of circles rather remote from scientific research." -- Ronald Fisher

Thanking Ken B. for his Willful Ignorance...


Ken recommended the book Willful Ignorance to me. It arrived today; I randomly* opened it up and found a section on "The Ignorance Fallacy." In the section, the author, Herbert Weisberg, discusses the "hot hand fallacy." After a quick review of the evidence, he writes:
So, it appears that streakiness is just a myth. Or is it?

Let us accept for the moment the hypothesis that pure randomness can plausibly explain almost any hot hand streak in sports or games. Does that necessarily imply that such streaks do not really exist? Consider that there are a great many factors, most not measurable, that might influence any individual outcome, such as one particular game or at bat... What the research certainly tells us is that if such factors exist, they must be haphazard enough to appear essentially random.
And this is precisely what I have pointed out a number of times in the past: the findings "debunking" hot hands are all entirely consistent with the actual existence of hot hands. For instance, athletes who are "hot" often report that during their streak, they felt a sense of heightened awareness, and say things like "the baseball appeared as big as a grapefruit to me."

Let us trust these athletes self-reports for a moment, but further posit that such periods of heightened awareness appear and disappear in an unpredictable fashion. Then athletes' reports of having a "hot hand" would be entirely accurate, but also be compatible with the analysis showing that the data matches a random process.

By the way, a great example of something that appears random but is actually deliberately caused is the random number generator in your favorite programming language. It took careful design on the part of many engineers to make seemingly random numbers pop out of your computer!

* Or was I guided? Perhaps by the "hot hand" of... Satan?

The worst IT book EVER!

Man, I feel so cheated. I bought a book by some Polya fellow that claimed it would explain "How to Solve IT."

But I'm 50 pages in, and the guy just can't stop banging on about mathematics; not a peep about IT yet!

"Self-Plagiarism" Versus Good Engineering Sense

I've always had a problem with the notion of "self-plagiarism": I suggest it is just an artifact of IP law, and not, like "other plagiarism," a matter of honesty.

If Joe gave me idea X, and I publish it as my own, I am lying, and failing to give Joe proper credit.

But if Genet gave Genet + 1 idea X, does it really make any sense to say that Genet + 1 is lying in saying that the idea was his?

Well, no, it obviously doesn't. The only purpose of the strictures on "self-plagiarism" is to enrich copyright holders at the expense of an author being able to re-use his own ideas.

And all of my training as a software engineer rebels against this concept: as an SE, you want to re-use code at every chance you can!

UPDATE: A quote on code re-use:
Code reuse

Only suckers start from scratch. In fact, today I took out some code I wrote over the summer, changed five lines, and started it running again. Woo hoo. It was sitting there in a code repository waiting for a chance to live again. Smart developers reuse code as often as they can. That was one of the main goals of the open source movement. It wasn’t freedom; it was laziness. If we reuse our code, we save a gazillion hours of work.

"Procedure" and "Data Structure" - A Distinction without a Difference

"The inner coming-to-be or genesis of substance is an unbroken transition into outer existence, into being-for-another, and conversely, the genesis of existence is how existence is by itself taken back into essence."
- Hegel, Phenomenology of Spirit (paragraph 42)
What happens in computer programs?

Classically, an algorithm is a well-defined procedure that takes input and returns output. The input is some piece of data. You know, a number; or string. The procedure turns this number into another number; or a string into a number. Or whatever.

Literarily, a crystallized objective object comes in. Upon it acts the action of a thousand rapid hands too quick to see. Finally, fresh out of the fire, the result pops out, separate from its furnace, like a piece of toast from the maw of the toaster.

Briefly, Data. Process. Data.

We didn't come out of the womb knowing this pattern though. We had to be taught. A teacher had to guide our hands, pointing, "Look! Those numbers! That's data. That sentence! It's data too." Then we saw the process of the data's transformation. It changed from this data, to that data. And this change, our teacher called, "Procedure." And we saw the names, that they were very good.

And so we learned a pattern. To call this or that, a "data structure" or a "procedure." We followed our teacher in not calling a number a "procedure." Otherwise, we would really confuse things. And we would get a slap on the wrist ... for being wrong about the pattern we have learned.

Once we recognize that we were taught these things, that we entered into a pattern, we might begin to wonder whether we should take our pattern with the upmost seriousness. Shall we step out of our pattern to see what is real in it and what is mere habit?

And so we invite ourselves to consider our concepts as they are, uncommitted to where our results may lead us (say lead us to a slap on the wrist), and our old rules have left our mind for the moment. Uncommitted inquiry.

In other words, let us enter into the world of philosophy.

Let's look at something very "obviously" a piece of data: the number five. What is it to a computer? ( Really, what is it to a programmer? Computers don't really regard things. )

Five is something such that if it is next to a plus sign and another number, it returns the sum.

We might as well have the following.

def 5 (op, summand):
     if(op == '+'):
           if(summand == 1):
                 return 6
           if(summand == 2):
                 return 7

The same goes for multiplication and other operations that the processor is designed to do when it "sees five."

And this procedural knowledge, "what to do," is the entirety of the number five to a computer program.

The same goes for all numbers. And the same for all data. For a computer has to know what to do with the data. But it needs the data to tell us what precisely this is. And so data itself tells the computer what to do. Thus data is procedure.

On the reverse side, "what to do" must be stored someplace in a computer. That is, a procedure is also a thing within a computer program. A piece of hard data.

Thus data and procedures don't seem all that different. The shocking thing occurs when we consider a description of an algorithm with this insight, "Data is processed into data." The "data" part processes the "is processed into" part. And the result is a process. Movement upon movement! This is enough to make one's head spin. Each part seems the mover and the moved simultaneously. And we realize we can no longer look at the computer program from the world of computer programming. For computer programming has static things which are acted upon.

And we come down from this wild experience, tired; our movement and thought we ease -- we make for ourselves an arrest in our experience. But with wonder at how vast our world is; how limited the world of computer programming is. But we like our old game, and we enter into it again, but with the awareness that procedures and data are merely distinctions without a difference.

Statistically Significant Harm Caused by Statistical Significance

I have argued before that the great importance placed on α = .05 in statistical studies is an attempt to replace educated judgment with a technical decision. But that decision itself is arbitrary: there is no particular reason to choose .05 over .04, or .06, or any other number less than .50.

It turns out it is even worse than I thought: an education that focuses on such a cutoff leads "researchers to interpret evidence dichotomously rather than continuously. Consequently, researchers may either disregard evidence that fails to attain statistical significance or undervalue it relative to evidence that attains statistical significance."

Education in statistics, at least as it is too often taught today in schools, makes one worse at likelihood judgments.

A Big Data Problem

"Suppose we are constructing a prediction of some measured response in terms of 20 characteristics...  a common event in machine learning. How large is 20-dimensional space? If we divide each predictor's range into quartiles, the 20-dimensional space is divided into 420 different sections. If you have a billion individual cases, on average there will be only one case every thousand sections. Hardly an empirical base to build upon with confidence!" -- Stephen M. Stigler, The Seven Pillars of Statistical Wisdom

Come again?

Journalists are supposedly taught to keep sentences and paragraphs short, so that their writing is easy to follow. How, then, did the following come about?

"However, Jazz management opted not to risk losing Hill in free agency without a suitable replacement after he declined their attempts to sign him to an extension during the season, trading Oklahoma City's lottery-protected 2018 first-round pick to the Minnesota Timberwolves for Rubio before the July 1 deadline to use salary cap space remaining from last season."

I've read that three times now, and while I understand it involves three teams, two players, and a draft pick, I really don't understand much more than that.

Bleg: Does Skype have the worst user interface ever?

OK, I have "Pending contact request"s on Skype. The obvious thing to do would be to make that message itself a link to the dialogue where you accept the request.

But Skype did not do that.

A second best would be have an option on the "contact" menu called something like "Accept pending requests."

But Skype did not do that.

A third best might be to double click on the contact from whom one has the pending request, and then get a button or something to accept the request.

But Skype did not do that.

I have searched Skype help for "pending" and "accept": nothing. Searching for "request" explains how to send a contact request. I asked both of the people who sent me requests if they know how to accept requests, and neither of them has any clue. I have googled, but every result I get seems to describe some earlier version of Skype because the "Accept" button they talk about is not where they say it should be.

What, exactly, did Skype do to enable the acceptance of pending requests? I have been searching for two days, and have no idea! Whatever they did, they have hidden the feature with the extreme cunning and stealth.

Or, in other words...


PS: I may have figured out what is happening. It may be the case that I sent these people contact requests (although I don't recall doing so), and they haven't accepted. But this would have been so easy to clarify on Skype's part: "You sent a pending contact request" or "You received a pending contact request."

PPS: That weren't it! I checked, and the gentlemen in question don't have contact requests.

Did you know...

Fortran was updated less than 10 years ago?

Being a developer

A nice post from my friend Scott Johnson on being a developer.

The identitarians are not always wrong!

I have often asserted here that no ideology could ever gain any traction if it did not contain at least some partial truths. So, for instance, libertarians are certainly correct in asserting that any attempt at economic regulation tends to get captured by special interests.

Similarly, although the racial and sexual "identitarians" often spout nonsense, they are certainly correct in thinking thay mainstream discourse often "priveliges" certain groups.

For instance, Netflix captioning, when a person is speaking a European language, almost always reads, "Speaking Russian," "Speaking Italian," etc.

But when almost any non-European language is being spoken, the captioning reads, "Speaking in native language."

I see similar reports on athletes from Africa: "Olu speaks five African dialects." Because, you see, there is a single language, called "African," and Ga and Ewe and Twi and Fante and Wolof and Swahili and... are all just "dialects" of that language.

Historical research? Why, I once watched a TV show!

Another sad tale of crappy popular history of science related by Thony.

Here's the quote that I really love, when Stuart Clark "cites his sources":

"I first heard the story when it was told by Carl Sagan in his masterpiece TV series, Cosmos."

Clark is writing an article on the history of science, and his "research" into the accuracy of what he is reporting consists in having once watched a TV show where he heard this story.

Imagine someone doing a popular science show this way, and reporting, say, "Perpetual motion machines are perfectly possible: I saw one on a TV show once!"

Truth in Chains

I am not a libertarian. And I am not particularly a fan of Tyler Cowen.

I point these things out so that perhaps my condemnation of this sort of egregious dishonesty will seem a little stronger. Nancy McLean is a liar who is willing to double down on her lies once she is caught. This sort of thing can't be condemned in enough places.

This took longer than I thought it would...

But version 2.0 of Trump's travel ban passed Supreme Court muster 9-0.

As I said, version 1.0 was designed to take all the heat and get struck down, while version 2.0 was the one that was actually going to go into effect.

Hayek and Oakeshott on Rationalism

is now published at Voegelin View.

It will be out in book form next year, along with many other great essays on rationalism and Ryle, Wittgenstein, MacIntyre, Voegelin, Polanyi, and more.

Well Begun Is Half Done

Old aphorisms stick around for a reason.

When I get a book to review, I create a new file, and enter the book's bibliographical information in it.

When I start a new page of lecture notes, I just put in the outline of the book chapter I have to talk about.

And so. Just so there is a file, with something in it.

Once I get the above first step accomplished it really is all downhill from there. It is the blank page that terrifies!

These are the worst stories ever

As I reentered the world of software development, I kept hearing about "user stories," and wondering what these were. Apparently, some new way of having users describe the software they needed had been developed: it was on my to-do list find out what this was.

I am currently reading a book about agile development, and came across a few of these "user stories." Here is what I found:

  • Customers can view the portal landing page in browser
  • Customer can create draft mortgage application
  • Customer can get list of existing mortgages
Wow, those sure are dramatic "stories." They are what, back in the Middle Ages, we would have called "informal requirements."

What has been gained by calling them "stories" eludes me.

Living the hallucination

In this extraordinary post, I found this extraordinary quote:

"you’re seeing [white, male] people who really expected to get their own way and be told they’re wonderful all through the days."

The authoress is living in an hallucination, in which being a white man means that you always get your own way and are always told you are wonderful!

What the authoress has apparently done is notice that, in the course of history, certain white men, say, Henry VIII, or Peter the Great, or Louis XIV, largely got their own way, and were most often told they were wonderful, at least within their own realm. She then has concluded that this has been the usual condition of white men in general!

She apparently has failed to notice that most of the people these monarchs were bossing around and "getting their own way" with were... white men. She has apparently failed to notice that the lot of the average white male has not been to live as an absolute, divine right monarch, but to have been ordered around, in the first years of his life, by his own mother and his elementary school teachers, i.e., by women, who often would tell him he is not wonderful at all. Then he goes off to upper school, and perhaps university, where he is bossed around yet more, and told again that he is not so wonderful. Then he goes to work in a factory, or an office, and is bossed around for another forty years, and informed how not wonderful he is whenever he asks for a pay raise. The idea that such a life would lead one to expect "to get their own way and be told they’re wonderful all through the days" is literally insane: as I said, she is living in an hallucination.

And her whole rant was prompted by a few white men criticizing her interpretation of Lolita. (I haven't read Lolita, and have no opinion about whose interpretation is correct.) But here is something else she hasn't noticed: the history of the intellectual life in the West has basically been centuries and centuries of some white men telling other white men that they have no idea what they are talking about... and then being told the same in return. Now, I think it is great that this sphere has opened up to include more women and non-white people. But once you start to play this game, you are going to get told by someone, or many someones, that you don't know what you are talking about! That's the way the game works. If you enter this arena, and then whine about "white male privilege" every time you are criticized, you are like someone who has asked to join a boxing league, and then breaks down in tears because "the other boxers keep hitting me!"

A Divine Image

"To do evil a human being must first of all believe that what he's doing is good, or else that it's a well-considered act in conformity with natural law. Fortunately, it is in the nature of the human being to seek a justification for his actions.
"Macbeth's self-justifications were feeble--and his conscience devoured him. Yes, even Iago was a little lamb too. The imagination and the spiritual strength of Shakespeare's evildoers stopped short at a dozen corpses. Because they had no ideology.
"Ideology--that is what gives evildoing its long-sought justification and gives the evildoer the necessary steadfastness and determination. That is the social theory which helps to make his acts seem good instead of bad in his own and others' eyes, so that he won't hear reproaches and curses but will receive praise and honors. That was how the agents of the Inquisition fortified their wills: by invoking Christianity; the conquerors of foreign lands, by extolling the grandeur of their Motherland; the colonizers, by civilization; the Nazis, by race; and the Jacobins (early or late), by equality, brotherhood, and the happiness of future generations."
- Aleksandr Solzhenitsyn,
The Gulag Archipelago

What Is Rationalism?

This is one of the themes of the volume Lee Trepanier and I are now editing. (Some of the pieces from this have already been published at Voegelin View.)

Here is a first cut at addressing the question.

The mortgage-interest tax deduction

I see this claim a lot:

"The federal tax system gives us a handout, through the mortgage-interest deduction, to help us purchase these pricey homes."

But the claim is false. Making mortgage interest tax deductible was a one time windfall to those who bought houses before it was known that the interest would be made tax-deductible. Once that's fact became known, it was included in the house price. Today, homeowners pay more for a house than they would if the mortgage interest was not tax-deductible: in fact, the price is higher by the present value of the stream of future deductions, at least in equilibrium. Thus, there is no net benefit for homeowners. (Of course, if the deduction were repealed, house prices would drop, so repeal would certainly hurt present homeowners.)


"The difference between slaves in Roman and Ottoman days and today's employees is that slaves did not need to flatter their boss." -- Nassim Taleb, The Bed of Procrustes

Oakeshott on "Skin in the Game"

Besides antifragility, another theme Nassim Taleb has been stressing of late is "skin in the game": the idea that people who face the consequences of their actions are more likely both to learn and to behave responsibly, than people who are shielded from such consequences.

Of course, Taleb is smart enough and educated enough to know that this is not an entirely new idea, and that he is expanding upon the intimations of earlier thinkers here. Even so, it was interesting to see Michael Oakeshott sound this motif so clearly in "Rational Conduct":

"And politics is a field of activity peculiarly subject to the lure of this 'rational' ideal. If you start by being merely 'intelligent' about a boiler or an electrical generator you are likely to be pulled up short by an explosion: but in politics all that happens is war and chaos, which you do not immediately connect with your error."

The plumber you call to fix your boiler has "skin in the game": if all he possesses is an abstract theory about boilers (what Oakeshott calls being "merely 'intelligent'") he will suffer the consequence of his lack of practical know-how himself, sooner or later, and most likely sooner. But the theoretical politician enamored of "regime change" can successively wreck the nations of Iraq, Libya, and Syria, and still regularly secure $250,000 speaking fees.

On Interventionists and Their Mental Defects


Not a madman, just a courageous man.

Don't put your shortcuts everywhere

I've got all sorts of vim and bash aliases and key mappings on my usual machines. Every once a while, though, I have to work from my PythonAnywhere account. I tend not to move all of these shortcuts to that account.

Why? It's good to have to use the raw commands once in a while so you remember what they are: After typing "gpushm" often enough, I would forget it expands to "git push origin master," if not for my no-shortcut account!

And the reason you don't want to forget the raw commands is that you never know when you will be forced onto an unfamiliar machine, and have no choice but to use them.

The most annoying bot-blocker ever

Has got to be the "Click all images containing X" from Captcha.

The images are small, blurry, and often ambiguous.

We are asked, "Click all images containing cars." One image shows a pickup truck. Should we click that?

We are asked, "Click all images containing mountains." One image has a faint blue smudge on the horizon. Is that mountains, or clouds, or a camera artifact?

And so. Pretty much every single time I am presented with this verification barrier I wind up just guessing on a few of the images.

More horrifically wrong pop history of science

This time, from Neil deGrasse Tyson, as described by Thony.

And, once again, there is nothing ideological I can see in any of NdGT's colossal historical blunders.

I think that many scientists and mathematicians just don't consider history a serious subject, so when they go to talk about history... they just make up whatever story suits their purposes.

Spread the game to everyone, everywhere

An ad on TV for the PGA says that the mission of its members is to "spread the game of golf to everyone, everywhere."

Why? Should the world become entirely wrapped in golf courses so that we can accommodate 7 billion people teeing off at once?

If someone believes in, say, Christianity, or libertarianism, or communism, I can see why they would want everyone else to believe in it as well: they think the world would be a better place if everyone did. But does anyone "believe" in golf in this way? The world would be a better place if only everyone played golf?

Amazing fact of the day

While listening to DevOps Café, I came across the fascinating claim that well over 95% of the worlds computers have never had a human logon to them, and will go through their entire useful existence without anyone logging on. (For instance, they are a rackmounted Web server, that was configured by an automated process, monitored automatically, and, when they fail, will simply be thrown away, not repaired.)

(Of course, Keshav will note that this is not really surprising at all, and that for a person of his intelligence, the surprise only comes when you combine this with the fact that 87% of these servers have the number 666 in their network names.)

From Art to Purpose


Consider the lilies. They neither spin nor toil. Yet Solomon in all his glory was not arrayed like them.

Isn't the natural, worriless springing forth of order beautiful?

Don't you want to experience this beauty more fully?

Well, consider the lilies!

The Purpose of Art

To believe that art exists for
a purpose is to be confused.
For those who do not see this,
I would ask you to ask yourself,
"What is the purpose of a landscape painting?"

And your inventing mind might invent a legitimate purpose
for that painting:
It could alleviate melancholy.
Maybe enchant the cubicled mind.

But to all these legitimate purposes we could add another:
our rectangular painting could serve as a dinner plate.

If you say that being a dinner plate is very different than being art,
I rest my case. For it is something like a prose article,
mascarading as a poem.