Brexit Is Getting Nuttier

I knew…knew…that the end days of the Article 50 period was going to be eventful. I also knew that the particular shape of those events would be hard to anticipate and I didn’t put effort in trying to anticipate the madness.

But I am feeling a little shellshocked.

I’m still confused at how to assess May’s performance. She had a very tough hand and I’m willing to, for some purposes, to spot her the bonkers Article 50 notification. That’s seemed inevitable.

But the government’s continual ham fisted power grabs is really disturbing. The two big bookending ones were trying to control Article 50 notification without Parliament and being in contempt of Parliament over releasing their legal advice.

In both cases, it was a super dumb move for no real gain or really any gain at all. Article 50 notification passed overwhelmingly so why even make it an issue. The legal advice thing wasn’t remotely sensible: the marginal effect of having the government’s legal advice point out that the backstop is a backstop for real is zero. We all knew this!

On the other hand, that she got to a EU endorsed deal at all m, with that cabinet is pretty improbable. It will be very interesting to read accounts by the negotiators if they eventually comes out.


Mock Vivas

I participated in a mock viva (ie thesis defense) today.

I weirdly enjoy them…much more so than real viva. (No paperwork! Less stress!) I also enjoy them a lot more the research progress reviews or end of year interviews (Completed work! The student is “mature”! You get to see the finished project!)

I actually enjoy all those things but the mock viva hits a sweet spot that makes it a pure kind of fun.

(And a part of me enjoys when I’m asked to be super mean and tough. I don’t let that part have as much free reign as I used to.)

Technicalities For Me, Not Thee

The Brexit Referendum was explicitly advisory and won with a relatively small (though solid…it wasn’t razor thin) majority. There were shennanigans and questionable aspects on who got to vote. There were lies and illegalities.

Yet, Brexiters treat the result as binding and immutable.

Now we have a pretty big Remain victory in Parliament: the right to table and vote on a motion about the kind of next steps that should happen should May’s deal be defeated (as it probably will be:

It means they will most likely look to pass an amendment preventing a no-deal Brexit, for which there appears to be a majority in the house, or to potentially pivot to taking the country into a Norway-style arrangement or to holding a new referendum.

Of course, Brexiters don’t want that:

Steve Baker, who organises Tory Eurosceptic efforts in the Commons, said: “Grieve’s amendment … allows for an amendable motion 21 days after a government defeat of their dreadful deal.

“Whatever the outcome of the amendment, it is not legally binding on the PM. Acts are law, motions are motions. The executive still decides how to proceed.”

Sure, that’s technically true. But it’s also technically true that the Brexit referendum was advisory:

  • It contained no provision for action on the results
  • Referenda, in general, are subordinate to Parliament because everything is subordinate to Parliament

These aren’t mere technicalities. Parliamentary sovereignty is perhaps the core principle of the UK (uncodified) constitution. The Government has continually been making rather disturbing power grabs as part of the Brexit process.

Anyway, it’s rather rich to see Brexiters harping on technicalities.

I’m certainly not immune to the human tendency to see technical issues in my favour as deep principles while technical issues against me as mere technicalities. But given the lies, irregularities, illegalities, and general incompetence of Team Brexwhat? I don’t think I’m being too unfair here.

Let’s suppose the Brexit vote had been 60-40 leave that is something more like the sort of supermajority you generally want for major constitutional changes. And let’s say that the referendum had statutory language requiring the government to enact the results.

It’s STILL the case that the art 50 trigger was mad and that forcing through a Brexit no matter what isn’t a good way to go.

At the very least, the Government should have spent a couple of years preparing…thinking their own positions through and building consensus on the kind of Brexit had any sort of reasonable support. They couldn’t negotiate before triggering Art 50 but we spent most of that time fighting with ourselves to or making obviously futile demands.

We needed some sort of vote on various positions before going in then another one given the outcome of the negotiations.

This is fucking basic. You don’t rush into things that threaten your basic supply of food and medicine and over 3 million of your citizens. Not at least if you aren’t a knave and a fool.

Error (and Other Condition) Handling

Two big challenges of programming are 1) resource management and 2) variant condition handling. Traditionally, we’ve focused on the specific variants of 1′) memory management and 2′) error handling because they are omnipresent cases. One nice thing in the recent renaissance on resource management is that the focus has generalised a lot to all sorts of resources (eg file descriptors). Less so in error handling though most exception systems actually handle all sorts of conditions and, given their pervasiveness in modern object oriented languages, often have interesting specialisations of their exceptions.

I estimate that there are three major eras of resource management: manual (only), garbage collection dominance, and the emerging RAII/scope based approaches. Rust (following C++) are the current champions though I doubt GC is going anywhere. (And I’m eliding virtual memory, memory mapped files, and so on.)

We currently are seeing a fair bit of language level experimentation with error handling. Consider that neither Go nor Rust have exceptions. One interesting place where the two managements bridge is Null vs option types.

While the dangers of null are well known (the worst mistake in computer science), I’m not yet sold on option types or error code checking in general.

The main grand challenge of memory management is how to make memory seem infinite and uniformly accessible while 1) being super efficient and 2) not pestering the programmer too much.

The main grand challenge of error handling is how to ensure that all errors (or variant conditions) are handled without 1) making the main line of the program obscure, 2) destroying the ability of the programmer to reason able the program, and 3) making the program robust. The big problem is that all solutions involve a ton of clutter. Exceptions try to reduce some of the clutter at the cost of making control flow extremely non local.

Part of the problem is that there’s so many types of error and error-situation combos and so many ways of handling them and handling them “appropriately” that it’s genuinely difficult to get a basic much less systematic handle on things.

I don’t have any firm ideas where to go with all this. I have an intuition that tooling could help a lot. One simple thing would be to see what errors are known to be possible at a given bit of code. Java’s checked exceptions, I think, are meant to help with that but it’s too much manual crap and too easy to escape. We want exception inference.

Similarly, we need ways to see all the sites and sources and handling of a condition. In general, lots of conditions are cross cutting and handing a hierarchy of throws is just super confusion. We want to cluster a throw by similarity of situation and appropriate handling.

I’m not sure any linear/lexical approach is going to work. It’s intimately related to testing and we need modular ways to manage t

Music Monday: Christmas Wrapping

It’s December though it doesn’t feel like it to me. It means I have to finish the music video Zoe and I killed ourselves on last year. Yay. I’ve not touched it since…December 2018.

I have to say that the War on Xmas has gotten more and more lacklustre over the years. It used to be a joyous time of pretending that the overwhelmingly dominant religion/culture touchstones weren’t quite as hegemonic as some desperate click baiters want to rail against it not being.

But it just doesn’t seem to pack the punch it used to. Ah well!

I’m not a big fan of xmas music, esp. carols. I mean, a lot are kinda pretty but its not like I’d ever need to hear them again. Modern xmas songs tend to range from horrific to stab out my ears.

But there are a few that I love and don’t mind listening too each year. They tend to be a bit more “War on Xmas” than Xmas, as one might expect. The first is “Christmas Wrapping” by the Waitresses:

It’s a great shaggy dog story marred by only two things: It’s all about a guy and they get together in the end. But still:

A&P has provided me
With the world’s smallest turkey
Already in the oven, nice and hot
Oh damn! Guess what I forgot
So on with the boots
Back out in the snow
To the only all night grocery

The A&P line alone is a delight.

This Week in Zoe News

Real Clear Politics:

Is there any good to be gained by revisiting these horrifying events? I might not have thought so until recently. But this morning, I remembered that on the night of the killings, Joan Baez sang “Amazing Grace” at San Francisco City Hall, where at impromptu and peaceful candlelight march from the Castro had ended up. It’s also the tune Barack Obama sang in Charleston in 2015 in the aftermath of appalling racial violence there. His performance prompted the writing of a stunning piece of music, “The President Sang Amazing Grace,” which Joan Baez heard and knew she had to sing. My advice? The next time you want to tweet out something caustic about a fellow American, listen to it, as I am doing while I write these words.

An a cappella cover of “The Earth and the Sky”:

Zoe is going to perform at the 2019 “Dream Lunch” fundraiser for the MLK Community Foundation. She’ll be doing “The President Sang Amazing Grace” with piano and the animated video projected behind her. It’s super cool and exciting.