2020 - Week 48

Modelling their Lordships

Our regular reader will by now surely know that our source system for Member data is good for telling us who was in the House of Lords and who is in the House of Lords. It even tells us which type of seat each bottom occupied or occupies. But it’s not so good on the question of why. Or as our colleagues in the Lords might say, the virtues by which noble bottoms meet benches. Our House membership model has the concept of a house seat: a place reserved for a Member by virtue of their being elected - for a constituency area in the House of Commons or as an excepted hereditary in Lords - inheriting a seat, being made a life peer, being appointed a Law Lord, being high up in the Church of England hierarchy or being one of four named bishops. Because the Members’ Names Information System has both House membership and constituency representations - via elections - it’s possible to collapse the two arms into data describing an MP as incumbent in a seat aligned to a constituency. For the Lords, we’re not so lucky. Which meant that when the data platform work kicked off we needed to find a way to “inflate” Lords membership data into incumbencies in seats. And the only route available was a set of Sharepoint tables.

This week Julian and Silver from Data Language handed in their homework. They were tasked with investigating why the orchestration of Member data from MNIS to the platform failed at some point prior to the last General Election. It now appears that the Sharepoint tables were at some point migrated and the code was updated to reflect that. But as the location changed so did the permissions. And the code was not updated to cope with that. So every time the code runs and asks of the tables, “where should I place this bottom?”, all it gets for its troubles is a 401. Whether this will be solved by resurrecting the workaround and updating the code to have the appropriate permissions, and/or solved in a more long term fashion, remains a question for elders and betters.

Logicifying the procedure model

It was a big week this week. A properly big week. Librarians Anya and Jayne and computational experts Robert and Michael put the finishing touches to their first ever logic gate based procedural model: everybody’s favourite proposed negative statutory instrument. The PNSI is a slightly odd side effect of the European Union (Withdrawal) Act 2018, which we all thought we’d seen the back of. But still they arrive. The team have to admit they’re rather pleased with the new model. They rather enjoyed the puzzle of drawing it. But they are somewhat starved for entertainment at the moment.

Robert, meanwhile, has been spending part of whatever it is that constitutes leisure time in these desperate days trying to wrap his head around how we might express said logic in Prolog. A task made slightly harder by the fact that he’s never written Prolog before. And harder still because… well, Prolog. Nevertheless, he could not plough on without reading. And read he did. Last week he announced to an astonished audience that we’d taken a step out of binary and into ternary logic. This week his reading caused him to question this conclusion. Or ‘walk it back’ as political journalists like to say. Ternary logic, he explained, is really more about how one deals with incorrect values and error states. But none of our values are incorrect and none of our states are errors. This week he declared we are back in the world of classical logic, although still dealing with a NULL state on routes. We do wish he’d make his mind up.

Robert and Michael took Robert’s new found learnings and applied them to our beloved procedure model, decorating it with what we think is our longest comment yet. They also removed some of the subclassing to bring the whole thing more in line with what we actually intend to implement.

Whilst they had their tiny commenting chisels sharpened they also took a look at our procedural design notes and, with surgeon-like precision, dedicated a good hour to shaving off thirty words or so. Maybe forty. There is still work to do to explain our current understanding of our logic gate implementation. Not least to ourselves. But we do now have some truth tables. Like professionals. Our eagle-eyed reader might notice they do not quite meet the standard set by Kleene and Priest. But that, we have decided, does not matter. Those lads were all about the ternary. And we are classicists. Again. Until next week.

As if our PNSI cake were not complete, Librarian Jayne scattered sprinkles over the top and popped a cherry on the icing, with the addition of blobs to capture citations to legislation and standing orders. The switch from our route type model to our logic gate model makes the question of which bits should do the citing rather more difficult. We probably need to sit down at some point and draw up some rules. But at least the standing order part was easy. Given there are no standing orders applicable to PNSIs.

Orders being standing

On the subject of standing orders, Michael has continued to plug away with processing the new data from our friends in Oxford. Fragment versions are now linked to fragments, order versions and orders. And order versions are linked to orders. Making the model if not virtuous, at least cyclical. We’re still less than happy with the naming of things but nobody said naming things was easy.

Last week we had confirmation from Messrs. Beamish, Evans and Korris that a revision to a standing order which only changed the case would not - in their recollection - be considered substantive. And their recollection is quite good enough for us. So this week Michael has been running scripts over the text, recording when edits happened, and whether they were proper revisions or just some letters changing case. We would usually provide a link here but our Heroku account is still lacking tokens and our website has entered suspended animation until the start of next month. Not that we would ever hold out a begging bowl. We still have some pride.

Your weekly egg timer update

At some point last week, Librarian Jayne kindly offered to read through Robert and Michael’s code comments. At some point this week she did so. No problems were found with the code but she did diagnose some confusion in their middle aged heads between drafts and negatives and mades and affirmatives. The legislation they’d pointed to as informing made affirmatives did no such thing. Try as he might, Michael does not think he’ll ever make his brain remember the differences between these four things. But he has, at last, made himself a cheat sheet.

Jayne reported back on the comments on Friday morning. Jayne, Robert and Michael were due to meet with JO Jane to talk through the comments late Friday afternoon. So they scrabbled together an hour out of their busy schedules and once more met in pixels. Comments were corrected, and they turned their attentions to the user guide the Ja(y)nes have written, putting in bullet points and popping it online. It still needs to be linked to from the homepage. Robert.

Later that day they met with Jane, chatted through three lots of statutory instrument calculation comments and one lot for PNSIs. No errors, mistakes or blunders were found, although by the time they packed up their pencil cases it was 5pm. So quite understandably their priorities had taken a turn toward another fun packed weekend of wet walks and weeknotes.