Saturday, September 22, 2012

Taking the piss

Dear Chris Hayes:

I realize that it is both commercially and intellectually in your show's interests to seat conservatives on the panel, to provide a foil or counterweight to the host's and other guests' main discursive habits. I realize, too, that it is difficult to find intellectually honest conservatives to fill that role.

But please, for the love of Eris, don't give Kevin Williamson that chair for two whole hours. It's unbecoming of civilized conversation to invite a fellow into all of our living rooms come-a Saturday morning, when that fellow's primary objective is to piss on my head and tell me it's raining.

Now, if you'll excuse me, I'm going to filch one of those delicious scones off your table.

Tuesday, September 18, 2012

On becoming the monster

So the 'verse is all a'twitter because Mitt Romney was caught on a hot mike saying this when he thought only friends were in the room:
There are 47 percent of the people who will vote for the president no matter what. All right, there are 47 percent who are with him, who are dependent upon government, who believe that they are victims, who believe the government has a responsibility to care for them, who believe that they are entitled to health care, to food, to housing, to you-name-it. That that's an entitlement. And the government should give it to them. And they will vote for this president no matter what…These are people who pay no income tax.
Now, for sure, part of this is rock-solid political truth: each of the two major parties has a core of base support that the other campaign isn't even shooting to win over. The exact numbers ebb and flow -- I haven't heard anything remotely close to 47% for the Democrats from a source I trust with numbers -- but the principle is sound.

What's outrageous here is the conflation of a few demographics here:
(1) the Democratic Party's base;
(2) the fraction of the adult U.S. population who paid no federal income tax last year; and
(3) the fraction who are "dependent" on the government for their livelihood (that is, those who benefit from social insurance and safety-net provisions, which the Right has successfully renamed "entitlements").

These three groups are very, very distinct, though certain sectors of the Right-Wing Sound and Fury Machine have been pushing the conflation for a while now. I think Brad Delong has a very important point here:
The most fascinating thing about Romney is that he has fallen for a fake statistic created by the Wall Street Journal editorial page as what they call "boob bait for the bubbas"--something that they hope low-information voters will hear, get outraged about, and vote Republican.
What's critical here isn't merely that the statistic Romney's using doesn't say what he thinks it says... that happens to everyone sometimes. It's that the Right-Wing narrative frame was supposed to be about snookering the median voter into voting for the guy who values what they value and the party which takes away everything they value and replaces it with cheap Chinese crap.[1]

Look, there's the Religious Right wing of the GOP, and the leaders of that wing are mostly true believers, if sometimes also hypocrites who enjoy the company of rentboys. And then there's the "foreign policy" wing, which means followers of Leo Strauss, the purveyors of the Noble Lie in the service of getting all the rest of us in line. The basis of this foreign (and domestic) policy is, of course, the enrichment of the American or not-inarguably-foreign business classes at the expense of the 99% at home and of any vestige of self-determination abroad.

But the biggest story in the American political scene, the story of the current generation of big-C-Conservatives, is that they have forgotten that the Noble Lie is a lie. They have forgotten that while the dude on the street is supposed to think of the federal budged like a household budget, the ones who actually get power are supposed to know better. They have forgotten that while we're supposed to think Russia is the enemy and the Wolverines are the heroes, the guys and gals in power are supposed to be ruthlessly out for US interests, and that means putting pressure on our "friends" (read: clients) and not just on nations we don't even have formal diplomatic relations with. They've forgotten that while the kids in schools are supposed to be creationists and Exxon is supposed to be able to do whatever they want wherever they want, the halls of power need to be also preparing for the day when the atmospheric CO2 is 450ppm, the Maldives no longer exist, and the ocean's salinity has dropped far enough to disrupt the flow of tuna to the heartland.

And they're supposed to know that the WSJ's class internecine warfare is just divide-and-conquer rhetoric -- and have people on hand to talk a Presidential candidate out of the carefully crafted bullshit. Or, you know, only nominate people skilled enough in parsing media narratives to have read that play straight from the huddle.

Instead, we have Mitt Romney, and a Congress whose largest single bloc, regardless of which party has the majority of each house, will almost certainly be straight-up-consumers of narratives designed solely to obfuscate reality and ensure the impotence of American self-governance.

[1] This is not entirely fair. The Democrats are, in the main, also fans of economic policies that result in cheap Chinese crap. However, the Democrats have put some real policies in place in the last four years resulting in Americans being employed in the making of both cheap crap and durable worthwhile investments.

Thursday, September 13, 2012

Subclassing immutable types in Python 3

I've been hacking around in Python 3 for a while now, writing (as I mentioned a while back) a package for implementing arbitrary finite first-order structures.

The natural way to build such a thing is to subclass sets in some way: the traditional way of describing a first-order structure is as a set with additional information attached. But Python has two native set types: set and frozenset, the former mutable and the later im-.

Ideally, we'd like to enforce that you can't add or subtract elements from a model -- mean, if you plan to iterate through a model M, it would be a poor choice to pop elements off one at a time and throw them away, so a good programmer should make that an action that a user can't do by accident. Hence, I'm going to subclass from frozenset instead of the mutable set class.

There's only one problem: initializing an immutable object, or a mutable object which inherits from an immutable class, requires doing things a little differently.

I won't go through the whole setup process for my Model class, since that would involve a lot of explaining, but I'll do a simplified example: a derived class from frozenset with an extra data attribute foo.

But first, where does the problem crop up anyway? Let's say that we didn't know about this whole business: how would we usually program a class inheritance?
class SetWithFoo(frozenset):
    def __init__(self,X,foo_in):
        frozenset.__init__(self,X)
        self.foo = foo_in
 But when you compile this code we might get something like
>>> S = SetWithFoo({1,2},"bar")
>>> S.foo
    'bar'
>>>1 in S
    False
What's gone wrong? Well, remember how frozensets are immutable? And remember how __init__(self,...) isn't a constructor, because the object self already exists? What that means here is that self gets summoned into existence from the void with certain elements -- and those are the only elements which will ever belong to it. By the time __init__ sees the object, it can't change its members.

The method which does the summoning is where we need to work. That method is called __new__(...), and it's the only method in your class which doesn't take self as an argument -- because self doesn't exist yet! Instead, the first argument to __new__ is the class of the object it's creating. You the programmer don't have to worry about this at all -- just put cls as the first argname, and Python will take care of the rest:
def __new__(cls,X,foo_in):
Now, at this point there are two schools of thought on what to do next. One of these schools says that if you're going to bother overriding __new__, you should code the whole initialization in there and just leave __init__ alone (don't even explicitly override it). I'm more in the other side, which thinks that only that which has to be done in __new__ (that is, what has to be done before freezing the basic data of your object, in this case the immutable members of the set) should be done there; everything else can be handled profitably in __init__. The one caveat is that the arglists (including default arguments) of the two methods must be the same (except for cls and self, of course), or else Python will throw a fit when you call SetWithFoo(args)
Long story short, either of the two following code blocks will do just fine.
def __new__(cls,X,foo_in):
    s = frozenset.__new__(cls,X)
    s.foo = foo_in
or
def __new__(cls,X,foo_in):
    return frozenset.__new__(cls,X)

def __init__(self,X,foo_in)
    self.foo = foo_in
but obviously not both ;)

No to insult our Prophet.no to insult Islam.no to terrorism

In the wake of the assault on the US Embassy in Libya and the murder of ambassador Christopher Stevens, some Libyans have taken to the streets to say "not in our name". I hope I speak for all Americans of good will when I express my gratitude to these people. The world is a messy place, and we don't fit into neat boxes, especially not the ones drawn in pretty colors on a map.

In the linked suite of photos, two of the protestors are holding printed signs with Arabic text above English:
The English reads "No to insult our Prophet.no to insult Islam.no to terrorism". I think (hope?) I know what this means: something along the lines of "We disapprove just as strongly of terrorism as we do of denigration of Islam and the Prophet." But can someone who knows Arabic give a translation of that part of the sign? Does it say, more or less, what the English part does?

Tuesday, September 11, 2012

Amenability of Thompson's Group F

Justin Moore at Cornell has just announced a proof that Thompson's group \(F\) is amenable. The paper is short; I read through it last night, admittedly not following all the details.

There are, as it happens, a lot of details.

Wednesday, September 5, 2012

Ecomomics go-to conversation resources

I posted this over at Atheism+, where I am intending to become an active member. Y'know, in all my free time. Maybe I'll post something soon about why I think that atheism+ is a great and positive thing that I hope grows and becomes a force to be reckoned with, but not today.

Anyway, here's a question I asked there, which might as well get cross-posted here:

No, I'm not looking for homework help ;)

I found myself in an unusual position yesterday while having a Facebook discussion with some politically conservative friends from high school; I tossed off what was meant to be a transitional comment that supply-side economics is completely empirically discredited, which was met with complete disagreement. Now, if this were a discussion of evolution/creationism, or of abortion, or many other topics that I find myself sparring with friends about, I have a go-to list of links to introduce people to the ideas, going from the friendly and accessible to the mathematically and statistically imposing.

But what I realized about economics (in which topic I am very much a layperson) is that the conversational/blog circles I move in treat supply-side economics as very much a settled deal, and if they pass on evidence (such as is done here) it's in the spirit of "let's add one mote to this mountain of empirical disproof of this theory". I don't know of a resource intended to gently (or not-so-gently) bring someone into that conversation.

Do y'all?
======
Update: A couple of good links to Jared Bernstein out of that discussion already: a qualitative intro to several of the theoretical problems with supply-side, with an internal link to empirical work by Saez and Piketty on the correlations, if any, between high-income taxation and economic activity/growth.

Sunday, September 2, 2012

Old man yells at chair

If Clint Eastwood's RNC speech turns out to have been viral marketing...

... I will be simultaneously awed and lose all hope for the human race.