Saturday, March 04, 2023

Uncomputable things: Chaitin's constant, Busy Beavers, and Kolmogorov complexity

1. Introduction

The other day I was watching this Numberphile video about (among other things) uncomputable numbers when I came across this section around the 6:50 mark where Matt Parker talks about Chaitin's constant.  Strictly speaking, this is a whole family of constants, not a single number, but that doesn't really matter.  What matters is that Chatin's constants are rare examples of numbers which can be unambiguously defined but which are provably uncomputable.  In the video Matt kind of throws up his hands when trying to explain Chatin's constant(s) and why it/they are uncomputable, but it's really not that hard to understand.  Nonetheless, I haven't found a really accessible explanation anywhere so I thought I'd take a whack at it.

Chaitin's numbers (usually denoted omega or Ω) are named after Gregory Chaitin who discovered/invented them some time in the 1980s or 90s (I have not been able to find the original publication, or even a reference to it).  In a nutshell, Ω is defined as the probability that a random computer program will eventually halt or run forever.  Obviously, the value of this number depends on what you mean by "a random computer program", and that in turn depends on the kind of computer you are writing the program for, which is the reason that this is a family of numbers, not just a single number.  But Chaitin's omegas are nonetheless invariably referred to in the singular because the basic idea behind all of them is the same, and the details don't really matter all that much.

2.  The halting problem

I'll start with a short review of the famous Halting Problem, because that is the foundation on which  Ω is built.  The Halting Problem is: given a program P and an input I, does P eventually halt when run with I as its input, or does it run forever?

It turns out that we can prove this problem cannot be solved.  But before we prove it, note that one might be suspicious it can't be solved even without a proof, because if we could solve the halting problem, then we could leverage that result to answer any question about anything that we could render as a computer program.  Want to know whether the Goldbach conjecture is true?  Or the Riemann hypothesis?  Or even the infamous P=NP?  (If you want to get an idea of just how thorny a problem that is, read the introduction of this paper.)  All you would need to do is to write a computer program that systematically searches for counterexamples and then ask if that program halts or runs forever.  If it halts, then there exists a counterexample and the conjecture is false, otherwise it's true.  A solution to the halting problem would put mathematicians and physicists permanently out of business.

Fortunately for both, you can prove the halting problem can't be solved.  This was first done by Alan Turing in 1936. Turing's original paper is challenging to read because there were no computers back then, so he had to pretty much invent the entire notion of "computer program" in a world where programmable computers did not yet exist.  (Back then a "computer" was a human being who did calculations by hand.  The word referred to a profession, not a device.)  But nowadays computer programs are ubiquitous, and we are used to thinking about bits and bytes and whatnot, and that makes the proof a lot easier.

Here is an outline of what we are going to do.  First, we are going to assume that we can solve the halting problem, that is, we're going to assume that we can write a program, which we will call H, which takes as input another program P and returns TRUE if and only if P halts, otherwise it will return FALSE.  Second, we are going to make a second program, which we will call B, which, like H, is going to take a program as input.  But instead of returning TRUE or FALSE, it is going to call H as a subroutine to determine whether the program P that has been given to it halts or not, and then B is going to do the opposite of what H says P will do, i.e. if H says that P halts, then B is going to enter an infinite loop (and hence run forever).  Finally, we are going to run B with a copy of itself as its input, and show that this leads to a contradiction, and hence that our assumption that we could write H must be false.

There are really only two details we need to fill in to turn that outline into a fully fledged proof.  The first is that we need to explain what we mean to run a program with another program as its input.  Turing's original paper spent many pages on this, but today we can simply point to the familiar fact that programs are just strings of bits, and inputs to programs are just strings of bits, and so running a program with another program as its input is no different than running a program with any other kind of input, it just so happens that the string of bits we supply as input happens to correspond to a valid program, which we will just stipulate.  (Or, if you want to be a stickler about it, we can just stipulate that invalid programs halt by producing an error.)

The second detail is a bit thornier.  As we have described it, H is a program that takes one input, a program P, and likewise B is a program that takes one input, which is also a program.  But what about P?  How many inputs does it take?  We have played a little fast-and-loose with this.  Remember, our description of H was that it "takes as input another program P and returns TRUE if and only if P halts" but we said nothing about the input to P.  Does P even take an input?  If so, where does its input come from when H tries to figure out whether or not it is going to halt?

There are several different ways to address this, but the easiest is to change the definition of H so that it takes two inputs, a program P and an input I, and returns TRUE if and only iff P halts when run on input I, and restrict ourselves to only giving H programs that take one input.

I am also going to introduce a bit of notation here: if P is a program and I is an input, then P(I) is the result of running program P on input I.  In the case where a program takes more than one input, like our redefined H, we separate them with commas, e.g. H(P, I).  So H(P, I) is TRUE if and only if P halts when run on input I, that is, if P(I) halts, otherwise it is FALSE.  (Exercise: what is H(H, H)?)

Now we can define our magic program B.  B is going to take one input, a program P, and it is going to call H as a subroutine with P as both the program to be analyzed and the input to that program.  In other words, B(P) is going to start by computing H(P, P).  If the result is TRUE (i.e. if P halts when run on a copy of itself as input) then B is going to enter an infinite loop, otherwise it will halt.

In other words, we will build B so that B(P) will halt if and only if H(P, P) is false, that is, if P(P) runs forever.  Otherwise, if H(P, P) is true, i.e. P(P) halts, B will run forever.

Now, what happens if we run B with a copy of itself as input, i.e. what happens if we try to compute B(B)?  Well, B(B) is going to start by computing H(B, B), which is a special case of H(P, I).  Recall that H(P, I) is true if and only if P(I) halts.  So H(B, B) is true if and only if B(B) halts.  But B(B) halts if and only if H(B, B) is false.  This is a contradiction, so our assumption that it was possible to write H must be false.  QED.

3.  Busy Beavers

So now that we know that the halting problem cannot be solved, we can also know that any information that would allow us to solve the halting problem must be impossible to obtain.  As an example of the kind of information that might allow this, consider the so-called busy-beaver numbers, denoted BB(n), which are defined as the largest number of steps that a computer program of length n could possibly run before halting.  For any n, BB(n) must exist, and it must be a finite integer.  Why?  Because there are only a finite number of programs of length n (in fact, at most 2^n of them), and so there are only a finite number of programs of length n that halt, and so one of them must be the one that runs the longest before halting.

And yet, if we knew the value of BB(n) then we could solve the halting problem for programs of length n.  How?  Simply by running all of the programs of length n in parallel until we ran them all for BB(n) steps!  Any program that runs longer than that must run forever.

So the BB function must be uncomputable.

4.  Chaitin's constant(s)

Another example of information that would allow us to solve the halting problem is the number of programs of length n that halt.  This number doesn't have a common name so I'm going to call them the C numbers, i.e. C(n) is the number of programs of length n that halt.  Again, C(n) is a perfectly well-defined number.  Indeed, C(n) must be an integer between 0 and 2^n, so they are not even a mind-bogglingly big number like the BB numbers are.  And yet, if we could compute C(n) we could solve the halting problem, and so C(n) must not be computable.

Note that C(n) is not a number, it's a (uncomputable) function just like BB is.   Chaitin's constant is a number that is constructed (more or less) by taking all of the C(n)'s, concatenating them together, and interpreting the result as the decimal expansion of a real number.  (And both depend on the details of the computing model, so really they are a family of functions or a family of numbers, but that is not what matters.)

If you look up Chaitin's constant you will find it is defined in terms of probabilities, specifically, the probability that something called a "prefix-free universal Turing machine" will halt on a random program, but all of this is just pedantry.  A "prefix-free Turing machine" is just a way of defining a computational model that allows you to formalize the notion of a "random program of length n", and the probability that such a program will halt is just C(n)/2^n.  Then there's some additional fancy-looking math to pack all of these rational numbers into a single real number in such a way that you can extract the C(n)'s with some more fancy math.

But all of the fancy math obscures the fact that at the end of the day, Chaitin's constant is just a numerical representation of the sequence of C(n)'s concatenated together.  In fact, if you think in binary, it is literally this.  In binary, when you divide an integer by 2^n, all you are doing is shifting that integer to the right by n digits.  Because every C(n) is at most n binary digits long, then shifting each one by n bits twice makes them all line up in a way that they don't overlap.  Then you can just fram them all together, put a decimal point on the left, and bam, you have a number which, if you knew its value, you could reconstruct the sequence of C(n)'s and hence solve the halting problem.

So all of these uncomputable things -- the busy beaver numbers, the C(n) sequence, and Chaitin's constant, are all just ways of "repackaging" the uncomputability of the halting problem.

5.  Kolmogorov complexity

Are there uncomputable numbers that can be defined without reference to the halting problem?  Yes.   Consider a computer program that produces some output, and ask: what is the length of the shortest program that produces the same output?  This question was first asked by Andrey Kolmogorov, and so the shortest program that produces a given output is called the "Kolmogorov complexity" of that output, which I will abbreviate KC.  So KC(n) is a function whose value is the length of the shortest computer program that will produce n as its output.

The proof that KC is uncomputable is also due to Gregory Chaitin, and it looks a lot like the proof that the halting problem is uncomputable.  We're going to assume that KC is computable and show how this leads to a contradiction.

So let us choose a program P that produces an output n, and assume that we can compute KC(n).  Obviously we know how long P is, an so we can tell whether or not its length is equal to KC(n).  If it is, i.e. if P is (one of) the shortest program(s) whose output is n, we will call P an elegant program.  (This is Chaitin's term.  A more neutral term would be "minimal" but I'm going to defer to the master.)

So if we can compute KC, then we can write an elegance tester, i.e. a program E which takes as input a program P and returns TRUE if that program is elegant, i.e. if its length is the same as the KC of its output.  It turns out that E is impossible in the same way that H turns out to be impossible.  To see this, we construct a new program B which works as follows: B is going to take as input some integer I, and start enumerating all programs longer than I and passing those programs to E to see if any of them are elegant.  When it finds an elegant program, it is going to run that program.

Note that B has to produce some output.  Why?  Because there are an infinite number of elegant programs, at least one for each possible output n.  And so sooner or later, B has to find one and produce the same output that it does.

Now let's run B with I set to the length of B plus one.  (Strictly speaking we have to set it a little longer than that, to the sum of the length of B plus the log base 2 of I, but that's a detail you can safely ignore.)  This means that sooner or later, B will find a program P that E says is elegant, and it will run P, and hence produce the same output n as P.  But because B only tests programs longer than B, P must be longer than B, and so P cannot be elegant because B, which is necessarily shorter, produced the same output.  (Again, strictly speaking, it's the length of B plus I that matters, but again, this is a detail.)

So again we have a contradiction, and so KC cannot be computable.

Note that this uncomputability stems from a fundamentally different source than Chatin's constant, which is really just a corollary to the halting problem.  KC has to do with optimization rather than halting, and it has some really profound practical implications.  For example, you can think of mathematical models of physics as computer programs.  The uncomputability of KC implies that we can never know if we have the optimal theory of physics.  Even if some day we manage to unify general relativity and quantum mechanics and create a theory that accounts for all observations, we cannot possibly know if we have found the simplest such theory.  That is fundamentally unknowable.


Saturday, January 28, 2023

Lisping at JPL Revisited

It has been over 20 years since I wrote "Lisping at JPL", half memoir and half geeky screed (and all of it half-baked) about how an obscure programming language came to define my career.  It was a borderline throwaway piece written as much to vent my spleen as to inform.  In the intervening two decades it has gotten a lot more attention than I ever expected, becoming a perennial favorite on Hacker News, launching my (very short) career as a podcast guest, and even inspiring some people to plagiarize it, which make me feel simultaneously flattered and annoyed.

User marai2 over on HN made this suggestion the last time L@J was posted on HN:

Since this essay cycles here on HN perennially and inevitably people are curious about how your views about lisp, or other languages have changed, you might want to have a follow up page that you forever keep on updating as your views change?

So, by request...

My views on Lisp have not changed: Common Lisp is still far and away my favorite programming language, but that is mainly because I don't really program in Common Lisp any more. I program in a little custom language that I have incrementally built on top of Common Lisp over the years. This language consists mainly of a single macro called BINDING-BLOCK which is a stand-alone replacement for almost all of the other binding constructs in Common Lisp and makes my code look very different from most CL code. In particular, my code has a lot fewer parentheses, and it doesn't run off the right side of the screen as much.  (Here is an example.)  A CL programmer looking at my code would probably go, "WAT?" And when I look at regular CL code nowadays I go "blech!" Especially if that code uses LOOP. Then I go double-blech, despite the ironic fact that LOOP and BINDING-BLOCK have a lot in common.

All this is a reflection of the so-called Lisp curse, the fundamental problem with Lisp -- its great strength is simultaneously its great weakness.  It is super-simple to customize Lisp to suit your personal tastes, and so everyone does, and so you end up with a fragmented ecosystem of little sub-languages, not all of which (to put it mildly) are particularly well designed.

But *I* am 10x more productive in CL than in any other language. And not just CL, but one particular CL environment, Clozure Common Lisp, which I have been using since it was Coral Common Lisp running on a Macintosh Plus with one 800k floppy disk and one megabyte of RAM. CCL is probably the most under-appreciated engineering marvel ever produced by any species other than termites. I have been using it for 38 years. (Unfortunately, that era is likely drawing to a close.  Clozure Associates is no longer a going concern, and the volunteer effort to port CCL to the M1 appears to have stalled. This makes me very sad. It is truly the end of an era, and a very long one by technological standards.)

People often ask me what I think about other languages, and Clojure in particular. My answer is that I have never used Clojure, but from what I have read it looks pretty neat. But I think no other language can ever possibly be better than Common Lisp for me because I have customized the hell out of my environment until it is exactly the way I want it. It is quite literally the perfect language for me because I have made it that way -- because I was able to make it that way. Any time I find something about it I don't like, I can change it quickly and easily. Nothing that someone else designs can ever compete with that. Even I can't compete with that. Every now and then I toy with the idea of building my own Lisp from scratch, and I once took a semi-serious whack at it as an exercise to try to learn C++, but I gave up when it became clear that the effort required to make it competitive with CCL plus 38 years of incremental tweaking was vastly more than I was willing to invest.

There is one feature of Common Lisp that I absolutely love which no other language offers AFAIK, and that is a generic-function model of objects.   IMHO, the goal of a programming language ought to be to make writing code as easy and free of cognitive load as possible.  If I want to do an operation, I want to be able to say (op arg1 arg2 ... argn) without having to think about whether OP is a plain function or a method or an operator.  In every other language I have to think about whether to write op(arg1, arg2 ... argn) or arg1.op(arg2, ... argn) or "arg1 op arg2" or, in Objective C, [arg1 op:arg2 someRandomThing:arg3 ... someOtherRandomThing:argn].  In Lisp I never have think about that.  I just write (op arg1 .. argn) and it does the right thing.

So the bottom line is: I still love Common Lisp.  YMMV.

My second favorite language at this point is Python.  It has a lot of nifty features, and a clean design that is mostly free of gotchas.   Ironically, I don't like Python's most iconic feature, the syntactically significant white space.  Python claims to not use braces, but this is half a lie.  It does use an open brace, it just uses the colon character to serve that purpose.  So in my code I use the "pass" statement as a de-facto close-brace, so when I use emacs python-mode, my code always auto-indents correctly.

But the best programming language is like the best wine.  Different people like different things, and that's OK.  Drink whatever is the best fit for your palate, and code in whatever is the best fit for your brain.

Wednesday, January 25, 2023

An intuitive counterexample to the Axiom of Choice: followup

 What was intended to be a short throwaway blog post about someone else's nifty idea regarding the Axiom of Choice (AoC) ended up getting a lot more attention and being much more widely misunderstood than I ever expected, so I decided to follow up with a more detailed explanation.

Note that I deliberately chose the word "detailed" and not "rigorous".  Although I am going to try to be a little more rigorous as well, this is emphatically not a "proof" of anything, and particularly not a proof that the AoC is "wrong".  Such a proof is not possible.  The AoC is, as its name implies, an axiom.  It is a free choice to do mathematics with it or without it, and either choice leads to some weird results.  This is simply an informal argument that the AoC is not self-evidently true.  It is analogous to someone before Gauss saying about Euclid's fifth postulate, "Suppose we tried to do geometry on the surface of a sphere..."

The AoC sounds innocuous enough when you first hear it: given a collection of non-empty sets, it is possible to construct a new set whose members consist of one member chosen from each of the given sets.  How could this not be true?  Note that this question is analogous to: Euclid's fifth postulate says that given a line an a point not on that line, you can construct a unique line parallel to the given line.  How could this not be true?  And the answer is: it can be non-true if you are doing geometry on a curved surface.

The answer in the case of the AoC is something like: it can be not-true if the sets you are dealing with are really weird.  My post was an attempt to give a specific example of that kind of weirdness.  I ended up tripping over playing too fast-and-loose with the notion of "describable".  So here I am going to take another whack at it, trying to be a little less sloppy.  Note that less-sloppy does not mean rigorous.  Like I said, this is not an attempt to prove anything, notwithstanding that parts of what I am about to say might sound a bit like a proof.

So with that in mind, let us start with a few elementary observations.

1.  There are at most a countably infinite number of finite-length unicode strings.

2.  Some unicode strings are unambiguous descriptions of numbers under certain uncontroversial background assumptions.  Examples include "123", "pi", "e", "the successor of zero", and "the golden ratio".  Other unicode strings are unambiguously not unambiguous descriptions of numbers.  Examples include "hamburger", "irvnwoihdphweg" and "😱".  And still other unicode strings may or may not be unambiguous descriptions of numbers.  An example of this is "the smallest counter-example to the Goldbach conjecture."  That might be an unambiguous description of a number, or it might not, depending on whether the Goldbach conjecture is true.

A lot of the discussion generated by my original post turned on this last point, that it is very hard, arguably impossible, to pin down what an "unambiguous description of a number" actually means.  The meaning of "unambiguous description of a number" is ambiguous.  But this will turn out not to matter.

Here are a few more observations that will turn out not to matter.  I include them just to short-circuit some of the discussion.

3.  All computable numbers have unambiguous descriptions, to wit, the algorithms that compute them.

Note that unambiguous descriptions need not be unique.  "One", "1" and "the successor of zero" are all unambiguous descriptions of the same number.  Two different algorithms that compute the same (computable) number are each an unambiguous description of that number.

It is tempting to conclude that the number of unambiguously describable numbers must be strictly less than the number of computable numbers, except that...

4.  Some uncomputable numbers have unambiguous descriptions.  Chaitin's constant is the canonical example.  It is not known (and probably unknowable) how many uncomputable numbers have unambiguous descriptions.

So now we get to the thorniest bit.  Some commenters claimed that:

5.  It is not possible to give an unambiguous description of what an "unambiguous description of a number" means, because any such putative description is subject to Cantor's famous diagonalization argument.  In this case the argument goes like this: suppose we had an unambiguous description of what an unambiguous description means.  Then we could make an (infinite) list of all the numbers with unambiguous descriptions, and then construct a new number with an unambiguous description that is not on that list.

This is true, but I claim it is irrelevant for two reasons.  First and foremost, I don't need an unambiguous description of unambiguous descriptions for my argument to hold.  All I need is to show that there exist numbers that do not have any unambiguous description, and for that all I need to show is that the number of numbers with unambiguous descriptions is (at most) countable, and all I need for that is to stipulate that an unambiguous description must be renderable as a finite-length unicode string.  The number of finite-length unicode strings is countable, and so the number of unambiguous descriptions must be countable, and so the number of numbers with unambiguous descriptions must be countable.  But since the reals are uncountable, there must remain an uncountable number of reals with no unambiguous description, at least not one that is renderable as a finite-length unicode string.

So I don't need an unambiguous description of unambiguous descriptions.  All I need is an oracle for it, and any oracle will do.

That is sufficient reason that diagonalization doesn't matter, but since this is an informal argument I'm going to point out something else: Cantor originally advanced diagonalization to prove that the reals are uncountable.  Far from invalidating my argument, I am actually relying on that result!  The whole point is that it doesn't matter what an unambiguous definition actually is, or that we can't necessarily tell whether a given unicode string is one or not (c.f. "the smallest counter-example to Goldbach's conjecture").  We have some strings that are (by social convention) unambiguously unambiguous descriptions (which I am now going to start abbreviating UDs), and others that are unambiguously not UDs, and still others that might be or might not.  None of this matters.  Take any description of what it means to be a UD and I will happily stipulate that the Nth diagonalization of the list of numbers generated by that specification is also a number with a UD, and so the original specification must have been incomplete or even inconsistent.  You can only diagonalize a countable number of times, which is the whole point of the diagonalization argument.  If you think that diagonalization invalidates my position, then you either don't understand diagonalization, or you don't understand the argument I am advancing.

None of the above matters, because the conclusion I am trying to defend has nothing to do with the details of what it means to be UD.  My claim, which I would have thought would be obvious and wholly uncontroversial, is that there must exist an uncountable number of numbers that unambiguously do NOT have unambiguous descriptions under ANY reasonable definition of an unambiguous description.  And the argument for that is simply that the reals are uncountable, but any reasonable definition of unambiguous description will yield only a countable number of them, and hence only a countable number of numbers they can possibly describe.

I could even go meta and point out that a reasonable condition on reasonable definitions of unambiguous descriptions (or anything else for that matter) is that they be renderable as a finite string of unicode characters, and so there can be at most a countable number of "reasonable" definitions of UD.  No matter how you slice it, you are still left with an uncountable number of numbers that unambiguously lack any unambiguous description.

Henceforth I will adopt the abbreviation NULUD for Number Unambiguously Lacking an Unambiguous Description.  So there are an uncountable number of NULUDs.  The NULUDs are a proper subset of the set of uncomputable numbers.

OK, but so what?  So there are an uncountable number of NULUDs.  How does that cast doubt on the validity of the axiom of choice?

Well, imagine that I gave you two NULUDs and asked you if they were equal.  Think about that for a moment.  For starters, what would it even mean for me to "give" you two such numbers?  I can never actually exhibit a NULUD, or even describe one.  I can't write one down.  I can't given you an algorithm to compute one.  There is no way for me to communicate any NULUD to you by finite means.  For me to even contemplate "giving" you two NULUDs I have to do something like postulate some sort of oracle for them which offers finite clues about their identities, something like spitting out successive digits of their decimal expansions.  But then what?  You could start comparing the outputs of the oracles, and if the numbers are not equal you will eventually find out.  But if they are equal you will never know!  Comparing NULUDs for equality is analogous to trying to solve the halting problem by running the program and waiting to see if it halts.  So not only do you need to postulate oracles for the numbers themselves, you have to postulate an oracle for their equality!  That's an awful lot of postulating.

In fact, an oracle for equality of two NULUDs is a mighty powerful oracle.  Such an oracle is even more powerful than an oracle for the halting problem, which only has to deal with computable numbers (of which there are only countably many).

What does any of this have to do with the AoC?  Well, if you are going to "choose" a number from a set you need to be able to determine whether the number you chose is a member of the set, i.e. whether or not it is equal to a member of the set.  To do that for a set of NULUDs you need an oracle for equality of NULUDs, which means you need an oracle that is more powerful than an oracle for the halting problem.

So you see, asking someone to accept the AoC for all sets is asking an awful lot.  The AoC hides a lot of power.

But let us grant ourselves all of this extraordinary oracular power.  I claim that you will still not be able to describe a procedure by which you can choose a member of an arbitrary set of NULUDs.  Again, think about it.  You can't just treat the set like a bag where you can just reach in and grab some of its contents.  The contents of a set of NULUDs is a bunch of things that can't be described, and so the set itself cannot be described.  The best you can do, given what we have allowed ourselves, is to somehow pick an arbitrary NULUD and invoke the equality oracle on every member of the set to see if you got lucky.  That process is not guaranteed to converge.

Now, a mathematician (as opposed to a computer scientist like me) would read the above talk of oracles and procedures and say that this is all rubbish, that all I need to do to "give" you two NULUDs is to say, "Let x and y be two (un)equal NULUDs."  And what we need for the AoC  is not a procedure but a function, specifically a choice function.  And here, they will say, there is no problem because there are many functions that can be defined perfectly well on NULUDs.  f(x) = x+1 for example.

I don't deny this.  But defining a function on NULUDs is not the same thing as defining a choice function.  A choice function is not a function on NULUDs, it is a function on arbitrary sets of NULUDs whose value is a NULUD that is guaranteed to be a member of the set.  That is a very tall order.  I challenge anyone to come up with a description of such a function, even an informal one, that does not invoke the AoC.  (That would, of course, be cheating.)  And if no one can come up with a description of such a function, a reasonable person could hypothesize that this is because such a function does not exist.  Indeed, the AoC exists because the only way we can produce such a function in some circumstances is by postulating it.  If we could describe a choice function for all circumstances, we would not need the AoC.  Of course, I cannot prove that NULUDs are such a circumstance, but it seems plausible to me.  I can't even begin to imagine how you would do it.  (But maybe some mathematician out there can enlighten me.)

Of course, none of this disproves the AoC.  Like I said at the beginning, the AoC is not false (at least not under standard set theory).  My point here is just to describe a set of circumstances under which it is not self-evidently true.

Monday, January 23, 2023

An intutive counterexample to the axiom of choice

Time for some hard-core geeking-out.

This comment on HN by /u/jiggawatts struck me as a brilliant idea: it's an intuitive counter-example to the axiom of choice, which seem intuitively obvious, but leads to weird results like the Banach-Tarski paradox.

For those of you who are not hard-core geeks, the axiom of choice says (more or less) that if you are given a collection of non-empty sets, you can choose a member from each of those sets.  That seems eminently plausible.  How could it possibly not be true?

Here's how: consider the set of numbers that cannot be described using any finite collection of symbols.  Such numbers must exist because there are only a countably infinite number of numbers that can be described using a finite collection of symbols, but there are an uncountably infinite number of real numbers.  So not only are there numbers that cannot be described using a finite number of symbols, there are vastly more of these than numbers that can be so described.

And yet... how would you describe such a number?  By definition it is not possible!  And so it is not at all clear (at least not to me) what it would even mean to "choose" a number from this set.

This is, of course, not a proof that the axiom of choice is wrong.  It's an axiom.  It can't be wrong.  But it is a good example for casting doubt in its intuitive plausibility, and that feels like progress to me.

Thursday, January 12, 2023

I am offended by Muslims being offended

An adjunct professor at Hamline University  was fired for showing an historically significant painting of the prophet Mohamed, peace be upon him.  (Note: I did not add PBUH to be facetious.  PBUH is an honorific, like Ph.D.  I added it to show respect to Muslims who believe that Mohamed was in fact a prophet, notwithstanding that I believe they are wrong.)

This is the painting in question:


From the NYT article:

The painting shown in Dr. López Prater’s class is in one of the earliest Islamic illustrated histories of the world, “A Compendium of Chronicles,” written during the 14th century by Rashid-al-Din (1247-1318).

Shown regularly in art history classes, the painting shows a winged and crowned Angel Gabriel pointing at the Prophet Muhammad and delivering to him the first Quranic revelation.

Much ink has already been spilled debating the merits of Hamline's actions and I don't have much to add, but there is one thing that I haven't seen anyone point out yet: this is not a painting of Mohamed.  This painting was made centuries after Mohamed died.  The artist had no idea what Mohamed actually looked like.  No human who was not alive in Mohamed's time knows what he looked like because there is no record of what he actually looked like.  The image above is either a likeness of a contemporary (to the artist) model, or a product of the artist's imagination.  This is an image that the artist imagined to be a likeness of Mohamed, but actually isn't.

So Muslims who are offended by exhibiting this painting are not offended by the exhibition of a likeness of Mohamed, because there are no likenesses of Mohamed.  Muslims being offended by this image are being offended not by the image, but by the (false) claim that this image is a likeness of Mohamed.  They are offended not by the image but by the imagination of a long-dead artist, one who, ironically but not insignificantly, was himself a Muslim.

If you think that is a reasonable thing to pander to, well, then I am offended by you.  Again, I am not saying that to be facetious.  I am sincerely offended by your belief that I have an obligation not to offend you.  And now we have a problem: should my offense be sufficient cause to make you lose your job because you want me to lose my job for having offended you?  Because if your answer is yes, then we are headed for 100% unemployment.  No one will be able to work anywhere if a necessary condition for keeping your job is to not say or do anything that offends anyone.

On the other hand, if you think your offense is somehow privileged, that you should get to keep your job despite having offended me while I have to lose mine for having offended you, now we have a different problem: you now have to provide some justification for what makes your offense so much more worthy of accommodation than mine.  And you cannot ground your justification in religion because a belief in freedom of expression is part and parcel of my most deeply held beliefs.  The only way you will be able to justify your privileged position is to argue that your deeply held beliefs should trump mine for some reason.

(Aside: freedom of expression definitely does not mean that a private entity cannot exercise editorial control over what appears in venues it controls.)

There are only three alternatives here: either Muslims are elevated to a privileged position where their offense trumps everyone else's, or they have to be told by society to suck it up, or we enter a death spiral of social paralysis where no one can do or say anything out of fear of offending someone.

Figuring out which alternative I would advocate is left as an exercise for the reader.

Tuesday, November 22, 2022

Ten things I grew up believing about the United States that turn out not to be true

A few days ago the Biden administration granted Saudi Arabian Crown Prince Mohammed bin Salman sovereign immunity over the brutal execution of journalist Jamal Khashoggi in 2018.  If this had happened under the Trump administration I would have immediately listed it as yet another reason that Trump was unfit for office.  So why should I not apply the same standard to Biden?  The administration tried to justify this by saying that "the doctrine of head of state immunity is well established in customary international law" but this is clearly bullshit.  The United States holds heads of state accountable for crimes all the time.  The fact that Saddam Hussein killed his own citizens was cited by the Bush administration as one of the justifications for initiating war against Iraq, so the idea that the United States gives a rat's ass about "the doctrine of head of state immunity" doesn't pass the laugh test.

It turns out this is far from an isolated incident.  The mythology of the United States that I was raised on turns out to be shot through with lies.  Here are ten examples.

1.  The United States was founded on the self-evident truth that all men are created equal, and are endowed by their creator with certain inalienable rights

Do I even need to explain this one?  Google the phrase "three fifths" some time.

But even beyond the obvious hypocrisy of founding a nation with legal chattel slavery on the premise that it is a self-evident truth that "all men are created equal" (at least they were straight-up about leaving out women) the United States has never accepted that "life, liberty, and the pursuit of happiness" are unalienable rights.  We alienate people from those rights all the time.  We imprison people, sometimes for years without charges.  We have a death penalty.  We allow people a nearly unfettered right to own firearms, despite the fact that those same firearms will be used to alienate innocent people from their supposedly unalienable right to life.

It is an inspiring phrase, but it has never been a reflection of reality, not at the founding, and not now.

2.  One of the bedrock principles of the United States is that there should be no taxation without representation

The residents of Washington DC, Puerto Rico, Guam, and American Samoa (and a few other places) have to pay taxes despite the fact that they have no representation in Congress.  The United States was born in a revolution against a colonial oppressor, but it is itself a colonial oppressor, and has been pretty much throughout its history.

3.  The Civil War ended in 1865

It is true that the armed conflict ended then, but the underlying political divisions did not just magically disappear.  The northern states effectively conquered the southern ones, and then proceeded to make an absolute hash of the reconstruction process.  Andrew Johnson, who succeeded Lincoln after his assassination, was essentially a Southern sympathizer who inherited a military victory from his predecessor but failed to leverage that victory into actual legal protections for newly freed slaves.  The result was 100 more years of black servitude under Jim Crow laws.

4.  The fight for civil rights was won with the passage of the Civil Rights Act and the Voting Rights Act

These two landmark pieces of legislation were passed about the time I was born, and so when I was coming of age I was taught that civil rights were a fait accompli.  Demographic trends made it inevitable that social progress would continue unabated into the indefinite future.

It is true that things are still vastly better now than they used to be, but the intellectual heirs of the people who perpetuated Jim Crow for 100 years are still very much with us, and they have been gaining power and influence for the last 30 years or so, culminating in the 2016 election of Donald Trump and the subsequent shift in the Supreme Court to a (so-called) conservative majority.

5.  We are the Good Guys

I came of age in the heady days of the shadow of our victory in World War II.  The United States was the only nation on earth that emerged from that conflict with it industrial base intact, and we pretty much literally ruled the world for several decades.  To go along with our unequaled military, economic, and political clout we cultivated a myth of heroism and self-sacrifice: we saved the world from the Nazis.  We made the world safe for democracy.  And there was some truth to that.

But the conduct of the United States has not been one of unalloyed heroism and philanthropy, neither during the war nor since.  There were plenty of Nazi sympathizers in the U.S. before the Japanese attack on Pearl Harbor made it unfashionable, and despite the Holocaust having cemented Adolf Hitler's place in the popular imagination as the very archetype of villainy, there are, sad to say, still plenty of neo-Nazis in the U.S. today.

To say nothing of the fact that we have behaved like absolute assholes in the Middle East with disastrous consequences both for ourselves and the people who live there.  We deposed the democratically elected government of Iran and (re-)installed the Shah (for the oil, of course).  We instigated wars of aggression against Iraq and Afghanistan.  All of these things have ended in disaster, so they are not even defensible on practical grounds, let alone moral grounds.

And that is jut the modern United States.  If you go back in history things are even worse, starting with our treatment of indigenous peoples, including Hawaiians (which are on my radar at the moment because Hawaii is where I happen to be).

6.  America is the Land of Opportunity

Like the previous myth there is a grain of truth to this.  America is certainly the land of opportunity for some people.  It was for me.  But opportunity is not exactly uniformly distributed here, nor is the playing field anything close to level.  The best predictor of your socioeconomic status here is your parents' socioeconomic status, and the second best is the color of your skin.  Social mobility has declined dramatically since World War II.  And before that, of course, it was confined mainly to people with white skin and Y chromosomes.

7.  The U.S. is a democracy

Democracy is a continuum, not a dichotomy, but the general idea is that decisions are made based more or less on what a majority of the citizens want.  The U.S. is not like that, and never has been.  The U.S. Constitution intentionally gives disproportionate power to citizens of states with lower populations.  American is anti-majoritarian by design.  And this is woven so deeply into the fabric of our system of government that you can't even change it by amending the Constitution.  Article V explicitly prohibits amendments that deprive a state of its equal representation in the Senate.  (OK, it allows this to happen if a state consents.  But come on...)

8.  Democracy (or whatever this is) ultimately produces good results

The theory behind the structure of the U.S. government is that its system of checks and balances will prevent crazy people from taking over.  It was easy to believe in this myth, at least until 1980, when an actor was elected president.  Still, Ronald Reagan was not too crazy, and things soon reverted to the mean.

And then came George Bush the second, who was installed in the White House by the Supreme Court, and proceeded to lead us into two of the most disastrously misguided wars in our nation's history.  But even Bush was not really crazy, just stupid.  (It is arguable that the country was actually being run by Dick Cheney, and that Cheney was crazy, but that is neither here nor there, because...)

Then, of course, came Donald Trump.

Now, anyone who has read my blog knows that I think Donald Trump is crazy, but that is not the point.  It doesn't matter whether or not I am right about Trump being crazy.  What matters is that a lot of people agree with me that he's crazy.  We may be right, or we may be wrong, but that is neither here nor there.  What matters is that we have so far been unsuccessful in removing him as a major influence in American politics.   Even if Trump himself eventually fades away, the movement he launched will outlast him.  Xenophobia, misogyny, and open contempt for expertise and even facts are now thoroughly established.  They will be nurtured and catered to by Republican politicians long after Trump is gone.  And this will happen despite the fact that a majority of Americans vehemently oppose it.  (To say nothing of the fact that substituting ideology for expertise and facts rarely ends well.)

9.  The United States is the Land of the Free

Again, there is a grain of truth here.  There is quite a bit more freedom in the U.S. than in other countries.  You can, for example, cross state boundaries without showing identification.  You can change your residence without having to get approval from the government.

But there are a lot of things you cannot do.  You cannot start your own bank.  If you try, the government will come down on you like a bag of hammers before you even open your doors.  Depending on where you live it might not even be legal to open a lemonade stand.

And the government is not the only entity that constrains your freedom. Most American's freedoms are curtailed much more severely by economics than the law.  Corporations and wealthy individuals have so much de facto power that they are essentially quasi-governmental entities unto themselves.  Want to run your own code on your iPhone?  Sorry, can't do it without paying Apple.  Want to buy glasses from a store that is not owned by a single corporate monopoly?  It's possible, but good luck figuring out how.  Want to work at a job where you are treated with respect, as if you were an actual human being rather than a replaceable cog in a machine?  Again, it's possible, but most people aren't so lucky.

American freedom has always been reserved for a select few.  America was certainly not the Land of the Free blacks before 1965 (and certainly not before 1865), nor women before 1920, nor gays before 2015.  It has never been the Land of the Free for native Americans.  It is still not the Land of the Free for undocumented immigrants.  And yes, I get that we have to protect our borders and reward people for following the rules, but deporting people who were brought here as children and have never known another home doesn't seem like the right answer either.

10.  The United States is in an inexorable decline

This is not something I grew up believing, but it is something that a lot of people around me seemed to believe at the time, and that a lot of people still seem to believe, except that the demographics of the people who believe it have changed.  In the 70's this was mostly believed by conservatives.  Today it is mostly believed by liberals.

I think the conservatives were wrong then, and I think the liberals are wrong now, and this is the motivation for writing this post.  I don't want to just gripe and complain about how horrible the U.S. is.  I want to point out that, although despite the fact that the United States has never lived up to its lofty ideals, those ideals have always been worth striving for, and they still are.  The United States are not a democracy, but they should be.  The United States are not the Land of the Free, nor the Land of Opportunity for All, nor always the Good Guys, but they should be.  I want them to be.  Living here has been very good to me because I'm white and male and I chose my parents well, but I want everyone to have the opportunities that I have had.

I also want to emphasize that, as bad as things may be, they are still vastly better now than they were for most of our history.  Far from being a story of inexorable decline, the story of the United States is one of more or less continuous improvement.  We are far from our professed ideals, but we are a hell of a lot closer than we have been in the past.

But you can't solve a problem without first admitting that you have one.  And we do still have one.

Monday, November 14, 2022

Send in the clowns

The papers are full of articles proclaiming that the mid-term election was a victory for democracy or some such similar nonsense.  It was nothing of the sort.  The Democrats hold the Senate by -- quite literally! -- the slimmest of possible margins, and as I write this the jury is still out on the House, with the Republicans favored to win a majority there.  I was going to wait until that had been decided before writing this post but it looks as if it's going to take a while so I decided to go ahead an just go with a prediction: the Republicans will take the House, Kevin McCarthy will become speaker (though that bit hardly matters), and the Republicans will impeach Joe Biden.  What will they impeach him for?  I have no idea, and neither to they, because there are no legitimate grounds for impeaching Biden.  But they will come up with something.  If there is one thing one can confidently say about Republicans nowadays is that they do not let a little thing like reality stand in the way of their ideology.  It is true that things are not as bad as they might have been, and the outcome of the election does present a small glimmer of hope.  But it was not a victory, any more than having an artillery shell land 20 yards away rather than directly on top of you is a victory.

I came of age in the 1970s and 80s.  My earliest memory of American politics is the 1972 election where Nixon stomped McGovern into the ground.  Watergate and Viet Nam were the topics of the day, and the cold war was still in full swing.  I was only dimly aware of these things or what they entailed, but there were two invariants in American politics during these formative years: first, the Democrats had a iron grip on Congress, and second, nothing really bad ever happened despite the threat of disaster that seemed to be constantly looming over the world.

I was vaguely aware of the fact that there were crazy people in America, but my parents were both well-educated and I grew up in their bubble.  Everyone I knew was comfortably well-off and reasonably sane and very, very liberal.  The Civil Rights Act had recently been passed (though I did not realize this at the time) and I grew up believing that racism and prejudice were things of the past.  Social progress was as inevitable as rain.  And at the end of the day, reason seemed to prevail.  Nixon resigned.  The clean-air and clean-water act were passed.  Relations were opened up with China.  The USSR fell.  This new thing called the micro-computer was looking kind of promising.  I had never heard of global warming.  The future looked very bright indeed.

In the early 90s I stumbled across Rush Limbaugh's radio show and I was stunned to learn that such a thing even existed in America.  The slogan of his show was "America held hostage" -- by liberals.  Liberals were the root of all evil.  Eceonomic problems?  Liberals.  Social unrest?  Liberals.  Crime?  Liberals.

For a while Limbaugh was an interesting (if somewhat disturbing) side-show.  I really believed that people like Limbaugh were going extinct.  But in 1994 I was roused from my political stupor by the news that the Republicans had swept the congressional elections and now controlled both houses of congress for the first time in my life.

I remember thinking: this is going to be bad.  And it was.  Newt Gingrich shut down the government and impeached Bill Clinton because he lied about getting a blow job in the oval office.  (To be sure, getting a blow job in the Oval Office was a pretty stupid thing to do, but Clinton was probably not the first.)  Fast-forward 28 years and here we are, in a situation where I can confidently predict the impeachment of an American president before anyone -- even the people who are going to impeach him -- has any idea what they are going to impeach him for.

Getting ourselves out of this mess is going to take a lot more than a razor-thin victory in a mid-term.

Saturday, November 12, 2022

Ron descends from the mountain

It has been over a year since I wrote a real post here.  The reason for my long absence is that I have been struggling with a number of existential crises.  Three of them, in fact.  The first is over climate change.  The second is over the political situation in the U.S.

The third is not so easy to distill into a slogan.  It has to do with the idea that the kind of outcome I want to see for the world is simply not possible because it actually violates the laws of physics.  It's pretty geeky as existential crises go, and one of these days I'll write about it (click here for spoilers), but for now climate change and politics are more than enough to fuel my despair so I'll focus on those for the time being.

The TL;DR is that a while back I came to the conclusion that the climate change situation was hopeless, that the distance between what would need to be done to avoid catastrophe and what could plausibly be done given the geopolitical situation here on earth was so vast that the odds of averting catastrophe were indistinguishable from zero.  But it was even worse than that.  I first became aware of climate change more than thirty years ago.  Back then it was a long-term concern, something that might start to produce some observable effects in my lifetime, but where the really bad stuff wouldn't happen for 100 years or so.  Twelve years ago I moved from LA to San Francisco thinking that would make a difference in my personal exposure to the worst effects of climate change.  I now think that was wildly overoptimistic.

Let me be clear about what I mean by "the bad stuff".  I'm not talking about the extinction of life from the surface of the planet, or even the extinction of homo sapiens.  That is not going to happen.  We're not talking about "saving the planet".  The planet, and even our species, has been through much bigger changes than what we are facing.

I'm talking about the end of technological civilization, the organization of humans into cooperating groups larger than tribes.  I'm talking about what happened beginning at the end of the last ice age when humans stopped being nomadic hunter-gatherers and started to engage in large-scale agriculture.  That led to the formation of city-states, then to empires and nation-states, and ultimately to the Enlightenment, the Industrial Revolution, and cat videos on your smart phone.

I've become a big fan of industrial civilization.  It has allowed me to live a life of relative leisure compared to most of my ancestors.  I have beheld great wonders.  I have even been privileged to participate in the production of a few of them.  I want those who come after me to have the same opportunities.

But the maintenance of our civilization is heavily dependent on a stable climate.  This is because it depends on infrastructure, and infrastructure is generally not mobile.  Factories and data centers are generally housed in buildings and connected by networks of roads that are attached firmly to the surface of the earth.  And the same goes for farms.  And so civilization depends on a certain amount of climate stability.  In particular, it depends on rain falling in somewhat predictable patterns.

Those patterns are changing.  And that change is happening with breathtaking speed.

This has become very evident to me living in California, which is one of the epicenters of climate-change-related drought.  But this phenomenon is not unique to California.  It is global.  The Mississippi river is at historic lows because there is drought not just in California, but across the U.S.

The reason that all of these places are getting drier is that the jet stream, which once brought winter rains, has been moving further and further north.  The reason for that is that the jet stream is caused by the temperature difference between the arctic, which once has a giant ice cap on it year-round keeping it nice and chilly.  But that ice cap has been melting.  That moves the jet stream, and the rains, to the north.

Some time in the next 10-20 years the arctic ice cap will almost certainly melt entirely producing a so-called blue-ocean event.  What happens after that is anybody's guess, but whatever it is it will almost certainly not be good.  The jet stream could stop altogether, along with rain in California.

California currently produces 13 of the agricultural output of the U.S.  Without rain, all of that will stop.  If it were only California that might be survivable, but it won't be.  Droughts do not respect political boundaries.  There is a real possibility of drought-induced global famine some time in the next 10-20 years.  Within 100 years it is all but certain to happen.

This in and of itself, as bad as it is, would not necessarily be calamitous if not for the second problem: humans are very resourceful creatures, but to be our most effective we have to cooperate.  To solve the climate-change problem we are going to have to cooperate on an unprecedented planet-wide scale.  And lately we have not proven to be very adept at this.  We can't even agree that climate change is in fact a problem that needs to be dealt with, let alone what we're actually going to do about it that has a chance of succeeding.  Our geo-political institutions just do not appear to be even remotely up to the task.

In the past year I have been holding my breath to see if the Democrats could address the short-term problem of crazy Republicans trying to overthrow the government of the United States.  As I write this the jury is still out, but I've decided that it doesn't matter.  Despair is a self-fulfilling prophecy, and so at times the right thing to do is to suspend disbelief and proceed as if you believe that there is an answer even if you have no idea what it might be.  You never know when you might be pleasantly surprised to learn that you got it wrong.  And make no mistake: literally nothing would make me happier than to find out that I'm wrong about this.

So I've decided to start blogging again in the hopes of discovering that I'm wrong, that there is in fact hope of saving civilization from itself.  Over the course of the next few weeks I'm gong to write up some detailed analysis of both climate change and U.S. politics in the hopes of starting a discussion that might lead to either uncovering existing ideas that I'm not currently aware of, or generating some new ones.  I have no idea where this is going to lead, or indeed, if it's going to lead anywhere.  Like I said, in my heart of hearts at the moment I think this effort is doomed.  But there is something inside me that won't let me rest peacefully unless I try nonetheless.

Saturday, April 23, 2022

Someone is impersonating me on Facebook

This ( is my profile on Facebook.

This ( is not my profile.  It is someone trying to impersonate me.   Apparently, at least six people I know have already fallen for this ruse.

I've submitted a DMCA takedown request on the grounds that this person is violating my copyright on my avatar image, but it is sheer luck that this came to my attention at all.  Someone who received a friend request from the imposter got suspicious and contacted me directly.  Otherwise, this person could have been impersonating me for a long, long time and I would never have known until they got some sensitive information out of one of my acquaintances and used it to hack into my bank account or something like that.

For the record: I never use my Facebook account, and this is one of the many, many reasons why.  If you are getting a message from me through Facebook it is almost certainly fraudulent.

[UPDATE] Clicking on the fraudulent link now results in a page that says "This content isn't available right now."  So I'm guessing this has been dealt with.  But I'm also guessing that trying to prevent this from happening again could turn into a very frustrating game of whack-a-mole.

Wednesday, September 01, 2021

Game over for Roe v. Wade -- and constitutional rights

You may not have heard, but the Supreme Court overturned Roe v. Wade yesterday.  They did it covertly, by failing to act on Texas's devilishly clever end-run around the Constitution.  And in failing to act, they have effectively terminated the rule of law in the United States and opened a Pandora's box of vigilanteism powered by civil lawsuits, against which the Constitution can offer no defense.

Make no mistake: the unenumerated right to privacy and the concomitant right to have an abortion are still nominally the law of the land.  But no one can exercise that right in Texas any more.  And it is much, much worse than that, because in letting this law stand, the Supreme Court has effectively overturned another bedrock principle of American jurisprudence, which is that in order to prevail in a civil lawsuit, a plaintiff has to show actual damages to themselves.

We can see the future where this will lead us because there is already one notable exception to this principle on the books: the Americans with Disabilities Act, which empowers anyone, disabled or not, to bring civil suits against establishments who violate the law.  The result is a sleazy industry of spurious lawsuits, and the proliferation of swimming pool lifts that hardly anyone ever uses.

But at least in the case of the ADA, there is an actual law underlying the suits which has passed constitutional muster.  In the case of the Texas law, citizens are now empowered to sue people for exercising their constitutional rights!  It should be a tautology that this is unconstitutional.  What can it possibly even mean to have a constitutional right if the government can, by using this tactic, nullify your ability to exercise it?

But the Supreme Court doesn't see it that way.  They let the Texas law stand without comment.  And that's it.  Game over.  Your constitutional rights now exist only on paper, not in the real world, at least not in Texas.  (I don't want to quibble over whether or not Texas actually qualifies as "the real world."  You know what I mean.)

There is now no limit to the extent that this new tactic can be used to strip people of their rights.  A state legislature could pass a law empowering people to sue their fellow citizens for speaking out against the government, or owning a gun, or remaining silent when questioned by the police, or trying to vote, or simply being uppity.  On what possible principled basis could such laws be overturned now?

This is the way democracy ends, not with a bang, but with silence in the dead of night.

Wednesday, June 02, 2021

Conservatives Can't Handle the Truth

When the truth is not on your side one thing you can do is to try to change it, and when that doesn't work, outlaw it:

Under the culture war rallying cry of combating “critical race theory” — an academic framework centered on the idea that racism is systemic, not just a collection of individual prejudices — [Republican] lawmakers have endorsed an extraordinary intervention in classrooms across Texas.

Their plans would impose restrictions on how teachers discuss current events, bar students from receiving course credit for civic engagement and, in the words of advocates, restore the role of “traditional history” to its rightful place of primacy by emphasizing the nation’s noble ideals, rather than its centuries-long record of failing to live up to them.

So much for freedom of speech.

Now, I am sure some pseudonymous troll will point out that liberals support restrictions on teaching creationism, but that is not true.  What we oppose is teaching creationism as science because it isn't.  I'm sure most liberals would be more than happy to have creationism taught as part of a class on comparative mythology or comparative religion.  I certainly would.

Conservatives can't handle the truth.  Conservatives fear the truth.  So they have to stamp out the truth because the truth is not on their side.

Unfortunately, it is far from clear that they won't succeed.

Wednesday, May 05, 2021

Republican Hypocrisy Watch: Cancel Culture is Bad -- Unless it's Republicans Doing the Cancelling

The brazen shamelessness of Republican hypocrisy is on full display as they move to remove Liz Cheney from her leadership position for daring to say that Donald Trump lost the election while at the same time whining about cancel culture.

I am really beginning to wonder if there is anyone left in the Republican party who realizes that you can only act like the old Soviet politburo for so long before you start to achieve the same results that they did.

Tuesday, March 23, 2021

Repeal the Second Amendment

It has become repetitive to the point of being tiresome: a crazy person buys an automatic weapon and kills a bunch of innocent bystanders.  TV "news" reporters gather like vultures on a carcass.  Prayers are said.  Hands are wrung.  Soap boxes are scaled and calls for gun control are recited, which collide head-on with the second amendment and DC v. Heller.  And then, a few days later, everyone forgets it ever happened until the next crazy person buys a gun and shoots some innocent people and the whole cycle starts all over again.  And again. And again and again and again and again and again.

There is a simple solution to the problem: repeal the second amendment.  By "simple" I do not mean "easy to implement."  It clearly is not that.  I simply mean that this solution is conceptually and procedurally simple.  You don't have to argue about how to interpret the Constitution, or what a "well regulated militia" is.  All you have to do is decide that the second amendment is doing more harm than good, and it's time for it to go.  We've done it before.  We can do it again.

The second amendment has clearly outlived its usefulness.  Like the three-fifths doctrine, it is a relic of an earlier time.  Two things in particular are very different in today's world than the one in which the second amendment was ratified.  First, the U.S. now has a standing army. And a navy.  And an air force.  And a space force.  And marines.  And a coast guard.  And a national guard.  And a department of homeland security.  And a DEA and an FBI and a CIA and an NSA.  Between those and a few other government agencies, those organizations have been doing a pretty good job at protecting the territorial integrity of the United States, at least since 1865.  Whatever you think a "well regulated militia" means, it is clearly no longer necessary for the security of a free state.

The second thing that has changed is that technology and the laws of physics no longer limit the amount of damage an individual can do the way they did in 1791.  Back then, smooth-bore muskets and canon were the state of the art in weaponry.  They were severely limited both in range and firing rate.  A highly skilled musket operator can get off 2-3 shots a minute at most.  An AK-47 does that in a third of a second.  In 1791 a deranged shooter could reasonably hope to get off no more than one or two shots before they were subdued by an angry mob.

And of course there is no principled reason to stop with an AK-47.  If the second amendment really does convey an unfettered individual right to keep and bear arms, and if that right is not limited to the technology of 1791, then on what possible basis could you draw a line that includes assault weapons but not bazookas or tanks or stinger missiles or even nukes?  The right to defend yourself won't get you out of this jam, for two reasons.  First, no one has ever used an AK-47 in self defense.  They are offensive weapons (there's a reason they are called "assault rifles" and not "defense rifles").  And second, the second amendment specifically calls out the reason for the right to bear arms, and it is not individual self-defense, it is the need to maintain a "well-regulated militia".  Whatever else that phrase might possibly mean, individual self defense plainly ain't it.  The founders knew about individual self-defense, and if that was the reason they enshrined the right to bear arms, they would have said so.

The only reason that second amendment endures is a concerted propaganda campaign by the National Rifle Association (funded mainly by the gun industry) and adolescent fantasies about good guys with guns vanquishing bad guys with guns.  We saw the end-game for that this past January 6.  Vigilante justice and violent revolution plays a lot better in spaghetti westerns and other conservative fantasy worlds than it does in today's reality.

So it is time for the second amendment to go.  Repeal it now.  Stop this insane cycle of slaughter.

P.S. Note that calling for the repeal of the second amendment is emphatically not a call for "taking everyone's guns", though many will surely see it that way.  Repealing the second amendment merely allows guns to be outlawed through the normal democratic self-governance process, it doesn't require them to be outlawed.  Whether or not they should actually be outlawed in any particular jurisdiction is a totally separate question from whether outlawing guns should be allowed at all, just as the question of whether marijuana or alcohol should be outlawed in any particular jurisdiction is separate from the question of whether it should be permissible to outlaw it at all.

Sunday, February 28, 2021

Ron's Commandments

For the last year and a half or so I have run a weekly Bible study which attracts a diverse group of believers and non-believers.  On a semi-regular basis someone will challenge me by asking, essentially, could I do better than God, which is to say, better than the Ten Commandments, in coming up with a pithy set of rules to guide our behaviors and the structuring of our society.  I decided to take up that challenge because, yes, I think I can do better.  In fact, I think pretty much anyone could do better because, frankly, the Ten Commandments are a pretty low bar.  The actual Ten Commandments are not what most people think they are and even the text that is commonly considered as the Ten Commandments is not that hard to improve upon by modern standards.

So here are Ron's Commandments, or at least a first draft.  They weigh in at 358 words versus 309 for the popular version and 466 for the actual version (i.e. the ones that the Bible refers to as The Ten Commandments).  I'll post all three versions here for easy reference.  You decide which set you would rather live by.

The popular Ten Commandments (Exo20 and Deu5):

I am the Lord your God, who brought you out of the land of Egypt, out of the house of slavery; you shall have no other gods before me.

You shall not make for yourself an idol, whether in the form of anything that is in heaven above, or that is on the earth beneath, or that is in the water under the earth. You shall not bow down to them or worship them; for I the Lord your God am a jealous God, punishing children for the iniquity of parents, to the third and the fourth generation of those who reject me, but showing steadfast love to the thousandth generation of those who love me and keep my commandments.

You shall not make wrongful use of the name of the Lord your God, for the Lord will not acquit anyone who misuses his name.

Remember the sabbath day, and keep it holy. Six days you shall labor and do all your work. But the seventh day is a sabbath to the Lord your God; you shall not do any work—you, your son or your daughter, your male or female slave, your livestock, or the alien resident in your towns. For in six days the Lord made heaven and earth, the sea, and all that is in them, but rested the seventh day; therefore the Lord blessed the sabbath day and consecrated it.

Honor your father and your mother, so that your days may be long in the land that the Lord your God is giving you.

You shall not murder.

You shall not commit adultery.

You shall not steal.

You shall not bear false witness against your neighbor.

You shall not covet your neighbor’s house; you shall not covet your neighbor’s wife, or male or female slave, or ox, or donkey, or anything that belongs to your neighbor.

The actual Ten Commandments (Exo34):

Behold, I make a covenant: before all thy people I will do marvels, such as have not been done in all the earth, nor in any nation: and all the people among which thou art shall see the work of the LORD: for it is a terrible thing that I will do with thee.

Observe thou that which I command thee this day: behold, I drive out before thee the Amorite, and the Canaanite, and the Hittite, and the Perizzite, and the Hivite, and the Jebusite.

Take heed to thyself, lest thou make a covenant with the inhabitants of the land whither thou goest, lest it be for a snare in the midst of thee:

But ye shall destroy their altars, break their images, and cut down their groves:

For thou shalt worship no other god: for the LORD, whose name is Jealous, is a jealous God:

Lest thou make a covenant with the inhabitants of the land, and they go a whoring after their gods, and do sacrifice unto their gods, and one call thee, and thou eat of his sacrifice;

And thou take of their daughters unto thy sons, and their daughters go a whoring after their gods, and make thy sons go a whoring after their gods.

Thou shalt make thee no molten gods.

The feast of unleavened bread shalt thou keep. Seven days thou shalt eat unleavened bread, as I commanded thee, in the time of the month Abib: for in the month Abib thou camest out from Egypt.

All that openeth the matrix is mine; and every firstling among thy cattle, whether ox or sheep, that is male.

But the firstling of an ass thou shalt redeem with a lamb: and if thou redeem him not, then shalt thou break his neck. All the firstborn of thy sons thou shalt redeem. And none shall appear before me empty.

Six days thou shalt work, but on the seventh day thou shalt rest: in earing time and in harvest thou shalt rest.

And thou shalt observe the feast of weeks, of the firstfruits of wheat harvest, and the feast of ingathering at the year's end.

Thrice in the year shall all your menchildren appear before the LORD God, the God of Israel.

For I will cast out the nations before thee, and enlarge thy borders: neither shall any man desire thy land, when thou shalt go up to appear before the LORD thy God thrice in the year.

Thou shalt not offer the blood of my sacrifice with leaven; neither shall the sacrifice of the feast of the passover be left unto the morning.

The first of the firstfruits of thy land thou shalt bring unto the house of the LORD thy God. Thou shalt not seethe a kid in his mother's milk.
And, just for the record, the next two verses:

And the LORD said unto Moses, Write thou these words: for after the tenor of these words I have made a covenant with thee and with Israel.

And he was there with the LORD forty days and forty nights; he did neither eat bread, nor drink water. And he wrote upon the tables the words of the covenant, the ten commandments.  [Emphasis added.]

Ron's Commandments:

Be kind to your fellow humans, and all other sentient creatures.  Don't cause them unnecessary pain.  Don't murder them.  Don't rape them.  Don't enslave them.  Do not bear false witness against them.  Strive to understand them even (especially!) when you disagree.  Avoid eating them.  If you must eat them, raise them and slaughter them humanely.  Under no circumstances eat your fellow humans (c.f. Jer19:9).

Organize your society around democratically elected governments charged with establishing regulated free markets and social safety nets.  People have a fundamental right to vote for the people who make the rules they are expected to live by, and to clean air, clean water, food, clothing, and shelter.  No one should be deprived of these basic human needs under any circumstances.  If you see homeless people around you, you are doing something wrong.  Fix it.  Private property is not a fundamental right, but a mechanism for promoting work, innovation, and acceptance of risk.  Wherever it fails to meet that purpose it should be abolished.

Don't get hung up about sexuality.  You are complex living beings.  Sexual urges are as fundamental to your nature as hunger.  Sex is not a sin.  But causing unnecessary pain to a fellow being is, so you should only have sex in the context of mutual informed consent of all parties involved, which means adult humans.  Children and animals cannot give consent.

I reveal my truths to you through your experiences, not through prophets.  So be skeptical.  Do not believe anything except on good evidence, not even these commandments.  Base your choices on the evidence whenever you can, but recognize that time advances inexorably and so sometimes you will have no choice but to act on incomplete information and take leaps of faith.

Recognize that the thing that sets you apart from the rest of creation is your capacity to create new ideas.  Cherish and nurture that.  Especially cherish those ideas that lead to better environments for creating new ideas, like books, peace, quiet, love, and mutual support and encouragement.

Dance.  Sing.  Mourn when you must, celebrate when you can.  Enjoy your life, and do everything you can to help others do likewise.

Wednesday, January 13, 2021

PSA: I'm debating Matt Slick tonight

FYI, I'm doing a YouTube debate this evening at 5:30 PST with Matt Slick on the topic of "Atheism, Christianity, and morality".  It will also be recorded so you don't have to watch it live.  Here is the link.

Sunday, January 10, 2021

The rats are finally begining to flee the SS Trump

From The Washington Post:

Whether President Trump is forced from office or serves out the remaining days of his term, he is now destined to slink out of the White House considerably diminished from the strapping, fearsome force he and his advisers imagined he would be in his post-presidency.

In the wake of the mob attack on the Capitol that Trump incited, some allies have abandoned him, many in the business community have shunned him and Twitter took away his social media megaphone. Many Republicans also hold him responsible for losing their Senate majority with last week’s twin defeats in Georgia, not to mention their House majority two years ago.

Emphasis added.  What is remarkable about this is that the Post is reporting that Trump is "destined to slink out of the White House" not in an opinion piece, but as news.  Front-page news.

This is a hopeful sign.  It means there is hope we could get out of this mess without any further bloodshed and loss of life.  That, of course, is up to the people who have supported an enabled Trump to this point.  The more of them repent now, the more likely the rest of them will lay down their arms.  I'll still give you long odds against, but not nearly as long as I would have before reading this story.

Arnold Schwarzenegger compares the Capitol attack to Kristallnacht

Arnold Schwarzenegger just released a video in which he compares the Jan 6 attack on the U.S. Capitol to Kristallnacht, and draws a straight line from the Proud Boys to the early Nazis by way of his own personal experience growing up in Austria in the long shadow of World War II.  The video gets a little corny and treacly towards the end, but the analogy is apt and the warning is one we would all do well to heed.  Worth watching at least the first half of the video.

The Capitol attack was not the beginning, and it won't be the end

A dry run of the attack on the U.S. capitol occurred the day before in northern California:

Here in California’s rural, conservative northern counties — where people have long wanted to split from California and form a new state called Jefferson — the kind of anger and distrust of the government that Trump has fomented is on full display.

And it is not likely to go away any time soon, because some residents believe there is great political utility in making government officials believe that potential violence could become all too real.

“We have to make politicians scared again,” Carlos Zapata, who attended the supervisors’ meeting, told The Times. “If politicians do not fear the people they govern, that relationship is broken.”

The last four years, and even Jan 6, have been a warmup.  The main event, the real damage that Donald Trump will do to our country, is yet to come.

Trump and the Reverse Cargo Cult

Speaking of prophetic observations, here is a particularly profound one made by Hans Howe back in 2017:

Trump administration lies constantly but doesn’t even attempt to make it seem like they aren’t lying.


Trump’s supporters don’t care about being lied to. You can point out the lies until you’re blue in the face, but it makes no difference to them. Why? Because it is just a game to them. The media lies, bloggers lie, politicians lie, it’s just all a bunch of lies. Facts don’t matter because those are lies also. Those trolls on Twitter, 4Chan, T_D, etc. are just having a good laugh. They are congratulating each other for being so smart. We are fools for still believing in anything.

Well worth reading the whole thing.