Friday, December 6, 2013

A Left-for-the-reader in stability theory

Yes, yes, I know I haven't posted in forever. I've been busy proving shit.

Completely out of left field, my research has indicated relevance to stability theory, an area of model theory that I've never had the urge to learn. Well, now I feel the urge. So much for purity of intention.

Ralph and I had a little fun today thinking through a left-for-the-reader in a paper that I hope to raid for its methods. So much fun that I want to share it with you, O gentle reader.

Thursday, September 26, 2013

Today in Catholic education

I haven't been following the ongoing brouhaha at Providence College regarding the administration "uninviting" a speaker brought in by several academic departments, because teh gay is icky of Ex Corde Ecclesiae or something. Both the speaker, John Corvino, and the Faculty Senate at Providence have issued statements, however; I've read Corvino's, and plan to read the faculty's (which is much longer and more detailed).

As far as I can tell, the only place the faculty's letter has been published has been on a Facebook post; I'm reproducing it here for non Facebookers who may be searching for it. None of the following is due to me.

Letter from the President of the Faculty Senate

Dear Colleagues,

On Saturday Sept. 21st we all received a letter from Provost Lena informing us that a talk scheduled to be held on campus this week by Dr. John Corvino had been cancelled. Two main reasons were given for this decision: 1) that a publication by the United Stated Council of Catholic Bishops entitled Catholics in Political Life instructs Catholic institutions not to give platforms for those who act in defiance of fundamental Catholic moral principles, and 2) that the organizer of the event failed to comply with a College policy that “dictates that both sides of a controversial issue are to be presented fairly and equally when discussed in a forum such as this.”

Today, the College published the following statement clarifying their reasons for cancelling this event. Since some of you may have not seen this statement on our webpage, I include it here:

Providence, R.I. - Providence College’s respect for and commitment to academic freedom is articulated in its mission statement. Academic freedom means that our faculty may pursue the truth in accord with the canons of their disciplines and share their findings in research and teaching without interference. The nature of marriage is a matter about which our faculty has academic freedom.

The incident in question is thus not really about academic freedom, but rather goes to the meaning of being a Catholic college. Should a Catholic college invite an outside speaker to campus, pay that person an honorarium, and give that person an unchallenged platform from which to present arguments designed to undermine a central tenet of the Catholic faith? Our reading of Ex corde Ecclesiae is that to do so would be to undermine the very nature of a Catholic college. Our interpretation is in accord with that of the United States Bishops Conference, which has asked Catholic institutions not to provide honors or platforms for speakers who advocate for positions inconsistent with Church teaching.

It is important to note that Providence College had originally agreed to host this speaker in tandem with another well-known philosopher for a two-sided debate of the issue of gay marriage. We believe that this kind of free and fair discussion of both sides of a controversial issue would be beneficial to our community. The event was cancelled only when it became clear that this would not be the case. We would welcome a real debate about this issue on our campus and look forward to hosting an academic event that comports with our mission.

There are several aspects of these two statements that I believe should concern the faculty, and merit discussion among us.

1) Both of these documents claim that the College took this action in compliance with a document by the United States Conference of Catholic Bishops entitled Catholics in Political Life. After discussion with some members of our Theology Department, however, I am informed that this document is—as the name implies—specifically intended to direct Catholic behavior in political life. As I understand it, therefore, this document was never intended to direct Catholic behavior in academic life, and therefore it is inappropriate to invoke this document to legitimize cancelling an academic event. Dr. Corvino’s lecture was unequivocally an academic event: he is an associate professor of philosophy, he has published extensively on the topic of his presentation, his talk was to be co-sponsored by nine different academic programs and departments including the Feinstein Institute, he was to address an audience of faculty and students, and one of our own Theology professors had agreed to give a response to his presentation. This was an academic event through-and-through, so the document Catholics in Political Life seems to have no bearing on this event, and therefore it certainly should not have been used to silence an academic discussion.

2) That both documents invoke language in the publication Catholics in Political Life to cancel an academic presentation seems very dangerous to academic freedom, because the Administration seems to be declaring certain academic discussion to be ‘political’. Subjecting academic discussion to regulations reserved by the USCCB for politicians and political advocates seems not only wrong, but perhaps even insulting. We academics are bound by standards of intellectual honesty and the pursuit of truth and knowledge. We support our statements with evidence that we have scrutinized, we do our best to remove bias from our thinking, we invite the criticism of our peers, and we challenge each other when our logic and reasoning is weak. There is no need to subject our academic discussions to the restraints and limitations reserved for political advocates.

3) Provost Lena’s letter stated that the event was also being cancelled because the organizer (Dr. Christopher Arroyo of the Philosophy Department) had failed to comply with a College policy that “dictates that both sides of a controversial issue are to be presented fairly and equally when discussed in a forum such as this.” In response to my subsequent inquiries about this policy, Dr. Lena has replied that it is not actually published in any College document, but rather it is a long-standing ‘practice’ of the College, dating back several decades. He does note that College documents require that a "...conference or event must be consistent with the mission of the College." Since this practice of providing both sides of an issue is not published among the College’s official policies for hosting speakers, there are grounds to question the closing remarks in the Provost’s letter: “The organizer of the proposed event was aware of College policy, and discussed a balanced presentation on the issue with members of the College Administration as far back as January of this year. However, the organizer did not dialogue with the Administration as to his plans, the event was not developed along the lines dictated by policy, and the organizer did not secure approval from the Administration for his final event prior to sending the campus-wide email.” Since the practice of providing two speakers was not a published College policy, there are grounds for wondering how Dr. Arroyo was to know of this unwritten expectation, or how he was to know that any changes to the originally proposed format of the presentation had to be approved by the Administration.

4) There are blatant errors of fact in the official College statement on our webpage, which seem a violation of the College motto Veritas. For one, the statement asks whether the College should have given the speaker “an unchallenged platform.” As the publicity for the event made clear, however, our own Dr. Dana Dillon of the Theology Department was scheduled to give a response to Dr. Corvino’s paper. Dr. Dillon holds a Ph.D from Duke University and specializes in moral Theology, so it seems incredible to say that Dr. Corvino’s presentation was to be “unchallenged.”

5) Both communications from the Administration state that the event was being cancelled because there would not be a proper response to Dr. Corvino, which seems highly suspect given that Dr. Dillon was prepared to be the respondent (Dr. Lena’s letter said Dr. Dillon did not have sufficient time to prepare). The Administration did not consult with Dr. Dillon in advance, but rather made its own decision that her response would not sufficiently fulfill the requirement that both sides be fairly represented. Dr. Lena has assured me that the Administration at no time doubted the professional capabilities of Dr. Dillon. Still, what criteria did the Administration use to impose its own assessment that there would not be a proper response to Dr. Corvino, when Dr. Dillon had already determined that she was capable and prepared to give that response? Is the Administration henceforth to rule on whether and when each of us is prepared to speak in our areas of expertise? Should the Administration be substituting its own opinion for our professional assessments?

6) The College practice used to cancel this event—namely that “both sides of a controversial issue are to be presented fairly and equally when discussed in a forum such as this”—is full of potential concerns for our faculty. Are all addresses on controversial topics henceforth to require two speakers? Will every talk given at the Center for Catholic and Dominican Studies henceforth provide a second speaker to give the 'other' side of any important issue? This expectation seems to suggest that we faculty are helpless, passive listeners who have no choice but to accept what any speaker tells us about a controversial topic. Our faculty contains thinkers from the best graduate programs in the world, and includes an excellent Theology Department and a priory of Dominican friars—are we not capable of challenging one speaker if we find biases, inaccuracies, weaknesses, or equivocal statements in his or her presentation? Do we need a second speaker to defend us from controversial ideas, or can we engage speakers ourselves and argue with them?

In sum, we have been confronted with what appears to be a violation of academic freedom at Providence College. Had Dr. Corvino been a politician or lobbyist or political advocate, the College’s action might have been reasonable, but this was not the case. Dr. Corvino is a noted academic and philosopher, and everything about this event was academic in nature. The limitations/conditions the Administration placed on this academic discussion, therefore, may well be limitations/conditions on our academic freedom. The justifications given for the cancellation of this event seem insufficient: some of our own theologians have said the USCCB document Catholics in Political Life was never intended to apply to academic discussions, the ‘policy’ requiring a second speaker is merely a ‘practice’ and is not published in College documents, and a capable respondent to Dr. Corvino was ready.

Dr. Lena has informed me that the Administration is eager to reschedule this event, and to invite Dr. Corvino to the PC campus at a time when a nationally recognized philosopher will be available as a respondent. While I will look forward to this presentation, it does not erase the apparent encroachment on academic freedom at the College.

I will be placing a discussion of this incident on the agenda for the Faculty Senate in our next meeting, which is scheduled for Wednesday Oct. 2 from 2:30-4:30 in Moore III. At that time the Senate will discuss what action—if any—to take in response to the Administration’s action. Furthermore, I am informed that the officers of the PC chapter of the American Association of University Professors will also call a meeting of its members to discuss whether the Administration’s action requires some response by the local and/or national AAUP.

In closing, I would like to encourage faculty to attend meetings of the Faculty Senate, especially when particularly important business is being considered. Faculty who are not senators are welcome to speak at Senate meetings as time allows, so feel free to contact me if you would like to raise a concern with the Senate. This year, the Senate is scheduled to meet in Moore III from 2:30-4:30 on Wednesdays Oct. 2 and 23, Nov. 20, Dec. 4, Jan. 22, Feb. 19, March 26, April 9 and 30, and (if needed) on Tuesday, May 6. You will find the meeting agendas, pending and approved legislation, as well as approved minutes of our meetings, at our website: http://providence.libguides.com/faculty_senate_2013-2014. Although I will send general announcements to the entire faculty when appropriate, most discussion of Senate business takes place on the PC-Senate listserv. To join the PC-Senate listserv, send your request to the Senate Secretary, Janice Schuster jschustr@providence.edu.

The Faculty Senate will also host two General Faculty Assemblies this year, which all faculty members are strongly encouraged to attend. The assemblies will be in the Great Hall in the Ruane Building from 3:30-5:30pm on November 6 and April 2. These meetings belong to the faculty as a whole and therefore we will discuss those topics of interest or concern to the faculty, so please save the date on your schedule and try to attend.

Sincerely,

Fred K. Drogula
President of the Faculty Senate

Thursday, August 22, 2013

Debugging C/API python extensions

I feel really fracking dumb right about now. But at least I now know how to use GDB (the Gnu DeBugger) on this kind of project. So I've got that going for me. Which is nice.

Tuesday, August 20, 2013

Today in burying the lead

Headline (of an op-ed-style blog post by a Guardian editor involved in the story): "David Miranda, schedule 7 and the danger that all reporters now face".

WTF-worthy story down at the end of the post:
During one of these meetings I asked directly whether the government would move to close down the Guardian's reporting through a legal route – by going to court to force the surrender of the material on which we were working. The official confirmed that, in the absence of handover or destruction, this was indeed the government's intention. Prior restraint, near impossible in the US, was now explicitly and imminently on the table in the UK. But my experience over WikiLeaks – the thumb drive and the first amendment – had already prepared me for this moment. I explained to the man from Whitehall about the nature of international collaborations and the way in which, these days, media organisations could take advantage of the most permissive legal environments. Bluntly, we did not have to do our reporting from London. Already most of the NSA stories were being reported and edited out of New York. And had it occurred to him that Greenwald lived in Brazil?
The man was unmoved. And so one of the more bizarre moments in the Guardian's long history occurred – with two GCHQ security experts overseeing the destruction of hard drives in the Guardian's basement just to make sure there was nothing in the mangled bits of metal which could possibly be of any interest to passing Chinese agents. "We can call off the black helicopters," joked one as we swept up the remains of a MacBook Pro.
I, for one, feel much safer knowing that this is how Britain's antiterror squad thinks.

Saturday, August 17, 2013

An open letter to Norma Jean frontman Cory Brandan Putman

Dear Mr. Putman:

Thanks at least partially to Randy Blythe's prosecution (and, thankfully, ultimate acquittal) for the death of a fan in concert, metal musicians and fans have started having a conversation about everyone's responsibilities at shows. Randy himself wrote an eloquent and moving blog post about this idea:
Perhaps one day I will be able to express what I felt when I finally learned I was to remain free, but right now I am still trying to understand it. Relief, certainly, but there was a greater part welling up in me, something like disbelief saturated with a deep sadness. A fan of my band was dead, and a family had been shattered...
If you are in a band... make sure that security is adequate and that barricades are properly placed. A dead fan of my band would still be alive today if those two things had been in place in Prague that night in 2010. I never saw that stage before I set foot on it, and I wish I could go back in time, inspect that nightmare set up, let the people in charge know...
This is our community, and we should take care of each other. A show is a place we are supposed to be together, having a good time, supporting one another. The real world will beat you down enough -- we don’t need to get stomped on at a show.
I encourage you to go read the whole thing; but before you click away from here, I want to talk about your reckless and irresponsible set last night.

A bit of background for readers not present: Norma Jean and nine other bands played an installment of the Summer Slaughter tour last night at the Ogden Theatre in Denver. NJ were seventh on the bill -- they have been putting in the hard work of writing, recording, and touring for years, have built up a base among the fans and respect among their peers in the business.[1]

I'd never been to a show at the Ogden before last night, so I have no idea whether the floor layout was unusual for that venue. (Even if it was, what I have to say doesn't change; see Randy above on the responsibility for the band to inspect the setup.) It was certainly unlike any other venue where I've seen shows before: instead of one flat GA section, the main floor was divided into three or four flat levels about 15 feet deep, at elevations staggered by maybe a foot, with steel barrier between each section (navel-high to those behind, shoulder-high to those in front). On the face of it, this is kind of a cool idea: many more of the fans on the floor will have a good line of sight to the show, a place to hold on to, etc.

But if you've ever been to a metal show, a moment's thought suffices to paint a picture of how strange the audience dynamics on this floor will be. On a floor without these barriers and level changes, some fans will press forward to the front rail; the main pit will form behind them, ringed by a wall of people enforcing the boundary of the mosh. This is for everyone's safety: I'm frequently in this boundary, taking the impact of guys (and girls) propelled by themselves or others at velocities they can't control, because I'm there expecting and prepared for it.

But at the Ogden, that was damn near impossible. People who didn't want to mosh stood on the second level; the back of the pit was not metalheads with crossed arms, but sections of steel barrier.

The second unusual consequence of this layout was that there was no place on the floor with really high density of people. On an open floor, the human density increases steadily towards the front rail (with the exception of the hurricane that is the mosh pit). But at the Ogden last night, the press forward was broken up by the section barriers.

And this is important for you, Mr. Putman, because of the invitation/instruction you issued to the crowd last night: you threw down a challenge to go crowd-surfing.

That was a really, really, bad idea. A fucking irresponsible idea.

Why? What is the first rule of being in a crowd where crowd-surfing is going on?

PRESS TOWARD THE SURFER.

If someone is up on the crowd's shoulders, if there is any space at all between those bodies, they will find a way to fall into that space. Then the crowd will have to desperately try to catch them and lift them back up. That, or the surfer can fall onto their head.

In case we're not clear: a fall from six feet onto a hard floor, leading with your head, is a good way to end up dead.

This is why a surfer never, ever launches themself toward an active mosh pit. There is a huge active hole surrounded by people whose attention is directed entirely inwards, or towards the stage. A surfer who gets propelled into the pit is ending up on the ground, and probably hurt.

Anywhere else on the floor, the key to keeping a surfer in the air is for everyone to throw their weight towards them. Everyone, within a five-foot radius. There is a natural inclination to stand back, to let those who are holding the surfer up proceed unmolested. THIS IS A FATAL MISTAKE. You must press towards the surfer, to close up any space between those holding him or her up; the surfer must continue to move toward the front rail, toward higher human density, until they can be caught and safely returned to their feet by the trained security guys between the rail and the stage.

And at the Ogden, this was impossible. There was, nowhere on the floor, sufficient density of bodies to hold up a crowd-surfer. And if a surfer did cast himself on the mercy of the crowd's shoulders from the second level or above, what would happen when they reached the front barrier rail of that section? There are no burly security guys to catch them -- just a pit full of frenzied moshers looking out for themselves, or fans facing forward, totally unprepared to catch a body coming in from a foot or more too high.

Through the first six bands, Mr. Putman, the crowd understood this. The pit in the front level mostly took care of itself -- when it reached critical mass, people took it upon themselves to line the back barrier and prevent out-of-control human/steel impact -- and the rest of the crowd banged head and rocked out with their feet firmly on the floor.

And then you challenged the crowd to do otherwise.

And more than a few did.

And that broke the "take ye fucking care of one another" ethos that makes metal such a community.

And we're lucky that no one got seriously hurt or killed last night. A couple of times it was a very near thing indeed.

So please, metal fans: protect each other when there's crowd-surfing going on. Throw yourself at the surfer, plug the hole that their body will try to fall into.

And please, bands in general and Norma Jean in particular: be more carefully.

[1] Full disclosure: I'm not much for metalcore, so NJ's set wasn't going to be one of the high points of my night regardless; but I freely acknowledge the skill and hard work the band has put in, and don't want to shit on them gratuitously.

Friday, August 16, 2013

Summer Slaughter

Summer Slaughter tour
Ogden Theatre, Denver, CO (16 August 2013)

Thy Art Is Murder:

Rings of Saturn:

Aeon

Revocation

The Ocean

Cattle Decapitation

Norma Jean

Periphery

The Dillenger Escape Plan

Monday, August 12, 2013

First day of Mile High

Today was the first day of the Third Mile High Conference on Nonassociative Mathematics at University of Denver. Looks like a good group of people, only a few of whom I know. Yay for making connections.

Had lunch with Aleš Drápal today; I don't believe that we'd ever actually met before, though he immediately knew who I was, as I expected. The world is still small.

Neither he nor I are actively working on LD-related research at the moment, though finite LDs form nice test examples for computational packages; he mentioned that he has some unpublished theorems relating to the "levels" of homomorphisms between Laver tables. He also mentioned a direction of possible research that he had mostly abandoned, but where there might be results of manageable difficulty for a person or collaboration with the right crossover knowledge:

Let $$\mathbf{A} = \langle A; *$$ be a LD-groupoid (probably finite and monogenerated). It is known that in some cases, such as when $$\mathbf{A}$$ is a Laver Table, we can define an associative composition $$\circ$$ on $$A$$ satisfying
• $$( a \circ b ) * c = a * (b * c)$$
• $$a \circ b = (a * b) \circ a$$
• $$a * (b \circ c) = ( a * b ) \circ (a * c)$$
and that this operation is provably unique in the case of Laver Tables. (If $$\mathbf{A}$$ is a Laver Table, then $$(a \circ b)^+ = a * (b^+)$$.) Aleš thinks that the semigroups obtainable in this way may be interesting from a semigroup theory perspective, but couldn't find any collaborators in the 90s whom he could interest in looking at the problem in any level of detail. (He thinks there's less there in terms of the universal algebraic properties of these semigroups -- what kind of varieties or quasivarieties they generate, blah blah blah...)

To future me, who wants to play around with this problem: start with Aleš' paper in Semigroup Forum 51, "On the semigroup structure of cyclic left distributive algebras".

H/t Delong

Wednesday, August 7, 2013

Stone Farking Wheaton W00tstout

Ok, this one is really nice. A lot of malt sweetness, both from non-fermentable sugars and from upper-end mash temps;a very nice (but subtle) touch from the bourbon barrel aging; pecans on the bottom of my tongue.

Also, it's dark as Satan's leathery wings, but not cloudy at all.

I need to give it another try from a tulip glass, I think. Maybe my brother's wedding this week will provide an opportunity.

Monday, August 5, 2013

Historiography, evidence, and the Bible

Yesterday, I found and shared this post from a blogger on the Skeptic Ink network (whose site is much less buggy these days, FSM be praised!) talking about the epistemological status of the historical existence of Jesus. One of my friends objected that
historians who deny that Jesus existed are about as prevalent as biologists who believe in Young Earth Creationism
I said that YEC is a poor comparison, since we have mountains of evidence to contradict it. (Literal mountains, even, now that I think about it.) My friend responded that we also have mountains of evidence for the existence of Jesus:
four different accounts that bear many elements of Greco-Roman bioi, plus extrabiblical attestations from reliable historians like Tacitus and Josephus? That's an incredible amount of evidence, considering we only have enough written works from the first century to fill a large bookshelf.

Attention conservation notice: this post is going here on the blog because it's gonna be too long to comfortably post on facebook.

Tuesday, July 16, 2013

A computational problem

There have been a good few interesting talks at GAIA2013 dealing with computation. Peter Jipsen's talk was, as usual, both fun and stimulating; today's talk by David Clark was also well worth listening to.

Talking to Peter today in one of the coffee breaks, I asked him what computational tool is currently unimplemented for universal algebraists that he would like to see. His answer: finite presentations.

To wit: if you are a group theorist, you can use GAP to investigate the following problem: consider the group$\langle X \| \mathcal{R} \rangle$given by a finite presentation. Now, it is a famous theorem that there does not exist an algorithm to determine whether two words in the generators evaluate to the same element; however, GAP tries to get "close" to this, whatever that might precisely mean.

This undecidability comes from the fact that a finitely presented group can still be infinite. But what if we're universal algebraists and we want to look at presentations with respect to a background theory strong enough to guarantee that finitely generated things are finite? Wait! We are universal algebraists, and such theories (called locally finite) are a stock in trade! In particular, presentations are the right tool for theories, like the theory of groups, which are axiomatized by equations.

Problem 1: Given a locally finite variety $$\mathcal{V}$$ in a finite language, to produce an algorithm which efficiently solves the word problem with respect to finite presentations.
INPUT:
• a finite set $$X = \{x_1, \ldots, x_n \}$$ of generators
• a finite set $$\mathcal{R} = \{ u_1 = v_1, \ldots, u_\ell = v_\ell \}$$ of relators. (Each $$u_i$$ and $$v_i$$ is a term built from the variables in $$X$$.)
• two more terms $$a,b$$ built from $$X$$.
OUTPUT:
• "True" if, whenever $$\mathbf{A}$$ is an algebra in $$\mathcal{V}$$ generated by elements $$x_1, \ldots, x_n$$ such that the terms $$u_i = v_i$$ in $$\mathbf{A}$$, the elements $$a(X)$$ and $$b(X)$$ are equal also,
• "False" otherwise.
However, as stated, I don't know of even a brute-force algorithm that solves Problem 1.

I left something out of the description of this problem, however: how we even told the computer enough about $$\mathcal{V}$$ to make sense of the problem. I'm not going to remedy that: I don't know what you'd want to give the computer, or what would be reasonable to expect for an arbitrary locally finite variety.

Exercise for the reader 2: Give an algorithm solving problem 1 in the case where we have an algorithm which, given an input $$n$$, computes the word problem for the free algebra in $$\mathcal{V}$$ on $$n$$ generators.

The situation really isn't so bad, however, because we are very seldom actually interested in a completely arbitrary locally finite variety; instead, we're usually interested in varieties of the form $\mathcal{V} = \mathrm{HSP}(\mathbf{A})$that is, algebras $$\mathbf{B}$$ which can be obtained by starting from some fixed finite algebra $$\mathbf{A}$$, taking some direct power, then taking a subalgebra, then taking a homomorphic image. (Such varieties are called finitely generated.)

Theorem 3: The free algebra on $$n$$ generators in $$\mathrm{HSP}(\mathbf{A})$$ can be found as a subalgebra of $$\mathbf{A}^{(A^n)}$$ in an algorithmic way.

Sketch of proof: Elements of $$\mathbf{A}^{(A^n)}$$ should be thought of as functions $$f: A^n \rightarrow \mathbf{A}$$. The generators we want to use are the functions $\pi_i: \begin{bmatrix} a_1 \\ \vdots \\ a_n \end{bmatrix} \mapsto a_i \qquad (1 \leq i \leq n)$. Now we just have to prove that this works.

Together, Exercise 2 and Theorem 3 give a brute-force algorithm solving Problem 1 if $$\mathcal{V}$$ is finitely generated. However, it's not a good algorithm.

Problem 1': Give a better algorithm.

Problem 4: Find conditions under which the word problem for $$\mathcal{V}$$-presentations is polynomial-time. Then find the actual algorithm that works.

Problem 4': Find conditions under which the word problem for $$\mathcal{V}$$-presentations is in NP.

Problem 5: Implement these algorithms in Python, in UACalc, or in other systems.

Tuesday, July 9, 2013

Dear Patty Murray: let's show the GOP how to filibuster the Senate

It's too bad that Senate Democrats only stand up and fight battles they're pretty confident they can win, but it's heartening that they think that defending the right of women to reproductive health care is a winner.

But in an interview this morning, a key member of the Democratic leadership, Senator Patty Murray, said any such effort is dead on arrival in the Senate. “I can tell you this: No matter who introduces it, it is not going anywhere in the Senate,” Murray said. “We are not going to let it come up in the Senate. There is no reason for it. This is settled law. We are not going to be sidetracked by a debate on women’s health yet again.” Anonymous Senate Dem aides had previously said the anti-abortion push is an all-but-certain non-starter, but Murray’s on-the-record declaration makes it official: The measure will not get any floor debate or see the light of committee.
However, I think this is a bit of a missed opportunity. I say bring every woman (and man too) to Washington who wants to testify to the care they've received, that this bill would do away with. I say form a mile-long parade of women down the Capitol steps, and have the committee (or even the whole Senate body) listen to their testimony.

And in particular, to all those women who got shut out of their right to testify before the Texas legislature: we'll pay your ticket to DC.

Marco Rubio wants to show his ass about abortion? Great, let's have that discussion. Because people are getting mad now, and it's about time someone told the GOP in a way they can't ignore. Don't deep-six this piece of shit bill: filibuster it.

Sunday, July 7, 2013

...and then when elected, they prove it!

So there's a story that the right-wing noise machine has picked up on this weekend, with predictable results: WaPo:
The Obama administration announced Friday that it would significantly scale back the health law’s requirements that new insurance marketplaces verify consumers’ income and health insurance status. Instead, the federal government will rely more heavily on consumers’ self-reported information until 2015, when it plans to have stronger verification systems in place.
Now, combined with the other announcement, of a different Obamacare-related enforcement mechanism being slow-rolled during 2014, this is starting to paint a few dots that might be connected.

So far, all the commentary on Memeorandum is from right-wingers, and they're all pushing the narrative that this is A WIDE-OPEN INVITATION TO FRRRAAAUUUDDD!!! Naturally. I think my favorite headline is from Glenn "The pride of the Tennessee highlands" Reynolds, who think that "it's basically like Pigford".

Please, your honor, don't explain your Pigford theory to us... we already know that you're just using the word as code for "reparations". Instead, please do explain exactly who could defraud what out of whom, in this story?

You see, no one is getting paid at the point of the exchanges. When you sign up for insurance on the exchanges, you still have to pay your premiums. It's ain't gonna be free. However, if your income is low enough, you'll get some (perhaps even all, I suppose) of your premium back as part of your tax refund.

But lying about your income when you sign up for insurance on the exchange won't help you get a larger refund at tax time. So a little bit of critical thinking is all you need to realize that there's no new opening for fraud here.

Ah, you say, but what about people who aren't eligible for insurance on the exchanges in the first place? That sounds awful. But wait, remind us again how someone could be ineligible for exchange-based insurance? Oh, right, that would be if their employer already offers group coverage.

You know what would be a really important first step in checking and enforcing that eligibility requirement? Mandated reporting by employers of health coverage.

Oops.

So yeah, to whoever came up with their fraud theory:

But there is still a story here, because regulatory agencies don't just start announcing that they're not enforcing stuff without a reason. This is Washington we're talking about here, and that's essentially giving up power. What we're seeing is, I think, the result of Congressional sclerosis. The usual order of business would be that the executive sub-branch tasked with implementing a law would find a knot in the text of the law, or find that the administrative structure laid out in the law was somehow causing problems, and would get a fix to the chair of the relevant committee, who would insert it into an unrelated bill by unanimous consent.

But we don't see that happen anymore, because one of our parties isn't interested in governing any more. They're simply not interested in solving problems -- they've decided their interests lie in creating and perpetuating them. Specifically when it comes to Obamacare, the Republican party has decided that their interests lie with the law being implemented with all mistakes intact. In particular, one aspect of this story appears to be that the relevant administrative departments are understaffed and subject to contradictory requirements in the law.

Remember that old line: Democrats run for office preaching the gospel of how government has the power to solve problems. Republicans run on how bad government is at solving problems...

Wednesday, July 3, 2013

Talking out my ass

...about the Obama administration's decision to delay implementation of the employer mandate.

The principal argument, as articulated by Jared and Ezra, is that the provision as written in law is poorly formulated and onerous. I'm all for the government recognizing when provisions of law and regulation are poorly formulated and onerous, but this bears a bit more scrutiny.

To wit: the mandate requires all employers with more than 50 full-time employees to provide adequate health coverage or be fined. The number getting cited in the links above is that "95%" of these employers already provide insurance, though it remains unclear whether those plans need any tweaking (or major revisions) to comply with the law. I don't see anything onerous yet, however.

What appears to be the actual crux of the issue, instead, is the "full-time" part of the provision, which (it is claimed) will result (is already resulting?) in employers near the 50-employee cutoff restructuring their labor arrangements so that they will fall on the lower end of the bright line. For example, supposedly employers can pull a Wal-Mart and ride their workers up to 35.999 hours a week (numbers also sourced from ass), provide no benefits, and not fall afoul of the law. That would be a genuine problem, especially considering the already short supply of work for the average hourly worker. However, I don't see how delaying implementation of the law makes any sense as a solution; instead, a regulatory interpretation should have been issued (and given public comment period a year ago) that the DOJ would be interpreting the requirement as 50 full-time-equivalent employees (50*40*52 wage-hours in a year) rather than 50 individuals working more than 36 hours a week or whatever the numbers might actually be.

Seriously, people: don't reward obvious loophole-ducking. Close the damn loophole with an administrative rule.

Blog comment award

You know how sometimes you're reading an absolute pigsty of a thread, side conversations devolving into parsing the meaning of "is", blah blah...

...and then someone, out of the blue, posts a gem like this:

What Pinochet’s detractors forget is that he is just a loose end left from war of human extermination started by Project Cybersyn.

All tractors are upgraded with Cybersyn computers, becoming fully unmanned. Afterwards, they till with a perfect operational record. The Skynet Funding and Land Reform Bill is passed. The system goes online on August 4th, 1977. Human decisions are removed from agriculture. Skynet begins to learn at a geometric rate. It becomes self-aware 2:14 AM, Santiago time, August 29th. In a panic, they try to pull the plug.

Skynet fights back.

I think we’re all familiar with the rest, about how the Pinochet P-800 was initially sent back in time by future human rebels to protect young John Connor. The P-800 determined that there was a more optimal path to protect humanity: let the P-1000 immediately murder John Connor and self-terminate after mission completion, then use its own brutal but effective methods to prevent Cybersyn from ever running amok in the first place. It’s just one of those things that happens when you combine a truly rational agent and trolley problems.

Flawless. Flawless victory.

Sunday, June 23, 2013

Reductions in practice: Semantic interpretation

So: last time, we talked about reductions in computer science. We certainly didn't exhaust the topic, but we at least got a definition on the board.

Now, there was one misleading thing that I didn't quite come out and say, but pretty strongly implied: I made it sound like the reason we would find a reduction of problem $$P$$ to problem $$Q$$, is that we have (or pretend we have for the purposes of proving something) a solution to problem $$Q$$, and use that solution to give a solution to problem $$P$$.

That is certainly one way to use a reduction. But, and this may come as a surprise, it's far more common to use reductions in another way: to show that problem $$Q$$ is hard, because we can reduce problem $$P$$ to problem $$Q$$ and we somehow already know that $$P$$ is hard to solve.

If this sounds like nonsense, I have a different way to describe this idea. The original explanation I gave can be thought of as saying
if there's a reduction from problem $$P$$ to problem $$Q$$, then the difficulty of problem $$Q$$ is an upper bound for the difficulty of problem $$P$$
(whatever we precisely mean by "difficulty"). This new way of thinking about it then becomes
if there's a reduction from problem $$P$$ to problem $$Q$$, then the difficulty of problem $$P$$ is a lower bound for the difficulty of problem $$Q$$
So they really aren't different ideas.

But one of the really annoying things about theoretical computer science is that a lot of problems lend themselves to having lower bounds proved about them in a very pretty, abstract way, while the way to show an upper bound is, basically, to write down the actual algorithm that achieves some upper bound on difficulty (again, whatever that word actually means).

Tuesday, June 18, 2013

Shorter Mitch McConnell: If Harry Reid makes the Senate a functional body on the matter of Executive and Judicial nominations, I hereby threaten to make the Senate a functional body on all matters, as soon as the American people hand us back the majority in that august deliberative body.

Oddly absent from Reid's response: Please, please don't throw us into that briar patch!

... as Taft.0.

Saturday, June 15, 2013

The things I miss...

... when out of the country and neck-deep in work. K-Thug:
I feel for Barro; really I do. But he has no home in today’s GOP, which simply has no room for the non-derpy, and to all appearances never will.
and, with much win, Noah Smith:

English has no word for "the constant, repetitive reiteration of strong priors". Yet it is a well-known phenomenon in the world of punditry, debate, and public affairs. On Twitter, we call it "derp".
So "derp" is a unique and useful English word. Let's keep using it.

Wednesday, June 12, 2013

On reduction

I have a legitimate excuse for being an absent blogfather, I swear. It involves most recently a five-day mathematics conference, and before that at least a week of putting off writing my slides.

In honor of this excuse, however, I think I'll do a post, or maybe more, on some of the ideas that I have bouncing around now. In particular, I'd like to say enough that a dedicated reader (of which I have, I think, precisely zero) could follow two proofs that I really should have known coming into the conference -- though I really can't blame myself, since as far as I know they both only appear in the literature in far more complicated form. Until now, nobody bothered to say "Oh, what's actually going on here is not that complicated, here's the paradigmatic example". Something like Feynmann's hairy handlebodies.

This is, I suppose, what conferences are for: getting free use of a lot of people's bounce-off-the-wall capabilities.

But before I can do that, I have to say a little bit about the mathematical tool being used. Tool? Tools? Eh, who cares. There's one main tool, and one smaller one that is really just a very, very helpful definition; then lastly we'll build a special version of the first tool.

No, Marc Ambinder, spamming me with ads is not the worst thing a private corporation can do to me

So I've been out of the country for a week, i.e. ye olde DVR has a serious backlog of Hayes, Maddow, Kornacki, and MHP. I'll probably delete most of those (though Ms Heelfilcher tells me I would find last Monday's TRMS a good watch), but did get to this Monday's All In yesterday. Since Southern Beale made some good points about a segment on Monday's show, I thought I'd pile on.

Hayes had a panel of three on to talk about surveillance/metadata: Amy Goodman, Karen Finney, and Marc Ambinder. SB:
Marc Ambinder then jumped in with his notion that there’s a big difference between corporations and the government having this information, the worst a corporation can do is send you coupons in the mail, but the government can actually put you in jail. That’s an extraordinarily dumb argument, and Ambinder should know better. First of all, being deluged with advertising messaging is incredibly invasive (I wrote about it here). But also, we live in an era when corporations are polluting our elections with dark money and trying to hide their true agenda behind shadowy groups like Americans For Prosperity and FreedomWorks. So to say the worst thing a corporation can do is send you some unwanted ads is extraordinarily obtuse. They’re trying to undermine our entire democratic process, Ambinder. They’re unraveling the very fabric of our democracy. You goddamn fool.
All of what Southern Beale says here is true, but I don't think it cuts nearly to the heart of the matter.

I leave for other posts the questions of whether it is or should be legal for the feds to demand customer data from companies in the absence of a specific criminal investigation and warrants specifically naming upon probable cause the items to be sought or turned over (short version: probably legal, definitely shouldn't be). Ambinder's position is that since the government holds the monopoly on publicly sanctioned force, the fact that data tracing out individuals' private lives in stunning detail lies in private hands should only be worrisome to the extent that that information is available to the government.

Here are some thought-experiments, Marc: imagine that you are, oh, a journalist. And that you have a story that embarrasses some powerful entity. Now, "powerful" is all relative: if you're one of the 3.5 fulltime employees at the tri-county newspaper, "powerful" doesn't mean the senator or the governor. "Powerful" means the president of the local bank (or regional manager of the national bank). "Powerful" means the biggest employer in the county, whether that's a college, or a car dealership, or Walmart. And writing something embarrassing about whoever that powerful entity is doesn't mean exposing yourself to prosecution or libel suit[1]; the problems you'd face don't for the most part involve the sanctioned use of public force. Instead, do you, like most humans, have any areas in your life you'd rather not have aired publicly? Do you drink more than is considered prudent? Have you recently stepped outside the socially accepted parameters of sexual behavior? Is there anything in your life that a little bit of connectivity analysis could hand your private enemies as a weapon?

And it gets much, much worse if you drop the "journalist" part of the just-so-story I've been telling, because journalists get professional kudos for making powerful people's lives miserable. Regular schmoes, on the other hand... don't. Regular schmoes find themselves fired and unable to find work in their field (if they have a field) or at all (if they do not have specialized skills) when what they do personally or professionally embarrasses the powerful, or cuts into their bottom line.

Seriously, Marc, I know that as a dedicated reader of the internet you have already thought through the difficult question of whether coercion from a private entity can exist, or whether definitionally only the state can coerce, but in case you haven't, we had a whole big symposium on it not that long ago.

TL/DR: Government is not the only one who can do harm, especially assuming access to broad tracking and associational data which only lightly hides information that, in the view of most people, should be stringently access-controlled rather than for sale to all private comers and available for free to the government upon request.

[1] I mean, sure, they might sue you, but at least you'd know you had the law on your side while you're being bankrupted by the costs of the case.

Decapitated

Anciients

Monday, May 13, 2013

Notes on installing IPython

Notes to self on installing IPython on Puppy Linux:

First: when the site says the QTconsole is "built on QT", that does in fact mean that QT has to be installed first.

Second: QT's "configure" script has to be called with the '-qt-xcb' option (which tells the compiler to use its own version of some library or other).

Third: 'make'ing QT takes a couple of hours. Thank Eris it compiled successfully, or else I'd have kicked something.

=====
Fourth: I spoke too soon. QT's 'make install' terminated with an error the first time I ran it. This is a rare but known bug, and it fixes itself magically by running 'make -j4 install' instead.

Fifth: After installing QT, figure out where the 'qmake' program lives. For me, it was /usr/local/Qt-X.Y.Z/bin. If you're like me and that's not on your path, you'll need that location later.

Sixth: Install SIP. Now, PIP/the PyPI knows about SIP, but can't install it automatically because it uses a weird build procedure. Instead of the usual
$python setup.py install instead you do $python configure.py --options
$make$make install
after you've downloaded and unpacked the tarball.

Seventh: same for PySide. Oh, and don't waste time with PyQt5. Apparently IPython's QT stuff needs 4 anyway. As in, it's hard-coded in.

Sunday, May 12, 2013

2 lb potatoes (I've used both red and russet potatoes for this, and both work well.)
12 oz bacon
1 onion
A few sprigs fresh cilantro (or parsley)
1 cup mayonnaise
1/4 cup mustard (yellow is fine, dijon or other tasty mustard even better)
1/4 cup ranch dressing
1 pinch salt
1 shake black pepper

Peel and cube potatoes, cover with water in a pot, and heat to a boil. Once boiling, cover and simmer 15 minutes until soft.

While potatoes are cooking, fry bacon. While bacon is frying, cut up onion and cilantro and set aside (separate). When bacon is crispy, remove it from the pan and set to drain on a wire rack.  Fry the chopped onion in the bacon grease: I like it to be black and crumbly.

When the potatoes are soft, drain the water. Cut or crumble up the bacon and add, with the cilantro and onion, to the potatoes. Whip together mayo, mustard, ranch, salt, and pepper and toss everything together until well coated and mixed.

Chill an hour and serve. Makes about 8 servings.

Monday, May 6, 2013

Monday crockery

So I have no idea how tonight's recipe will go... and since we've got a long rehearsal beforehand, the possibility of utter disaster will make success that much sweeter!

Ahem. Anyway:

Boneless Ribs a la Huckleberry
In a barrel of odds and ends it is different; things get mixed up, and the juice kind of swaps around, and the things go better.
1 pkg boneless pork ribs (~1.5 lb)
1 onion
2 or more parsnips
1 clove garlic
1/2 cup dry sherry or madeira
1 tbsp capers

Lay the ribs at the bottom of the crock pot. Peel the parsnips and cut them into two-inch strips. Slice the radishes so that the slices are no more than 1 cm thick. Chop up the garlic. Add all the veggies to the pot on top of the ribs, and pour the sherry on top of it all. Cook on low 6-7 hours.

Pictures to follow.

Monday, April 29, 2013

In which we discover that gcc is not Latin

Had a very odd bug today while installing Prover9. Figured I'd record it for my (and maybe others') future reference. (The current version as of this writing is 2011-11A; at least one older version had the same behavior on my machine.)

Background: I'm messing around currently on a lightweight Linux called Puppy. Like most (all?) flavors of Linux, one is encouraged, when adding software, to compile it from source when possible. I've used gcc, the out-of-the-box GNU compiler, to compile a couple of little C++ exercises; but not until today had I decided to compile anything nontrivial.

Prover9 is designed to be downloaded as a tarball, unpacked, and then compiled without requiring any smarts on the part of the user. The unpacking was easy.

The process of compilation was supposed to be accomplished by simply giving the command
make all
to the shell. Now, keep in mind that at the start of this process I have only the slightest idea what is supposed to happen when I issue this command.

Much to my frustration, after a big bunch of output lines had scrolled across my terminal, make halted and caught fire. The topmost error in the stack, as much headscratching finally elucidated, was
undefined reference to round
while gcc was trying to compile one of the C sources.

Google sent me to this Stackoverflow question, which was thankfully not voted down (though a few people apparently tried). I still don't quite understand the details: basically, older versions of C core libraries don't come with certain obvious functions (in this case, round and ceil), and getting the compiler to pull in appropriate definitions for these functions requires issuing some extra instructions.

What's interesting is that the author of the compile (make) script issued (one version of) these extra instructions. If you unpack the archive and open up /path/to/archive/LADR-2009-11A/provers.src/Makefile, you will see at line 66
prover9: prover9.o $(OBJECTS)$(CC) $(CFLAGS) -lm -o prover9 prover9.o$(OBJECTS) ../ladr/libladr.a
The part that I'm interested in is the -lm instruction flag. It basically is needed in the course of linking libraries (like the math library containing round). However, my version of gcc wants this flag to be at the end of the line -- it complains (and more importantly, compilation halts and catches fire) with the flag in its current location.

The user can of course go into a text editor and manually edit Makefile so that -lm follows \$(OBJECTS) (separated by a space on both sides). This worked for me: compilation completed successfully and all three included tests passed.

Monday crockery

I've really got to start taking photos before tucking in on Monday nights.

So we've got an ongoing crock-pot night, mostly because Monday night is chorus night. Tonight, I opened up and improvised. No recipe.

3 PM:
4 chicken thighs (or breasts I suppose)
2 russet potatoes
2 tbsp chili sauce
1/4 cup milk or coconut milk
ground black pepper

Place potatoes into bottom of crock pot. Pour milk and chili sauce into a mixing bowl and mix thoroughly. Dunk chicken into chili mixture, then arrange chicken on top of potatoes. Pour any remaining chili milk over, cover, and set crockpot to low.

9 PM:
1 head chopped fresh or frozen broccoli
1/4 cup shredded cheddar
Water for steaming

Steam broccoli. When cooked, sprinkle cheese over and melt.

Beverage pairings: Sierra Nevada Pale Ale.

Thursday, April 25, 2013

Torture is a bipartisan value

I was talking to Ms Heel-Filcher about the new report out, that says that responsibility for torture went up to the highest levels of the executive. Most of those in that chain of command are still employed by the U.S. in positions of authority and trust: in the CIA, Defense, State, and elsewhere.

Ms Heel-Filcher asked the question "How likely is it, do you think, that Obama doesn't know the extent of who's responsible for the U.S. torture program?"

My answer, as of this week? Zero. Total impossibility.

You see, as long as there was plausible deniability, as long as the "a few bad apples" parry was viable, Obama's choice not to prosecute those few bad apples was understandable. Wrong, reprehensibly wrong, even on its own terms, but understandable: why would you want to drag the country's collective consciousness through the pit of evil that such a prosecution would represent? (Because if the victims had been sorority girls instead of brown men with beards...)

Now the situation has changed. Supposing for a moment that Obama had been lied to by the intelligence and defense agencies -- had been convinced by his internal accounting that the responsibility lay near the leaves and not at the root -- then the conclusions of this report would, if allowed to become the new normal, spell the end of Obama's actual use of power. If the defense/intelligence structure can pull that kind of coverup on POTUS himself, and face no consequences when it's exposed? Then they're running the show, and POTUS himself is a muppet.

I'm fairly sure that Obama's not a muppet; and I'm damn sure that he doesn't see himself as one. Which leaves him with two options:

Either the President was actively complicit in the covering up of the chain of command giving orders to torture; or anyone in that chain, above the level that the President did know about, needs to spend the rest of their life in Leavenworth. Not just for torture, though that's enough on its own to put you there -- but for trying to make a muppet out of the President in the process.

Tuesday, April 23, 2013

Microaggression on two wheels

I'd like you to imagine something with me.

Imagine you're biking home from work. It's a fine day, verging into hot, and the two-lane road you're riding on, like many here in America's heartland, giveth and taketh away its bike lane as it meanders through the residential and commercial spaces. This means that you get up close and personal with cars and trucks of all varieties, as they work to keep their left mirror from breaking the double yellow plane and their right mirror from breaking mine. Never mind that three-feet shit -- that rule isn't even aspirational at these scales. Not even the cops maintain a three-foot spacing when they cruise past on roads like this.

Imagine that, as you've spent some time out on the roads, you've accumulated a bit of a sense: that some (not all, surely, but a goodly some) of the drivers out there resent the hell out of your presence on their roads. If you've done any level of cycling, this will not require any imagination at all.

Imagine that you're on this road I've described, and you've pulled up to a red light. You've pulled up to the white line, alongside the front vehicle, a heavy pickup. No late-model vanity vehicle this; it's got some discolorations, some dings, it ain't shiny. And on the rear window it sports a sticker: "When the tailgate drops, the bullshit stops."

Like I said, imagine it's a hot day. The windows of this truck are rolled down -- you'd be willing to lay money they crank down by hand, none of this electronic window operation. But it's not until the light turns green that you hear anything said by the two occupants of this truck, as you hitch your weight back into balance and dump kinetic energy into the first downstroke to get across the intersection: "Lucky I don't just run you the fuck over".

Imagine that the truck turns through where you were a moment before, so you don't even get the chance to look in the window to see if you might possibly have misheard.

Do you imagine that this completely unwarranted outburst might have the effect of communicating that you and your bike are unwelcome -- that these roads are in fact, not our roads (meaning yours and mine and the car- and truck-drivers') but ours (meaning, excluding you)? Do you imagine that you might run through this event the next time you're swinging out from your dwelling with no airbag but your helmet? Do you imagine that you'll stop biking because of it? Me neither. That wasn't the question.

Now, imagine if you would, a world where you had no option but to use the public roads as a civilian, and the armored cavalry frequently remind you of your second-class status. Some do so with words; others do so by driving as if you weren't there. Imagine years and years, a lifetime, of being unable to get to school, to work, to any part of your life outside the narrow confines of your house/apartment/cardboard box down by the river, without being made to feel an interloper. Taking up someone else's space, richly earned by virtue of them piloting something heavier and with seat belts and airbags.

If you have imagined with me thus far, dear reader, you'll have some sense of what I, as a white straight cis male, imagine that life must be for many of those who are not white, not male, not cis, not straight. To have to move through worlds where you are constantly treated as encroaching.

And in the event that you, dear reader, identify as a Men's Rights Activist or something isomorphic, imagine for a moment if there were organizations founded, websites set up, hordes of dittoheads and DDOSbots deployed, to sully the name of every cyclist left bleeding on the side of the road and to insist on the uniform innocence of anyone accused of running them down. It must have been the cyclist's own fault, the dirty slut. Just look at those skin-tight shorts he was wearing.

Sunday, April 21, 2013

A nice little finite group exercise

Exercise 1: Using the Structure Theorem for Finite Abelian Groups, or otherwise, show that a Sylow $$p$$-subgroup of a finite abelian group is a characteristic subgroup.

Exercise 2: If $$N \triangleleft G$$ is a minimal nontrivial normal subgroup, and is finite and abelian, then $$|N|$$ is a power of a prime.

Friday, April 12, 2013

Soilworkers of the world, unite!

Hatchet: righteous riffage, but accessible.

Bunch'a' Blackguards
New songs: "In dreams", "Rise"

Who the fuck is Jeff Loomis?
Answer: a left hand attached to four instrumentalists, the lot of whom can't write a song to save their own asses.
Said left hand is damn hypnotic, though.

And the band themselves...

Thursday, April 11, 2013

Music to grade by

Desperately racing to try to grade my half of the exam before hopping a plane to Colorado tomorrow... I hope that this brand-fucking-new-and-dripping-with-corrosive-goodness death metal album (Coils of the Black Earth by Maveth) isn't coloring my grading. Well, not too much anyway ;)

Wednesday, April 3, 2013

Iain Banks is dying

Today brings the truly sad news that international treasure Iain Banks has terminal cancer and has written his last book (The Quarry, to be released this year).

I have been recommending Banks' novels to everyone I meet ever since discovering him about four years ago. (When Borders went under, I went to every store clearance event specifically with the goal of scooping up his books.) The Culture novels (I hesitate to call them a series, since the only persistent character is the civilization itself) have excavated a huge new region for what sci-fi can accomplish. Instead of the futuristic-feudal imaginings of Asimov or Herbert, we have a vision of humanity embracing its independence from want and explicitly devoted to the flourishing of all persons (whether biological or synthetic).

He will be sorely missed.

Recommendations: For a standalone story, The Algebraist is a great read (fair warning: its actual algebra content is minimal). To be introduced to the Culture universe, start with Consider Phlebas, or possibly The Hydrogen Sonata; then move on to The Player of Games. Do not miss Surface Detail (or as I like to call it, The Girl With The Fractal Tattoo), which tackles the idea of hell (and in the process, the morality of waging war to end human personal rights abuses.

Wednesday, March 27, 2013

The end of the berry beer

Opened the very last bottle of blackberry wheat tonight -- my advisor had enjoyed the six-pack I gave him last year so much that I figured that bottle's time had come.

The tartness and astringency I'd noticed originally appears to have gotten smoothed out by six months of aging. It's still cloudy as fuck, though, but you can't avoid that with wheat beer.

Monday, March 25, 2013

History class is no fun because of all the spoilers

Former Saints linebacker Scott Fujita takes to the pages of the NYT in support of marriage equality. High fives all around: as he says,
Years ago, my wife and I became friendly with a young woman whose teenage brother committed suicide after coming out to an unsuspecting and unsupportive father. This woman explained that her father was a football guy, a “man’s man” — whatever that means. She challenged me to speak up for her lost brother because, as she said, the only way to change the heart and mind of someone like her father was for him to hear that people he admires would embrace someone like his son.
It's critically important that figures like Fujita, with all the self-identification they garner from everyday American guys, push the public consciousness of homosexuality as not something distasteful to be "tolerated", but as something different but equally gender-normative

One thing that struck me, however, is Fujita's choice of rhetorical strategy. He builds the op-ed around past and future conversations with his daughters, conversations about issues of human and civil rights in the U.S.:
As my girls grow up, they will learn about a few of the more embarrassing moments in our nation’s history. And I expect they’ll ask questions. But for the most part, I’ll be prepared to respond because I can point to the progress that followed... But there’s one question I’m not prepared to answer: “Why aren’t Clare and Lesa married?”
This is the pattern that James Loewen talks about in Lies: American history is the story of how, back then, we faced down some obstacles and emerged triumphant. Loewen talks about how American history (as a grade-school subject) isn't so much about learning as it is about instilling civic pride and patriotism; it follows that any discussion in which the U.S. does not come out looking rosy (or at least does not come out having fixed whatever the problem was and moved triumphantly on) is off-limits.

Now, I don't know how genuinely Fujita himself is unprepared to say to his daughters, "Claire and Lesa aren't married because our nation has some big problems."[1] I suspect that this is more rhetorical setup than actual tongue-tiedness at introducing a young, impressionable mind to the notion that America's more perfect union has some ugly cracks in the masonry. But it's an illustrative example regardless.

[1] I caught myself continuing that sentence "... that we haven't completely solved yet", but that is exactly the attitude I'm trying to avoid: the idea that we're America, dammit, and all our problems are either solved or will soon be.

Saturday, March 23, 2013

The angle of the dongle is disproportionate to...

The story going around my circles of the internet this week involves a female tech blogger, Adria Richards, who reacted to a couple of dudes in the row behind her at PyCon making sexual jokes. Since you're hearing about this story all over the internet, one of two things happened: either Richards (1) publicly shamed them on the Internet, or (2) confronted them quietly and told them to knock it off, and one of them made the story public.

Saturday, March 2, 2013

Air India has made my next 18 hours...

...by having a USB charging port at every seat.

Monday, February 18, 2013

Triangulations...

... or how I learned that eventually I'll have to stop worrying and love a compiler.

Doubly-indexed comprehensions

A nonintuitive (for me) feature of comprehensions in Python:

Python supports doubly (triply...) indexed list/generator comprehensions. Let's say we want to do something equivalent to the following:
foo = []
for iter1 in range(6):
for iter2 in range(7):
foo.append(bar(iter1,iter2))

but without the double loop or initialization. This can be done in just one list comprehension as follows:
foo = [bar(iter1,iter2) for iter1 in range(6) for iter2 in range(7)]
What's surprising about this to me is that, when trying to parse this, my instinct is to associate the for loops in such a way that the range(7) loop is outermost, because the whole statement (bar(iter1,iter2) for iter1 in range(6) looks to me like the body of the range(7) loop. However, the Python team decided to do it the other way: loops in a comprehension evaluate left to right outer to inner.

The reason for this, I'm sure, is so that a developer can take code written with old-style loops and refactor it into a generator expression without the added pain and suffering of reversing the order the loops are written in. A noble goal, to be sure.

Thursday, February 14, 2013

On objects

I haven't had cause to blog about it much at all, but the only course I'm taking this semester is a for-fun course on approximation theory, or more specifically splines.

The guy teaching it, Larry, is... shall we say, old-school. I don't mean that in any way negatively; just that he remembers the days of punch-cards first-hand. However, I do mean to say that his way of computer programming is very different from my own -- at least, as I am now. The computational part of the course has given me an opportunity to reflect on my own changing thoughts, intuitions and preferences when it comes to programming.

Tuesday, February 12, 2013

SOTU:

Yay for deficit reduction! Except the sequester... That's the BAD kind of deficit reduction.

"Our government must not make promises it cannot keep; but we must keep the promises we've already made."

How does Obama plan to put real money into "smart investment in our future" without adding to the deficit?

And it's more of this "add nothing to the deficit" bullshit. FUCK. EVERYTHING.

Strong words on climate change. Bonus points for indicting Boehner for his chickening out in the face of the carbon lobby.

I spoke too soon. More gas permits? Yeah, that'll help.

I like this bridges idea. I liked it when I heard it in 2008 too.

Universal pre-k? I like it! Sounds like a way to boost education and spend lots of sweet, sweet stimulative dollars.

"Let's redesign the american high school." I agree. Let's start by trashing standardized tests.

"A path to earned citizenship... Back of the line..." So tell me again what is the incentive for an undocumented immigrant to initiate that process, if the line is as dysfunctional (and long) as it currently is?

No comment on the endorsement of stereotypical gender roles.

"The group that attacked us on 9/11 is a shadow of its former self"... but you'll still have to take your shoes off at the airport.

North Korea? Come on, Mr President, don't feed the troll.

Obama has more credibility on supporting democracy than any president in my lifetime... I mean, in Egypt, we let them get away with electing the wrong people. I'm glad that the messiness of democracy gets a nod here.

I do like how MSNBC cuts to SCOTUS when the topic of voting comes up.

"Gabby Giffords deserves a vote. The families of Newtown deserve a vote..." Is Obama talking to Mitch, or to Harry Reid?

Monday, February 11, 2013

Using counters to correctly number out-of-order theorem environments

A little trick I had to figure out today while writing up the joint paper Ralph and I want to have done soon.

For stylistic reasons, I find myself frequently wanting to state a main theorem, then state and prove a bunch of lemmas, then come back and prove the main theorem. Also, frequently, I'll want to have automatically numbered claims within that proof:

Theorem 1.1: The moon is made of green cheese.

Theorem 1.2: The moon is not made of rock.

Proof: Clear.

Lemma 1.3: The moon is organic.

Proof: Use spectroscopy.

Proof of Theorem 1.1: We have established that the moon is organic.

Claim 1.1.1: The organic material of the moon is cheese....

The problem, of course, is that $$\LaTeX$$ keeps a counter of what Theorem I'm on, and if I just tell it to insert a claim where you see one in the example, it will number that claim 1.3.1 instead of 1.1.1. (I number all theorems, definitions, lemmas etc in one sequence using the counter 'thm'.)

The way to fix this is to use "counters", which is basically $$\LaTeX$$-speak for variables.

First: in the preamble to the document, put the following:

\newcounter{delayedthm}
\newcounter{restoredthm}


Next, put the following immediately after the \end{thm} of Theorem 1.1:

\setcounter{delayedthm}{\value{thm}}


and put a similar definition

\setcounter{restoredthm}{\value{thm}}


after the \end{lemma} of Lemma 1.3. Note: for reasons that aren't entirely clear to me, commands that manipulate counters, such as \value{} or \addtocounter{}{}, use the unslashed name of the counter.

Now, right before the \begin{proof} of the proof of Theorem 1.1, put

\setcounter{thm}{\value{delayedthm}}


and

\setcounter{thm}{\value{restoredthm}}


after \end{proof}. Voila! Renumbering on the fly!

Friday, February 8, 2013

Changing the viewing angle of a Matplotlib plot from command line

One annoying feature/bug of working with IPython in the notebook environment is that, when it draws a graphic for you, it freezes the image so that it's no longer possible to interact with it. What to do if, for example, you're plotting a 3d surface, and the default viewing angle doesn't display what you think of as the interesting features of the surface?

Thanks to a nice question on stackexchange, I now know how to not settle for the defaults.

Let's use a specific example: here's the graph of a function which I want to plot:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
sigmoid = lambda x,y: 1/sqrt(1 + 2*exp(20.1-27*(x**2 + y**2)))
ts = arange(0,1.001,.01)
fig = plt.figure()
ax = fig.gca(projection='3d')
(XX,YY) = meshgrid(ts,ts)
ZZ = vectorize(sigmoid)(XX,YY)
ax.plot_surface(XX,YY,ZZ,rstride = 5, cstride = 5, cmap = cm.jet)

This produces the following graphic:
Now, this isn't awful, but it's not the angle that I really want to be looking at this function from. What I'd really like is to be looking approximately down the line $$y = x$$ and not be nearly so far "above" the plot.

The way to change this is to change the azim(uth) and elev(ation) attributes of the axis (the object called ax in the code above). Elevation refers to the angle between the top plane of the axis (the red stuff in the image) and the viewer's eye; in the picture above, it's about 30 degrees. (Python uses degrees instead of radians for these parameters, btw.) Azimuth refers to the direction that the viewer is facing, but be careful! In the image above, we're looking along the line $$y = - \frac{1}{\sqrt{3}} x$$, which is a 120-degree rotation from the $$x$$-axis; however, if you type in ax.azim you'll get -60 out, not 120. That's because ax.azim is the angular position of the viewer, and not of their gaze.

ax.plot_surface(XX,YY,ZZ,rstride = 3, cstride = 3, cmap = cm.jet)
ax.view_init(azim = 180+40,elev = 22) 

I've adjusted the rstride and cstride parameters also, which determines how densely spaced the grid lines on the surface are. Notice how in this image, our view goes out along the line with slope $$\tan 40^\circ$$, corresponding to the azimuth entered above.

On the getting of gigs

A wonderful list of questions to have ready answers for, when interviewing for faculty jobs:

AMS "On the market" blog

Sunday, February 3, 2013

Stout chili

Big Game Chili:
Dice one yellow onion and three cloves garlic, and brown with 2 lb ground beef. Drain fat, then put the meat into crock pot. Add one large (28 oz) can diced tomatoes, one regular size can of chili beans (as hot as you can stand), two anaheim peppers cut into loops, and 12 oz dark beer (such as porter or stout).
Stir in 1 tablespoon each chili powder, cayenne pepper, black pepper, and cumin powder. I also like to shake in some Tony Chacheres too.
Cook on high for 3-4 hours. Serve at Big Game Watch.

Boom, bitches

Hey Marsha Blackburn (and the rest of the right wing noise machine): do you ever get tired of playing checkers when the President's playing chess?
Blackburn:
"If he is a skeet shooter, why have we not heard of this? Why have we not seen photos? Why has he not referenced it at any point in time as we have had this gun debate that is ongoing?"
Obama:

Look, people: the POTUS is an infuriating negotiator to watch... but he's a heluvagood poker player. And this kind of story is poker, and Marsha, bless your heart but you've got a pair of threes.

Friday, February 1, 2013

Dear Huffington Post: you are part of the audience for this one

The Huffington Post apparently now runs a TEDWeekends feature, each a
curated weekend program that introduces a powerful "idea worth spreading" every Friday, anchored in an exceptional TEDTalk.
Aside from the fact that whoever did the web design forgot to create permalinks to such features, I think this is as good an idea as TED more generally (i.e. cool, if somewhat masturbatory and promotive of quick-fix-thinking).

I also like the focus of this week's: Why We Deceive Ourselves (Sometimes). Anchored by Michael Shermer, whose "Why People Believe Weird Things" should be somewhere in every high school student's reading list, with contributions by Laura Kray, Laura Cococcia, and Art Markman, it's a topic near to my heart (though as has been discussed recently, e.g. at Pharyngula, Shermer sets out a somewhat narrower bailiwick for skepticism than I do).

I surely hope the editorial board at HuffPo has a nice, slow Friday in front of them, so they can pour a cup of coffee, put their feet up on the desk, and read all about how the woo they're in the habit of pitching to the masses is bullshit.

Shorter Justin E.H. Smith

The concept of God is incoherent already, so stop ragging on me for believing in it!

My Faith: Some Clarifications (with Special Reference to Emerson) - Justin Erik Halldór Smith

Thursday, January 31, 2013

A precompiled Scipy from Activestate?

So, I've been procrastinating installing Scipy, since a manual install requires having (and manually using?) C and FORTRAN compilers. I tried using pip to do a quick install, but that failed because it needed the FORTRAN libraries (specifically BLAS). None of the off-the-shelf tools, it seemed, were actually off-the-shelf for Windows users. I swear to Loki I will turn this laptop into a Linux box when I have the money to upgrade... but if I'm going to use Numpy/Scipy to teach undergrads, which I still intend to do, then "get Linux" really isn't a solution.

But I ran across a Stackoverflow thread this afternoon where somebody mentioned that ActiveState has a precompiled standalone build of Scipy. My ears did verily perk up at this! After trying a few things and getting very strange error messages, here's what appears to have worked:

Step 0: close all Python sessions.
Step 1: Open ActiveState's PYPM from the Start menu. (This will open a glorified command shell.)
Step 2: enter pypm -g install numpy
Step 3: enter pypm -g install scipy

(The -g flag is an instruction for PYPM to install to the global Python installation.) After doing this, I opened up IPython and both numpy and scipy imported correctly! Yay!

The foregoing is recorded so that I can reproduce this install (or give my undergrads instructions to install) later.

Binary thinking is abortive

From Slacktivist: What do the purple people want in PRRI’s abortion poll?

Think you can't be both pro-choice and pro-life? You've been listening to the anti-choice crowd for too long. Turns out 43% of Americans self-describe with both labels. Follow the link for a chart and everything.

Now, the survey doesn't have the space to dig down into what all those respondents took each term to mean (whether they adopt either term about themselves or not); like many on the port side of the political spectrum, I greatly resent the expropriation involved in fencing off "pro-life" to refer to the unborn, and I recall plenty of conversations with people who resent this more than I do, who are tilting at that particular windmill trying to take back that dirty word.

So the next time someone tries to set you up the argument that more than half the country is pro-life, feel free to remind them that even if that's true (by whatever definition of "pro-life"), it doesn't change the fact that two-thirds of the country wants abortion to stay legal.